*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:#0d0b08;color:#e8e0ce;font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace;-webkit-font-smoothing:antialiased}::selection{background:rgba(255,180,84,.3)}mark.fill{background:#ffb454;color:#0d0b08;padding:0 5px;border-radius:2px;font-weight:500;text-decoration:none}.boot{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0d0b08;transition:opacity .45s ease}.boot.leaving{opacity:0}html[data-booted="1"] .boot{display:none}.boot-box{font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace;font-size:13.5px;line-height:1.7;color:#9a9078;text-align:left}.boot-line{margin:0 0 12px}.boot-line .host{color:#9ece6a;font-weight:700}.boot-bar{margin:0;display:flex;gap:12px;align-items:baseline}.boot-bar .bar{color:#ffb454;letter-spacing:1px;white-space:nowrap}.boot-bar b{color:#f4ecd8;font-weight:700;min-width:4ch;text-align:right}@media (prefers-reduced-motion:reduce){.boot{transition:none}}.screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:#0d0b08;color:#e8e0ce;font-size:14px}.screen-box{max-width:560px;border:1px solid #2a251c;border-radius:8px;padding:20px 24px;background:#14110c;line-height:1.6}.screen-box p{margin:0 0 8px}.screen-box .t{color:#ffb454;font-weight:700}.screen-box .p{color:#9a9078}.screen-box .g{color:#9ece6a;font-weight:700}.screen-box a,.screen-box button{display:inline-block;color:#ffb454;background:none;border:1px solid #2a251c;border-radius:4px;padding:4px 12px;cursor:pointer;font-family:inherit;font-size:13px;text-decoration:none}.screen-box a:hover,.screen-box button:hover{border-color:#ffb454}.screen-box .blink{color:#ffb454;animation:va-blink 1.1s steps(2,start) infinite}.va{--bg:#0d0b08;--line:#2a251c;--line2:#14110c;--tree:#5e5745;--txt:#e8e0ce;--txt2:#9a9078;--dim:#9a9078;--bright:#f4ecd8;--teal:#ffb454;--teal-bg:rgba(255,180,84,0.12);--green:#9ece6a;--rose:#f7768e;--amber:#c98a2e;font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace;font-size:13px;line-height:1.6;color:var(--txt);background:var(--bg);height:100vh;height:100dvh;width:100%;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:14px 16px 12px}.va,.va *{box-sizing:border-box}.va p{margin:0}.va b{font-weight:500;color:var(--bright)}.va a{color:inherit}.va h1,.va ul{margin:0}.va ul{padding:0;list-style:none}.va .panel{position:relative;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.va .ptitle{position:absolute;top:-8px;left:14px;z-index:1;display:inline-flex;align-items:center;gap:3px;padding:0 4px;background:var(--bg);color:var(--teal);font-size:12px;font-weight:700;letter-spacing:.03em;line-height:16px;white-space:nowrap}.va .ptitle.r{left:auto;right:14px;color:var(--dim);font-weight:400}.va .tb{color:var(--tree);font-weight:400}.va .pbody{flex:1 1;min-height:0;overflow-y:auto;padding:16px 18px 14px;scrollbar-color:rgba(255,180,84,.3) transparent}@media (min-width:761px){.va .proc:after,.va .svc:after{content:"";position:absolute;left:1px;right:1px;bottom:1px;height:20px;border-radius:0 0 6px 6px;background:linear-gradient(to top,var(--bg) 35%,transparent);pointer-events:none;z-index:2}}.va .pbody::-webkit-scrollbar{width:8px}.va .pbody::-webkit-scrollbar-thumb{background:rgba(255,180,84,.28);border-radius:4px}.va .pbody::-webkit-scrollbar-thumb:hover{background:rgba(255,180,84,.45)}.va .pbody::-webkit-scrollbar-track{background:transparent}.va .sys{flex:none;padding:12px 14px 10px;gap:6px}.va .promptline{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--dim)}.va .host{color:var(--green);font-weight:700}.va .pdim{color:var(--dim);font-weight:400}.va .cursor{margin-left:6px;animation:va-blink 1.1s steps(2,start) infinite}.va .cursor,.va .pmeta b{color:var(--teal)}.va .avail{color:var(--green)}.va .busy{color:var(--txt2)}.va .sysrow{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:stretch}.va .idblock{min-width:0}.va .idrow{display:flex;gap:14px;align-items:flex-start}.va .idmeta{min-width:0}.va .avatar{flex:0 0 auto;width:120px;height:120px;border-radius:8px;overflow:hidden;border:1px solid var(--teal);background:var(--line2);display:grid;place-items:center;box-shadow:0 0 0 3px rgba(255,180,84,.12)}.va .avatar img{width:100%;height:100%;object-fit:cover;display:block}.va .avatar .initials{font-weight:700;font-size:34px;color:var(--teal);letter-spacing:.02em}@media (max-width:760px){.va .idrow{flex-direction:column;gap:12px}.va .avatar{width:168px;height:168px}.va .avatar .initials{font-size:28px}}.va .name{margin:0 0 3px;font-size:17px;line-height:1.15;color:var(--txt);font-weight:700;letter-spacing:.01em}.va .pitch{font-size:20px;line-height:1.3;color:var(--bright);font-weight:600;margin:0 0 8px;max-width:62ch;text-wrap:balance}.va .tag{font-size:12px;color:var(--txt2);max-width:78ch}.va .hlt{color:var(--teal);font-weight:600}.va .hlr{color:var(--rose);font-weight:600}.va .core{margin-top:4px;color:var(--txt)}.va .loadrow{gap:8px}.va .loadrow,.va .stat{display:flex;flex-direction:column;min-width:0}.va .stat{justify-content:center;align-items:flex-start;gap:3px;border-left:1px solid var(--line2);border:1px solid var(--line2);border-left:2px solid rgba(255,180,84,.34);border-radius:4px;padding:6px 12px;background:rgba(255,180,84,.04);container-type:size;overflow:hidden;min-height:0;flex:1 1}.va .stat b{font-size:clamp(18px,39cqh,30px);line-height:1.1;color:var(--teal);letter-spacing:.01em}.va .stat span{font-size:clamp(10px,17cqh,12px);letter-spacing:.04em;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.va .main{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1.58fr) minmax(0,1fr);grid-gap:16px;gap:16px}.va .col{display:flex;flex-direction:column;gap:12px;min-height:0}.va .col .svc{flex:1 1 auto;min-height:0}.va .col .pkg{flex:none}@media (min-width:761px){.va .col .pkg{flex:0 100 auto;min-height:84px}.va .pkg .pbody{overflow-y:auto}}.va .trow{display:grid;grid-template-columns:5ch 9ch 2ch 16ch minmax(0,1fr);grid-gap:0 1.2ch;gap:0 1.2ch;align-items:baseline}.va .thead{background:var(--teal-bg);color:var(--teal);font-size:12px;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:3px;margin-bottom:6px}.va .rmain{padding:4px 8px;border-radius:3px;cursor:pointer}.va .prole:not(.running):hover .rmain{background:rgba(255,180,84,.06)}.va .running .rmain{background:linear-gradient(90deg,rgba(255,180,84,.16),rgba(255,180,84,.03) 70%)}.va .prole.selected .rmain{box-shadow:inset 0 0 0 1px var(--teal)}.va .pid{color:var(--txt2)}.va .user{color:var(--txt);font-weight:600}.va .running .user{color:var(--bright)}.va .st{font-weight:700}.va .st.r{color:var(--green)}.va .st.s{color:var(--dim)}.va .time{color:var(--txt2);white-space:nowrap}.va .cmd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt)}.va .bin{color:var(--teal);font-weight:600}.va .flag{color:var(--green)}.va .flag.own{color:var(--rose);font-weight:700}.va .impacts{list-style:none;margin:6px 0 14px;padding:0;font-size:12px;color:var(--txt2)}.va .impacts li{position:relative;padding:3px 8px 3px 5ch;max-width:72ch}.va .impacts li:hover{color:var(--txt)}.va .impacts .tree{position:absolute;left:1.2ch;color:var(--tree)}.va .impacts b{color:var(--txt);font-weight:500}.va .impacts .num{color:var(--teal)}.va .impacts .ownt{color:var(--rose);font-weight:600;letter-spacing:.02em}.va .prole+.prole{border-top:1px dashed var(--line2);padding-top:8px}.va .service{margin-bottom:10px}.va .service:last-child{margin-bottom:0}.va .srow{display:flex;align-items:baseline;gap:8px;min-width:0;white-space:nowrap;cursor:pointer}.va .sdot{font-size:12px}.va .sdot.up{color:var(--green)}.va .sdot.dev{color:var(--amber)}.va .sname{color:var(--bright);font-weight:700}.va .sstat{font-size:12px;font-weight:700;letter-spacing:.03em}.va .sstat.up{color:var(--green)}.va .sstat.dev{color:var(--amber)}.va .smeta{margin-left:auto;font-size:12px;color:var(--dim);overflow:hidden;text-overflow:ellipsis}.va .sdesc{margin:3px 0 0 2ch;max-width:68ch}.va .sdesc,.va .srepo{font-size:12px;color:var(--txt2)}.va .srepo{margin:2px 0 0 2ch}.va .case-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.va .case-wrap.open{grid-template-rows:1fr}.va .case-inner{min-height:0;overflow:hidden;opacity:0;transform:translateY(-2px);transition:opacity .2s ease,transform .28s ease}.va .case-wrap.open .case-inner{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.va .case-inner,.va .case-wrap{transition:none}}.va .case{margin:6px 0 2px 2ch;padding:8px 10px;border-left:2px solid var(--teal);background:rgba(255,180,84,.04);border-radius:0 4px 4px 0;font-size:12px;color:var(--txt2)}.va .impacts+.case-wrap .case{margin-left:5ch}.va .case .clabel{color:var(--teal);font-weight:700;text-transform:lowercase;letter-spacing:.04em}.va .case .cblock{margin:0 0 7px}.va .case .cblock:last-child{margin-bottom:0}.va .case ul{margin:2px 0 0;padding:0}.va .case li{position:relative;padding-left:14px;margin:2px 0}.va .case li:before{content:"›";position:absolute;left:2px;color:var(--tree)}.va .arch{margin:3px 0 0;padding:8px;border:1px solid var(--line2);border-radius:4px;background:var(--bg);color:var(--txt);font-size:11px;line-height:1.35;white-space:pre;overflow-x:auto}.va .diag{position:relative;width:100%;max-width:900px;aspect-ratio:16/9;margin:5px auto 2px;border:1px solid var(--line2);border-radius:6px;overflow:hidden;background:radial-gradient(rgba(94,87,69,.16) 1px,transparent 1px) 0 0 /15px 15px,var(--bg)}.va .lb-back{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;background:rgba(6,5,3,.93);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.va .lb-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line2)}.va .lb-title{font-size:12px;color:var(--txt2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.va .lb-close{flex:none;font-family:inherit;font-size:12px;cursor:pointer;background:none;color:var(--txt);border:1px solid var(--line);border-radius:4px;padding:3px 9px}.va .lb-close:focus-visible,.va .lb-close:hover{border-color:var(--teal);color:var(--teal)}.va .lb-esc{color:var(--dim)}.va .lb-body{flex:1 1 auto;min-height:0;overflow:auto;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;padding:12px}.va .lb-img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border:1px solid var(--line2);border-radius:6px}.va .lb-diag{width:min(1200px,100%)}.va .lb-diag .diag{width:100%;max-width:none;min-width:620px;margin:0}.va .avatar-btn{display:block;width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in}.va .diag-wrap{position:relative}.va .diag-expand{position:absolute;top:6px;right:8px;z-index:3;font-family:inherit;font-size:12px;line-height:1;padding:4px 7px;cursor:zoom-in;color:var(--txt2);background:rgba(20,17,12,.88);border:1px solid var(--line);border-radius:4px}.va .diag-expand:focus-visible,.va .diag-expand:hover{border-color:var(--teal);color:var(--teal)}.va .diag-pan{display:none}.va .diag-title{position:absolute;top:6px;left:10px;z-index:2;font-size:10px;color:var(--dim);letter-spacing:.03em}.va .diag-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.va .diag-edges .edge{fill:none;vector-effect:non-scaling-stroke}.va .edge.muted{stroke:var(--tree);stroke-width:1}.va .edge.accent{stroke:#5b9dff;stroke-width:1.3}.va .edge.owner{stroke:var(--amber);stroke-width:1.3}.va .edge.dashed{stroke-dasharray:3 3}.va .node{position:absolute;transform:translate(-50%,-50%);z-index:1;min-width:72px;padding:5px 9px 6px;border:1px solid var(--line);border-left:2px solid var(--tree);border-radius:5px;background:#14110c;display:flex;flex-direction:column;gap:1px;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:var(--txt);text-align:left;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.va button.node{cursor:pointer}.va button.node:focus-visible,.va button.node:hover{border-color:var(--line2);transform:translate(-50%,-50%) translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.45);outline:none}.va .node.active{box-shadow:0 0 0 1px var(--teal-bg);transform:translate(-50%,-50%) translateY(-2px)}.va .node-tag{font-size:9.5px;line-height:1.3;color:var(--tree);letter-spacing:.04em}.va .node-title{font-size:12px;font-weight:700;line-height:1.2;color:var(--bright);white-space:nowrap}.va .node-sub{font-size:9.5px;line-height:1.3;color:var(--dim);white-space:nowrap}.va .node-badge{position:absolute;top:-9px;right:6px;font-size:9px;font-weight:700;color:#0d0b08;background:var(--amber);padding:0 5px;border-radius:3px;white-space:nowrap}.va .node.gateway{border-left-color:#5b9dff}.va .node.gateway .node-tag{color:#5b9dff}.va .node.service{border-left-color:#a78bfa}.va .node.service .node-tag{color:#a78bfa}.va .node.data{border-left-color:var(--green)}.va .node.data .node-tag{color:var(--green)}.va .node.security,.va .node.worker{border-left-color:var(--amber)}.va .node.security .node-tag,.va .node.worker .node-tag{color:var(--amber)}.va .node.bus{border-left-color:var(--teal)}.va .node.bus .node-tag{color:var(--teal)}.va .node.owner{border-color:var(--amber);border-left-color:var(--amber);background:#14110c;box-shadow:0 0 0 2px rgba(201,138,46,.14)}.va .node.owner .node-tag{color:var(--amber)}.va .diag-hint{position:absolute;top:7px;right:11px;z-index:2;font-size:10px;color:var(--dim);letter-spacing:.02em}@keyframes diag-flow{to{stroke-dashoffset:-25.2}}.va .edge.accent,.va .edge.owner{stroke-dasharray:1.6 11;animation:diag-flow 1.1s linear infinite}.va .edge.lit{stroke-width:2.4}@media (prefers-reduced-motion:reduce){.va .edge.accent,.va .edge.owner{animation:none;stroke-dasharray:3 3}}.va .diag-panel{position:absolute;z-index:4;left:10px;right:10px;bottom:10px;max-height:60%;overflow-y:auto;background:rgba(20,17,12,.97);border:1px solid var(--line);border-left:3px solid var(--tree);border-radius:8px;padding:10px 12px 11px;box-shadow:0 12px 32px rgba(0,0,0,.5)}.va .diag-panel.gateway{border-left-color:#5b9dff}.va .diag-panel.service{border-left-color:#a78bfa}.va .diag-panel.data{border-left-color:var(--green)}.va .diag-panel.owner,.va .diag-panel.security,.va .diag-panel.worker{border-left-color:var(--amber)}.va .diag-panel.bus{border-left-color:var(--teal)}.va .diag-panel-head{display:flex;align-items:baseline;gap:8px}.va .diag-panel-head h4{margin:0;font-size:14px;font-weight:700;color:var(--bright)}.va .diag-panel-head .pt{font-size:10.5px;color:var(--tree);letter-spacing:.03em}.va .diag-panel-meta{margin:3px 0 7px;font-size:11px;color:var(--dim)}.va .diag-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.va .diag-panel li{position:relative;padding-left:13px;font-size:12px;color:var(--txt2);line-height:1.45}.va .diag-panel li:before{content:"›";position:absolute;left:2px;color:var(--tree)}.va .diag-panel-close{position:absolute;top:8px;right:9px;width:22px;height:22px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--txt2);font-size:14px;line-height:1;cursor:pointer;transition:border-color .14s ease,color .14s ease}.va .diag-panel-close:hover{border-color:var(--line2);color:var(--bright)}.va .ttt-intro,.va .ttt-toss{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 8px 10px;text-align:center}.va .ttt-lead{font-size:14px}.va .ttt-name{width:100%;max-width:240px;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:7px 10px;color:var(--txt);font:inherit;text-align:center}.va .ttt-name:focus{outline:none;border-color:var(--teal)}.va .ttt-start{padding:8px 18px;border:1px solid var(--teal);border-radius:6px;background:var(--teal-bg);color:var(--teal);font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease}.va .ttt-start:hover{background:rgba(255,180,84,.2)}.va .ttt-sub{font-size:11.5px}.va .ttt-coin{width:46px;height:46px;border-radius:50%;border:2px solid var(--amber);background:radial-gradient(circle at 35% 30%,rgba(201,138,46,.55),rgba(201,138,46,.1));animation:ttt-flip .5s linear infinite}.va .ttt-coin.settled{animation:none;box-shadow:0 0 0 3px rgba(255,180,84,.18)}@keyframes ttt-flip{to{transform:rotateY(1turn)}}.va .ttt-toss-t{font-size:15px}.va .ttt-turn{text-align:center;min-height:20px;margin:8px 0 10px;font-size:13px}.va .ttt-think{color:var(--amber)}.va .ttt-board{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;width:min(280px,78vw);margin:0 auto 4px}.va .ttt-cell{aspect-ratio:1;display:grid;place-items:center;font-family:inherit;font-size:34px;font-weight:700;background:var(--line2);border:1px solid var(--line);border-radius:8px;color:var(--txt);cursor:pointer;transition:background .12s ease,border-color .12s ease}.va .ttt-cell:hover:not(:disabled){border-color:var(--teal);background:rgba(255,180,84,.06)}.va .ttt-cell:disabled{cursor:default}.va .ttt-cell.you{color:var(--teal)}.va .ttt-cell.zayed{color:var(--amber)}.va .ttt-cell.win{background:rgba(158,206,106,.14);border-color:var(--green)}@media (prefers-reduced-motion:reduce){.va .ttt-coin{animation:none}}.va .rps-arena{justify-content:center;gap:18px;padding:16px 8px 4px}.va .rps-arena,.va .rps-side{display:flex;align-items:center}.va .rps-side{flex-direction:column;gap:6px;width:108px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:var(--line2);transition:border-color .15s ease,background .15s ease}.va .rps-side.win{border-color:var(--green);background:rgba(158,206,106,.12)}.va .rps-side.lose{opacity:.55}.va .rps-lab{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--dim)}.va .rps-hand{font-size:40px;line-height:1}.va .rps-you{filter:drop-shadow(0 0 6px rgba(255,180,84,.35))}.va .rps-zayed{filter:drop-shadow(0 0 6px rgba(201,138,46,.35))}.va .rps-hand.shake{animation:rps-shake .32s ease-in-out infinite}@keyframes rps-shake{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-12deg)}}.va .rps-vs{color:var(--dim);font-size:12px}.va .rps-msg{text-align:center;min-height:20px;margin:10px 0;font-size:13px}.va .rps-choices{display:flex;justify-content:center;gap:8px;margin-bottom:4px}.va .rps-choice{display:flex;flex-direction:column;align-items:center;gap:4px;width:84px;padding:10px 6px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--txt);font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.va .rps-choice:hover:not(:disabled){border-color:var(--teal);background:rgba(255,180,84,.06);transform:translateY(-2px)}.va .rps-choice:disabled{opacity:.5;cursor:default}.va .rps-choice-e{font-size:26px;line-height:1}.va .rps-choice-l{font-size:11.5px;color:var(--dim)}.va .rps-choice-l b{color:var(--teal)}@media (prefers-reduced-motion:reduce){.va .rps-hand.shake{animation:none}}.va .snk-intro{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 10px 12px;text-align:center}.va .snk-lead{font-size:13.5px;max-width:320px}.va .snk-grid{display:grid;grid-gap:1px;gap:1px;width:min(340px,82vw);margin:12px auto 6px;aspect-ratio:19/14;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:6px}.va .snk-cell{border-radius:1px;background:transparent}.va .snk-cell.body{background:rgba(255,180,84,.55)}.va .snk-cell.head{background:var(--teal)}.va .snk-cell.food{background:var(--rose);border-radius:50%}.va .snk-grid{touch-action:none}.va .snk-touchhint{display:none}.va .snk-pad{display:none;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,44px);gap:6px;justify-content:center;margin:8px auto 2px;touch-action:none}.va .snk-key{display:grid;place-items:center;font-family:inherit;font-size:18px;line-height:1;color:var(--teal);background:rgba(255,180,84,.08);border:1px solid var(--line);border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.va .snk-key:active{background:rgba(255,180,84,.22);border-color:var(--teal)}.va .snk-key.up{grid-column:2;grid-row:1}.va .snk-key.left{grid-column:1;grid-row:2}.va .snk-key.down{grid-column:2;grid-row:2}.va .snk-key.right{grid-column:3;grid-row:2}@media (max-width:760px),(pointer:coarse){.va .snk-pad{display:grid}.va .snk-keyhint{display:none}.va .snk-touchhint{display:inline}}.va .snk-msg{text-align:center;min-height:20px;margin:6px 0 8px;font-size:12.5px}.va .game-menu .gm-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.va .gm-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--line2);color:var(--txt);font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.va .gm-item.active,.va .gm-item:hover{border-color:var(--teal);background:rgba(255,180,84,.08);transform:translateX(2px)}.va .gm-num{flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center;border-radius:4px;background:var(--bg);color:var(--dim);font-size:11px;font-weight:700}.va .gm-item.active .gm-num{background:var(--teal);color:#0d0b08}.va .gm-mark{flex:0 0 auto;width:3.2ch;text-align:center;font-size:16px}.va .gm-body{display:flex;flex-direction:column;gap:1px;min-width:0}.va .gm-label{font-weight:700;color:var(--bright)}.va .gm-desc{font-size:11.5px;color:var(--dim)}.va .gm-go{margin-left:auto;color:var(--teal);opacity:0;transition:opacity .12s ease}.va .gm-item.active .gm-go,.va .gm-item:hover .gm-go{opacity:1}.va.zoom-lg .main{grid-template-columns:1fr}.va.zoom-lg .col{margin-top:8px}.zoom-badge{position:fixed;right:14px;bottom:14px;z-index:60;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:rgba(13,11,8,.92);color:var(--teal);font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace;font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}.blog{min-height:100dvh;display:flex;justify-content:center;padding:48px 20px 80px;background:#0d0b08;color:#e8e0ce;font-family:ui-monospace,Cascadia Code,SF Mono,Consolas,monospace;font-size:14px;line-height:1.7}.blog-box{width:100%;max-width:720px}.blog-crumb{font-size:12.5px;margin:0 0 22px}.blog-crumb a{color:#9ece6a;font-weight:700;text-decoration:none}.blog-crumb a:hover{text-decoration:underline}.blog .pdim{color:#9a9078}.blog-h1{font-size:24px;color:#f4ecd8;margin:0 0 6px;letter-spacing:-.01em}.blog-readtime{font-size:12px;color:#9a9078;margin:0 0 28px}.blog-empty{color:#9a9078}.blog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.blog-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #2a251c;border-radius:8px;background:#14110c;transition:border-color .14s ease,background .14s ease}.blog-row:hover{border-color:#ffb454;background:rgba(255,180,84,.06)}.blog-link{color:#f4ecd8;font-weight:700;text-decoration:none}.blog-row .blog-readtime{margin:0;white-space:nowrap}.blog-back{margin-top:32px;font-size:13px}.blog-back a{color:#ffb454;text-decoration:none}.blog-back a:hover{text-decoration:underline}.md h1{font-size:22px;color:#f4ecd8;margin:32px 0 10px}.md h2{font-size:18px;color:#f4ecd8;margin:28px 0 8px}.md h3{font-size:15px;color:#f4ecd8;margin:22px 0 6px}.md p{margin:0 0 16px}.md a{color:#ffb454}.md strong{color:#f4ecd8;font-weight:700}.md em{color:#9a9078}.md code{border:1px solid #2a251c;border-radius:4px;padding:1px 5px;font-size:.92em;color:#ffb454}.md code,.md pre{background:#14110c}.md pre{border:1px solid #2a251c;border-radius:8px;padding:14px 16px;overflow-x:auto;margin:0 0 18px}.md pre code{background:none;border:none;padding:0;color:#e8e0ce}.md ol,.md ul{margin:0 0 16px;padding-left:22px}.md li{margin:0 0 6px}.md blockquote{margin:0 0 16px;padding:4px 14px;border-left:2px solid #ffb454;color:#9a9078}.md hr{border:none;border-top:1px solid #2a251c;margin:24px 0}.va .exp-hint{color:var(--tree);font-size:11px;margin-left:6px}.va .pkg .pbody{padding:12px 14px 10px}.va .sgroup{display:grid;grid-template-columns:13ch minmax(0,1fr);grid-gap:4px 10px;gap:4px 10px;align-items:start;margin-bottom:7px}.va .sgroup:last-child{margin-bottom:0}.va .glabel{color:var(--dim);font-size:12px;padding-top:3px}.va .chips{display:flex;flex-wrap:wrap;gap:4px}.va .chips i{font-style:normal;font-size:12px;line-height:1.5;color:var(--txt);border:1px solid var(--line);border-radius:4px;background:rgba(232,224,206,.04);padding:1px 7px}.va .chips i:hover{border-color:var(--teal);color:var(--teal)}.va .cmdline{display:flex;align-items:baseline;gap:6px;margin-top:6px;font-size:12px;padding:2px 6px;margin-inline:-6px;border-radius:3px;transition:background-color .12s ease}.va .cmdline:focus-within{background:var(--teal-bg);box-shadow:inset 2px 0 0 var(--teal)}.va .cmdinput:focus::placeholder{color:transparent}.va .cmdline .host{flex:none}.va .cmdinput{flex:1 1;min-width:0;background:transparent;border:none;outline:none;color:var(--bright);font-family:inherit;font-size:12px;caret-color:var(--teal)}.va .cmdout{margin:4px 0 0;font-size:11px;color:var(--txt2);max-height:74px;overflow-y:auto}.va .cmdout .line{white-space:pre-wrap}.va .cmdout .ok{color:var(--green)}.va .cmdout .err{color:var(--rose)}.va .fbar{flex:none;padding:0 2px}.va .fbar,.va .fkeys{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.va .fkeys{min-width:0}.va .fkey{display:inline-flex;align-items:center;text-decoration:none;font-size:12px;background:none;border:none;cursor:pointer;font-family:inherit}.va .fkey .k{color:var(--dim);padding:2px 5px 2px 0}.va .fkey .l{background:var(--teal);color:#0d0b08;font-weight:700;padding:2px 10px;border-radius:3px;transition:background .15s ease,transform .1s ease}.va .fkey:hover .l{background:var(--bright)}.va .fkey:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.va .fkey.flash .l,.va .fkey:active .l{background:var(--bright);transform:translateY(1px)}.va .fkey.off{cursor:default}.va .fkey.off .l{background:var(--line);color:var(--dim)}.va .fkey.play .l{background:var(--amber);color:#0d0b08;animation:fkey-pulse 2.4s ease-in-out infinite}.va .fkey.play:hover .l{background:var(--bright)}@keyframes fkey-pulse{0%,to{box-shadow:0 0 0 0 rgba(201,138,46,0)}50%{box-shadow:0 0 0 3px rgba(201,138,46,.28)}}@media (prefers-reduced-motion:reduce){.va .fkey.play .l{animation:none}}.va .edu{margin-left:auto;font-size:12px;color:var(--txt2);text-align:right}.va .game-back{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(6,5,3,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.va .game{position:relative;width:min(440px,92vw);background:var(--bg);border:1px solid var(--teal);border-radius:8px;padding:14px 16px 16px;box-shadow:0 24px 70px rgba(0,0,0,.6)}.va .game:focus{outline:none}.va .game-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.va .game-head .ptitle{position:static;padding:0}.va .game-score{font-size:11.5px;color:var(--dim)}.va .game-score b{color:var(--teal)}.va .game-x{margin-left:auto;background:none;border:1px solid var(--line);color:var(--dim);border-radius:5px;width:24px;height:24px;cursor:pointer;font-family:inherit;line-height:1}.va .game-x:hover{color:var(--bright);border-color:var(--teal)}.va .game-hint{font-size:11.5px;color:var(--txt2);margin:0 0 10px;line-height:1.4}.va .game-hint b{color:var(--teal)}.va .game-load{display:flex;align-items:center;gap:8px;margin-bottom:10px}.va .game-load-lab{font-size:11px;color:var(--dim);width:3ch}.va .game-load-val{font-size:11px;color:var(--txt2);width:4ch;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.va .game-bar{flex:1 1;height:8px;border:1px solid var(--line2);border-radius:5px;overflow:hidden;background:rgba(255,255,255,.03)}.va .game-fill{height:100%;transition:width .25s linear}.va .game-fill.cool{background:var(--green)}.va .game-fill.warm{background:var(--amber)}.va .game-fill.hot{background:var(--rose)}.va .game-list{display:flex;flex-direction:column;gap:6px;min-height:186px}.va .game-empty{font-size:12px;color:var(--dim)}.va .game-proc{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:5px;padding:5px 8px;cursor:pointer;font-family:inherit;color:var(--txt);transition:border-color .1s,background .1s}.va .game-proc:hover{border-color:var(--teal);background:rgba(255,180,84,.06)}.va .game-slot{flex:none;width:18px;height:18px;display:grid;place-items:center;border-radius:4px;background:var(--line);color:var(--bright);font-size:11px;font-weight:700}.va .game-name{flex:0 0 12ch;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.va .game-pbar{flex:1 1;height:7px;border-radius:4px;overflow:hidden;background:rgba(255,255,255,.05)}.va .game-pfill{display:block;height:100%;transition:width .3s linear}.va .game-pfill.cool{background:var(--green)}.va .game-pfill.warm{background:var(--amber)}.va .game-pfill.hot{background:var(--rose)}.va .game-pval{flex:none;width:4ch;text-align:right;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.va .game-pval.cool{color:var(--green)}.va .game-pval.warm{color:var(--amber)}.va .game-pval.hot{color:var(--rose)}.va .game-over{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line2);text-align:center}.va .game-over-t{font-size:13px;color:var(--bright);margin:0 0 4px}.va .game-over-t .hlr{color:var(--rose);font-weight:700}.va .game-over-s{font-size:11.5px;color:var(--txt2);margin:0 0 10px}.va .game-over-s b{color:var(--teal)}.va .game-over-btns{display:flex;gap:12px;justify-content:center}@keyframes va-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.va .cursor{animation:none}}@media (max-width:1080px){.va .main,.va .sysrow{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}@media (max-width:760px){.va{height:auto;min-height:100dvh;overflow-y:auto}.va .ptitle.r{display:none}.va .sysrow{grid-template-columns:minmax(0,1fr);gap:10px}.va .loadrow{flex-direction:row;flex-wrap:wrap}.va .stat{container-type:normal;flex:1 1 130px;padding:3px 9px 4px}.va .stat b{font-size:19px}.va .stat span{font-size:12px}.va .main{display:flex;flex-direction:column}.va .col,.va .main{min-height:auto}.va .col .svc{flex:none}.va .panel{min-height:auto;flex:none}.va .pbody{overflow:visible}.va .thead{display:none}.va .trow{display:flex;flex-wrap:wrap;column-gap:1.2ch;row-gap:2px}.va .cmd{flex:1 0 100%;white-space:normal}.va .impacts li{padding-left:3.5ch}.va .impacts .tree{left:.5ch}.va .case,.va .impacts+.case-wrap .case{margin-left:0}.va .srow{flex-wrap:wrap;white-space:normal}.va .smeta{margin-left:0;flex-basis:100%}.va .sgroup{grid-template-columns:1fr;gap:3px}.va .glabel{padding-top:0}.va .fbar{gap:4px}.va .fkeys{gap:4px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.va .fkeys::-webkit-scrollbar{display:none}.va .fkey{flex:0 0 auto;font-size:11px}.va .fkey .l{padding:2px 5px}.va .diag-scroll{overflow-x:auto;overscroll-behavior-x:contain}.va .diag-scroll .diag{min-width:620px}.va .diag-pan{display:block;margin:2px 0 0;font-size:10px;color:var(--dim);letter-spacing:.02em}.va .fkey .k,.va .fkey.off{display:none}.va .edu{margin-left:0;flex-basis:100%;text-align:left}}.va .banner{margin:2px 0 13px;color:var(--teal);font-family:inherit;font-size:clamp(.55rem,2.2vw,1.4rem);line-height:1.02;white-space:pre;overflow:hidden;text-shadow:0 1px 0 rgba(0,0,0,.4)}@media (max-width:760px){.va .banner{font-size:clamp(.4rem,3vw,.82rem)}}.va .banner-anim{overflow:visible}.va .banner .bl{display:block}.va .banner .cell{display:inline-block;vertical-align:top}