:root{--mist:#e8e2d8;--paper:#d9d0c4;--wood-deep:#2a221c;--wood-mid:#4a3b30;--wood-grain:#5c4a3c;--holder:#c9b8a4;--holder-deep:#9a8774;--holder-light:#e4d6c6;--incense:#1a4538;--incense-mid:#245544;--ember:#ff6a2b;--ember-core:#ffd4a8;--ash:#b0aaa2;--shadow:#140e0a73;--font-display:"Shippori Mincho", "Hiragino Mincho ProN", serif;--font-body:"Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body{height:100%;min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--mist);background:var(--wood-deep);overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}#app{height:100%;min-height:100dvh}.altar{isolation:isolate;background:radial-gradient(70% 50% at 50% 40%,#785a3724,#0000 60%),linear-gradient(165deg,#3a2f26 0%,#241c16 42%,#1a1511 100%);grid-template-rows:auto 1fr auto;height:100%;min-height:100dvh;display:grid;position:relative;overflow:hidden}.altar__grain{pointer-events:none;opacity:.07;mix-blend-mode:overlay;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.altar__glow{pointer-events:none;filter:blur(8px);z-index:0;background:radial-gradient(circle,#ff783224,#0000 68%);width:min(42vw,280px);height:min(42vw,280px);animation:5.5s ease-in-out infinite ambient-breathe;position:absolute;top:42%;left:50%;transform:translate(-50%,-40%)}@keyframes ambient-breathe{0%,to{opacity:.5;transform:translate(-50%,-40%)scale(1)}50%{opacity:.85;transform:translate(-50%,-40%)scale(1.06)}}.topbar{z-index:3;justify-content:space-between;align-items:baseline;gap:1rem;padding:clamp(1.25rem,4vw,2.25rem) clamp(1.25rem,5vw,3rem) 0;display:flex;position:relative}.brand{flex-direction:column;gap:.35rem;display:flex}.brand__mark{font-family:var(--font-display);letter-spacing:.08em;color:var(--mist);text-shadow:0 2px 24px #00000059;font-size:clamp(2.75rem,9vw,5.5rem);font-weight:600;line-height:.95}.brand__ruby{font-family:var(--font-body);letter-spacing:.42em;text-indent:.42em;color:var(--holder-light);opacity:.72;font-size:clamp(.7rem,1.6vw,.85rem);font-weight:300}.actions{flex-wrap:wrap;justify-content:flex-end;gap:.85rem 1.25rem;display:flex}.toggle{font-family:var(--font-display);letter-spacing:.28em;text-indent:.28em;color:var(--paper);border-bottom:1px solid #e8e2d847;padding:.65rem .1rem .55rem;font-size:clamp(.95rem,2.2vw,1.1rem);transition:color .35s,border-color .35s,opacity .35s;position:relative}.toggle:hover{color:#fff;border-color:#ffffff8c}.toggle:disabled{opacity:.45;cursor:wait}.toggle[aria-pressed=true]{color:var(--ember);border-color:#ff6a2b8c}#breath-toggle[aria-pressed=true]{color:var(--holder-light);border-color:#e4d6c68c}.altar[data-lang=en] .toggle{letter-spacing:.08em;text-indent:.08em}.altar[data-lang=en] .brand__ruby{letter-spacing:.22em;text-indent:.22em}.altar[data-lang=en] .hint{letter-spacing:.06em}.breath-meter{z-index:6;pointer-events:none;background:#e8e2d81f;border-radius:999px;height:2px;position:absolute;bottom:6%;left:12%;right:12%;overflow:hidden}.breath-meter__fill{transform-origin:0;background:linear-gradient(90deg,#e4d6c659,#ffa05ad9);width:100%;height:100%;transition:transform 50ms linear;transform:scaleX(0)}.altar[data-blowing=true] .breath-meter__fill{background:linear-gradient(90deg,#ffb4788c,#ff6a2bf2)}.stage{z-index:2;grid-template-rows:1fr auto;align-content:end;place-items:end center;gap:clamp(.65rem,1.8vh,1.1rem);min-height:0;padding:0 clamp(1rem,4vw,2rem) clamp(.5rem,2vh,1.5rem);display:grid;position:relative}.timer{z-index:4;pointer-events:none;opacity:.38;color:var(--mist);align-items:baseline;gap:.45rem;display:flex;position:absolute;bottom:clamp(.75rem,2.2vh,1.25rem);right:clamp(.85rem,3vw,1.5rem)}.timer__remain{font-family:var(--font-display);letter-spacing:.14em;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:400;line-height:1}.timer__label{font-family:var(--font-body);letter-spacing:.22em;color:#e4d6c6b3;font-size:.62rem;font-weight:300}.altar[data-timer=done] .timer{opacity:.5}.altar[data-timer=paused] .timer{opacity:.3}.picker{margin:.7rem 0 .1rem}.wheels{--wheel-h:108px;--item-h:36px;width:min(100%,240px);height:var(--wheel-h);touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:1fr auto 1fr auto;align-items:center;display:grid;position:relative;-webkit-mask-image:linear-gradient(#0000 0%,#000 22% 78%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 22% 78%,#0000 100%)}.wheels__frame{pointer-events:none;height:var(--item-h);z-index:2;background:#e8e2d80d;border-top:1px solid #e8e2d833;border-bottom:1px solid #e8e2d833;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.wheels__unit{font-family:var(--font-body);letter-spacing:.12em;color:#e4d6c680;z-index:3;padding:0 .2rem 0 .05rem;font-size:.7rem;font-weight:300}.wheel-col{z-index:1;min-width:0;height:100%;position:relative}.wheel-col__viewport{cursor:grab;touch-action:none;height:100%;overflow:hidden}.wheel-col__viewport:active{cursor:grabbing}.wheel-col__track{will-change:transform;padding-top:calc((var(--wheel-h) - var(--item-h)) / 2);padding-bottom:calc((var(--wheel-h) - var(--item-h)) / 2)}.wheel-col__item{height:var(--item-h);line-height:var(--item-h);text-align:center;font-family:var(--font-display);letter-spacing:.06em;color:#e8e2d861;font-variant-numeric:tabular-nums;font-size:1.2rem;transition:color .12s}.wheel-col__item.is-active{color:#f5f0e8f2}#sound-toggle[aria-pressed=true]{color:var(--holder-light);border-color:#e4d6c680}#sound-toggle[aria-pressed=false]{color:#e8e2d866;border-color:#e8e2d82e}.scene{aspect-ratio:3/4;touch-action:none;width:min(100%,360px);max-height:min(64dvh,560px);position:relative}.smoke-layer{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scene__art{z-index:2;position:absolute;inset:0;overflow:visible}.table{background:linear-gradient(180deg, #ffffff0a, transparent 30%), repeating-linear-gradient(90deg, var(--wood-mid) 0px, #523f32 2px, var(--wood-grain) 5px, #463628 9px, var(--wood-mid) 14px);height:26%;position:absolute;bottom:0;left:-10%;right:-10%;box-shadow:inset 0 12px 28px #00000047}.holder{z-index:3;width:22%;height:11%;position:absolute;bottom:17%;left:50%;transform:translate(-50%)}.holder__body{box-shadow:0 6px 12px var(--shadow), inset 0 1px 2px #ffffff2e, inset 0 -4px 6px #140c0859;background:linear-gradient(#8a7360 0%,#6a5646 60%,#4f4034 100%);border-radius:6px 6px 10px 10px;position:absolute;inset:34% 12% 0}.holder__rim{background:linear-gradient(#a8907a 0%,#7a6554 100%);border-radius:50%;height:48%;position:absolute;top:8%;left:0;right:0;box-shadow:inset 0 2px 3px #ffffff47,inset 0 -2px 4px #281c1247,0 2px 4px #0000002e}.holder__ash{background:radial-gradient(circle at 50% 45%,#9a948c,#5c564f 75%);border-radius:50%;height:32%;position:absolute;top:16%;left:20%;right:20%;box-shadow:inset 0 1px 2px #00000059}.stick{--remain:1;width:3px;height:calc(4% + 34% * var(--remain));transform-origin:bottom;z-index:4;will-change:height;margin-left:-1.5px;position:absolute;bottom:25%;left:50%}.stick__shaft{background:linear-gradient(90deg, #143528, var(--incense-mid) 45%, var(--incense) 70%, #0f2e24);border-radius:1.5px;position:absolute;inset:0;box-shadow:1px 0 2px #00000059}.stick__char{opacity:0;pointer-events:none;background:linear-gradient(#2a2420,#1a4538 70%);border-radius:1px 1px 0 0;width:3.5px;height:3px;margin-left:-1.75px;position:absolute;top:0;left:50%}.stick__ash-tip{opacity:0;background:linear-gradient(#e2ddd4,#9a9690 70%,#6e6a64);border-radius:50% 50% 40% 40%;width:4px;height:4px;transition:opacity .6s;position:absolute;top:-1px;left:50%;transform:translate(-50%);box-shadow:0 0 1px #00000040}.altar[data-lit=true] .stick__ash-tip{opacity:1}.altar[data-lit=false] .stick__ash-tip{opacity:.85;background:linear-gradient(#cfc9c0,#7a7570)}.ember{opacity:0;pointer-events:none;border-radius:50%;width:8px;height:8px;margin-top:-5px;margin-left:-4px;transition:opacity .5s;position:absolute;top:0;left:50%}.altar[data-lit=true] .ember{opacity:1}.ember__core{background:radial-gradient(circle, var(--ember-core) 0%, var(--ember) 55%, #c42810 100%);border-radius:50%;animation:2.4s ease-in-out infinite ember-pulse;position:absolute;inset:18%;box-shadow:0 0 6px 2px #ff6428d9,0 0 16px 6px #ff501459}@keyframes ember-pulse{0%,to{filter:brightness();transform:scale(1)}40%{filter:brightness(1.15);transform:scale(1.12)}70%{filter:brightness(.92);transform:scale(.96)}}.copy{z-index:3;max-width:28rem;padding:0 clamp(1.25rem,5vw,3rem) clamp(1.5rem,4vh,2.5rem);position:relative}.copy h1{font-family:var(--font-display);letter-spacing:.18em;color:var(--mist);margin:0 0 .55rem;font-size:clamp(1.15rem,3.2vw,1.55rem);font-weight:500;line-height:1.5}.copy p{letter-spacing:.06em;color:#e8e2d8b8;margin:0;font-size:clamp(.85rem,2vw,.98rem);font-weight:300;line-height:1.85}.hint{letter-spacing:.14em;color:#e4d6c673;margin-top:.85rem;font-size:.72rem}@media (width<=640px){.topbar{align-items:flex-start}.scene{width:min(100%,300px);max-height:min(58dvh,480px)}.copy{max-width:none}}@media (prefers-reduced-motion:reduce){.altar__glow,.ember__core{animation:none!important}}
