:root{--bg:#121417;--surface:#1C2026;--ink:#E7E3D8;--accent:#7CFFB2;--accent2:#F2C14E;--rule:#2C323B;--dim:#9a9a92;--mono:"Fragment Mono",monospace;--serif:"Literata",serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--serif)}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
.skip{position:absolute;left:-999px;background:var(--accent);color:var(--bg);padding:.5rem 1rem;z-index:99;font-family:var(--mono)}.skip:focus{left:0;top:0}
h1,h2,h3{font-family:var(--mono);font-weight:400;line-height:1.2;margin:0 0 .6rem}
h1{font-size:clamp(1.3rem,3vw,1.9rem)}h2{font-size:1.2rem}h3{font-size:1rem}
.voice{font-family:var(--serif);font-style:italic;color:var(--ink)}
.mono{font-family:var(--mono)}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.top{border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:.85rem}
.top .wrap{display:flex;align-items:center;gap:1rem;min-height:56px;flex-wrap:wrap;padding-top:.5rem;padding-bottom:.5rem}
.host{color:var(--ink);text-decoration:none}.host b{color:var(--accent);font-weight:400}
.top nav{margin-left:auto}
.cmds{display:flex;gap:.2rem 1rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.cmds a{color:var(--dim);text-decoration:none}.cmds a:hover,.cmds a[aria-current=page]{color:var(--accent)}
.kbtn{font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--rule);padding:.35rem .6rem;cursor:pointer;border-radius:4px}
.kbtn kbd{font-family:var(--mono);color:var(--accent2)}
main{padding:2rem 0 4rem}
.prompt{font-family:var(--mono);font-size:clamp(1rem,2.6vw,1.35rem);margin:0 0 1.5rem;overflow-wrap:anywhere}
.prompt .ps{color:var(--accent)}
.cursor{display:inline-block;width:.6em;height:1.1em;background:var(--accent);vertical-align:-.15em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ex{font-family:var(--mono);font-size:.68rem;color:var(--accent2);border:1px solid var(--accent2);padding:0 .35rem;border-radius:3px;text-transform:uppercase;letter-spacing:.08em}
.tiles{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;margin-bottom:2.5rem}
.tile{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:1rem;grid-column:span 3;position:relative;transition:border-color .2s,transform .2s;text-decoration:none;color:var(--ink);display:block}
.tile.w6{grid-column:span 6}.tile.w4{grid-column:span 4}
.tile:hover{border-color:var(--accent);transform:translateY(-2px)}
.tile:hover .dot{animation:pulse 1s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(124,255,178,.5)}100%{box-shadow:0 0 0 10px rgba(124,255,178,0)}}
.tile h2{font-size:1rem;margin:.4rem 0}
.tile p{margin:.2rem 0 0;font-size:.94rem}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);margin-right:.4rem}
.dot.am{background:var(--accent2)}
.big{font-family:var(--mono);font-size:2.2rem;color:var(--accent);line-height:1}
.spark{display:flex;align-items:end;gap:3px;height:40px;margin-top:.6rem}
.spark i{flex:1;background:var(--accent);opacity:.65;border-radius:1px}
@media (max-width:900px){.tile,.tile.w4{grid-column:span 6}.tile.w6{grid-column:span 12}}
@media (max-width:560px){.tile,.tile.w4,.tile.w6{grid-column:span 12}}
.timeline{border-left:2px solid var(--rule);margin:1rem 0 2.5rem .4rem;padding:0;list-style:none}
.timeline li{position:relative;padding:0 0 1.4rem 1.5rem}
.timeline li::before{content:"";position:absolute;left:-7px;top:.45rem;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}
.timeline li.am::before{border-color:var(--accent2)}
.timeline .t{font-family:var(--mono);font-size:.8rem;color:var(--accent2)}
.timeline h3{margin:.1rem 0 .2rem}
.timeline p{margin:0;max-width:62ch}
.term{background:#0b0d0f;border:1px solid var(--rule);border-radius:6px;padding:1.2rem;font-family:var(--mono);font-size:.92rem}
.term a{color:var(--accent)}
.sec{margin-bottom:2.5rem}
.sec-h{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;border-bottom:1px dashed var(--rule);padding-bottom:.4rem;margin-bottom:1rem}
.sec-h h2{margin:0}
/* support table */
.tw{overflow-x:auto;border:1px solid var(--rule);border-radius:6px}
table{border-collapse:collapse;width:100%;min-width:640px;font-family:var(--mono);font-size:.85rem}
th,td{padding:.7rem .8rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
thead th{background:var(--surface);color:var(--accent);font-weight:400}
tbody th{font-weight:400;color:var(--ink)}
td.y{color:var(--accent)}td.n{color:var(--dim)}td.a{color:var(--accent2)}
.toggle{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 1rem}
.toggle button{font:inherit;font-family:var(--mono);font-size:.82rem;background:transparent;color:var(--dim);border:1px solid var(--rule);padding:.35rem .7rem;border-radius:4px;cursor:pointer}
.toggle button[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}
.col-hide{display:none}
/* runbook log */
.log{font-family:var(--mono);font-size:.88rem;background:#0b0d0f;border:1px solid var(--rule);border-radius:6px;padding:1rem 0}
.log .ln{display:grid;grid-template-columns:110px 70px 1fr;gap:.8rem;padding:.35rem 1rem}
.log .ln:hover{background:var(--surface)}
.log .ts{color:var(--dim)}.log .lv{color:var(--accent)}.log .lv.w{color:var(--accent2)}
.log .msg .voice{display:block;margin-top:.2rem;font-size:.95rem;color:#cfcbbf}
.log .stage{padding:1rem 1rem .3rem;color:var(--accent2);border-top:1px dashed var(--rule);margin-top:.6rem}
.log .stage:first-child{border:0;margin:0}
@media (max-width:600px){.log .ln{grid-template-columns:1fr;gap:.1rem}}
/* diff */
.diff{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-radius:6px;overflow:hidden;font-family:var(--mono);font-size:.86rem}
.diff .hd{padding:.6rem .9rem;background:var(--surface);border-bottom:1px solid var(--rule)}
.diff .hd.b{color:#ff8f8f}.diff .hd.a{color:var(--accent)}
.diff .row{display:contents}
.diff .c{padding:.6rem .9rem;border-bottom:1px solid var(--rule)}
.diff .c.minus{background:rgba(255,110,110,.07)}.diff .c.plus{background:rgba(124,255,178,.07);border-left:1px solid var(--rule)}
.diff .c.minus::before{content:"- ";color:#ff8f8f}.diff .c.plus::before{content:"+ ";color:var(--accent)}
.diff .grp{grid-column:1/-1;padding:.5rem .9rem;color:var(--accent2);background:#0b0d0f;border-bottom:1px solid var(--rule)}
@media (max-width:700px){.diff{grid-template-columns:1fr}.diff .hd.a{display:none}.diff .c.plus{border-left:0}}
/* contact */
.split{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.kv{background:#0b0d0f;border:1px solid var(--rule);border-radius:6px;padding:1rem;font-family:var(--mono);font-size:.86rem;margin:0}
.kv div{padding:.3rem 0;overflow-wrap:anywhere}.kv dt{display:inline;color:var(--accent2)}.kv dd{display:inline;margin:0}
.kv dt::after{content:"="}
.ticket{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:1.2rem}
label{display:block;font-family:var(--mono);font-size:.82rem;color:var(--accent);margin:.9rem 0 .3rem}
input,select,textarea{width:100%;font:inherit;background:#0b0d0f;color:var(--ink);border:1px solid var(--rule);padding:.65rem;border-radius:4px}
textarea{min-height:150px}
.btn{margin-top:1.1rem;font-family:var(--mono);font-size:.95rem;background:var(--accent);color:var(--bg);border:0;padding:.75rem 1.1rem;border-radius:4px;cursor:pointer}
.btn:hover{background:var(--accent2)}
.status{font-family:var(--mono);font-size:.85rem;min-height:1.4em;margin-top:.8rem}
.prose{max-width:70ch}.prose h2{margin-top:2rem;color:var(--accent)}
footer{border-top:1px solid var(--rule);padding:1.5rem 0;font-family:var(--mono);font-size:.78rem;color:var(--dim)}
footer a{color:var(--dim)}
/* palette */
.pal{position:fixed;inset:0;background:rgba(5,6,8,.7);display:none;align-items:flex-start;justify-content:center;padding:12vh 1rem 1rem;z-index:100}
.pal.open{display:flex}
.pal-box{width:min(560px,100%);background:var(--surface);border:1px solid var(--accent);border-radius:8px;overflow:hidden;font-family:var(--mono)}
.pal-box input{border:0;border-bottom:1px solid var(--rule);border-radius:0;padding:1rem;font-size:1rem;background:transparent}
.pal-box ul{list-style:none;margin:0;padding:.4rem;max-height:50vh;overflow:auto}
.pal-box li a{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .7rem;border-radius:4px;color:var(--ink);text-decoration:none;font-size:.9rem}
.pal-box li a span{color:var(--dim);font-size:.8rem;text-align:right}
.pal-box li a.sel,.pal-box li a:hover{background:var(--bg);color:var(--accent)}
.pal-hint{padding:.5rem 1rem;font-size:.72rem;color:var(--dim);border-top:1px solid var(--rule)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
