:root{color-scheme:dark;--bg:#0d1520;--panel:#152435;--panel2:#1c3145;--ink:#f4f7f2;--muted:#a9b8c1;--accent:#b8e1c2;--accent2:#f1c75b;--danger:#f08a8a}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 0,#21354a 0,#0d1520 56%);color:var(--ink);font:15px/1.55 system-ui,"PingFang SC","Microsoft YaHei",sans-serif}body{padding:clamp(12px,3vw,34px);display:flex;justify-content:center}.shell{width:min(980px,100%);min-height:calc(100vh - 40px);display:flex;flex-direction:column;gap:14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--accent);text-transform:uppercase}.title{margin:2px 0 0;font-size:clamp(24px,4vw,38px);line-height:1.1}.subtitle{margin:3px 0 0;color:var(--muted)}.stats{display:flex;gap:8px;flex-wrap:wrap}.stat{padding:7px 11px;background:rgba(28,49,69,.8);border:1px solid rgba(184,225,194,.2);border-radius:999px;color:var(--muted)}.stat b{color:var(--ink)}.board-wrap{position:relative;display:flex;justify-content:center;align-items:center;min-height:min(68vh,680px);padding:clamp(10px,2vw,24px);background:rgba(10,18,29,.55);border:1px solid rgba(184,225,194,.24);border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);overflow:hidden}.board{max-width:100%;max-height:100%;background:#101b29;border-radius:12px;box-shadow:0 12px 50px rgba(0,0,0,.35)}canvas.board{width:min(860px,100%);height:auto;aspect-ratio:4/3;image-rendering:auto}.controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:var(--muted)}button,.button{border:1px solid rgba(184,225,194,.35);border-radius:10px;background:var(--panel2);color:var(--ink);padding:9px 14px;font:inherit;cursor:pointer;transition:.15s ease}button:hover,.button:hover{border-color:var(--accent);transform:translateY(-1px)}button.primary{background:var(--accent);color:#192a22;border-color:transparent;font-weight:700}.hint{text-align:center;color:var(--muted);font-size:13px}.return{align-self:flex-start;color:var(--accent);text-decoration:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,13,24,.72);backdrop-filter:blur(4px);z-index:2}.overlay[hidden]{display:none}.card{width:min(430px,100%);padding:24px;background:var(--panel);border:1px solid rgba(184,225,194,.3);border-radius:18px;text-align:center}.grid2048{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;width:min(500px,100%);aspect-ratio:1;padding:12px;background:#9c8974;border-radius:12px}.tile{display:grid;place-items:center;border-radius:8px;background:#c8b8a2;color:#776e65;font-weight:800;font-size:clamp(20px,5vw,40px)}.tile.v2{background:#eee4da}.tile.v4{background:#ede0c8}.tile.v8,.tile.v16,.tile.v32,.tile.v64{color:#fff}.tile.v8{background:#f2b179}.tile.v16{background:#f59563}.tile.v32{background:#f67c5f}.tile.v64{background:#f65e3b}.tile.v128{background:#edcf72;font-size:clamp(16px,4vw,30px)}.tile.v256,.tile.v512,.tile.v1024,.tile.v2048{background:#edc53f;color:#fff;font-size:clamp(14px,3.5vw,28px)}.snake-stage,.tetris-stage,.breakout-stage,.flappy-stage,.pong-stage{width:min(760px,100%);aspect-ratio:4/3;position:relative}.snake-stage canvas,.tetris-stage canvas,.breakout-stage canvas,.flappy-stage canvas,.pong-stage canvas{width:100%;height:100%;display:block;background:#08111d;border-radius:12px}.touch-pad{display:flex;justify-content:center;gap:8px}.touch-pad button{min-width:46px}.mine-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;width:min(520px,100%);aspect-ratio:1;padding:5px;background:#7d8a96;border-radius:8px}.mine-cell{display:grid;place-items:center;border:0;border-radius:4px;background:#c7d0d7;color:#102030;font-weight:800;padding:0;font-size:clamp(12px,2.6vw,20px)}.mine-cell.open{background:#e8edf0}.mine-cell.flag{background:#e6bc70}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(520px,100%);aspect-ratio:1}.memory-card{border:0;border-radius:12px;background:#35566d;display:grid;place-items:center;font-size:clamp(26px,7vw,56px);color:transparent}.memory-card.open,.memory-card.done{background:#d7e3c8;color:#192a22}.ttt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(420px,100%);aspect-ratio:1}.ttt-cell{font-size:clamp(40px,12vw,90px);font-weight:800;background:#213b51;color:var(--ink)}.connect-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:min(620px,100%);padding:12px;background:#245886;border-radius:14px}.connect-cell{aspect-ratio:1;border-radius:50%;border:0;background:#e5edf3;padding:0}.connect-cell.red{background:#f26f61}.connect-cell.yellow{background:#f5ce55}.connect-cell:hover{outline:3px solid var(--accent)}.message{min-height:26px;text-align:center;color:var(--accent2);font-weight:600}@media(max-width:560px){body{padding:10px}.shell{min-height:calc(100vh - 20px)}.board-wrap{min-height:58vh;border-radius:18px}.grid2048{gap:6px;padding:8px}.mine-grid{gap:2px}.connect-grid{gap:3px;padding:7px}.controls button{padding:8px 10px}}
