:root{
  --bg:6 7 12; --c1:16 18 31; --c2:10 12 21; --fg:255 255 255;
  --ink:236 238 250; --ink2:192 197 224; --ink3:152 158 190; --mute:112 119 150;
  --vio:124 92 255; --cy:34 211 238; --ok:52 211 153; --bad:251 113 133; --amb:251 191 36;
  --on-acc:255 255 255;
  --sans:Inter,ui-sans-serif,system-ui,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --vs:1; color-scheme:dark;
}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){
  --bg:244 245 251; --c1:255 255 255; --c2:247 248 253; --fg:20 24 52;
  --ink:17 20 39; --ink2:52 58 92; --ink3:86 93 128; --mute:118 125 156;
  --vio:104 70 245; --cy:8 145 178; --ok:5 150 105; --bad:225 29 72; --amb:202 138 4; color-scheme:light}}
:root[data-theme="light"]{--bg:244 245 251; --c1:255 255 255; --c2:247 248 253; --fg:20 24 52;
  --ink:17 20 39; --ink2:52 58 92; --ink3:86 93 128; --mute:118 125 156;
  --vio:104 70 245; --cy:8 145 178; --ok:5 150 105; --bad:225 29 72; --amb:202 138 4; color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:rgb(var(--bg));color:rgb(var(--ink));font-family:var(--sans);overflow:hidden;
  -webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit}
.mono{font-family:var(--mono)}
.cy{color:rgb(var(--cy))}.vio{color:rgb(var(--vio))}.mute{color:rgb(var(--mute))}.bad{color:rgb(var(--bad))}.okc{color:rgb(var(--ok))}
#sky{position:fixed;inset:0;z-index:0}
.glow{position:fixed;inset:-20%;z-index:0;pointer-events:none;
  background:radial-gradient(40% 35% at 18% 14%,rgb(var(--vio)/.17),transparent 70%),radial-gradient(45% 40% at 84% 86%,rgb(var(--cy)/.12),transparent 70%);
  transition:transform 1.6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.4;
  background-image:linear-gradient(rgb(var(--vio)/.06) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--vio)/.06) 1px,transparent 1px);background-size:44px 44px;
  mask-image:radial-gradient(70% 60% at 50% 45%,#000,transparent);-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000,transparent)}
.top{position:fixed;left:0;right:0;top:0;z-index:20;padding:calc(10px + env(safe-area-inset-top)) 14px 0;pointer-events:none}
.segs{display:flex;gap:4px;max-width:1100px;margin:0 auto}
.seg{flex:1;height:3px;border-radius:3px;background:rgb(var(--fg)/.14);overflow:hidden}
.seg i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;will-change:transform;background:linear-gradient(90deg,rgb(var(--vio)),rgb(var(--cy)));box-shadow:0 0 8px rgb(var(--cy)/.6)}
.seg.done i{transform:none}
.bar{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:10px auto 0;pointer-events:auto}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.02em;font-size:16px;text-decoration:none}
.brand img{width:28px;height:28px;border-radius:8px;box-shadow:0 6px 18px -6px rgb(var(--vio)/.8)}
.brand b{background:linear-gradient(90deg,rgb(var(--vio)),rgb(var(--cy)));-webkit-background-clip:text;background-clip:text;color:transparent}
.ctl{display:flex;gap:6px;align-items:center}
.ctl button,.ctl a{height:32px;min-width:32px;padding:0 10px;border-radius:10px;background:rgb(var(--c1)/.85);border:1px solid rgb(var(--fg)/.1);
  display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:rgb(var(--ink2));text-decoration:none}
