:root{--brand:#16a34a;--brand2:#0ea5e9}
.game .gbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.gstat{flex:1 1 80px;background:var(--chip);border-radius:12px;padding:8px 10px;text-align:center}
.gstat span{display:block;font-size:12px;color:var(--muted)}.gstat b{font-size:20px}
.btnrow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.btnrow .btn{width:auto;flex:1 1 auto}
.gres{margin:10px 0}.gwin{background:var(--grad);color:#fff;border-radius:16px;padding:16px;text-align:center}.gwin b{display:block;font-size:22px}.gwin span{opacity:.9}
/* sudoku */
.sdk{display:grid;grid-template-columns:repeat(9,1fr);max-width:460px;margin:8px auto;border:2px solid var(--text);border-radius:8px;overflow:hidden;aspect-ratio:1}
.sdk .c{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);color:var(--brand);font:600 clamp(16px,5vw,24px) system-ui;padding:0;aspect-ratio:1;cursor:pointer}
.sdk .c.f{color:var(--text);font-weight:800}.sdk .c.br{border-right:2px solid var(--text)}.sdk .c.bb{border-bottom:2px solid var(--text)}
.sdk .c.rel{background:color-mix(in srgb,var(--brand) 8%,var(--card))}.sdk .c.same{background:color-mix(in srgb,var(--brand) 22%,var(--card))}.sdk .c.sel{background:color-mix(in srgb,var(--brand) 35%,var(--card))}.sdk .c.bad{color:#ef4444}
.pad{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;max-width:460px;margin:8px auto}.pad button{padding:12px 0;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:700 18px system-ui;cursor:pointer}
/* mayın */
.ms{display:grid;gap:2px;max-width:560px;margin:8px auto;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.ms .m{aspect-ratio:1;border:0;border-radius:4px;background:color-mix(in srgb,var(--brand) 55%,var(--card));color:var(--text);font:800 clamp(10px,3vw,18px) system-ui;padding:0;cursor:pointer}
.ms .m.o{background:var(--chip)}.ms .m.x{background:#ef4444}
.ms .m[data-n="1"]{color:#3b82f6}.ms .m[data-n="2"]{color:#22c55e}.ms .m[data-n="3"]{color:#ef4444}.ms .m[data-n="4"]{color:#8b5cf6}.ms .m[data-n="5"]{color:#f97316}.ms .m[data-n="6"]{color:#06b6d4}
/* kelime avı */
.ws{display:grid;max-width:520px;margin:8px auto;gap:2px;user-select:none;-webkit-user-select:none;touch-action:none}
.ws .w{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:6px;font:700 clamp(11px,3.4vw,20px) system-ui;cursor:pointer}
.ws .w.got{background:color-mix(in srgb,var(--brand) 35%,var(--card))}.ws .w.a{outline:3px solid var(--brand)}
.wlist{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:8px 0}.wlist span{padding:4px 10px;border-radius:999px;background:var(--chip);font-weight:700;font-size:14px}.wlist .done{text-decoration:line-through;opacity:.5}
/* hafıza */
.mem{display:grid;gap:8px;max-width:520px;margin:8px auto}
.card{aspect-ratio:1;border:0;border-radius:12px;background:var(--grad);font-size:clamp(22px,7vw,40px);cursor:pointer;position:relative;padding:0}
.card .fr{display:none}.card .bk{color:#fff;font-weight:800}.card.up{background:var(--card);border:1px solid var(--line)}.card.up .fr{display:inline}.card.up .bk{display:none}.card.ok{opacity:.55}
/* klavye */
.tt{font:500 20px/1.7 system-ui;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;min-height:120px;max-height:150px;overflow:hidden}
.tt .cur{background:color-mix(in srgb,var(--brand) 25%,transparent);border-radius:4px}.tt .g{color:#22c55e}.tt .r{color:#ef4444;text-decoration:line-through}
.ttin{width:100%;margin-top:10px;padding:14px;font-size:20px;border:2px solid var(--brand);border-radius:12px;background:var(--bg);color:var(--text)}.ttin.wrong{border-color:#ef4444}
/* xox */
.xox{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:320px;margin:8px auto}
.xox .x{aspect-ratio:1;border:0;border-radius:14px;background:var(--card);color:var(--brand);font:800 48px system-ui;cursor:pointer;border:1px solid var(--line)}.xox .x.hl{background:color-mix(in srgb,var(--brand) 30%,var(--card))}
.turn{text-align:center;font-weight:700}
/* yılan */
.snk{display:block;width:100%;max-width:420px;margin:8px auto;border-radius:12px;touch-action:none;image-rendering:pixelated}
.dpad{display:grid;grid-template-columns:repeat(3,56px);grid-template-areas:". u ." "l . r" ". d .";gap:6px;justify-content:center;margin:6px 0}
.dpad button{height:48px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font-size:20px}
.dpad [data-d=u]{grid-area:u}.dpad [data-d=l]{grid-area:l}.dpad [data-d=r]{grid-area:r}.dpad [data-d=d]{grid-area:d}
@media(hover:hover) and (pointer:fine){.dpad{display:none}}
/* refleks */
.react{display:block;width:100%;height:260px;border:0;border-radius:18px;font:800 24px system-ui;color:#fff;cursor:pointer;touch-action:manipulation}
.react.idle,.react.done{background:#334155}.react.wait{background:#dc2626}.react.go{background:#16a34a}
.laps{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;justify-content:center}.laps li{background:var(--chip);padding:4px 10px;border-radius:999px}
