@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-soft-normal-C-lS_vzd.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-story:"Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--font-ui:"Nunito Variable", "Nunito", ui-rounded, system-ui, sans-serif;--paper:#f6eedf;--paper-2:#efe3cc;--paper-3:#e4d2b4;--wood:#e4c899;--wood-light:#f2e1c2;--wood-dark:#c9a673;--wood-edge:#a47f4f;--walnut:#6e4a31;--walnut-top:#86603f;--walnut-dark:#4b301f;--ink:#3d2c26;--ink-2:#66524a;--ink-3:#93806f;--ink-4:#c5b29c;--ink-5:#e9ddc8;--good:#4b8659;--good-soft:#e1eedb;--bad:#a65440;--bad-soft:#f5e1d7;--sun:#e7b33a;--sun-top:#f4d27a;--sun-deep:#b8861c;--shadow-1:0 1px 2px #462d1414, 0 4px 14px #462d141a;--shadow-2:0 2px 6px #462d141a, 0 18px 40px #462d1429;--wood-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.004 0.11' numOctaves='3' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.28 0 0 0 0 0.12 0.9 0 0 0 -0.34'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)'/%3E%3C/svg%3E");--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.3 0 0 0 0 0.18 0.22 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");--r-sm:12px;--r-md:18px;--r-lg:26px;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-calm:cubic-bezier(.45, 0, .25, 1)}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-ui);color:var(--ink);background-color:var(--paper);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;font-synthesis:none;font-size:16px}#root{min-height:100dvh}h1,h2,.story-font{font-family:var(--font-story);font-variation-settings:"SOFT" 100}button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer}:focus-visible{outline-offset:3px;outline:3px solid #6e4a318c}kbd{font-family:var(--font-ui)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.btn{appearance:none;letter-spacing:.01em;-webkit-user-select:none;user-select:none;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out), background-color .12s;border:0;border-radius:999px;padding:15px 28px;font-size:1.1rem;font-weight:700;line-height:1.1}.btn-primary{color:#fff7e8;background-color:var(--walnut);background-image:var(--wood-grain), linear-gradient(180deg, var(--walnut-top), var(--walnut));background-blend-mode:soft-light, normal;box-shadow:0 5px 0 var(--walnut-dark), 0 12px 24px #3c230f47, inset 0 1px 0 #ffffff40}.btn-primary:active{box-shadow:0 1px 0 var(--walnut-dark), 0 4px 10px #3c230f3d;transform:translateY(4px)}.btn-quiet{color:var(--ink);background:var(--wood-light) var(--wood-grain);box-shadow:0 3px 0 var(--wood-dark), inset 0 1px 0 #fff9}.btn-quiet:active{box-shadow:0 1px 0 var(--wood-dark);transform:translateY(2px)}.btn-link{color:var(--ink-2);text-underline-offset:4px;background:0 0;padding:10px 14px;font-weight:600;-webkit-text-decoration:underline #6e4a314d;text-decoration:underline #6e4a314d}.btn-xl{padding:19px 54px;font-size:1.45rem}.btn-wide{width:100%}.icon-btn{appearance:none;width:44px;height:44px;color:var(--walnut);background:var(--wood-light) var(--wood-grain);box-shadow:0 3px 0 var(--wood-dark), inset 0 1px 0 #fff9;transition:transform .12s var(--ease-out);border:0;border-radius:50%;place-items:center;display:grid}.icon-btn:active{transform:translateY(2px)}.icon-btn svg{fill:currentColor;width:20px;height:20px}.sheet-backdrop{z-index:50;padding:max(env(safe-area-inset-top), 16px) 16px max(env(safe-area-inset-bottom), 16px);-webkit-backdrop-filter:blur(5px);background:#3d2c2652;place-items:center;animation:.26s both fade-in;display:grid;position:fixed;inset:0}.sheet{border-radius:var(--r-lg);background:var(--paper) var(--paper-grain);width:min(440px,100%);max-height:100%;box-shadow:var(--shadow-2);animation:sheet-in .42s var(--ease-out) both;flex-direction:column;gap:14px;padding:28px 22px 22px;display:flex;position:relative;overflow:auto}.sheet-title{text-align:center;margin:0 0 2px;font-size:1.7rem;font-weight:600}.sheet-close{width:36px;height:36px;font-size:.95rem;position:absolute;top:12px;right:12px}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.piece,.drop{display:block;overflow:visible}.piece-shadow{fill:#462d1433}.engraving{fill:none;stroke:currentColor;stroke-opacity:.7;stroke-linecap:round;stroke-linejoin:round}.engraving-number{fill:currentColor;fill-opacity:.68;font-family:var(--font-story);text-anchor:middle;dominant-baseline:central;font-weight:700}.season-sign{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.pop{animation:settle .62s var(--ease-out) both}.snap{animation:snap .7s var(--ease-pop) both}.reveal{animation:reveal .9s var(--ease-calm) both}@keyframes settle{0%{opacity:0;transform:translateY(-22%)scale(.85)}60%{opacity:1;transform:translateY(3%)scale(1.02)}to{transform:none}}@keyframes snap{0%{opacity:0;transform:scale(.5)rotate(-10deg)}55%{opacity:1;transform:scale(1.12)rotate(3deg)}to{transform:none}}@keyframes reveal{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@keyframes ripple{0%,to{transform:none}35%{transform:translateY(-14%)scale(1.08)}65%{transform:translateY(2%)scale(.98)}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-8%)rotate(-4deg)}45%{transform:translate(7%)rotate(3deg)}70%{transform:translate(-4%)}}.backdrop{z-index:-1;pointer-events:none;background:var(--paper);position:fixed;inset:0;overflow:hidden}.veil{opacity:0;transition:opacity 2.6s var(--ease-calm);background:radial-gradient(40% 34% at 24% 22%, color-mix(in srgb, var(--c) 34%, transparent), transparent 72%), radial-gradient(36% 30% at 80% 34%, color-mix(in srgb, var(--c) 20%, transparent), transparent 74%), radial-gradient(46% 36% at 58% 82%, color-mix(in srgb, var(--c) 26%, transparent), transparent 72%);position:absolute;inset:-25%}.veil.on{opacity:1}.backdrop.turning .veil{animation:veil-turn 54s var(--ease-calm) infinite;animation-delay:calc(var(--j) * 9s - 54s)}@keyframes veil-turn{0%,36%,to{opacity:0}10%,24%{opacity:1}}.paper{background-image:var(--paper-grain);mix-blend-mode:multiply;opacity:.6;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.backdrop.turning .veil{animation:none}.backdrop.turning .veil:first-child{opacity:.8}}.burst{pointer-events:none;z-index:5;width:0;height:0;position:absolute;top:50%;left:50%}.bit{left:calc(var(--size) / -2);top:calc(var(--size) / -2);width:var(--size);height:var(--size);border-radius:3px;animation:1.1s cubic-bezier(.2,.7,.3,1) both bit;position:absolute}.bit.round{border-radius:50%}@keyframes bit{0%{opacity:1;transform:translate(0)rotate(0)scale(.5)}70%{opacity:1}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 46px)) rotate(var(--rot)) scale(1)}}.play{--side:clamp(8px, 2.8vw, 16px);width:100%;max-width:720px;padding:max(env(safe-area-inset-top), 10px) max(env(safe-area-inset-right), var(--side)) 0 max(env(safe-area-inset-left), var(--side));-webkit-user-select:none;user-select:none;touch-action:manipulation;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"hud""stage""dock";margin:0 auto;display:grid;position:fixed;inset:0}.play.is-paused :is(.hud,.stage,.dock),.play.is-paused :is(.hud,.stage,.dock) *,.play.is-paused :is(.hud,.stage,.dock) :before,.play.is-paused :is(.hud,.stage,.dock) :after{animation-play-state:paused!important}.hud{grid-area:hud;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:2px 2px 8px;display:grid}.hud-end{justify-content:flex-end;align-items:center;gap:8px;display:flex}.lives{gap:2px;display:flex}.life{width:30px;height:30px;overflow:visible}.life.lost{opacity:.6;animation:life-lost .7s var(--ease-out) both}@keyframes life-lost{35%{transform:scale(1.25)rotate(-10deg)}}.score{flex-direction:column;align-items:center;line-height:1;display:flex}.score-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem;font-weight:700}.score-value{font-family:var(--font-story);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.9rem;font-weight:700}.streak{color:#5a3a08;background:linear-gradient(180deg, var(--sun-top), var(--sun));box-shadow:0 3px 0 var(--sun-deep);animation:streak-pop .52s var(--ease-pop) both;border-radius:999px;padding:6px 11px;font-weight:800}@keyframes streak-pop{0%{transform:scale(.3)}60%{transform:scale(1.2)}}.year-where{align-items:center;gap:8px;display:flex}.year-ring{width:46px;height:46px;overflow:visible}.year-ring-track{fill:none;stroke:#6e4a3133;stroke-width:1.2px}.bead{transition:r .4s var(--ease-out)}.bead.now{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite bead}@keyframes bead{50%{transform:scale(1.18)}}.year-season{font-family:var(--font-story);font-variation-settings:"SOFT" 100;font-size:1.35rem;font-weight:650}.basket{color:var(--walnut);align-items:center;gap:6px;display:flex}.basket-icon{width:34px;height:34px}.basket-count{font-family:var(--font-story);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:700}.stage{scrollbar-width:none;flex-direction:column;grid-area:stage;justify-content:center;gap:clamp(8px,2vh,18px);min-height:0;display:flex;overflow-y:auto}.stage::-webkit-scrollbar{display:none}.play[data-phase=replay] .stage{cursor:pointer}.tray{border-radius:var(--r-lg);background-color:var(--wood-light);background-image:var(--wood-grain), linear-gradient(180deg, #f7e9cf, #e8cfa5);box-shadow:inset 0 1px 0 #ffffffb3, inset 0 -3px 0 #8c643738, 0 3px 0 var(--wood-dark), var(--shadow-2);flex:none;padding:clamp(12px,3vw,20px) clamp(8px,2.4vw,18px) clamp(10px,2.4vw,16px);position:relative}.track{--slot-max:84px;container-type:inline-size}@media (width>=700px) and (height>=760px){.track{--slot-max:100px}}.slots,.brackets{--gap:clamp(4px, 1.6cqi, 12px);--slot:min(var(--slot-max), calc((100cqi - (var(--n) - 1) * var(--gap)) / var(--n)));grid-template-columns:repeat(var(--n), var(--slot));justify-content:center;gap:var(--gap);display:grid}.slots{margin:0;padding:0;list-style:none}.slot{width:var(--slot);height:var(--slot);background:radial-gradient(circle at 50% 30%,#7850281f,#7850283d);border-radius:30%;place-items:center;transition:background-color .4s;display:grid;position:relative;box-shadow:inset 0 3px 6px #5032144d,inset 0 -1px #ffffff8c,0 1px #ffffff80}.slot>.piece,.ghost-piece{width:84%;height:84%}.hole{background:#6e4a3147;border-radius:50%;width:14%;height:14%}.slot.answer{background:#fffaf080;box-shadow:inset 0 0 0 2px #6e4a3161,inset 0 3px 6px #50321424}.play:is([data-phase=clues],[data-phase=final]) .slot.answer{animation:3.2s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scale(1.04)}}.slot.answer.solved{box-shadow:inset 0 0 0 3px var(--good);background:#e1eedbbf}.slot.answer.missed{background:#f5e1d7bf;box-shadow:inset 0 0 0 3px #a6544099}.ghost{place-items:center;width:100%;height:100%;display:grid;position:relative}.ghost.shake{animation:shake .46s var(--ease-out) both}.ghost-piece{opacity:.55;animation:ghost-in .24s var(--ease-out) both}@keyframes ghost-in{0%{opacity:0;transform:scale(.7)}}.question{font-family:var(--font-story);font-variation-settings:"SOFT" 100;font-size:calc(var(--slot) * .5);color:var(--walnut);opacity:.75;font-weight:700;line-height:1}.wrong-flash{pointer-events:none;place-items:center;animation:1s both wrong-flash;display:grid;position:absolute;inset:8%}.wrong-flash .piece{width:100%;height:100%}@keyframes wrong-flash{0%{opacity:0}15%,60%{opacity:.9}to{opacity:0;transform:translateY(12%)scale(.9)}}.hole-reveal{appearance:none;border-radius:inherit;width:100%;height:100%;font-size:calc(var(--slot) * .44);color:var(--walnut);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-weight:700;line-height:1;display:grid}.hole-reveal>span{opacity:.6;animation:2.4s ease-in-out infinite breathe}@media (hover:hover){.hole-reveal:hover{background:#ffffff40}}.track.replaying .slot.filled>.piece{animation:ripple .62s var(--ease-out) both;animation-delay:calc(var(--i) * .3s + .9s)}.track.replaying .slot.filled>.piece.late{animation:settle .62s var(--ease-out) both;animation-delay:calc(var(--i) * .12s + .1s)}.brackets{margin-top:6px}.bracket{height:10px;animation:rise-in .42s var(--ease-out) both;animation-delay:calc(var(--i) * .12s + .4s);border:3px solid #6e4a31a6;border-top:0;border-radius:0 0 10px 10px;margin:0 6%}.bracket.alt{border-color:#4b8659bf}.track.hl-alternate .slot.spot-a{background:#fff8e699}.track.hl-alternate .slot.spot-b{background:#6e4a3138}.arrow{height:10px;animation:rise-in .42s var(--ease-out) .4s both;grid-column:1/-1;margin:0 4%;position:relative}.arrow:before{content:"";background:#6e4a3199;border-radius:3px;height:3px;position:absolute;top:4px;left:0;right:6px}.arrow:after{content:"";border-top:5.5px solid #0000;border-bottom:5.5px solid #0000;border-left:10px solid #6e4a3199;position:absolute;top:0;right:0}.clock{gap:4px;height:10px;margin-top:clamp(10px,2.4vw,14px);display:flex}.clock-seg{background:#6e4a3129;border-radius:999px;min-width:6px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #50321433}.clock-fill{border-radius:inherit;transform-origin:0;background:linear-gradient(#8bc596,#5e9e6a);position:absolute;inset:0}.clock-seg.final .clock-fill{background:linear-gradient(180deg, var(--sun-top), var(--sun))}.tray-foot{align-items:center;gap:10px;margin-top:clamp(10px,2.4vw,14px);display:flex}.clue-controls{flex:1;gap:8px;min-width:0;display:flex}.clue-btn{appearance:none;min-height:44px;color:var(--walnut);transition:transform .12s var(--ease-out), opacity .2s;background:#fffaf0bf;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:1rem;font-weight:750;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1.5px #6e4a3152,0 2px #6e4a3138}.clue-btn.next{flex:1}.clue-btn:active:not(:disabled){transform:translateY(2px)}.clue-btn:disabled{cursor:default;opacity:.5}.clue-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.clue-icon .fill{fill:currentColor;stroke:none}.clue-count{color:var(--ink-3);font-size:.84rem;font-weight:600}@media (width<=390px){.listen-label{display:none}}.points-live{text-align:right;min-width:3.6em;font-family:var(--font-story);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums;color:var(--walnut);font-size:1.35rem;font-weight:700;line-height:1}.points-live.done.solved{color:var(--good);animation:streak-pop .52s var(--ease-pop) both}.points-live.done:not(.solved){color:var(--ink-4)}.play[data-mode=year] .points-live.done{font-size:1.05rem}.status{text-align:center;flex-direction:column;align-items:center;min-height:120px;display:flex}.status-note{max-width:34em;color:var(--ink-2);animation:rise-in .36s var(--ease-out) both;margin:4px 0 0;font-size:1.08rem;font-weight:600;line-height:1.35}.status-note.urgent{color:var(--sun-deep);animation:rise-in .36s var(--ease-out) both, nudge 1.4s ease-in-out .36s infinite}@keyframes nudge{50%{transform:scale(1.05)}}.wrong-note{border-radius:var(--r-md);max-width:100%;box-shadow:var(--shadow-1);animation:rise-in .3s var(--ease-out) both;background:#fffaf0d9;align-items:center;gap:14px;padding:10px 18px 10px 12px;display:flex}.halves{gap:8px;display:flex}.half{border-radius:13px;place-items:center;width:42px;height:42px;display:grid;position:relative}.half.ok{background:var(--good-soft)}.half.no{background:var(--bad-soft)}.half .mini{width:28px;height:28px}.half .mark{color:#fff;border-radius:50%;place-items:center;width:19px;height:19px;font-size:12px;font-weight:800;display:grid;position:absolute;bottom:-5px;right:-5px}.half.ok .mark{background:var(--good)}.half.no .mark{background:var(--bad)}.wrong-text{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.3;display:flex}.wrong-text strong{font-size:1.02rem;font-weight:700}.tries{color:var(--ink-3);font-size:.9rem}.result{width:100%;animation:rise-in .42s var(--ease-out) both;flex-direction:column;align-items:center;gap:4px;display:flex}.result-head{flex-direction:column;align-items:center;display:flex}.result-title{color:var(--good);margin:0;font-size:1.75rem;font-weight:650;line-height:1.15}.result.missed .result-title{color:var(--walnut)}.result.missed:not(.gentle) .result-title{color:var(--bad)}.result-points{color:var(--walnut);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px;margin:4px 0 0;font-size:1.2rem;font-weight:800;display:flex}.result-sub{color:var(--ink-3);font-size:.95rem;font-weight:600}.result-answer{color:var(--ink-2);align-items:center;gap:8px;margin:6px 0 0;font-size:1.08rem;display:flex}.result-answer .mini{width:30px;height:30px}.rule-lines{flex-direction:column;align-items:center;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.rule-lines li{text-align:center;color:var(--ink);animation:rise-in .42s var(--ease-out) both;animation-delay:calc(var(--i) * .2s + .3s);background:#fffaf0c7;border-radius:14px;padding:8px 14px;font-size:1.04rem;font-weight:600;line-height:1.45;box-shadow:0 1px #6e4a3114}.nature-line{font-family:var(--font-story);font-variation-settings:"SOFT" 100;color:var(--ink-2);animation:rise-in .6s var(--ease-out) .9s both;margin:6px 0 0;font-size:1.05rem}.motif{vertical-align:-.45em;align-items:center;gap:3px;margin:0 3px;display:inline-flex}.val{vertical-align:-.45em;align-items:center;gap:4px;margin:0 2px;display:inline-flex}.val-name{font-weight:750}.mini{flex:none;width:24px;height:24px;display:inline-block}.result-warn{color:var(--bad);margin:4px 0 0;font-weight:700}.continue-btn{flex:1;min-height:46px;padding:12px 18px;font-size:1.05rem;position:relative;overflow:hidden}.continue-btn .continue-bar{width:auto;position:absolute;bottom:5px;left:18%;right:18%}.continue-bar{background:var(--ink-5);border-radius:999px;width:120px;height:4px;position:relative;overflow:hidden}.continue-bar:after{content:"";background:var(--ink-4);transform-origin:0;animation:drain var(--ms) linear var(--delay) both;position:absolute;inset:0}.dock{padding:6px 0 max(env(safe-area-inset-bottom), 12px);grid-area:dock;justify-content:center;display:flex}.wheel{--wheel:clamp(232px, min(86vw, 38dvh), 336px);width:var(--wheel);height:var(--wheel);flex:none;position:relative}.wheel-board{filter:drop-shadow(0 4px #a47f4fa6)drop-shadow(0 14px 22px #462d1438);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wheel-season{opacity:.32}.wheel-groove{fill:none;stroke:#78552d4d;stroke-width:1.1px}.wheel-groove.soft{stroke:#78552d2e}.wheel-hub-hollow{fill:#8c643733;stroke:#78552d4d;stroke-width:1px}.wheel-arrow{fill:none;stroke:#6e4a3161;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.wheel-arrow.strong{stroke:#6e4a31cc;stroke-width:1.9px}.wheel-rim{fill:none;stroke:#8c643780;stroke-width:1px}.wheel-btn{--s:1;width:var(--b);height:var(--b);margin:calc(var(--b) / -2) 0 0 calc(var(--b) / -2);appearance:none;transform:rotate(var(--a)) translate(calc(var(--wheel) * var(--ring))) rotate(calc(-1 * var(--a))) scale(var(--s));transition:transform .18s var(--ease-pop), box-shadow .16s var(--ease-out), opacity .24s;background:radial-gradient(circle at 40% 32%,#fdf5e6,#ecd6b0);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 3px #966e3c80,0 6px 10px #462d1429,inset 0 1px #fffc}.wheel-btn.outer{--b:calc(var(--wheel) * .18);--ring:var(--ring-o)}.wheel-btn.inner{--b:calc(var(--wheel) * .16);--ring:var(--ring-i)}.wheel-btn>.piece,.wheel-btn>.drop{width:70%;height:70%}.wheel-btn:active{--s:.94}.wheel-btn.pressed{--s:1.12;box-shadow:0 0 0 3px var(--walnut), 0 8px 16px #462d1447, inset 0 1px 0 #fffc}@media (hover:hover){.wheel:not(.idle):not(.locked) .wheel-btn:hover{--s:1.06}}.wheel.idle .wheel-btn{opacity:.62;cursor:default}.wheel.locked .wheel-btn{opacity:.4;cursor:default}.wheel.tracing .wheel-btn{opacity:.75}.wheel-btn.trace:after{content:"";border:3px solid var(--sun);opacity:0;animation:trace 1.4s var(--ease-calm) both;animation-delay:calc(var(--step) * .3s + .9s);border-radius:50%;position:absolute;inset:-5px;box-shadow:0 0 12px #e7b33ab3}.wheel.tracing .wheel-btn.trace{opacity:1}@keyframes trace{0%{opacity:0;transform:scale(.7)}25%{opacity:1;transform:scale(1.05)}to{opacity:.85;transform:none}}.wheel-hub{width:calc(var(--wheel) * var(--hub) * 2);height:calc(var(--wheel) * var(--hub) * 2);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub-piece{opacity:.8;width:74%;height:74%;animation:ghost-in .24s var(--ease-out) both;grid-area:1/1}.wheel-rest{grid-area:1/1;width:100%;height:100%}.wheel-rest circle{fill:none;stroke:#a65440bf;stroke-width:5px;stroke-linecap:round;stroke-dasharray:100;transform-origin:50%;animation:rest var(--lock-ms) linear var(--lock-delay) both;transform:rotate(-90deg)}@keyframes rest{0%{stroke-dashoffset:0}to{stroke-dashoffset:100px}}@media (orientation:landscape) and (height<=620px){.play{max-width:none;padding-bottom:max(env(safe-area-inset-bottom), 8px);grid-template:"hud dock""stage dock"minmax(0,1fr)/minmax(0,1fr) auto;column-gap:20px}.hud{padding-bottom:4px}.status{min-height:0}.dock{align-items:center;padding:0}.wheel{--wheel:clamp(210px, calc(100dvh - 40px), 330px)}}@media (width>=900px) and (height>=760px){.play{padding-top:22px}.stage{gap:22px}}.title-screen{min-height:100dvh;padding:max(env(safe-area-inset-top), 24px) 20px max(env(safe-area-inset-bottom), 24px);text-align:center;flex-direction:column;justify-content:space-evenly;align-items:center;gap:20px;display:flex}.title-top{flex-direction:column;align-items:center;display:flex}.logo{margin:0;line-height:0}.logo img{filter:drop-shadow(0 3px 4px #3c230f38);width:clamp(240px,80vw,420px);height:auto;display:block}.tagline{font-family:var(--font-story);font-variation-settings:"SOFT" 100;color:var(--ink-2);margin:10px 0 0;font-size:1.45rem}.demo{border-radius:var(--r-lg);background-color:var(--wood-light);background-image:var(--wood-grain), linear-gradient(180deg, #f7e9cf, #e8cfa5);box-shadow:inset 0 1px 0 #ffffffb3, 0 3px 0 var(--wood-dark), var(--shadow-1);gap:clamp(5px,1.6vw,10px);padding:14px;display:flex}.demo-slot{aspect-ratio:1;background:#7850282e;border-radius:30%;place-items:center;width:clamp(38px,11vw,58px);display:grid;position:relative;box-shadow:inset 0 3px 6px #50321447}.demo-slot>.piece{width:84%;height:84%}.demo-piece{animation:demo-pop 7s var(--ease-out) infinite both;animation-delay:calc(var(--i) * .6s)}.demo-slot.answer{background:#fffaf08c;box-shadow:inset 0 0 0 2px #6e4a3161}.demo-q{font-family:var(--font-story);color:var(--walnut);font-size:1.6rem;font-weight:700;animation:7s linear infinite both demo-q;position:absolute}.demo-slot.answer>.demo-answer{animation:demo-answer 7s var(--ease-pop) infinite both;position:absolute}@keyframes demo-pop{0%{opacity:0;transform:translateY(-24%)scale(.85)}7%,70%{opacity:1;transform:none}80%,to{opacity:0}}@keyframes demo-q{0%,50%{opacity:1}54%,88%{opacity:0}94%,to{opacity:1}}@keyframes demo-answer{0%,50%{opacity:0;transform:scale(.5)}56%{opacity:1;transform:scale(1.1)}60%,82%{opacity:1;transform:none}90%,to{opacity:0}}.title-level{flex-direction:column;align-items:center;gap:12px;display:flex}.level-picker{justify-content:center;align-items:center;gap:10px;width:min(100%,340px);display:flex}.level-step{flex:none;width:48px;height:48px}.level-step svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.level-step[aria-disabled=true]{opacity:.35;cursor:default;transform:none}.level-now{flex-direction:column;flex:1;align-items:center;min-width:0;margin:0;line-height:1.2;display:flex}.level-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem;font-weight:800}.level-name{font-family:var(--font-story);font-variation-settings:"SOFT" 100;color:var(--walnut-dark);font-size:1.35rem;font-weight:700}.level-hint{color:var(--ink-2);text-align:center;font-size:.88rem}@media (orientation:portrait) and (height<=620px){.title-screen{padding-top:max(env(safe-area-inset-top), 14px);padding-bottom:max(env(safe-area-inset-bottom), 12px);gap:10px}.title-level{gap:6px}.logo img{width:70vw}.btn-xl{padding:16px 44px}}@media (prefers-reduced-motion:reduce){.demo-piece,.demo-slot.answer>.demo-answer{animation:none}.demo-q{opacity:0;animation:none}}.title-actions{flex-direction:column;align-items:center;gap:12px;width:min(360px,100%);display:flex}.mode-hint{color:var(--ink-2);margin:-2px 0 6px;font-size:.95rem}.btn-mode{flex-direction:column;gap:3px;padding:12px 30px;display:flex}.btn-mode small{color:var(--ink-3);font-size:.82rem;font-weight:600}.title-stats{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:4px 0 0;font-size:.92rem;font-weight:700;display:flex}.title-links{gap:4px;display:flex}@media (orientation:landscape) and (height<=600px){.title-screen{grid-template-columns:auto auto;grid-template-areas:"top actions""demo actions";place-content:center;gap:18px clamp(24px,6vw,64px);display:grid}.title-top{grid-area:top}.title-level{grid-area:demo}.title-actions{grid-area:actions}.logo img{width:auto;height:clamp(56px,19vh,92px)}.btn-xl{padding:16px 44px}}.story-screen{min-height:100dvh;padding:max(env(safe-area-inset-top), 24px) 18px max(env(safe-area-inset-bottom), 24px);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.story-card{border-radius:var(--r-lg);text-align:center;background:#fffaf0b3 var(--paper-grain);width:min(460px,100%);box-shadow:var(--shadow-2);animation:sheet-in .6s var(--ease-out) both;flex-direction:column;align-items:center;gap:16px;padding:26px 22px 24px;display:flex}.story-title{color:var(--ink-3);margin:0;font-size:1.3rem;font-weight:600}.story-art{place-items:center;min-height:190px;display:grid}.story-text{font-family:var(--font-story);font-variation-settings:"SOFT" 100;color:var(--ink);margin:0;font-size:1.3rem;line-height:1.5}.story-keys{color:var(--ink-3);margin:0;font-size:.9rem}.story-dots{gap:8px;display:flex}.story-dots .dot{background:var(--ink-4);border-radius:50%;width:9px;height:9px;transition:background-color .3s}.story-dots .dot.on{background:var(--walnut)}.story-nav{justify-content:space-between;gap:12px;width:min(460px,100%);display:flex}.round{width:190px;height:190px;position:relative}.round.turning{animation:40s linear infinite turn}.round.turning.slow{animation-duration:60s}.round.turning.back{animation-direction:reverse}@keyframes turn{to{transform:rotate(360deg)}}.round-item{width:44px;height:44px;transform:rotate(var(--a)) translate(var(--r)) rotate(calc(-1 * var(--a)));margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%}.round-item>svg{width:100%;height:100%}.story-wheels{width:190px;height:190px;position:relative}.story-wheels>.round{position:absolute;inset:0}.story-wheels>.round:last-child .round-item{width:26px;height:26px;margin:-13px 0 0 -13px}.story-row{background-color:var(--wood-light);background-image:var(--wood-grain), linear-gradient(180deg, #f7e9cf, #e8cfa5);box-shadow:0 3px 0 var(--wood-dark);border-radius:18px;gap:6px;padding:10px;display:flex}.story-slot{width:46px;height:46px;font-family:var(--font-story);color:var(--walnut);background:#7850282e;border-radius:30%;place-items:center;font-size:1.4rem;font-weight:700;display:grid;box-shadow:inset 0 3px 6px #50321447}.story-slot>.piece{width:84%;height:84%}.story-slot.answer{background:#fffaf099;box-shadow:inset 0 0 0 2px #6e4a3161}.story-numbers{grid-template-columns:repeat(4,64px);gap:10px 6px;display:grid}.story-number{font-family:var(--font-story);color:var(--walnut);flex-direction:column;align-items:center;gap:2px;font-weight:700;display:flex}.story-number>.piece{width:44px;height:44px}.year-end,.over-screen{min-height:100dvh;padding:max(env(safe-area-inset-top), 24px) 16px max(env(safe-area-inset-bottom), 24px);place-items:center;display:grid}.year-card,.over-card{border-radius:var(--r-lg);text-align:center;background:#fffaf0c7 var(--paper-grain);width:min(440px,100%);box-shadow:var(--shadow-2);animation:sheet-in .6s var(--ease-out) both;flex-direction:column;gap:12px;padding:30px 22px 20px;display:flex;position:relative}.year-title{color:var(--walnut-dark);margin:0;font-size:2rem;font-weight:650}.nature-table{border-radius:var(--r-md);background-color:var(--wood-light);background-image:var(--wood-grain), linear-gradient(180deg, #f7e9cf, #e8cfa5);box-shadow:inset 0 1px 0 #ffffffb3, 0 3px 0 var(--wood-dark);grid-template-columns:repeat(3,1fr);gap:10px 8px;padding:14px 10px;display:grid}.nature-season{flex-direction:column;align-items:center;gap:4px;display:flex}.nature-items{gap:4px;display:flex}.treasure{width:34px;height:38px}.treasure>svg{width:100%;height:100%}.treasure.missed{opacity:.28;filter:grayscale(.6)}.treasure.found{animation:settle .7s var(--ease-out) both}.nature-label{font-family:var(--font-story);color:var(--ink-2);font-size:.92rem;font-weight:600}.year-found{font-family:var(--font-story);font-variation-settings:"SOFT" 100;margin:4px 0 0;font-size:1.3rem;font-weight:600}.year-treasures{color:var(--walnut);margin:0;font-weight:700}.outside{border-radius:var(--r-md);text-align:left;background:var(--good-soft);margin:6px 0 4px;padding:14px 16px;box-shadow:inset 0 0 0 1.5px #4b86594d}.outside h2{color:var(--good);margin:0 0 4px;font-size:1.1rem;font-weight:650}.outside p{color:var(--ink);margin:0;line-height:1.45}.ribbon{color:#5a3a08;background:linear-gradient(180deg, var(--sun-top), var(--sun));box-shadow:0 4px 0 var(--sun-deep);animation:ribbon-in .64s var(--ease-pop) .26s both;border-radius:999px;padding:9px 20px;font-size:1.05rem;font-weight:800;position:absolute;top:-18px;left:50%;transform:translate(-50%)rotate(-3deg)}@keyframes ribbon-in{0%{opacity:0;transform:translate(-50%)scale(.3)rotate(-20deg)}}.over-title{color:var(--ink-2);margin:0;font-size:1.5rem;font-weight:600}.over-score{flex-direction:column;align-items:center;margin:0;display:flex}.over-score-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:.75rem;font-weight:700}.over-score-value{font-family:var(--font-story);font-variation-settings:"SOFT" 100;font-variant-numeric:tabular-nums;color:var(--walnut);font-size:clamp(2.8rem,13vw,3.6rem);font-weight:700;line-height:1.1}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 8px;display:grid}.stats div{background:#6e4a3114;border-radius:16px;padding:10px 6px}.stats dt{color:var(--ink-3);font-size:.78rem;font-weight:700}.stats dd{margin:4px 0 0;font-size:1.25rem;font-weight:800}.run-code{letter-spacing:.04em;color:var(--ink-4);margin:4px 0 0;font-size:.8rem}.burst.big{top:22%}@media (height<=560px){.year-card,.over-card{gap:8px;padding:22px 18px 14px}}.setting{border-bottom:1px solid var(--ink-5);justify-content:space-between;align-items:center;gap:16px;padding:10px 4px;display:flex}.setting-text{text-align:left;flex-direction:column;gap:2px;display:flex}.setting-label{font-size:1.08rem;font-weight:750}.setting-hint{color:var(--ink-3);font-size:.88rem}.switch{appearance:none;background:var(--ink-5);border:0;border-radius:999px;flex:none;width:56px;height:32px;transition:background-color .16s;position:relative;box-shadow:inset 0 2px 3px #50321426}.switch[aria-checked=true]{background:var(--good)}.switch-knob{width:26px;height:26px;transition:transform .22s var(--ease-pop);background:#fffaf0;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0000002e}.switch[aria-checked=true] .switch-knob{transform:translate(24px)}.setting-preview{justify-content:center;gap:6px;padding:6px 0 4px;display:flex}.setting-preview .piece{width:44px;height:44px}.pause .btn+.btn{margin-top:2px}.settings-links{justify-content:center;gap:22px;margin:4px 0 0;font-size:.92rem;display:flex}.settings-links a{color:var(--ink-2);text-underline-offset:4px;padding:8px 2px;font-weight:600;text-decoration-color:#6e4a314d}