.ctl button:hover,.ctl a:hover{background:rgb(var(--fg)/.1)}
.ctl .cnt{font-family:var(--mono);font-size:11px;color:rgb(var(--mute));padding:0 4px;background:none;border:0}
.ctl svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ctl .cta-mini{background:linear-gradient(100deg,rgb(var(--vio)),rgb(var(--cy)));color:#fff;font-weight:650;border:0}
.lng{position:relative}
.lng summary{list-style:none;cursor:pointer;height:32px;min-width:32px;padding:0 9px;border-radius:10px;background:rgb(var(--c1)/.85);border:1px solid rgb(var(--fg)/.1);
  display:inline-flex;align-items:center;font:600 11px var(--mono);letter-spacing:.06em;color:rgb(var(--ink2))}
.lng summary::-webkit-details-marker{display:none}
.lng[open] summary{border-color:rgb(var(--cy)/.5);color:rgb(var(--cy))}
.lng-m{position:absolute;right:0;top:38px;z-index:30;display:grid;gap:4px;min-width:136px;padding:6px;border-radius:12px;background:rgb(var(--c1)/.98);border:1px solid rgb(var(--fg)/.12)}
.ctl .lng-m a{justify-content:flex-start;background:none;border-color:transparent;font-size:13px}
.ctl .lng-m a[aria-current]{color:rgb(var(--cy));border-color:rgb(var(--cy)/.35)}
.nav{position:fixed;top:50%;z-index:15;width:46px;height:46px;border-radius:50%;margin-top:-23px;display:grid;place-items:center;
  background:rgb(var(--c1)/.85);border:1px solid rgb(var(--fg)/.1);opacity:.55;transition:opacity .2s}
.nav:hover{opacity:1}.nav svg{width:20px;height:20px;stroke:rgb(var(--ink));fill:none;stroke-width:2}
.nav.prev{left:14px}.nav.next{right:14px}
.hint{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:0;right:0;z-index:15;text-align:center;font:500 11px var(--mono);color:rgb(var(--mute));letter-spacing:.08em;pointer-events:none}
.paused-pill{position:fixed;left:50%;bottom:calc(36px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:16;padding:6px 12px;border-radius:999px;background:rgb(var(--c1)/.92);border:1px solid rgb(var(--fg)/.12);font:500 11px var(--mono);color:rgb(var(--ink2));opacity:0;transition:opacity .25s;pointer-events:none}
body.paused .paused-pill{opacity:1}
@media (max-width:820px){.nav{display:none}.hint{display:none}.ctl .hide-m{display:none}}
@media (max-width:480px){.ctl .cnt{display:none}.ctl .cta-mini{display:none}}
.deck{position:fixed;inset:0;z-index:5}
.sl{position:absolute;inset:0;display:grid;padding:calc(84px + env(safe-area-inset-top)) clamp(18px,6vw,96px) calc(46px + env(safe-area-inset-bottom));
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(18px,4vw,64px);align-items:center;visibility:hidden}
.sl.on{visibility:visible}
.sl.center{grid-template-columns:1fr;justify-items:center;text-align:center}
.sl.flip{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.sl.flip .txt{order:2}
.txt{max-width:560px;position:relative;z-index:2}
.sl.center .txt{max-width:920px}
.kick{font:600 clamp(10.5px,1.05vw,12.5px) var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--cy));display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sl.center .kick{justify-content:center}
.kick::before{content:"";width:22px;height:1px;background:rgb(var(--cy)/.7)}
.soon{font:600 10px var(--mono);letter-spacing:.08em;padding:4px 9px;border-radius:999px;color:rgb(var(--vio));background:rgb(var(--vio)/.13);border:1px solid rgb(var(--vio)/.38);text-transform:none;white-space:nowrap}
.h{font-weight:750;letter-spacing:-.045em;line-height:1.03;font-size:clamp(30px,4.5vw,64px);margin:14px 0 0}
.h em{font-style:normal;color:rgb(var(--cy))}
.h em .w>span{background:linear-gradient(100deg,rgb(var(--vio)),rgb(var(--cy)));-webkit-background-clip:text;background-clip:text;color:transparent}
.h .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.h .w>span{display:inline-block}
.lead{margin-top:clamp(12px,1.6vw,22px);font-size:clamp(15px,1.4vw,19.5px);line-height:1.5;color:rgb(var(--ink3));max-width:520px}
.sl.center .lead{margin-left:auto;margin-right:auto;max-width:660px}
.lead b{color:rgb(var(--ink));font-weight:600}
.pts{list-style:none;margin-top:clamp(14px,1.8vw,24px);display:grid;gap:10px}
.pts li{display:flex;gap:12px;align-items:flex-start;font-size:clamp(14px,1.2vw,16.5px);color:rgb(var(--ink2));line-height:1.4}
.pts li i{flex:none;width:22px;height:22px;border-radius:7px;background:rgb(var(--cy)/.12);border:1px solid rgb(var(--cy)/.3);display:grid;place-items:center;font:600 11px var(--mono);color:rgb(var(--cy));font-style:normal;margin-top:1px}
.vis{position:relative;width:100%;height:100%;min-height:0;min-width:0;align-self:stretch}
.vbox{position:absolute;left:50%;top:50%;width:640px;height:560px;transform:translate(-50%,-50%) scale(var(--vs));transform-origin:center}
@media (max-aspect-ratio:1/1){
  .sl,.sl.flip{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:start;gap:22px;padding-left:16px;padding-right:16px;padding-top:calc(78px + env(safe-area-inset-top))}
  .sl.flip .txt{order:0}
  .h{font-size:clamp(27px,8vw,44px)}
  .lead{font-size:clamp(14px,3.8vw,17px)}
  .pts{display:none}
  .sl.center{grid-template-rows:auto;align-content:center}
  .vis{min-width:0;overflow:visible}
}
.bgv{position:absolute!important;inset:0;z-index:0;pointer-events:none}
.cover .bgv{opacity:.65}.final .bgv{opacity:.75}
.gc{background:linear-gradient(180deg,rgb(var(--c1)/.94),rgb(var(--c2)/.92));border:1px solid rgb(var(--fg)/.1);border-radius:18px;
  box-shadow:inset 0 1px 0 rgb(var(--fg)/.05),0 30px 60px -30px rgba(0,0,0,.6)}
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font:500 11.5px var(--mono);background:rgb(var(--fg)/.06);border:1px solid rgb(var(--fg)/.12);color:rgb(var(--ink2));white-space:nowrap}
.pill.cy{background:rgb(var(--cy)/.13);border-color:rgb(var(--cy)/.38);color:rgb(var(--cy))}
.pill.vio{background:rgb(var(--vio)/.14);border-color:rgb(var(--vio)/.4);color:rgb(var(--vio))}
.pill.ok{background:rgb(var(--ok)/.13);border-color:rgb(var(--ok)/.38);color:rgb(var(--ok))}
.pill.bad{background:rgb(var(--bad)/.13);border-color:rgb(var(--bad)/.4);color:rgb(var(--bad))}
.pill.amb{background:rgb(var(--amb)/.13);border-color:rgb(var(--amb)/.4);color:rgb(var(--amb))}
.eb{font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--mute))}
.ab{position:absolute}
svg.ab{left:0;top:0}
.ck{width:20px;height:20px;border-radius:7px;border:1.6px solid rgb(var(--fg)/.25);display:grid;place-items:center;flex:none}
.ck svg{width:12px;height:12px;stroke:#fff;stroke-width:3;fill:none;opacity:0}
.ck.on{background:rgb(var(--ok));border-color:rgb(var(--ok))}.ck.on svg{opacity:1}
.ic{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;background:rgb(var(--cy)/.13);color:rgb(var(--cy))}
.ic.vio{background:rgb(var(--vio)/.14);color:rgb(var(--vio))}.ic.bad{background:rgb(var(--bad)/.13);color:rgb(var(--bad))}.ic.amb{background:rgb(var(--amb)/.14);color:rgb(var(--amb))}.ic.ok{background:rgb(var(--ok)/.13);color:rgb(var(--ok))}
.ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wbar{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid rgb(var(--fg)/.08)}
.wbar>i{width:10px;height:10px;border-radius:50%;flex:none}
.cta{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 26px;border-radius:16px;background:linear-gradient(100deg,rgb(var(--vio)),rgb(var(--cy)));color:#fff;
  font-weight:650;font-size:16px;text-decoration:none;box-shadow:0 14px 34px -12px rgb(var(--vio)/.85),inset 0 1px 0 rgb(255 255 255/.3)}
.cta.ghost{background:rgb(var(--fg)/.06);color:rgb(var(--ink));box-shadow:none;border:1px solid rgb(var(--fg)/.16)}
.ov{position:fixed;inset:0;z-index:40;background:rgb(var(--bg)/.97);display:none;overflow:auto;padding:calc(70px + env(safe-area-inset-top)) clamp(16px,5vw,80px) 40px}
.ov.on{display:block}
.ov h3{font:600 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--cy));margin-bottom:18px}
.ov-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.ov-g button{text-align:left;padding:14px;border-radius:16px;background:rgb(var(--fg)/.04);border:1px solid rgb(var(--fg)/.09);min-height:86px}
.ov-g button:hover,.ov-g button.cur{border-color:rgb(var(--cy)/.5);background:rgb(var(--cy)/.07)}
.ov-g b{display:block;font:600 10.5px var(--mono);color:rgb(var(--cy));letter-spacing:.1em;margin-bottom:6px}
.ov-g span{font-size:14.5px;line-height:1.3;color:rgb(var(--ink2))}
.ov-x{position:fixed;top:calc(16px + env(safe-area-inset-top));right:16px}
@media (prefers-reduced-motion:reduce){.glow{transition:none}}

