.quick-game{width:100%;max-width:460px;margin:0 auto;border-radius:18px}.quick-game:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.quick-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 3px 16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quick-hud b{color:var(--accent);font-size:22px}.quick-stage{position:relative;display:block;width:100%;padding:0;overflow:hidden;border-radius:20px;border:1px solid #8a9c9c40;touch-action:none;-webkit-user-select:none;user-select:none}.quick-stage:disabled{opacity:1}.quick-stage:active:not(:disabled){transform:none}.quick-stage svg{display:block;width:100%;height:auto}.tower-stage{background:linear-gradient(#d4dbea,#f6eadd)}.archery-stage{background:radial-gradient(ellipse at 50% 20%,#fff9e8,#d3dfca)}.orchard-stage{background:#e5edcf url(/images/orchard-gouache.webp) 50%/cover no-repeat}.quick-stage-note{position:absolute;top:16px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);margin:auto;padding:8px 16px;border-radius:30px;background:#fffbf0ed;color:#665570;font-size:13px;font-weight:600;pointer-events:none}.quick-status{min-height:24px;text-align:center;font-size:13px;line-height:1.6;margin:14px 0}.quick-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.quick-controls button{min-height:44px;min-width:52px}.quick-hint{color:var(--muted);text-align:center;font-size:12px;line-height:1.7;margin:14px 0 0}@media (max-width:480px){.quick-hud{font-size:12px}.quick-stage{border-radius:14px}}.bright-stage{border:0;box-shadow:0 12px 30px #4c1d9530}.wing-stage{background:linear-gradient(#38bdf8,#818cf8 70%,#c084fc)}.knife-stage{background:radial-gradient(circle at 50% 38%,#6d28d9,#1e1b4b 75%)}.bright-stage .quick-stage-note{background:#ffffffee;color:#4c1d95}.bright-game .casual-title>span{color:#ff3d7f;font-weight:800}.bright-game .casual-stats strong{color:#2f7bff}.nonogram{display:grid;grid-template-columns:64px repeat(8,1fr);gap:3px;width:min(100%,440px);margin:0 auto}.nonogram .nono-row{display:contents}.nono-clue{display:flex;align-items:flex-end;justify-content:center;gap:2px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);border-radius:8px;background:color-mix(in srgb,var(--pic) 14%,var(--surface))}.nono-clue.col{flex-direction:column;padding:6px 0;min-height:70px}.nono-clue.col,.nono-clue.row{align-items:center;justify-content:flex-end}.nono-clue.row{padding:0 7px;gap:6px}.nono-clue.done{background:var(--pic);color:#fff}.nono-clue b{font-weight:800;line-height:1.25}.nono-cell{aspect-ratio:1;padding:0;border-radius:7px;border:2px solid color-mix(in srgb,var(--pic) 35%,var(--line));background:var(--surface);color:var(--muted);display:grid;place-items:center;transition:transform .1s,background .15s}.nono-cell:hover:not(:disabled){transform:scale(1.06)}.nono-cell.on{background:var(--pic);border-color:var(--pic);box-shadow:inset 0 -4px 0 #0002}.nono-cell.cross{background:var(--soft)}.nonogram.solved .nono-cell:not(.on){opacity:.3}.nonogram.solved .nono-cell{opacity:1;animation:nono-pop .5s ease both}@keyframes nono-pop{50%{transform:scale(1.12)}}.code-secret{display:flex;justify-content:center;gap:10px;margin:0 0 16px;padding:12px;border-radius:18px;background:linear-gradient(90deg,#ff3d7f,#ffb000,#10b981,#2f7bff,#8b5cf6)}.code-secret .code-peg.hidden{background:#ffffffcc;color:#4c1d95}.code-board{list-style:none;padding:0;margin:0 auto;width:min(100%,360px);display:grid;gap:6px}.code-row{display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:14px;background:var(--soft);border:2px solid transparent}.code-row.current{border-color:#2f7bff;background:color-mix(in srgb,#2f7bff 10%,var(--surface))}.code-index{width:18px;text-align:right;font-size:11px;color:var(--muted)}.code-guess{display:flex;gap:7px;flex:1 1}.code-peg{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:14px;box-shadow:inset 0 -3px 0 #0003}.code-peg.code-peg-blank{background:var(--line);box-shadow:none}.code-peg-button{padding:0;border:0;background:none;border-radius:50%}.code-feedback{display:grid;grid-template-columns:repeat(2,11px);gap:4px}.code-feedback i{width:11px;height:11px;border-radius:50%;background:var(--line)}.code-feedback i.exact{background:#10b981}.code-feedback i.near{background:transparent;border:3px solid #ffb000}.code-palette{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px 0 4px}.code-palette button{width:46px;height:46px;border-radius:50%;border:3px solid #fff;color:#fff;font-size:18px;box-shadow:0 4px 10px #0002}.code-palette button:disabled{opacity:.4}.dots-you strong{color:#2f7bff!important}.dots-cpu strong{color:#ff3d7f!important}.dots-board{display:block;width:min(100%,400px);margin:0 auto}.dots-edge{cursor:pointer;outline:none}.dots-edge.taken{cursor:default}.dots-line{stroke:var(--line);transition:stroke .15s}.dots-edge:focus-visible .dots-line,.dots-edge:not(.taken):hover .dots-line{stroke:#2f7bff80}.dots-dot{fill:#8b5cf6}@media (max-width:480px){.nonogram{grid-template-columns:52px repeat(8,1fr);gap:2px}.nono-clue{font-size:10px}.code-peg{width:28px;height:28px}}.candy-game{width:100%;max-width:480px;margin:0 auto}.candy-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 3px 14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.candy-hud b{font-size:22px;background:linear-gradient(90deg,#ff2d55,#ff9500,#bf5af2);-webkit-background-clip:text;background-clip:text;color:transparent}.candy-hud span{padding:5px 12px;border-radius:30px;background:#0a84ff;color:#fff;font-weight:700;font-size:14px}.candy-hud .candy-low{background:#ff2d55;animation:candy-pulse .9s ease-in-out infinite alternate}.candy-defs{position:absolute}.candy-frame{position:relative;padding:10px;border-radius:22px;background:linear-gradient(135deg,#ff4fa3,#8b3dff 55%,#12b5ff);box-shadow:0 10px 30px #8b3dff55}.candy-board{position:relative;aspect-ratio:1;border-radius:14px;touch-action:none;user-select:none;-webkit-user-select:none;overflow:hidden;background-color:#2a1150cc;background-image:linear-gradient(45deg,#ffffff14 25%,transparent 0,transparent 75%,#ffffff14 0),linear-gradient(45deg,#ffffff14 25%,transparent 0,transparent 75%,#ffffff14 0);background-size:25% 25%;background-position:0 0,12.5% 12.5%}.candy{position:absolute;width:12.5%;height:12.5%;padding:.9%;margin:0;min-height:0;border:0;border-radius:12px;background:none;box-shadow:none;cursor:pointer;transition:top .2s ease-in,left .2s ease-in}.candy:active:not(:disabled){transform:none}.candy:disabled{opacity:1;cursor:default}.candy svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 2px #0005);pointer-events:none;transition:transform .15s}.candy:hover:not(:disabled) svg{transform:scale(1.08)}.candy:focus-visible{outline:3px solid #fff;outline-offset:-3px}.candy.selected{background:#ffffff40;box-shadow:inset 0 0 0 3px #fff}.candy.selected svg{animation:candy-bob .6s ease-in-out infinite alternate}.candy.fresh{animation:candy-drop calc(.18s + var(--fall) * .05s) cubic-bezier(.5,0,.75,1.4) both}.candy.popping svg{animation:candy-pop .26s ease-in forwards}.candy.shake svg{animation:candy-shake .3s}.candy.hint svg{animation:candy-wiggle .8s ease-in-out infinite}.candy-combo{position:absolute;top:46%;left:0;right:0;text-align:center;pointer-events:none;font-size:34px;font-weight:900;color:#fff;-webkit-text-stroke:2px #ff2d55;text-shadow:0 4px 0 #8b3dff;animation:candy-combo .7s ease-out both}.candy-status{min-height:24px;text-align:center;font-size:13px;line-height:1.6;margin:14px 0 0}.candy-hint{color:var(--muted);text-align:center;font-size:12px;line-height:1.7;margin:6px 0 0}@keyframes candy-drop{0%{transform:translateY(calc(var(--fall) * -100%))}}@keyframes candy-pop{40%{transform:scale(1.3);opacity:1}to{transform:scale(0);opacity:0}}@keyframes candy-shake{25%{transform:translateX(-12%)}75%{transform:translateX(12%)}}@keyframes candy-wiggle{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-14deg) scale(1.1)}85%{transform:rotate(14deg) scale(1.1)}}@keyframes candy-bob{to{transform:translateY(-8%) scale(1.06)}}@keyframes candy-pulse{to{transform:scale(1.08)}}@keyframes candy-combo{0%{transform:scale(.4);opacity:0}30%{transform:scale(1.15);opacity:1}to{transform:scale(1) translateY(-30px);opacity:0}}@media (prefers-reduced-motion:reduce){.candy,.candy svg,.candy.fresh{transition:none;animation:none!important}}@media (max-width:480px){.candy-frame{padding:6px;border-radius:16px}.candy{border-radius:8px}}.cozy-game{max-width:480px}.cozy-hint,.cozy-instructions{text-align:center;line-height:1.7;font-size:13px;color:var(--muted)}.cozy-instructions{margin:0 0 18px}.cozy-grid{display:grid;grid-template-columns:repeat(var(--grid-size),minmax(0,1fr));width:100%;max-width:400px;margin:auto;gap:4px;padding:8px;border-radius:18px;background:var(--soft);border:1px solid var(--line)}.cozy-grid button:focus-visible,.cozy-grid:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.crate-cell{aspect-ratio:1;border-radius:7px;background:#f4e8d2;position:relative;display:grid;place-items:center}.crate-cell.wall{background:#91a393;box-shadow:inset 0 -5px 0 #0001}.crate-cell.goal{background:#d7edd6}.crate-goal{color:#719e6b;font-size:25px}.crate-box,.crate-player{position:absolute;inset:9%;display:grid;place-items:center;font-size:clamp(18px,4vw,32px);line-height:1}.crate-box{border:3px solid #966132;border-radius:6px;background:#e8b57b;color:#966132;font-weight:800;box-shadow:inset 0 -4px 0 #0001}.crate-box.delivered{background:#a4ce95;border-color:#4d794c;color:#355a35}.crate-player{background:#9078b9;border:2px solid #fff;border-radius:50%;color:#fff}.crate-controls{display:grid;grid-template-columns:repeat(3,48px);gap:6px;justify-content:center;margin:16px 0}.crate-controls button:first-child{grid-column:2}.crate-controls button:nth-child(2){grid-column:1}.crate-controls button{height:42px;padding:0;justify-content:center;font-size:23px;touch-action:manipulation}.pipe-board{gap:2px;background:#bed7cf}.pipe-cell{border:0;padding:0;aspect-ratio:1;border-radius:8px;background:#eff7ef;color:#9daea7;touch-action:manipulation}.pipe-cell svg{width:100%;display:block;overflow:hidden}.pipe-cell path{stroke:currentColor;stroke-width:15;stroke-linecap:round}.pipe-cell circle{fill:currentColor}.pipe-cell.wet{color:#3689ab;background:#e4f5fb}.pipe-label{max-width:400px;margin:5px auto;padding:0 12px;color:var(--accent);font-size:12px;font-weight:700}.pipe-label.right{text-align:right}.binary-cell{position:relative;aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:9px;font-size:clamp(20px,5vw,30px);font-weight:750;touch-action:manipulation}.binary-cell.digit-0{background:#d8eae6;color:#326d63}.binary-cell.digit-1{background:#f4dfba;color:#875824}.binary-cell.empty{background:var(--surface);color:var(--muted)}.binary-cell.given{border-color:#aaa6;cursor:default}.binary-cell>span{position:absolute;right:4px;bottom:3px;font-size:8px}.binary-cell.invalid{border-color:#d64961;outline:1px solid #d64961}.cozy-grid button:disabled{opacity:1;cursor:default}@media (max-width:480px){.cozy-grid{gap:3px;padding:5px}.crate-box{border-width:2px}}.pocket-game{max-width:500px;margin:auto}.pocket-game button:focus-visible,.trail-board g:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.balance-slots button,.parking-car,.pocket-game button,.trail-board g{touch-action:manipulation}.pocket-complete .casual-message{color:var(--accent);font-weight:700}.parking-lot{position:relative;display:grid;grid-template:repeat(6,1fr) /repeat(6,1fr);width:min(100%,360px);aspect-ratio:1;margin:0 auto;gap:5px;padding:8px;background:repeating-linear-gradient(0deg,transparent 0 16%,#fff3 16% 16.6%),#cad4c5;border:4px solid #8c9b89;border-radius:16px}.parking-exit{position:absolute;right:-13px;top:34%;background:#d65d62;color:white;border-radius:7px;font-size:28px;line-height:1.5;z-index:1}.parking-car{border:3px solid #fff8;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:5px;color:#fff;font-weight:800;background:#7f9abb;box-shadow:inset 0 -5px #0002;padding:2px;font-size:18px}.parking-car.car-0{background:#d65d62}.parking-car.car-2{background:#9583b6}.parking-car.car-3{background:#bc8c46}.parking-car.car-4{background:#538c7d}.parking-car.selected{border-color:#fff;outline:2px solid #4c5060}.parking-car small{font-size:17px}.parking-car:disabled{opacity:1}.trail-board{width:min(100%,340px);display:block;margin:auto;overflow:visible}.trail-board line{stroke:var(--line);stroke-width:8;stroke-linecap:round}.trail-board line.traced{stroke:#659b87}.trail-board g{cursor:pointer}.trail-board circle{fill:var(--surface);stroke:#9a84b9;stroke-width:4}.trail-board text{fill:var(--text);font-size:17px;font-weight:800;pointer-events:none}.trail-board .current circle{fill:#e6c87c;stroke:#a77e3d}.trail-board .current text{fill:#4c4030}.balance-illustration{position:relative;height:95px;text-align:center;padding-top:15px}.balance-illustration div{width:80%;margin:auto;height:12px;background:#a88863;border-radius:8px;color:transparent;transform-origin:center;transition:transform .2s}.balance-illustration>span{font-size:45px;color:#748f85}.balance-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.balance-slots button{display:grid;gap:12px;padding:12px 1px;background:var(--soft);border:1px solid var(--line);color:var(--text);border-radius:9px}.balance-slots strong{font-size:14px}.balance-slots small{color:var(--muted)}.balance-slots button:nth-child(3){margin-right:5px}.balance-slots button:disabled{opacity:1}.word-targets{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:15px 0}.word-targets span{padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-size:13px;font-weight:700}.word-targets .found{color:#387b65;text-decoration:line-through}.word-search-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:8px;background:var(--soft);border-radius:15px}.word-search-grid button{aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:8px;background:var(--surface);color:var(--text);font-weight:750;font-size:clamp(15px,4vw,22px)}.word-search-grid .found{background:#d3e5d9;color:#38634c}.word-search-grid .selected{background:#f1dbab;color:#6d5327;border-color:#b58f4f}.word-search-grid button:disabled{opacity:1}.letter-answer{letter-spacing:.35em;text-align:center;font-size:32px;font-weight:700;color:var(--accent);padding:20px 0}.dice-rack,.letter-rack{display:flex;justify-content:center;gap:8px}.dice-rack button,.letter-rack button{width:52px;min-height:52px;border:2px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text);font-size:24px;font-weight:800}.letter-rack button:disabled{opacity:.35}.ladder-goal{display:flex;justify-content:center;gap:20px;color:var(--accent);font-size:25px;font-weight:800}.ladder-path{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:15px 0}.ladder-path li{background:var(--soft);padding:8px;border-radius:8px;letter-spacing:2px}.word-form{display:flex;align-items:flex-end;gap:10px;margin-bottom:20px}.word-form label{flex:1 1;min-width:0;font-size:12px;color:var(--muted)}.word-form input{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:21px;padding:9px;letter-spacing:3px}.word-bank{display:flex;flex-wrap:wrap;gap:7px;padding-top:14px}.word-bank button{font-size:12px;padding:7px}.cozy-game summary,.pocket-game summary{cursor:pointer;color:var(--accent)}.nim-pile{text-align:center;margin:12px 0;padding:12px;border-radius:18px;background:var(--soft)}.nim-pile>b{font-size:12px;color:var(--muted)}.lanterns{color:#cfa44d;font-size:35px;min-height:48px;letter-spacing:8px}.nim-pile .casual-actions{margin:4px 0}.nim-pile button{min-width:40px}.luck-die{margin:20px auto;width:140px;height:140px;display:grid;place-items:center;border-radius:26px;color:#85609f;background:var(--soft);font-size:108px;line-height:1}.luck-die.busted{color:#c65f6f}.dice-rack small{display:block;font-size:10px;font-weight:500;margin:3px 0}.dice-rack .held{border-color:#9479b3;background:#e4d5f2;color:#62467c}.dice-scorecard{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dice-scorecard button{display:flex;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text)}.dice-scorecard button:disabled{opacity:.55}.hex-board{--hex:clamp(28px,6.3vw,44px);width:calc(var(--hex) * 7.3);margin:20px auto;border-top:4px solid #648fae;border-bottom:4px solid #648fae;padding:10px 0 20px}.hex-row{display:flex;margin-left:calc(var(--row) * var(--hex) / 2);margin-bottom:-9px}.hex-cell{width:var(--hex);height:calc(var(--hex) * 1.14);flex-shrink:0;clip-path:polygon(50% 0,97% 25%,97% 75%,50% 100%,3% 75%,3% 25%);background:#e2ded1;color:#7c7568;border:0;font-size:20px;padding:0}.hex-cell.owner-1{background:#648fae;color:white}.hex-cell.owner-2{background:#c9985c;color:white}.hex-cell:disabled{opacity:1}.hex-cell:focus-visible{background:#b9a0d4}.hex-goal{text-align:center;color:#648fae;font-weight:700}@media (prefers-reduced-motion:reduce){.balance-illustration div{transition:none}}