@font-face{font-family:'Nunito';font-style:normal;font-weight:600 900;font-display:swap;src:url(/assets/fonts/Nunito.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/Inter.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/JetBrainsMono.woff2) format('woff2')}
:root{--bg:#0B0F14;--panel:#141B24;--panel2:#1A2330;--line:#243040;--teal:#19F0C8;--teal-d:#0FB894;--amber:#FFB020;--red:#FF5C6C;--tx:#E6EDF3;--mut:#8A99AB;--head:'Nunito',system-ui,sans-serif;--body:'Inter',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.6 var(--body);background-image:radial-gradient(1200px 500px at 80% -10%,#10303a55,transparent 60%)}
a{color:var(--teal);text-underline-offset:3px}a:hover{color:#8ffbe6}
h1,h2,h3{font-family:var(--head);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(28px,4.2vw,44px);font-weight:900}h2{font-size:clamp(21px,2.6vw,28px);font-weight:800;margin-top:1.6em}h3{font-size:18px;font-weight:800}
p{margin:0 0 1em}.small{font-size:14px;color:var(--mut)}.mono,.num{font-family:var(--mono)}.r{text-align:right}.lead{font-size:18px;color:#c9d6e3;max-width:68ch}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--teal);color:#000;padding:6px 10px;z-index:99}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
/* top bar: dispatch console */
.top{border-bottom:1px solid var(--line);background:#0a0e13ee;position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:58px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--tx);text-decoration:none;font:900 22px var(--head)}.brand svg{width:34px;height:34px;display:block}.brand b{color:var(--teal)}
.top nav{flex:1}.top nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.top nav a{display:block;padding:6px 10px;border-radius:6px;color:#b9c7d6;text-decoration:none;font:600 14px var(--body)}.top nav a:hover,.top nav a[aria-current]{background:var(--panel2);color:var(--teal)}
.navtoggle{display:none;background:var(--panel);border:1px solid var(--line);color:var(--tx);border-radius:6px;padding:6px 10px;font:600 14px var(--body)}
.feed{font:500 12px var(--mono);color:var(--mut);display:flex;gap:8px;align-items:center;white-space:nowrap}.feed i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal);animation:pulse 2.2s infinite}@keyframes pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.feed i{animation:none}}
main{padding:28px 0 60px;min-height:60vh}
.crumbs{font:500 13px var(--mono);color:var(--mut);margin:0 0 18px}.crumbs a{color:var(--mut)}
/* panels */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.panel h2,.panel h3{margin-top:0}
.cap{display:inline-block;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.btn{display:inline-block;background:var(--teal);color:#04120f;border:0;border-radius:8px;padding:10px 18px;font:800 15px var(--head);text-decoration:none;cursor:pointer}.btn:hover{background:#6ff7de;color:#04120f}.btn.ghost{background:transparent;color:var(--teal);border:1px solid var(--teal)}
.notice{border:1px solid var(--amber);background:#2a1f08;color:#ffd78a;border-radius:10px;padding:12px 16px;margin:16px 0}
/* simulator */
.sim{display:grid;grid-template-columns:minmax(300px,4fr) 8fr;gap:20px;align-items:start}
.params{position:sticky;top:76px}
.params label{display:block;font:600 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin:14px 0 4px}
.params output{float:right;color:var(--teal);font:600 14px var(--mono)}
.params select,.params input[type=number],.form input,.form textarea{width:100%;background:#0d131a;border:1px solid var(--line);color:var(--tx);border-radius:8px;padding:9px 10px;font:15px var(--body)}
input[type=range]{width:100%;accent-color:var(--teal)}
.assume{font-size:13px;color:var(--mut);border-top:1px dashed var(--line);margin-top:14px;padding-top:10px}
.calls{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.call{display:grid;grid-template-columns:22px minmax(150px,1.3fr) minmax(120px,2fr) auto;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px}
.call:hover{border-color:#2f4a55}
.led{width:12px;height:12px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal)}.led.acquired,.led.exited{background:var(--amber);box-shadow:0 0 8px var(--amber)}.led.shut-down{background:var(--red);box-shadow:0 0 8px var(--red)}
.call .nm{font:800 16px var(--head)}.call .nm a{color:var(--tx);text-decoration:none}.call .nm a:hover{color:var(--teal)}.call .pl{font-size:12.5px;color:var(--mut);display:block;font-weight:400;font-family:var(--body)}
.wave{height:22px;border-radius:4px;background:linear-gradient(90deg,var(--teal),#0b6a5a);min-width:6px;position:relative}.track{background:repeating-linear-gradient(90deg,#1b2633 0 2px,transparent 2px 6px);border-radius:4px;height:22px}
.amt{font:700 22px var(--mono);color:var(--teal);text-align:right;min-width:92px}.amt small{display:block;font:400 11px var(--mono);color:var(--mut)}
.traps{grid-column:2/-1;display:flex;gap:6px;flex-wrap:wrap}.trap{font:600 11px var(--mono);color:var(--amber);border:1px solid #6b4a0a;background:#2a1f0866;border-radius:5px;padding:1px 7px;cursor:help}.trap.ok{color:var(--teal);border-color:#0b5b4d;background:#0b2a2566}
.legend{font-size:13px;color:var(--mut);margin-top:10px}
/* tables */
.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14.5px}th{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:9px 10px;border-bottom:1px solid #1b2530;vertical-align:top}tr:hover td{background:#10171f}
.tag{display:inline-block;font:600 11px var(--mono);border:1px solid var(--line);border-radius:5px;padding:1px 7px;color:var(--mut)}.tag.ok{color:var(--teal);border-color:#0b5b4d}.tag.warn{color:var(--amber);border-color:#6b4a0a}.tag.bad{color:var(--red);border-color:#6b1f28}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.hero{margin-bottom:22px}.hero .lead{margin-bottom:0}
.sponsor{border:1px dashed var(--amber);border-radius:10px;padding:14px 16px;background:#1d1708}.sponsor .lab{font:700 11px var(--mono);letter-spacing:.14em;color:var(--amber)}
.tomb{border-left:3px solid var(--red);padding-left:14px}.log{font:13px var(--mono);list-style:none;margin:0;padding:0}.log li{padding:6px 0;border-bottom:1px dashed var(--line)}
.field-list{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}.field-list dt{color:var(--mut);font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.06em}.field-list dd{margin:0}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chips a{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 14px;text-decoration:none;color:var(--tx);font:600 14px var(--body)}.chips a:hover{border-color:var(--teal);color:var(--teal)}
.prose{max-width:75ch}.prose h2{margin-top:1.4em}.prose ul{padding-left:1.2em}.legal-page .prose{max-width:80ch}code{font-family:var(--mono);background:#0d131a;border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:.9em}
.foot{border-top:1px solid var(--line);background:#080b10;padding:30px 0 40px;color:var(--mut);font-size:14px}.foot .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.foot b{color:var(--tx);font:700 12px var(--mono);letter-spacing:.1em;text-transform:uppercase}.foot ul{list-style:none;padding:0;margin:8px 0 0}.foot li{margin:4px 0}.foot a{color:#b9c7d6}.foot .clioos{margin:10px 0 0;color:var(--tx)}.legal-links{margin:6px 0 0;grid-column:1/-1}
.form p{margin:0 0 14px}.form label{display:block;font:600 13px var(--mono);color:var(--mut);margin-bottom:4px}.form label.chk{font:15px var(--body);color:var(--tx)}
.stat{font:800 34px var(--head);color:var(--teal)}.stat small{display:block;font:500 12px var(--mono);color:var(--mut)}
.quote{border-left:3px solid var(--teal);padding:2px 14px;color:#c9d6e3;margin:12px 0}
@media (max-width:900px){.sim{grid-template-columns:1fr}.params{position:static}.grid2,.grid3,.grid4{grid-template-columns:1fr}.foot .wrap{grid-template-columns:1fr 1fr}.navtoggle{display:block;margin-left:auto}.top nav{flex-basis:100%;display:none}.top nav[data-open="1"]{display:block}.feed{display:none}}
@media (max-width:640px){.call{grid-template-columns:18px 1fr auto}.call .track{grid-column:2/-1;grid-row:2}.traps{grid-column:1/-1}.amt{font-size:19px;min-width:0}
 table.cards thead{display:none}table.cards,table.cards tbody,table.cards tr,table.cards td{display:block;width:100%}table.cards tr{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:6px 4px;background:var(--panel)}table.cards td{border:0;padding:4px 10px;text-align:left!important}table.cards td[data-l]::before{content:attr(data-l) ': ';font:600 11px var(--mono);color:var(--mut);text-transform:uppercase}.foot .wrap{grid-template-columns:1fr}
 .mdrawer .params{position:fixed;left:0;right:0;bottom:0;z-index:30;max-height:64vh;overflow:auto;border-radius:14px 14px 0 0}}
.detail{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}@media (max-width:900px){.detail{grid-template-columns:1fr}}
.detail>*{min-width:0}
