:root{--bg: #14181d;--panel: #1e242b;--panel-2: #262e37;--border: #333d47;--text: #e6eaee;--muted: #9aa6b2;--accent: #4d9cf0;--accent-2: #ffe14d;--danger: #e15b4a;--good: #57bd7a;--p0: #2f7fd8;--p1: #d8562f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:8px 14px;border-radius:8px;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:#313b46;border-color:#47535f}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#06101c;font-weight:600}button.primary:hover:not(:disabled){background:#63a9f2}button.danger{background:transparent;border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:#e15b4a1f}button.ghost{background:transparent}input,select{font:inherit;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:9px 11px;border-radius:8px;width:100%}.center-note{padding:60px;text-align:center;color:var(--muted)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar .brand{font-weight:700;letter-spacing:.3px}.topbar .brand a{color:var(--text)}.topbar .spacer{flex:1}.topbar .user{color:var(--muted);margin-right:12px}.container{max-width:980px;margin:0 auto;padding:24px 20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:16px}.card h2{margin:0 0 12px;font-size:16px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:10px;align-items:center}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.field{margin-bottom:14px}.match-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);margin-bottom:8px}.match-item .grow{flex:1}.match-item .sub{color:var(--muted);font-size:13px}.badge{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge.you{background:#ffe14d26;border-color:var(--accent-2);color:var(--accent-2)}.badge.active{color:var(--good);border-color:var(--good)}.badge.done{color:var(--muted)}.error{color:var(--danger);font-size:14px;margin:8px 0;min-height:18px}.match-layout{display:flex;gap:16px;padding:16px;align-items:flex-start;flex-wrap:wrap}.board-wrap{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px}.board{display:block;border-radius:6px;max-width:100%;height:auto;touch-action:manipulation}.side{width:320px;display:flex;flex-direction:column;gap:12px}@media (max-width: 760px){.side{width:100%}}.hud{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.pill{background:var(--panel-2);border:1px solid var(--border);padding:6px 10px;border-radius:8px;font-size:13px}.pill.turn0{border-color:var(--p0)}.pill.turn1{border-color:var(--p1)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px}.dot.on{background:var(--good)}.dot.off{background:#6b7681}.actions-bar{display:flex;gap:8px;flex-wrap:wrap}.log{max-height:240px;overflow-y:auto;font-size:13px}.log .entry{padding:4px 0;border-bottom:1px solid var(--border);color:var(--muted)}.log .entry b{color:var(--text)}.preview-box{font-size:13px}.preview-box .num{color:var(--accent-2);font-weight:600}.buildmenu button{display:flex;justify-content:space-between;width:100%;margin-bottom:6px}.cost{color:var(--muted)}.victory{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:20}.victory .box{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:34px;text-align:center;max-width:380px}.victory h1{margin:0 0 8px}.landing-hero{max-width:640px;margin:60px auto;text-align:center;padding:0 20px}.landing-hero h1{font-size:40px;margin-bottom:6px}.landing-hero p{color:var(--muted);font-size:17px;line-height:1.5}.landing-hero .cta{margin-top:24px;display:flex;gap:12px;justify-content:center}.selstat{font-size:13px;color:var(--muted)}.selstat b{color:var(--text)}.hint{color:var(--muted);font-size:13px}
