:root{--motion-press: 105ms;--motion-settle: 165ms;--motion-modal: .22s;--motion-celebration: .82s;--motion-ease-out: cubic-bezier(.2,.8,.2,1);--motion-ease-spring: cubic-bezier(.2,1.25,.35,1)}:where(button,a,[role=button]):active{transform:scale(.975);transition-duration:var(--motion-press)}.motion-success{animation:arcade-success var(--motion-settle) var(--motion-ease-spring)}.motion-invalid{animation:arcade-invalid var(--motion-settle) ease-out}.motion-merge{animation:arcade-merge var(--motion-settle) var(--motion-ease-spring)}.motion-result{animation:arcade-result var(--motion-celebration) var(--motion-ease-out)}.motion-crash{animation:arcade-crash .24s ease-out}@keyframes arcade-success{45%{transform:scale(1.045);filter:brightness(1.16)}}@keyframes arcade-invalid{35%{transform:translate(-3px);outline:2px solid currentColor}70%{transform:translate(3px)}}@keyframes arcade-merge{45%{transform:scale(1.1);filter:brightness(1.22)}}@keyframes arcade-result{0%{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes arcade-crash{30%{transform:scale(.985);filter:saturate(.75)}65%{transform:scale(1.01)}}@media(prefers-reduced-motion:reduce){:where(button,a,[role=button]):active{transform:none}.motion-success,.motion-invalid,.motion-merge,.motion-result,.motion-crash{animation-name:arcade-reduced-feedback;animation-duration:.12s}@keyframes arcade-reduced-feedback{0%{opacity:.72;outline:2px solid currentColor}}}[data-reduced-motion=true].motion-success,[data-reduced-motion=true].motion-invalid,[data-reduced-motion=true].motion-merge,[data-reduced-motion=true].motion-result,[data-reduced-motion=true].motion-crash{animation-name:arcade-reduced-feedback;animation-duration:.12s}:root{color-scheme:dark;--game-accent:#55e6ff;--game-secondary:#a978ff;--game-warm:#ffd46d;--game-danger:#ff668d;--game-success:#6ff0b4;--game-panel:rgba(8,18,42,.92);--game-line:rgba(125,218,255,.42);--game-text:#f7fbff;--game-muted:#b7cae7}*{box-sizing:border-box}html{min-height:100%;background:#050b1b}body.premium-game{margin:0;min-height:100dvh;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));display:grid;place-items:center;overflow-x:hidden;color:var(--game-text);font-family:Inter,ui-rounded,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--game-accent) 23%,transparent),transparent 30%),radial-gradient(circle at 88% 90%,color-mix(in srgb,var(--game-secondary) 20%,transparent),transparent 34%),linear-gradient(145deg,#06101f,#11143a)}body.premium-game button,body.premium-game select,body.premium-game input{font:inherit}body.premium-game button,.game-button,.number-key,.home-link{min-height:44px;border:1px solid var(--game-line);border-radius:14px;color:var(--game-text);background:#061023d6;font-weight:850}body.premium-game button{cursor:pointer}body.premium-game button:disabled{cursor:not-allowed;opacity:.48}body.premium-game :focus-visible{outline:3px solid var(--game-warm);outline-offset:3px}.game-shell{width:min(880px,100%);min-height:min(760px,calc(100dvh - 2rem));display:flex;flex-direction:column;gap:.85rem;padding:clamp(.9rem,2.5vw,1.4rem);border:1px solid var(--game-line);border-radius:28px;background:linear-gradient(180deg,var(--game-panel),rgba(4,10,25,.94));box-shadow:0 24px 70px #0000007a,inset 0 1px #ffffff14}.game-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.game-title{margin:.15rem 0;font-size:clamp(2rem,7vw,3.5rem);line-height:.95;letter-spacing:-.04em}.game-subtitle{margin:.35rem 0 0;max-width:65ch;color:var(--game-muted)}.home-link{display:inline-flex;align-items:center;padding:.5rem .8rem;text-decoration:none;background:#ffffff14}.game-toolbar,.stat-row,.action-row,.number-tray{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.game-toolbar label{font-weight:800}.game-toolbar select,.game-toolbar button,.action-row button{min-height:44px;padding:.58rem .78rem;border:1px solid var(--game-line);border-radius:12px;color:var(--game-text);background:#07122ae6}.game-toolbar button.primary,.action-row button.primary{color:#04131f;background:linear-gradient(135deg,var(--game-accent),var(--game-secondary));border-color:transparent;font-weight:950}.stat{padding:.5rem .7rem;border:1px solid var(--game-line);border-radius:12px;background:#040d1fad;font-weight:850}.status-line{min-height:1.55rem;margin:0;color:var(--game-warm);font-weight:850}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.shared-result{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;padding:1rem;background:#020612c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.shared-result[hidden]{display:none}.shared-result>*{width:min(430px,calc(100vw - 2rem))}.shared-result h2,.shared-result p,.shared-result dl,.shared-result__actions{margin-left:auto;margin-right:auto;background:var(--game-panel);border-left:1px solid var(--game-line);border-right:1px solid var(--game-line);padding-left:1.2rem;padding-right:1.2rem}.shared-result h2{margin-top:0;margin-bottom:0;padding-top:1.2rem;border-top:1px solid var(--game-line);border-radius:22px 22px 0 0;font-size:2rem}.shared-result p{margin-top:0;margin-bottom:0;padding-top:.5rem;color:var(--game-muted)}.shared-result__records{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;margin-top:0;margin-bottom:0;padding-top:1rem;padding-bottom:1rem}.shared-result__records dt{color:var(--game-muted)}.shared-result__records dd{margin:0;font-weight:950}.shared-result__actions{display:flex;gap:.65rem;padding-bottom:1.2rem;border-bottom:1px solid var(--game-line);border-radius:0 0 22px 22px}.shared-result__actions button,.shared-result__actions a{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:.65rem .9rem;border-radius:13px;border:1px solid var(--game-line);text-decoration:none;color:var(--game-text);background:#ffffff14;font-weight:900}.shared-result__actions button{color:#04131f;background:linear-gradient(135deg,var(--game-accent),var(--game-secondary))}body.sudoku-game{--game-accent:#51d6ff;--game-secondary:#8868ff}.sudoku-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,240px);gap:1rem;align-items:start}.sudoku-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:2px solid var(--game-accent);border-radius:16px;overflow:hidden;background:#071127}.sudoku-cell{position:relative;aspect-ratio:1;min-width:0;border:0;border-right:1px solid rgba(118,181,255,.3);border-bottom:1px solid rgba(118,181,255,.3);border-radius:0;color:var(--game-text);background:#0a1835d1;font-size:clamp(1rem,3.5vw,1.45rem);font-weight:900}.sudoku-cell:nth-child(9n+3),.sudoku-cell:nth-child(9n+6){border-right:3px solid var(--game-accent)}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:3px solid var(--game-accent)}.sudoku-cell.given{color:#98dcff;background:#203968eb}.sudoku-cell.peer{background:#4f8bd626}.sudoku-cell.same{background:#ffd26d2e}.sudoku-cell.selected{background:#8968ff57;box-shadow:inset 0 0 0 3px var(--game-warm);z-index:2}.sudoku-cell.conflict{color:#fff;background:#a91e4cb8;box-shadow:inset 0 0 0 2px var(--game-danger)}.sudoku-cell .notes{position:absolute;inset:3px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;font-size:clamp(.45rem,1.5vw,.66rem);color:#c4dbff;font-weight:750}.sudoku-tools{display:flex;flex-direction:column;gap:.65rem}.number-tray{display:grid;grid-template-columns:repeat(3,1fr)}.number-key{font-size:1.15rem;background:linear-gradient(145deg,#172c5a,#0b1734)}.number-key.complete{opacity:.38}.tool-toggle[aria-pressed=true]{background:var(--game-warm);color:#1c1200}body.merge-game{--game-accent:#5de5ff;--game-secondary:#c07bff}.merge-board{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;padding:.6rem;border-radius:20px;background:#020713;touch-action:none}.merge-tile{aspect-ratio:1;display:grid;place-items:center;border-radius:16px;background:#14284b;font-size:clamp(1.35rem,8vw,2.8rem);font-weight:950;color:#fff;box-shadow:inset 0 1px #ffffff1a}.merge-tile[data-value="2"]{background:#d8f7ff;color:#10233b}.merge-tile[data-value="4"]{background:#abefff;color:#10233b}.merge-tile[data-value="8"]{background:#ffd36e;color:#301d04}.merge-tile[data-value="16"]{background:#ff9f6e}.merge-tile[data-value="32"]{background:#ff6e9f}.merge-tile[data-value="64"]{background:#b979ff}.merge-tile[data-value="128"],.merge-tile[data-value="256"],.merge-tile[data-value="512"]{background:#57e3ff;color:#061122}.merge-tile[data-value="1024"],.merge-tile[data-value="2048"]{background:#fff06e;color:#061122}.merge-tile[data-value="4096"]{background:#73ffb2;color:#061122}.merge-pad{display:grid;grid-template-columns:repeat(3,minmax(64px,92px));gap:.45rem;justify-content:center}.merge-pad .spacer{visibility:hidden}.merge-pad button{min-height:52px}.score-delta{min-width:5rem;color:var(--game-success);font-weight:950}body.memory-game{--game-accent:#60e8ff;--game-secondary:#ab72ff}.memory-board{flex:1;display:grid;gap:.55rem}.memory-card{min-height:64px;border:1px solid var(--game-line);border-radius:15px;background:linear-gradient(145deg,#172d5b,#0a1532);color:transparent;font-size:clamp(1.35rem,6vw,3rem);font-weight:950;transition:transform var(--motion-settle) ease,background var(--motion-settle) ease}.memory-card.revealed,.memory-card.matched{color:#07111f;background:linear-gradient(145deg,#fff2a8,#71edff);transform:translateY(-2px) rotateY(0)}.memory-card.matched{opacity:.7;outline:2px solid var(--game-success)}.memory-card.mismatch{outline:2px solid var(--game-danger)}body.snake-game{--game-accent:#9cff70;--game-secondary:#4fe4ff}.snake-stage{position:relative;width:min(600px,100%);margin:auto}.snake-stage canvas{display:block;width:100%;aspect-ratio:1;border:2px solid var(--game-accent);border-radius:18px;background:#03100b;box-shadow:0 0 28px #9cff7029}.snake-pad{display:grid;grid-template-columns:repeat(3,minmax(58px,84px));gap:.4rem;justify-content:center}.snake-pad .spacer{visibility:hidden}.snake-pad button{min-height:48px}body.scramble-game{--game-accent:#62f0ae;--game-secondary:#ffd56c}.letter-rack{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:1rem 0}.letter-key{min-width:50px;min-height:58px;font-size:1.55rem;border:1px solid var(--game-line);border-radius:14px;color:var(--game-text);background:linear-gradient(145deg,#164638,#0b2824);font-weight:950}.answer-input{width:100%;min-height:50px;padding:.7rem .85rem;border:1px solid var(--game-line);border-radius:14px;color:var(--game-text);background:#07152d;font-size:1.2rem}.definition{min-height:1.5rem;color:var(--game-muted)}body.tic-game{--game-accent:#55d8ff;--game-secondary:#ff78c5}.tic-board{width:min(500px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.tic-cell{aspect-ratio:1;border:2px solid var(--game-line);border-radius:18px;color:var(--game-text);background:linear-gradient(145deg,#10294f,#09172f);font-size:clamp(2rem,10vw,3.4rem)}.tic-cell.winner{border-color:var(--game-warm);background:#ffd26d3d;box-shadow:0 0 24px #ffd26d3d}.series-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.series-card{padding:.65rem;text-align:center;border:1px solid var(--game-line);border-radius:13px;background:#061023b8}@media(max-width:720px){body.premium-game{padding:0;place-items:stretch}.game-shell{min-height:100dvh;border-radius:0;padding:max(.75rem,env(safe-area-inset-top)) max(.7rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.7rem,env(safe-area-inset-left))}.sudoku-layout{grid-template-columns:1fr}.sudoku-tools{flex-direction:row;flex-wrap:wrap}.number-tray{flex:1 1 100%;grid-template-columns:repeat(9,1fr);gap:.25rem}.number-key{min-width:0;padding:.45rem .1rem}.game-subtitle{font-size:.92rem}}@media(max-height:700px)and (orientation:landscape){.game-shell{min-height:auto}.game-title{font-size:1.65rem}.game-subtitle{display:none}.sudoku-layout{grid-template-columns:minmax(360px,1fr) 210px}.sudoku-cell{aspect-ratio:auto;min-height:37px}.memory-card{min-height:46px}}