/* terminal (always dark) */
.term{background:linear-gradient(180deg,#0f1220,#0a0c16);border:1px solid #262b45;border-radius:16px;overflow:hidden;color:#d8dcf2;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8),0 0 60px -30px rgb(124 92 255/.5);font-family:var(--mono)}
.term .wbar{border-color:#1e2236;color:#7a82a8;font-size:11.5px}
.tb{padding:14px 18px;font-size:13px;line-height:1.6}
.tb .pr{color:#22d3ee}.tb .dim{color:#7a82a8}.tb .grn{color:#34d399}.tb .red{color:rgb(251 113 133)}.tb .vi{color:#a78bfa}.tb .wh{color:#fff}
.tb .cur::after{content:"";display:inline-block;width:8px;height:15px;background:#22d3ee;margin-left:2px;vertical-align:-2px}
.tl-ln{white-space:pre-wrap;word-break:break-word}

/* why */
.wy{padding:18px 18px 16px;display:grid;gap:10px}
.wy .env{font:500 12.5px var(--mono);display:grid;gap:6px;padding:12px;border-radius:12px;background:rgb(var(--fg)/.04);border:1px solid rgb(var(--fg)/.07)}
.wy .env div{position:relative;white-space:nowrap;color:rgb(var(--ink2))}
.wy .env div .k{color:rgb(var(--amb))}
.wy .env .st{position:absolute;left:-4px;right:-4px;top:50%;height:2px;background:rgb(var(--bad));transform-origin:0 50%;border-radius:2px}
.wy li{list-style:none;display:flex;gap:10px;align-items:center;font-size:14px;color:rgb(var(--ink2))}
.wy .x{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;background:rgb(var(--bad)/.15);color:rgb(var(--bad));font:700 12px var(--mono);flex:none}
.wy.new{border-color:rgb(var(--cy)/.4);box-shadow:0 0 0 1px rgb(var(--cy)/.15),0 30px 60px -24px rgb(var(--cy)/.35)}
.wy-arrow{left:298px;top:262px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,rgb(var(--vio)),rgb(var(--cy)));color:#fff;font:700 20px var(--sans);box-shadow:0 10px 30px -8px rgb(var(--vio)/.8)}

/* arch */
.nd{display:flex;align-items:center;gap:9px;padding:0 12px;font-size:13.5px;font-weight:600}
.nd .ic{width:28px;height:28px;border-radius:9px}.nd .ic svg{width:15px;height:15px}
.core{padding:16px 14px;display:grid;gap:8px;align-content:start;border-color:rgb(var(--vio)/.5);box-shadow:0 0 0 1px rgb(var(--vio)/.2),0 0 70px -20px rgb(var(--vio)/.7)}
.core .t{display:flex;align-items:center;gap:8px;font:600 12.5px var(--mono);margin-bottom:4px}
.core .t img{width:24px;height:24px;border-radius:7px}
.core .bd{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:rgb(var(--fg)/.04);font:500 12px var(--mono);color:rgb(var(--ink2))}
.core .bd .ck{width:16px;height:16px;border-radius:5px;margin-left:auto}.core .bd .ck svg{width:10px;height:10px}
.office{border:1.5px dashed rgb(var(--amb)/.45);border-radius:20px;background:rgb(var(--amb)/.03)}
.office .eb{position:absolute;left:14px;top:12px;color:rgb(var(--amb))}
.sys{display:grid;place-items:center;font-size:12.5px;font-weight:600;text-align:center;line-height:1.1;padding:0 4px}
.conn{display:grid;place-items:center;text-align:center;font-size:12px;font-weight:650;line-height:1.25;border-color:rgb(var(--amb)/.5)}
.conn small{font:500 9.5px var(--mono);color:rgb(var(--mute))}
.dot{fill:rgb(var(--cy))}

/* connect */
.stp{padding:14px 16px;display:grid;gap:4px;align-content:start}
.stp .n{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font:700 12px var(--mono);background:rgb(var(--vio)/.16);color:rgb(var(--vio));margin-bottom:6px}
.stp b{font-size:14px;line-height:1.25}.stp small{font:500 11.5px var(--mono);color:rgb(var(--mute))}
.stp .ck{position:absolute;right:12px;top:12px}

/* token */
.mdl{padding:18px;display:grid;gap:10px}
.mdl h4{font-size:18px;letter-spacing:-.02em}
.fld{display:grid;gap:4px}.fld span{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--mute))}
.fld div{padding:8px 11px;border-radius:10px;background:rgb(var(--fg)/.05);border:1px solid rgb(var(--fg)/.1);font:500 12.5px var(--mono);color:rgb(var(--ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:11px;font-weight:650;font-size:14px;background:linear-gradient(100deg,rgb(var(--vio)),rgb(var(--cy)));color:#fff}
.btn.gh{background:rgb(var(--fg)/.07);color:rgb(var(--ink));border:1px solid rgb(var(--fg)/.14)}
.btn.red{background:rgb(var(--bad));color:#fff}
.tkc{padding:16px;display:grid;gap:10px;border-color:rgb(var(--cy)/.45)}
.tk{font:600 15px var(--mono);word-break:break-all;line-height:1.45;min-height:64px;color:rgb(var(--cy));padding:10px 12px;border-radius:11px;background:rgb(var(--cy)/.08);border:1px dashed rgb(var(--cy)/.4)}
.tkc .warn{display:flex;gap:8px;align-items:center;font-size:12.5px;color:rgb(var(--amb))}
.hs{padding:14px 16px;display:grid;gap:6px}
.hs code{font:500 12px var(--mono);color:rgb(var(--ink2));word-break:break-all}
.brk{padding:14px 16px;display:grid;gap:8px}
.brk .row{display:flex;align-items:baseline;gap:8px}.brk .row b{font:700 30px var(--mono);letter-spacing:-.04em;color:rgb(var(--bad))}
.mbar{height:7px;border-radius:7px;background:rgb(var(--fg)/.08);overflow:hidden}.mbar i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,rgb(var(--amb)),rgb(var(--bad)))}

/* pipeline */
.pkt{padding:14px 16px;font:500 12.5px var(--mono);line-height:1.6;color:rgb(var(--ink2));white-space:pre}
.pkt .k{color:rgb(var(--vio))}.pkt .s{color:rgb(var(--cy))}
.rail{height:2px;background:linear-gradient(90deg,rgb(var(--vio)/.6),rgb(var(--cy)/.6));border-radius:2px}
.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;font:600 11.5px var(--mono);color:#fff;background:linear-gradient(100deg,rgb(var(--vio)),rgb(var(--cy)));box-shadow:0 0 24px rgb(var(--cy)/.6);white-space:nowrap}
.stn{width:96px;padding:12px 8px 10px;display:grid;justify-items:center;gap:6px;text-align:center}
.stn b{font-size:12.5px}.stn small{font:500 10px var(--mono);color:rgb(var(--mute));line-height:1.2}
.stn .ic{width:30px;height:30px;border-radius:10px}.stn .ic svg{width:15px;height:15px}
.stn.on{border-color:rgb(var(--ok)/.55)}
.res{padding:14px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-color:rgb(var(--ok)/.45)}

/* policy */
.ag{padding:18px;display:grid;gap:12px}
.av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff;background:linear-gradient(140deg,rgb(var(--vio)),rgb(var(--cy)))}
.globs{display:flex;flex-wrap:wrap;gap:6px}
.globs code{font:600 12px var(--mono);padding:5px 9px;border-radius:9px;background:rgb(var(--vio)/.12);color:rgb(var(--vio));border:1px solid rgb(var(--vio)/.3)}
.tlist{padding:14px;display:grid;gap:5px}
.tr{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:10px;font:500 12.5px var(--mono);background:rgb(var(--fg)/.03);transition:opacity .3s}
.tr .st{margin-left:auto;font-size:11px}
.tr.hid{opacity:.38}.tr.hid .nm{text-decoration:line-through}
.dn{padding:14px 16px;display:grid;gap:8px;border-color:rgb(var(--bad)/.45)}
.dn code{font:500 12.5px var(--mono);color:rgb(var(--ink2))}

/* mask */
.mres{padding:0;overflow:hidden}
.mr{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid rgb(var(--fg)/.06);font:500 14px var(--mono)}
.mr .k{color:rgb(var(--mute));font-size:12px}
.mr .v{color:rgb(var(--ink));white-space:pre}
.mr .v.m{color:rgb(var(--vio))}
.mr.open .v{color:rgb(var(--ink2))}
.tog{padding:14px;display:grid;gap:4px}
.tg{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:13px}
.tg small{display:block;font:500 10.5px var(--mono);color:rgb(var(--mute));margin-top:1px}
.sw{margin-left:auto;width:30px;height:18px;border-radius:9px;background:rgb(var(--fg)/.15);position:relative;flex:none}
.sw::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}
.sw.on{background:rgb(var(--vio))}.sw.on::after{left:14px}
.msum{padding:14px 16px;display:flex;align-items:center;gap:14px;border-color:rgb(var(--vio)/.45)}
.msum b{font:700 38px var(--mono);letter-spacing:-.05em;color:rgb(var(--vio))}

/* guard */
.ed{padding:0;overflow:hidden}
.ed .code{padding:16px 18px;font:500 15px var(--mono);min-height:58px;white-space:pre-wrap}
.ed .code .kw{color:rgb(var(--vio))}
.ed .stl{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid rgb(var(--fg)/.07);font:500 12.5px var(--mono)}
.ed.no{border-color:rgb(var(--bad)/.6);box-shadow:0 0 0 1px rgb(var(--bad)/.25),0 0 50px -10px rgb(var(--bad)/.5)}
.ed.yes{border-color:rgb(var(--ok)/.5)}
.bk{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.bk code{font:600 12px var(--mono);padding:5px 9px;border-radius:9px;background:rgb(var(--bad)/.1);color:rgb(var(--bad));border:1px solid rgb(var(--bad)/.28)}

/* read-only */
.ly{display:flex;align-items:center;gap:12px;padding:0 14px;height:60px}
.ly b{font-size:14px;display:block}.ly small{font:500 11.5px var(--mono);color:rgb(var(--mute))}
.ly .ck{margin-left:auto}
.tx{padding:16px 18px;font:500 13px var(--mono);line-height:1.9;color:rgb(var(--ink2));overflow:hidden}
.tx .kw{color:rgb(var(--vio))}
.stamp{padding:10px 18px;border:3px solid rgb(var(--ok));border-radius:12px;color:rgb(var(--ok));font:800 26px var(--mono);letter-spacing:.06em;background:rgb(var(--ok)/.08);box-shadow:0 0 40px -6px rgb(var(--ok)/.55)}

/* audit */
.au{padding:0;overflow:hidden}
.au .hd,.au .rw{display:grid;grid-template-columns:70px 72px 1fr 64px 52px 48px;gap:8px;align-items:center;padding:0 16px}
.au .hd{height:38px;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--mute));border-bottom:1px solid rgb(var(--fg)/.08)}
.au .rw{padding-top:9px;padding-bottom:9px;border-bottom:1px solid rgb(var(--fg)/.05);font:500 12.5px var(--mono)}
.au .rw .a{grid-column:3 / -1;font-size:11px;color:rgb(var(--mute));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-4px}
.au .rw .t{color:rgb(var(--mute))}.au .rw .n{text-align:right}
.au .rw.dn{background:rgb(var(--bad)/.06)}
.au .ft{display:flex;align-items:center;gap:10px;padding:11px 16px;font:500 11.5px var(--mono);color:rgb(var(--mute))}
.au .rw .pill{height:20px;padding:0 7px;font-size:10.5px}

/* live */
.lv{padding:0;overflow:hidden}
.tile{padding:12px 14px;display:grid;gap:2px;border-radius:14px;background:rgb(var(--fg)/.04);border:1px solid rgb(var(--fg)/.07)}
.tile b{font:700 26px var(--mono);letter-spacing:-.04em}.tile span{font:500 11px var(--mono);color:rgb(var(--mute));text-transform:uppercase;letter-spacing:.1em}
.livepill::before{content:"";width:7px;height:7px;border-radius:50%;background:rgb(var(--bad));box-shadow:0 0 8px rgb(var(--bad))}

/* kill */
.kl{padding:0;overflow:hidden}
.kbtn{width:176px;height:176px;border-radius:50%;display:grid;place-items:center;text-align:center;padding:24px;font:800 14px var(--sans);letter-spacing:.04em;color:#fff;line-height:1.2;
  background:radial-gradient(circle at 35% 30%,#ff8fa3,#e11d48 55%,#9f1239);box-shadow:0 0 0 10px rgb(var(--bad)/.14),0 0 0 22px rgb(var(--bad)/.06),0 20px 50px -10px rgb(225 29 72/.8),inset 0 -6px 14px rgba(0,0,0,.25)}
.kbtn svg{width:34px;height:34px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;display:block;margin:0 auto 6px}
.krow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:rgb(var(--fg)/.04);font-size:13.5px;transition:filter .4s,opacity .4s}
.krow .av{width:30px;height:30px;font-size:11px}
.krow small{display:block;font:500 10.5px var(--mono);color:rgb(var(--mute))}
.krow .pill{margin-left:auto}
.krow .mini{height:26px;padding:0 9px;border-radius:8px;font-size:11.5px;border:1px solid rgb(var(--fg)/.14);display:inline-flex;align-items:center;color:rgb(var(--ink2))}
.kl.dead .krow{filter:grayscale(1);opacity:.45}
.kban{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:rgb(var(--bad)/.14);border:1px solid rgb(var(--bad)/.5);color:rgb(var(--bad));font:600 13px var(--sans)}
.kban i{width:9px;height:9px;border-radius:50%;background:rgb(var(--bad));box-shadow:0 0 10px rgb(var(--bad))}

/* secrets */
.zone{padding:18px;display:grid;gap:10px;align-content:start}
.zone.off{border:1.5px dashed rgb(var(--amb)/.5);background:rgb(var(--amb)/.04)}
.zone h5{font-size:16px;letter-spacing:-.01em}
.vault{display:grid;justify-items:center;gap:4px;padding:18px 10px;border-radius:14px;background:rgb(var(--fg)/.04);text-align:center}
.vault b{font:800 54px var(--mono);letter-spacing:-.05em;color:rgb(var(--cy));line-height:1}
.key{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgb(var(--fg)/.05);font-size:13px}
.key .ic{width:28px;height:28px;border-radius:9px}.key .ic svg{width:14px;height:14px}

/* tools */
.tc{padding:14px;display:grid;gap:6px;align-content:start;height:118px}
.tc b{font:600 13px var(--mono)}.tc span{font-size:12.5px;color:rgb(var(--ink3));line-height:1.35}
.tc .ic{width:30px;height:30px;border-radius:10px}.tc .ic svg{width:15px;height:15px}

/* approve */
.ap{padding:18px;display:grid;gap:12px;border-color:rgb(var(--vio)/.45)}
.ap q{display:block;quotes:none;padding:10px 12px;border-radius:12px;background:rgb(var(--fg)/.05);font-size:13.5px;line-height:1.45;color:rgb(var(--ink2));border-left:3px solid rgb(var(--vio))}
.ap .okr{display:flex;align-items:center;gap:8px;font:600 12.5px var(--mono);color:rgb(var(--ok))}

/* roadmap */
.rd{padding:14px;display:grid;gap:7px;align-content:start;min-height:128px}
.rd b{font-size:14px;line-height:1.25}.rd span{font-size:12px;color:rgb(var(--ink3));line-height:1.3}
.rd .soon{justify-self:start}
