*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}#root{min-height:100dvh}:root,:root[data-theme=midnattssol]{--bg:#141024;--bg-grad:radial-gradient(120% 90% at 50% -10%, #241a3c 0%, #141024 55%, #0e0a1a 100%);--surface:#1e1836;--surface-2:#271f45;--border:#362b52;--text:#ece7f5;--text-dim:#a99fc9;--accent:#e8b24c;--accent-ink:#2a2010;--danger:#d6493c}:root[data-theme=dagsljus]{--bg:#f4efe6;--bg-grad:radial-gradient(120% 90% at 50% -10%, #fbf8f2 0%, #f4efe6 60%, #ece4d5 100%);--surface:#fbf8f2;--surface-2:#f2ebdd;--border:#e0d5c2;--text:#2b2620;--text-dim:#6b6357;--accent:#b8863b;--accent-ink:#fff8ea;--danger:#c33c32;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg-grad);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.page{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:1rem;max-width:560px;margin-inline:auto;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:.5rem;font-weight:600;display:flex}.brand .dot{background:var(--accent);width:.55rem;height:.55rem;box-shadow:0 0 12px var(--accent);border-radius:50%}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;padding:.9rem 1rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row.between{justify-content:space-between}.btn{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:10px;min-height:44px;padding:.55rem .9rem;transition:transform .12s,border-color .12s}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn:disabled{opacity:.5;cursor:default}.status-line{min-height:1.4rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.status-line strong{color:var(--text)}.board-frame{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(92vw,480px);padding:10px;box-shadow:0 10px 30px #00000047}.coord{letter-spacing:.01em;opacity:.62;pointer-events:none;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-size:clamp(8px,2.6vw,12px);font-weight:600;line-height:1;transition:font-size .12s,opacity .12s,color .12s;position:absolute;bottom:5%;left:7%}.coord.on-dark{color:#f1e8d8;text-shadow:0 1px 2px #0006}.coord.on-light{color:#4a3826;text-shadow:0 1px 1px #ffffff40}.coord.lit{opacity:1;color:var(--accent);text-shadow:0 0 8px var(--accent)}.coord.held{opacity:1;color:var(--accent);text-shadow:0 1px 3px #00000080;font-size:clamp(14px,4.4vw,22px)}.board-frame.intro .piece-settle{animation:.4s cubic-bezier(.2,.8,.2,1) both settle}@keyframes settle{0%{opacity:0;transform:translateY(-8%)scale(.96)}to{opacity:1;transform:none}}.moves{font-variant-numeric:tabular-nums;color:var(--text-dim);width:100%;max-height:8.5rem;line-height:1.7;overflow-y:auto}.moves .mv{color:var(--text)}.field{flex-direction:column;gap:.3rem;width:100%;display:flex}.field label{color:var(--text-dim);font-size:.85rem}input[type=range]{accent-color:var(--accent);width:100%}select,input[type=email],input[type=text]{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;min-height:44px;padding:.6rem .7rem}input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--accent)}@media (prefers-reduced-motion:reduce){.board-frame.intro .piece-settle{animation:none}.btn{transition:none}}
