:root{--bg: #0a0e1a;--surface: #121828;--surface-2: #1a2134;--surface-3: #222b41;--ink: #e9edf6;--ink-soft: #8d98b3;--ink-faint: #5d6884;--line: #232c42;--purple: #a78bfa;--purple-deep: #7c5cf0;--purple-soft: #1e1a3a;--turq: #2dd4bf;--turq-soft: #0e2f31;--orange: #fb923c;--orange-soft: #33211447;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 28px rgba(0, 0, 0, .35);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--purple-deep);color:#fff}.wrap{max-width:900px;margin:0 auto;padding:18px 14px 80px}.app-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.app-head h1{font-family:Outfit,system-ui,sans-serif;font-weight:700;font-size:26px;line-height:1.1;margin:0;letter-spacing:-.02em}.app-head h1 span{background:linear-gradient(92deg,var(--purple) 0%,var(--turq) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.head-meta{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--ink-faint);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.live{background:var(--turq);box-shadow:0 0 8px var(--turq);animation:pulse 2s ease-in-out infinite}.dot.idle{background:var(--ink-faint)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.dot.live{animation:none}}nav.tabs{display:flex;gap:8px;margin-bottom:20px;align-items:center;flex-wrap:wrap}nav.tabs button{font-family:Outfit,system-ui,sans-serif;font-size:13.5px;font-weight:600;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft);padding:9px 20px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}nav.tabs button:hover{color:var(--ink);background:var(--surface-3)}nav.tabs button.active{background:linear-gradient(96deg,var(--purple-deep),#6d4de0);color:#fff;border-color:transparent}nav.tabs button:focus-visible{outline:2px solid var(--turq);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 18px;cursor:pointer;border-bottom:1px solid var(--line)}.card-head:focus-visible{outline:2px solid var(--turq);outline-offset:-2px}.lg-name{font-family:Outfit,sans-serif;font-weight:600;font-size:17px;margin:0;letter-spacing:-.01em}.lg-sub{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ink-faint);margin-top:2px}.score-pair{display:flex;align-items:baseline;gap:9px;font-variant-numeric:tabular-nums}.score{font-family:Outfit,sans-serif;font-weight:700;font-size:25px;line-height:1;color:var(--ink)}.score.win{color:var(--turq)}.score.lose{color:var(--orange)}.score-vs{font-size:11px;color:var(--ink-faint)}.row{display:grid;grid-template-columns:54px 1fr auto 1fr 54px;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:13.5px}.row:last-child{border-bottom:none}.row:hover{background:var(--surface-2)}.row.head{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);background:var(--surface-2)}.row.head:hover{background:var(--surface-2)}.slot{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--purple);text-align:center;background:var(--purple-soft);border:1px solid transparent;border-radius:6px;padding:3px 0;font-weight:500}.pname{min-width:0}.pname .n{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pname .t{font-family:IBM Plex Mono,monospace;font-size:9.5px;color:var(--ink-faint)}.pname.right{text-align:right}.pts{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums;min-width:48px}.pts.zero{color:var(--ink-faint)}.pts.live{color:var(--turq);font-weight:600}.inj{color:var(--orange);font-size:9px;font-family:IBM Plex Mono,monospace}.game{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);padding:15px 18px;margin-bottom:12px}.game.conflict{border-left:3px solid var(--orange)}.game.empty{padding:11px 18px;background:transparent;border-color:#1a2134;box-shadow:none;margin-bottom:7px}.game.empty .game-title{color:var(--ink-faint);font-weight:500;font-size:14px}.game.empty .game-when{color:var(--ink-faint);opacity:.7}.game-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.game-title{font-family:Outfit,sans-serif;font-weight:600;font-size:16px}.game-when{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ink-faint)}.exp-line{font-size:13px;margin:5px 0}.exp-line b{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;margin-right:4px}.exp-for b{color:var(--turq)}.exp-vs b{color:var(--orange)}.chip{display:inline-block;font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:3px 8px;margin:2px 3px 2px 0;color:var(--ink)}.chip .lg{font-family:IBM Plex Mono,monospace;font-size:9.5px;color:var(--ink-faint)}.badge{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em;background:var(--orange-soft);color:var(--orange);border:1px solid var(--orange);border-radius:999px;padding:3px 10px;white-space:nowrap;margin-bottom:6px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}input,select{font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);width:100%}input::placeholder{color:var(--ink-faint)}input:focus-visible,select:focus-visible{outline:2px solid var(--turq);outline-offset:1px;border-color:transparent}.rules-grid{display:grid;grid-template-columns:1fr 88px;gap:7px 12px;align-items:center;padding:14px 18px}.rules-grid label{font-size:13px;color:var(--ink-soft)}.rules-grid input{text-align:right;padding:6px 9px;font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--turq)}.edit-row{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;padding:7px 18px;border-bottom:1px solid var(--line)}button.btn{font-family:Outfit,sans-serif;font-size:13px;font-weight:600;cursor:pointer;background:linear-gradient(96deg,var(--purple-deep),#6d4de0);color:#fff;border:none;border-radius:999px;padding:10px 20px}button.btn.ghost{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}button.btn.ghost:hover{color:var(--ink);background:var(--surface-3)}button.btn:focus-visible{outline:2px solid var(--turq);outline-offset:2px}.btn-row{display:flex;gap:9px;align-items:center;padding:14px 18px;flex-wrap:wrap}.muted{color:var(--ink-soft);font-size:13px}.pad{padding:15px 18px}.save-state{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--turq)}code{font-family:IBM Plex Mono,monospace;font-size:.9em;color:var(--purple)}@media(max-width:560px){.row{grid-template-columns:46px 1fr auto 1fr 46px;gap:6px;font-size:12.5px;padding:8px 10px}.app-head h1{font-size:22px}.wrap{padding:14px 10px 70px}nav.tabs button{padding:8px 16px;font-size:12.5px}}
