:root{--bg:#f5efe3;--surface:#fff;--ink:#1f2937;--muted:#4b5563;--accent:#b45309;--accent-fg:#fff;--good:#15803d;--warn:#b91c1c;--border:#d6cfc1;--shadow:0 1px 3px #0000000f;--radius:14px;font-size:18px}@media (prefers-color-scheme:dark){:root{--bg:#1c1917;--surface:#292524;--ink:#f5f5f4;--muted:#d6d3d1;--accent:#f59e0b;--accent-fg:#1c1917;--border:#44403c}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}button,.btn{border-radius:var(--radius);background:var(--accent);min-height:56px;color:var(--accent-fg);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.9rem 1.25rem;font-family:inherit;font-size:1.1rem;font-weight:600;transition:transform 50ms;display:inline-flex}button.secondary,.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}button.danger,.btn.danger{background:var(--warn);color:#fff}button:focus-visible,.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}input,select,textarea{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);width:100%;min-height:52px;padding:.75rem .85rem;font-family:inherit;font-size:1.1rem}h1{margin:0 0 1rem;font-size:1.8rem}h2{margin:1.25rem 0 .75rem;font-size:1.4rem}h3{margin:.75rem 0 .5rem;font-size:1.15rem}p{margin:0 0 .75rem}.page{max-width:720px;min-height:100%;margin:0 auto;padding:1rem}.page-pad-bottom{padding-bottom:3rem}header.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:1rem;display:flex;position:sticky;top:0}header.app-header .brand{color:var(--ink);font-size:1.3rem;font-weight:800}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 .75rem;padding:1rem}.card-game{color:var(--ink);grid-template-columns:1fr auto;align-items:center;gap:.5rem 1rem;text-decoration:none;display:grid}.card-game .vs{font-size:1.2rem;font-weight:700}.card-game .meta{color:var(--muted);font-size:.95rem}.card-game .your-turn{background:var(--good);color:#fff;border-radius:999px;padding:.3rem .75rem;font-size:.95rem;font-weight:700}.card-game .waiting{color:var(--muted);font-style:italic}.card-game .finished{color:var(--muted);font-weight:700}.status-banner{border-radius:var(--radius);text-align:center;margin-bottom:1rem;padding:1rem 1.25rem;font-size:1.2rem;font-weight:700}.status-banner.your-turn{background:var(--good);color:#fff}.status-banner.waiting{background:var(--surface);color:var(--muted);border:2px solid var(--border)}.status-banner.finished{background:var(--surface);color:var(--ink);border:2px solid var(--border)}.board-wrap{max-width:min(92vw,560px);margin:0 auto}.clocks{grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0;display:grid}.clock-box{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);text-align:center;padding:.5rem .75rem}.clock-box.active{border-color:var(--accent)}.clock-box .name{color:var(--muted);font-size:.9rem}.clock-box .time{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800}.clock-box.low .time{color:var(--warn)}.game-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem;display:flex}.flex-row{align-items:center;gap:.5rem;display:flex}.flex-col{flex-direction:column;gap:.5rem;display:flex}.muted{color:var(--muted)}.big{font-size:1.3rem}.empty-state{text-align:center;padding:2rem 1rem}.field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.field label{font-weight:600}.center{text-align:center}ul.move-list{grid-template-columns:2rem 1fr 1fr;gap:.25rem;padding:0;list-style:none;display:grid}ul.move-list li{padding:.2rem .4rem}ul.move-list li.num{color:var(--muted)}.toast{background:var(--ink);color:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);z-index:50;padding:.75rem 1.25rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}
