:root{color-scheme:light;--bg: #f6f3ec;--panel: #fffdf8;--fg: #1f1c17;--muted: #6d665a;--line: #2a2620;--edge: #2a2620;--grid: rgba(42, 38, 32, .18);--accent: #b4532a;--accent-fg: #fffaf3;--crown: #2a2117;--piece-mark: #f6efe2;--cross: rgba(255, 255, 255, .96);--cross-shadow: rgba(60, 40, 20, .35);--seam: rgba(60, 40, 20, .1);--danger: #c62828;--focus: #b4532a;--given: rgba(255, 253, 248, .6);--chip: #efe9de;--chip-cell: #ddd5c6;--fade: #f6f3ec;--hall-filter: none;--gold: #e8b33c;--praise: #2f7d3b;--scrim: rgba(28, 22, 14, .55);--c0: #efa296;--c1: #f5bd7e;--c2: #e8cc62;--c3: #a7d186;--c4: #7fc4d1;--c5: #9aa9e5;--c6: #c59ede;--c7: #c9bea9;--c8: #7dcbac;--c9: #eda4c4}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #171512;--panel: #221f1a;--fg: #f1ece2;--muted: #a69e8f;--line: #0a0907;--edge: #5c5447;--grid: rgba(0, 0, 0, .35);--accent: #e0855a;--accent-fg: #1a120c;--crown: #15110c;--piece-mark: #e9dfcd;--cross: rgba(255, 250, 240, .92);--cross-shadow: rgba(0, 0, 0, .35);--seam: rgba(0, 0, 0, .2);--danger: #ff6b5e;--focus: #ffb38a;--given: rgba(255, 245, 230, .28);--chip: #2a2620;--chip-cell: #4a443a;--fade: #6f685c;--hall-filter: brightness(.55) saturate(.85);--praise: #8fd18f;--scrim: rgba(0, 0, 0, .65);--c0: #c1786d;--c1: #c79359;--c2: #bea64c;--c3: #80a861;--c4: #5c9aa6;--c5: #7381bc;--c6: #9c76b3;--c7: #9d9483;--c8: #5aa386;--c9: #bf7c9a}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 ui-sans-serif,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{max-width:560px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:14px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.masthead h1{margin:0;font-size:1.8rem;line-height:1.1;letter-spacing:-.02em;font-family:ui-serif,Iowan Old Style,Palatino Linotype,Georgia,serif}.masthead-actions{display:flex;align-items:center;gap:8px}.modes{display:flex;gap:6px}.lang{border:0;background:none;color:var(--muted);padding:5px 4px;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}#rules-toggle[aria-expanded=true]{color:var(--fg)}.icon-btn{border:0;background:none;padding:4px;color:var(--muted);display:grid;place-items:center;cursor:pointer}.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-btn .spk{fill:currentColor}.icon-btn .mute,.icon-btn.off .waves{display:none}.icon-btn.off .mute{display:inline}.modes button{border:1.5px solid var(--edge);background:transparent;border-radius:999px;padding:5px 14px;cursor:pointer}.modes button[aria-selected=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.rules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rule{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:var(--chip);font-size:.8rem;line-height:1.2;min-width:0}.rule svg{flex:none;width:30px;height:30px}.rule.flash{animation:flash 1.4s ease-out}@keyframes flash{0%,40%{background:color-mix(in srgb,var(--danger) 30%,var(--chip));box-shadow:0 0 0 2px var(--danger)}}@media(max-width:380px){.rule{flex-direction:column;text-align:center}}.play{display:flex;flex-direction:column;gap:10px}.meta{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.label{font-weight:700;font-size:1.1rem}.info{color:var(--muted)}.progress{margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-weight:600;font-variant-numeric:tabular-nums}.progress svg{width:1.05em;height:1.05em;fill:var(--fg);align-self:center}.mistakes{display:inline-flex;align-items:baseline;gap:3px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}.mistakes-mark{font-weight:800}.mistakes.has-mistakes{color:var(--danger)}.timer{font-variant-numeric:tabular-nums;font-weight:600}.board-wrap{position:relative}.board-wrap.shake{animation:shake .4s ease-in-out}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.board{--n: 8;width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);padding:3px;background:var(--panel);border-radius:14px;box-shadow:0 1px 4px #2a26201a;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;container-type:inline-size}.cell{--gap: 2px;--round: 7px;position:relative;border:0;padding:0;margin:0;min-width:0;background:var(--rc);border-radius:calc(var(--bt) * var(--bl) * var(--round)) calc(var(--bt) * var(--br) * var(--round)) calc(var(--bb) * var(--br) * var(--round)) calc(var(--bb) * var(--bl) * var(--round));box-shadow:inset 0 calc(var(--bt) * var(--gap)) 0 var(--panel),inset calc(var(--bl) * var(--gap)) 0 0 var(--panel),inset 0 calc(var(--bb) * var(--gap) * -1) 0 var(--panel),inset calc(var(--br) * var(--gap) * -1) 0 0 var(--panel),inset 0 0 0 .5px var(--seam);cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent;transition:background-color .35s ease-out}.cell.done:not(.queen){background:color-mix(in srgb,var(--rc) 70%,var(--fade))}.board.won .cell.done{background:var(--rc)}.cell.sweep{animation:sweep .5s ease-out var(--delay, 0ms) both}@keyframes sweep{45%{filter:brightness(1.22) saturate(1.25)}}.cell:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;z-index:1}.cell.wrong{cursor:default}.cell svg.x{width:46%;height:46%;fill:none;stroke:var(--cross);stroke-width:3.4;stroke-linecap:round;filter:drop-shadow(0 .5px .6px var(--cross-shadow))}.cell.wrong svg.x{stroke:var(--danger);stroke-width:3.8}.cell.draw svg.x path{stroke-dasharray:17;stroke-dashoffset:17;animation:draw-stroke .12s ease-out var(--d, 0ms) forwards}.cell.draw svg.x path+path{animation-delay:calc(var(--d, 0ms) + .1s)}@keyframes draw-stroke{to{stroke-dashoffset:0}}.cell.enter svg,.cell.enter .head{animation:enter .6s cubic-bezier(.2,.8,.2,1.2)}.cell.enter{animation:enter-glow .9s ease-out}@keyframes enter{0%{transform:scale(0) rotate(-20deg)}65%{transform:scale(1.3) rotate(4deg)}}@keyframes enter-glow{30%{filter:brightness(1.35)}}.spark{position:absolute;z-index:2;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;pointer-events:none;animation:spark .75s cubic-bezier(.2,.7,.4,1) forwards}@keyframes spark{0%{transform:translate(0) scale(1.2)}to{transform:translate(var(--dx),var(--dy)) scale(.3);opacity:0}}.cell svg{position:relative;width:62%;height:62%;fill:var(--crown)}.cell.queen:not(.given) svg,.cell.queen:not(.given) .head{animation:pop .35s ease-out}.cell .head{position:relative;width:82%;height:82%;filter:drop-shadow(0 1.5px 1.5px var(--cross-shadow));-webkit-user-drag:none;pointer-events:none}.cell.given:has(.head):after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2.5px solid var(--gold);border-radius:6px;pointer-events:none}.cell.given:has(.head):before{display:none}.cell.given:before{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:50%;background:var(--given);pointer-events:none}.cell.given,.cell.queen{cursor:default}.cell.focus:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px dashed var(--focus);border-radius:4px;pointer-events:none}.cell.target:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:3px solid var(--focus);border-radius:4px;pointer-events:none;animation:blink 1.1s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}.board.won .cell.queen svg,.board.won .cell.queen .head{animation:pop .5s ease-out both}.float{position:absolute;z-index:3;transform:translate(-50%,-50%);font-weight:800;font-size:1.05rem;white-space:nowrap;pointer-events:none;text-shadow:0 0 3px var(--bg),0 0 6px var(--bg);animation:rise 1.1s ease-out forwards}.name-tag{position:absolute;z-index:3;transform:translate(-50%);padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--fg) 82%,transparent);color:var(--bg);font-size:.75rem;font-weight:700;white-space:nowrap;pointer-events:none;animation:name-tag 1.8s ease-out forwards}@keyframes name-tag{0%{opacity:0;transform:translate(-50%,4px)}12%,78%{opacity:1;transform:translate(-50%)}to{opacity:0}}.float.praise{color:var(--praise)}.float.mistake{color:var(--danger)}@keyframes rise{0%{opacity:0;transform:translate(-50%,-20%) scale(.8)}20%{opacity:1;transform:translate(-50%,-60%) scale(1.08)}to{opacity:0;transform:translate(-50%,-160%) scale(1)}}.status{position:absolute;z-index:4;left:50%;bottom:10px;transform:translate(-50%);width:max-content;max-width:calc(100% - 24px);margin:0;padding:6px 12px;border-radius:999px;background:var(--panel);color:var(--danger);font-size:.9rem;font-weight:600;text-align:center;box-shadow:0 4px 14px #0000002e;pointer-events:none}.status:empty{display:none}.controls,.panel-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.controls button,.panel-actions button,.celebrate-actions button{border:1.5px solid var(--edge);background:var(--panel);border-radius:10px;padding:8px 16px;cursor:pointer}.controls button:disabled{opacity:.4;cursor:default}#hint.nudge{animation:nudge 1.6s ease-in-out infinite}@keyframes nudge{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 30%,transparent);transform:scale(1.04)}}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.panel{background:var(--panel);border:1.5px solid var(--edge);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.panel p{margin:0}.share-status{color:var(--muted);font-size:.9rem}textarea{width:100%;font:inherit;font-size:.9rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;padding:calc(60px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--scrim);overflow-y:auto;overscroll-behavior:contain}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.celebrate-card{position:relative;z-index:1;margin:auto;width:min(100%,380px);background:var(--panel);border-radius:20px;padding:24px 20px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 20px 60px #00000059;animation:card-in .4s ease-out}@keyframes card-in{0%{opacity:0;transform:translateY(16px) scale(.96)}}.burst{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;margin-top:-64px;background:radial-gradient(circle,var(--c2) 0 52%,transparent 53%),repeating-conic-gradient(var(--c1) 0 12deg,var(--c2) 12deg 24deg);box-shadow:0 6px 18px #0003;animation:spin 8s linear infinite}.burst svg{width:52%;height:52%;fill:var(--crown);animation:spin 8s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.celebrate-card h2{margin:4px 0 0;font-size:1.9rem;line-height:1.1;font-family:ui-serif,Iowan Old Style,Palatino Linotype,Georgia,serif}.celebrate-card p{margin:0;color:var(--muted)}.stats{margin:6px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.stats div{background:var(--chip);border-radius:12px;padding:8px 4px}.stats dt{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.stats dd{margin:0;font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.techs{width:100%;display:flex;flex-direction:column;gap:6px}.techs .techs-title{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.tech-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.tech{display:inline-flex;align-items:baseline;gap:5px;padding:4px 10px;border-radius:999px;background:var(--chip);font-size:.9rem}.tech b{font-variant-numeric:tabular-nums;color:var(--muted)}.tech.top{background:var(--accent);color:var(--accent-fg);font-weight:600}.tech.top b{color:inherit;opacity:.8}.chapter-chip{align-self:flex-start;border:0;border-radius:999px;padding:4px 12px;background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer}.chapter-chip:after{content:" ›"}.story{width:100%;text-align:left;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;background:var(--chip);border-left:3px solid var(--accent)}.story-kicker{margin:0;font-size:.75rem;letter-spacing:.06em;color:var(--accent);font-weight:600}.celebrate-card .story-kicker{color:var(--accent)}.chapter-intro p{font-family:ui-serif,Iowan Old Style,Palatino Linotype,Georgia,Songti SC,serif;line-height:1.65}.celebrate-card .story-after{margin:0;font-size:.85rem}.story-after:empty{display:none}.chapter-card{position:relative;margin:auto;width:min(100%,440px);background:var(--panel);border-radius:20px;padding:24px 22px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 60px #00000059;animation:card-in .4s ease-out}.chapter-card h2{margin:-6px 0 0;font-size:2rem;line-height:1.1;font-family:ui-serif,Iowan Old Style,Palatino Linotype,Georgia,serif;text-wrap:balance}.chapter-intro{display:flex;flex-direction:column;gap:8px}.chapter-intro p{margin:0}.lesson{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--chip)}.lesson p{margin:0}.lesson-icon svg{width:44px;height:44px}.lesson-icon:empty{display:none}.lesson-title{font-weight:700;color:var(--accent);margin-bottom:2px!important}.sofar{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--grid);padding-top:12px}.sofar-title{margin:0;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.sofar ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.part{width:100%;display:flex;align-items:baseline;gap:10px;text-align:left;padding:8px 12px;border:1.5px solid var(--grid);border-radius:10px;background:transparent;color:var(--fg);cursor:pointer}.part b{flex:none;color:var(--accent);font-size:.85rem}.part b:before{content:"▶ ";font-size:.7em}.part span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.9rem}.replay{align-self:flex-start;border:0;background:none;padding:0;color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.replay:before{content:"▶ ";font-size:.75em}.goal{margin:-2px 0 0;font-size:.88rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.goal.lost{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.goal.goal-quiet{color:var(--muted);font-weight:500}.celebrate-goal{margin:0;padding:6px 12px;border-radius:999px;background:var(--chip);font-weight:600}.celebrate-cast{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;font-size:.9rem}.cast-label{color:var(--muted)}.cast-person{display:inline-flex;align-items:center;gap:5px;font-weight:600}.cast-person img{width:26px;height:26px;border-radius:50%;background:var(--chip)}.celebrate-goal.won{background:color-mix(in srgb,var(--gold) 35%,var(--panel));color:var(--fg)}.picker-card{position:relative;margin:auto;width:min(100%,520px);background:var(--panel);border-radius:20px;padding:22px 18px 18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #00000059;animation:card-in .4s ease-out}.picker-card h2{margin:0;text-align:center;font-size:1.7rem;font-family:ui-serif,Iowan Old Style,Palatino Linotype,Georgia,Songti SC,serif}.picker-worlds{display:flex;justify-content:center;gap:6px}.picker-worlds button{border:1.5px solid var(--edge);background:transparent;color:var(--fg);border-radius:999px;padding:6px 16px;cursor:pointer}.picker-worlds button[aria-selected=true]{background:var(--fg);color:var(--bg)}.picker-heroes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hero-card{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px 12px;border:1.5px solid var(--grid);border-radius:14px;background:var(--bg);color:var(--fg);text-align:center;cursor:pointer}.hero-card img,.hero-card .monogram{width:100%;max-width:150px;aspect-ratio:1;object-fit:contain;object-position:bottom}.hero-card .monogram{display:grid;place-items:center;border-radius:50%;max-width:96px;background:var(--chip);color:var(--muted);font-size:2rem;font-family:ui-serif,Georgia,Songti SC,serif}.hero-card b{font-size:1.05rem}.hero-card .tagline{font-size:.8rem;color:var(--muted);line-height:1.35}.hero-card .progress-note{font-size:.78rem;font-weight:600;color:var(--accent)}.hero-card.current{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.hero-card.locked{cursor:default;opacity:.55}.hero-card.locked img{filter:grayscale(.85)}#picker-daily{align-self:center}.part-chapter{margin-top:6px;font-size:.8rem;font-weight:700;color:var(--muted)}.part .star{margin-left:auto;flex:none;font-style:normal;color:var(--gold)}.part:disabled{opacity:.5;cursor:default}.chapter-card .switch{align-self:center}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;overflow:hidden;background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;animation:scene-in .35s ease-out}@keyframes scene-in{0%{opacity:0}}.scene-hall{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:var(--hall-filter)}.scene-hall:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 35%,rgba(30,20,10,.35))}.scene-stage{position:absolute;top:0;right:0;bottom:0;left:0;max-width:620px;margin:0 auto}.actor{position:absolute;bottom:calc(118px + env(safe-area-inset-bottom,0px));height:min(60vh,560px);max-width:82%;object-fit:contain;object-position:bottom;opacity:0;pointer-events:none;filter:drop-shadow(0 6px 16px rgba(0,0,0,.25));transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease-out,filter .3s ease-out}.actor.left{left:-4%;transform:translate(-35%);transform-origin:bottom left}.actor.right{right:-4%;transform:translate(35%);transform-origin:bottom right}.actor.on{opacity:1;transform:none}.actor.on:not(.speaking){filter:brightness(.55) saturate(.7) drop-shadow(0 6px 16px rgba(0,0,0,.25))}.actor.left.on:not(.speaking){transform:translate(-16%) scale(.9)}.actor.right.on:not(.speaking){transform:translate(16%) scale(.9)}.actor.speaking{z-index:1}.scene-prop{position:absolute;z-index:2;left:50%;top:calc(14% + env(safe-area-inset-top,0px));width:min(52vw,250px);transform:translate(-50%) rotate(-4deg);filter:drop-shadow(0 14px 22px rgba(0,0,0,.35));transition:left .3s ease-out}.scene-prop[data-side=right]{left:70%;width:min(44vw,220px)}.scene-prop[data-side=left]{left:30%;width:min(44vw,220px)}.scene-prop.pop-in{animation:prop-in .5s cubic-bezier(.2,.8,.2,1)}@keyframes prop-in{0%{opacity:0;transform:translate(-50%) translateY(20px) rotate(-12deg) scale(.7)}}.scene-box{position:absolute;z-index:3;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:132px;padding:22px 18px 20px;background:var(--panel);border:2px solid var(--edge);border-radius:16px;box-shadow:0 10px 30px #0000004d}.scene-name{position:absolute;top:-15px;left:16px;margin:0;padding:4px 14px;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-weight:700;font-size:.9rem}.scene-name:empty{display:none}.scene-text{margin:0;font-family:ui-serif,Iowan Old Style,Palatino Linotype,Georgia,Songti SC,serif;font-size:1.08rem;line-height:1.65;color:var(--fg)}.scene.narration .scene-text{color:var(--muted)}.scene-next{position:absolute;right:14px;bottom:10px;border:7px solid transparent;border-top-color:var(--accent);border-bottom:0;opacity:0}.scene.ready .scene-next{opacity:1;animation:bob 1s ease-in-out infinite}@keyframes bob{50%{transform:translateY(3px)}}.scene-kicker,.scene-skip{position:absolute;z-index:4;top:calc(14px + env(safe-area-inset-top,0px));margin:0;padding:5px 12px;border-radius:999px;font-size:.8rem;font-weight:600}.scene-kicker{left:14px;max-width:calc(100% - 196px);background:var(--panel);color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-voice{position:absolute;z-index:4;top:calc(14px + env(safe-area-inset-top,0px));right:88px;margin:0;padding:5px 12px;border:0;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--panel);color:var(--fg);cursor:pointer}.scene-voice:before{content:"🔊 "}.scene-voice[aria-pressed=false]{color:var(--muted);text-decoration:line-through}.scene-voice[aria-pressed=false]:before{content:"🔇 "}.scene-skip{right:14px;border:0;background:var(--panel);color:var(--fg);cursor:pointer}.scene-skip:after{content:" »"}.chapter-card .big{padding:12px 16px;font-size:1.05rem;border-radius:10px;border:1.5px solid var(--accent);cursor:pointer}.tip{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 12px;border-radius:12px;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent)}.tip p{margin:0;font-size:.9rem;color:var(--fg)}.tip .replay{align-self:center}.streak:empty{display:none}.celebrate-actions{display:flex;flex-direction:column;gap:8px;width:100%}.celebrate-actions .big{padding:12px 16px;font-size:1.05rem}.celebrate-actions .link{border:0;background:none;color:var(--muted);text-decoration:underline}.confetti i{position:absolute;top:-12px;left:var(--x);width:9px;height:14px;border-radius:2px;opacity:.9;animation:fall var(--t) ease-in var(--d) forwards}@keyframes fall{to{transform:translateY(110vh) rotate(var(--r))}}@media(prefers-reduced-motion:reduce){.cell.target:before,.board.won .cell.queen svg,.cell.queen:not(.given) svg,.board-wrap.shake,.cell.sweep,.cell.enter,.cell.enter svg,#hint.nudge,.spark,.scene,.scene-prop.pop-in,.scene.ready .scene-next,.burst,.burst svg,.confetti i,.float{animation:none}.float{display:none}.actor{transition:none}.cell.draw svg.x path{animation:none;stroke-dashoffset:0}.spark{display:none}}.howto{border-top:1px solid var(--grid);padding-top:8px}.howto h2{font-size:1.15rem;margin:16px 0 6px;font-family:ui-serif,Iowan Old Style,Palatino Linotype,Georgia,serif}.howto ol,.howto ul{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px;max-width:65ch}.footer{color:var(--muted);font-size:.85rem;text-align:center}.footer a{color:inherit}
