.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}}