:root{color-scheme:dark;font-family:Be Vietnam Pro,Segoe UI,sans-serif;--cream: #f4f0e6;--ink: #2c3128;--gold: #e4d2ad;--line: rgba(255, 248, 236, .2)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:#141210;overflow:hidden}button,canvas{font:inherit}canvas{display:block;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.38) 100%);z-index:1}.boot{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;border:0;background:#e7e2d6;color:#3f4338}.boot-name{width:min(220px,70vw);border:0;border-bottom:1px solid rgba(63,67,56,.28);background:transparent;color:#3f4338;font:inherit;font-size:16px;text-align:center;padding:8px 4px}.boot-name:focus{outline:none}.boot-go{margin-top:6px;border:0;border-radius:999px;background:#3f4338;color:#f4f0e6;font:inherit;font-size:15px;padding:10px 22px;cursor:pointer}.boot-go:disabled{opacity:.45;cursor:default}.boot-mark svg{width:36px;height:36px;fill:none;stroke:#8a8068;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.boot h1{margin:0;font-size:32px;font-weight:500;letter-spacing:.18em}.boot p{margin:0;color:#7d8074;font-size:13px}.boot-dot{width:5px;height:5px;margin-top:18px;border-radius:50%;background:#a99a7b;animation:breathe 1.8s ease-in-out infinite}@keyframes breathe{50%{opacity:.25}}.hud{position:fixed;inset:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:max(14px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))}.topbar,.dock,.hint,.icon-btn,.dock-btn,.board,.composer,.gift-sheet,.gift-btn{pointer-events:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand,.count{margin:0;color:var(--cream);text-shadow:0 1px 8px rgba(0,0,0,.45)}.brand{font-size:15px;letter-spacing:.08em}.ceremony{margin:2px 0 0;color:var(--gold);font-size:12px;letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.45)}.notice{align-self:center;margin:0;padding:8px 14px;border-radius:999px;background:#12100c9e;color:var(--cream);font-size:13px}.top-actions{display:flex;align-items:center;gap:8px}.count,.icon-btn,.dock-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#12100c75;color:var(--cream);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.count{height:36px;padding:0 12px;border-radius:999px;font-size:13px}.icon-btn{width:36px;height:36px;justify-content:center;padding:0;border-radius:50%;cursor:pointer}.icon-btn svg,.count svg,.dock-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hint{align-self:center;max-width:34rem;margin:0;padding:8px 12px;border-radius:12px;background:#12100c66;color:#f4f0e6db;font-size:12px;line-height:1.5;text-align:center}.hint-keys{display:none}.board{align-self:flex-start;margin:8px 0 0;padding:8px 10px;list-style:none;border:1px solid var(--line);border-radius:14px;background:#12100c75;color:var(--cream);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.board li{display:flex;align-items:center;gap:8px;min-width:132px;font-size:12px;line-height:1.7}.board span{color:var(--gold);width:1ch}.board b{margin-left:auto;font-weight:500}.rite{position:absolute;left:16px;right:16px;bottom:176px;z-index:4;display:flex;flex-direction:column;gap:8px;padding:14px 14px 16px;border:1px solid var(--line);border-radius:18px;background:#12100ce0;color:var(--cream);pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.rite-top,.rite-steps{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0;list-style:none}.rite-top p,.rite h2,.rite>p{margin:0}.rite-top button,.rite-go{border:0;background:transparent;color:var(--gold);font:inherit;cursor:pointer}.rite h2{font-size:18px;font-weight:500}.rite>p{color:#f4f0e6c7;font-size:13px;line-height:1.45}.rite-steps{justify-content:flex-start;flex-wrap:wrap}.rite-steps li{font-size:11px;letter-spacing:.02em;color:#f4f0e666}.rite-steps li.done{color:#e4d2adb3}.rite-steps li.now{color:var(--cream)}.rite-sticks{display:flex;justify-content:center;align-items:flex-end;gap:14px;height:78px}.rite-sticks span{position:relative;width:5px;height:62px;border-radius:3px;background:linear-gradient(#8d5a3a,#e7d3b0 30%,#c4a574)}.rite-sticks.light span:after,.rite-sticks.ember span:after{content:"";position:absolute;left:50%;bottom:100%;width:10px;height:16px;margin-left:-5px;border-radius:50%;background:#ffb15a;box-shadow:0 0 12px #ff7a2a}.rite-sticks.ember span:after{height:8px;width:8px;margin-left:-4px;background:#ff5a2a;box-shadow:0 0 8px #ff3a1a}.rite-go{align-self:center;min-width:168px;height:44px;border-radius:999px;background:#e7d3b0;color:#2c3128}.rite-go:disabled{opacity:.45;cursor:default}.stick{position:fixed;z-index:3;width:112px;height:112px;margin:-56px 0 0 -56px;border:1px solid rgba(244,240,230,.35);border-radius:50%;background:#12100c47;pointer-events:none}@media(hover:none),(pointer:coarse),(max-width:820px){.stick,.stick[hidden]{display:block;left:max(16px,env(safe-area-inset-left));bottom:max(148px,calc(env(safe-area-inset-bottom) + 132px));top:auto;z-index:6;width:132px;height:132px;margin:0;border-color:#f4f0e68c;background:#12100c80;pointer-events:auto;touch-action:none}.feed{margin-left:156px}}.name-btn,.name-edit{display:inline-flex;align-items:center;gap:8px;margin-top:6px;pointer-events:auto}.name-btn,.name-edit input,.name-edit button{border:1px solid var(--line);background:#12100c75;color:var(--cream);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:inherit}.name-btn,.name-edit button{height:32px;padding:0 12px;border-radius:999px;cursor:pointer}.name-edit input{width:9rem;height:32px;padding:0 12px;border-radius:999px;font-size:14px}.name-edit input:focus{outline:none}.stick span{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#f4f0e6e0}.live{display:flex;flex-direction:column;gap:8px;margin-top:auto}.feed{display:flex;flex-direction:column;gap:4px;max-width:min(420px,100%)}.feed p{margin:0;width:max-content;max-width:100%;padding:4px 10px;border-radius:999px;background:#12100c6b;color:var(--cream);font-size:13px}.feed-gift{color:var(--gold)}.gift-sheet{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gift-sheet p{flex-basis:100%;margin:0;color:var(--gold);font-size:12px}.gift-sheet button,.gift-btn,.composer input{border:1px solid var(--line);background:#12100c75;color:var(--cream);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:inherit}.gift-sheet button{height:36px;padding:0 14px;border-radius:999px;cursor:pointer}.composer{display:flex;gap:8px}.composer input{flex:1;min-width:0;height:42px;padding:0 14px;border-radius:999px;font-size:14px}.composer input:focus{outline:none}.gift-btn{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:999px;cursor:pointer}.gift-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dock{display:flex;justify-content:center;gap:12px}.dock-btn{min-width:132px;height:64px;justify-content:center;flex-direction:column;gap:2px;border-radius:999px;font-size:14px;cursor:pointer}.dock-btn svg{width:20px;height:20px}.dock-btn:disabled{opacity:.55;cursor:default}.bead-live{font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.dock-mala{align-self:center;width:44px;height:44px}.beads{position:fixed;inset:0;z-index:4;display:flex;flex-direction:column;background:var(--cream);color:var(--ink);padding:max(12px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom))}.beads-bar{display:flex;align-items:center;justify-content:space-between}.text-btn,.icon-btn.light{border:0;background:transparent;color:var(--ink);cursor:pointer}.text-btn{font-size:15px;padding:8px 0}.icon-btn.light{border:1px solid rgba(44,49,40,.15);background:#ffffff59}.mala{position:relative;flex:1;min-height:0;touch-action:none;cursor:pointer}.mala-cord{position:absolute;inset:8% 18% 12%;border:2px solid #c4a882;border-radius:50%}.bead,.guru{position:absolute;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#f3d7b0,#c4894a 46%,#7a4e28 78%);box-shadow:inset 0 -4px 6px #50280a40}.bead{width:22px;height:22px}.bead.active{width:30px;height:30px;box-shadow:0 8px 16px #50321433,inset 0 -4px 6px #50280a40}.guru{width:34px;height:34px}.tally{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;width:max-content}.tally-count{font-size:56px;font-weight:500;letter-spacing:-.04em;line-height:.9}.tally-total{color:#8a8678;font-size:18px}.tally-round{flex-basis:100%;margin-top:4px;color:#6f7368;font-size:14px}.bead-next{align-self:center;min-width:196px;height:52px;margin-top:10px;border:0;border-radius:999px;background:#3f4338;color:#f4f0e6;font:inherit;font-size:16px;cursor:pointer}.beads-help{margin:10px 0 0;color:#9a9688;font-size:12px;text-align:center}@media(pointer:fine){.hint-keys{display:block}}@media(prefers-reduced-motion:reduce){.boot-dot{animation:none}}
