/* ASHBREAKERS OPS (manage.ashbreakers.com): the landing's Long Dusk palette, look D · TITAN. */
:root{--ink:#120c10;--ink2:#1e141b;--ink3:#2a1d26;--paper:#f6ece0;--mute:#c9b8ad;--gold:#ffcf7a;--red:#d8321e;--ember:#ff7a3a;--ok:#7fd48a;--line:rgba(246,236,224,.14);--hd:'Barlow Condensed',system-ui,sans-serif;--bd:'Barlow',system-ui,sans-serif;--r:4px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:radial-gradient(90% 60% at 80% -10%,rgba(216,50,30,.18),transparent 60%),radial-gradient(70% 50% at 0% 0%,rgba(106,58,90,.25),transparent 60%),var(--ink);color:var(--paper);font:15px/1.5 var(--bd);overflow-x:hidden}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
code{font:13px ui-monospace,Menlo,monospace;color:var(--gold);word-break:break-all}
.wrap{max-width:1180px;margin:0 auto;padding:16px max(16px,env(safe-area-inset-left)) 48px max(16px,env(safe-area-inset-right))}
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:linear-gradient(rgba(18,12,16,.94),rgba(18,12,16,.75));backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:8px;align-items:center;font:800 20px var(--hd);letter-spacing:.06em}.brand em{font-style:normal;color:var(--ember)}
.live{margin-left:auto;font:700 13px var(--hd);letter-spacing:.2em;color:var(--mute);display:flex;align-items:center;gap:6px}
.live i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:p 2s infinite}.live.bad i{background:var(--red);box-shadow:0 0 10px var(--red)}
@keyframes p{50%{opacity:.35}}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border:0;cursor:pointer;font:800 20px/1 var(--hd);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r);transition:transform .15s,filter .15s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.btn.play{background:var(--red);color:#fff;box-shadow:0 6px 0 #7a160c,0 10px 30px rgba(216,50,30,.35)}
.btn.sm{min-height:36px;padding:0 14px;font-size:15px}.btn.ghost{background:none;color:var(--paper);box-shadow:inset 0 0 0 2px var(--line)}
.live+.btn{margin-left:8px}.nav .btn:only-of-type{margin-left:auto}
.gate{max-width:560px;margin:12vh auto 0;text-align:center}
.kicker{font:700 14px var(--hd);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0}
.h1{font:800 clamp(40px,9vw,72px)/.95 var(--hd);text-transform:uppercase;margin:8px 0 14px}
.mute{color:var(--mute)}.msg{min-height:1.5em;color:var(--gold);font-weight:600}
.h2{font:800 26px/1 var(--hd);text-transform:uppercase;letter-spacing:.02em;margin:0 0 14px}
.h2 span{display:block;font:700 12px/1 var(--hd);letter-spacing:.3em;color:var(--ember);margin-bottom:6px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:8px 0 14px}
.tile{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;border-bottom:4px solid var(--tc,var(--line))}
.tile b{display:block;font:800 clamp(26px,6vw,34px)/1 var(--hd);font-variant-numeric:tabular-nums}
.tile small{display:block;font:700 12px var(--hd);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.tile em{font-style:normal;font-size:12px;color:var(--mute)}
.tile.ok{--tc:var(--ok)}.tile.warn{--tc:var(--gold)}.tile.bad{--tc:var(--red)}
.cols{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}@media (max-width:820px){.cols{grid-template-columns:1fr}}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:14px;min-width:0}
.spark{width:100%;height:120px;display:block;background:var(--ink);border-radius:var(--r)}
.legend{font-size:12px;color:var(--mute);margin-top:6px}.legend b{display:inline-block;width:12px;height:3px;margin:0 4px 3px 10px;vertical-align:middle}.legend b:first-child{margin-left:0}
.k1{background:var(--gold)}.k2{background:var(--ember)}.k3{background:var(--red)}
.note{font-size:13px;color:var(--mute);margin:10px 0 0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}.kv dt{font:700 13px var(--hd);letter-spacing:.15em;text-transform:uppercase;color:var(--mute)}.kv dd{margin:0;font-variant-numeric:tabular-nums;word-break:break-word}
.tscroll{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tbl th{font:700 12px var(--hd);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.tbl td{padding:8px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td:first-child{font:800 17px var(--hd);letter-spacing:.12em;color:var(--gold)}
.pill{font:700 12px var(--hd);letter-spacing:.15em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--ink3)}.pill.running{background:rgba(127,212,138,.18);color:var(--ok)}.pill.lobby{background:rgba(255,207,122,.15);color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--ink3);border-radius:var(--r);padding:8px 10px;font-size:13px;border-left:3px solid var(--ok)}.chip.dead{border-left-color:var(--red)}
.logs{margin:0;max-height:360px;overflow:auto;background:var(--ink);border-radius:var(--r);padding:10px;font:12px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-word;color:var(--mute)}
.logs .e{color:#ff9a8a}.logs .w{color:var(--gold)}
.empty{color:var(--mute);font-style:italic}
@media (prefers-reduced-motion:reduce){.live i{animation:none}.btn{transition:none}}

/* v0.70 controls */
.ctl{display:grid;gap:10px}.ctl label{display:grid;gap:4px;font-size:13px;color:#c9b8ad}
.ctl input,.ctl textarea{background:#1c1418;border:1px solid #3a2a30;color:#f4e9e1;border-radius:8px;padding:8px 10px;font:inherit;width:100%;box-sizing:border-box}
.ctl textarea{font-family:ui-monospace,monospace;font-size:12px}.row{display:flex;flex-wrap:wrap;gap:8px}
.btn.danger{background:#a3261a;color:#fff}.check{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}
.mini{font-size:11px;padding:2px 6px;margin:2px;border-radius:6px;border:1px solid #3a2a30;background:#2a1d22;color:#f4e9e1;cursor:pointer}

/* v0.71 live ops */
.tbl th[data-sort]{cursor:pointer}.ctl select,.ctl input:not([type=checkbox]):not([type=color]){min-width:0}.row input[type=number]{width:7em}#sk-form .row label{display:flex;gap:6px;align-items:center}
