*,*:before,*:after{box-sizing:border-box}:root{--bg: #f8f9fb;--surface: #ffffff;--surface-hover: #f1f3f7;--border: #d1d5db;--border-subtle: #e5e7eb;--text: #111827;--text-muted: #6b7280;--accent: #2563eb;--accent-text: #ffffff;--error-bg: #fef2f2;--error-border: #fca5a5;--error-text: #b91c1c;--input-bg: #ffffff;--nav-bg: #1e293b;--nav-text: #f1f5f9;--nav-link-hover: #334155;--complete-bg: #f0fdf4;--complete-border: #86efac;--complete-text: #15803d;--board-light: #f0d9b5;--board-dark: #b58863;--board-selected-light: rgba(114, 142, 95, .6);--board-selected-dark: rgba(89, 107, 60, .6);--board-last-move-light: rgba(216, 212, 130, .76);--board-last-move-dark: rgba(197, 187, 104, .76);--board-valid-target: rgba(20, 85, 30, .35);--board-coord: #6b5744}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}a{color:var(--accent)}.box-chips{display:flex;flex-wrap:wrap;gap:.3rem}.box-chip{display:inline-flex;align-items:center;border-radius:4px;padding:.1rem .4rem;font-size:.72rem;font-weight:600;border:1px solid transparent;cursor:default}.box-new{color:var(--text-muted);background:var(--surface-hover);border-color:var(--border)}.box-1{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.box-2{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.box-3{color:#a16207;background:#fefce8;border-color:#fde047}.box-4{color:#4d7c0f;background:#f7fee7;border-color:#bef264}.box-5{color:#15803d;background:#f0fdf4;border-color:#86efac}.ctx-item{display:block;width:100%;padding:6px 10px;font-size:13px;text-align:left;border:none;border-radius:4px;background:none;color:var(--text);cursor:pointer}.ctx-item:hover{background:var(--surface-hover)}.ctx-item.ctx-danger{color:var(--error-text)}.ctx-item.ctx-danger:hover{background:var(--error-bg)}.btn-primary,.btn-ghost{display:inline-block;padding:.5rem 1.25rem;border-radius:6px;font-size:.9rem;line-height:1.4;cursor:pointer;text-decoration:none;white-space:nowrap}.btn-primary:disabled,.btn-ghost:disabled{opacity:.5;cursor:default}.btn-primary{border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);font-weight:600}.btn-primary:hover:not(:disabled){opacity:.88}.btn-ghost{border:1px solid var(--border);background:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover)}.btn-sm{padding:4px 10px;font-size:.8rem}
