:root{--fg:#cfcfcf;--dim:#6b6b6b;--hi:#fff;--bad:#ff6b5b;--ok:#7dd99a}
[hidden]{display:none!important}
html,body{margin:0;background:#000;color:var(--fg);font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
#gl{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;opacity:.55;pointer-events:none}
body.css-bg{background:radial-gradient(circle at 50% 50%,#0b0b0b,#000 70%);background-size:200% 200%;animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{background-position:100% 100%}}
#boot{padding:24px;margin:0;color:var(--dim);white-space:pre-wrap}
#app{max-width:820px;margin:12vh auto 0;padding:0 24px}
h1{font-size:28px;font-weight:400;margin:0 0 6px;color:var(--hi);letter-spacing:.02em}
.dim{color:var(--dim);margin:2px 0}a{color:var(--dim);cursor:pointer;text-decoration:none;margin-right:10px;transition:color .15s}a:hover,a.on{color:var(--hi)}
.view{display:block;opacity:0;transform:translate3d(0,6px,0);transition:opacity .18s ease,transform .18s ease;will-change:opacity,transform;margin-top:22px;pointer-events:none;position:absolute;visibility:hidden;max-width:772px;width:calc(100% - 48px)}
.view.on{opacity:1;transform:none;pointer-events:auto;position:relative;visibility:visible;width:auto}
pre{white-space:pre-wrap;margin:0}#main{display:flex;gap:24px;max-height:40vh;overflow:auto}#tree{min-width:160px;color:var(--dim)}
ul{list-style:none;padding:0;margin:0}li{cursor:pointer}li:hover{color:var(--hi)}.d{color:var(--fg)}#path{color:var(--dim)}
#term{margin-top:14px;max-height:28vh;overflow:auto}.line{display:flex}
input{background:transparent;border:0;border-bottom:1px solid #222;color:var(--hi);font:inherit;outline:none;width:100%}
#cmd{border:0}button{background:none;border:0;color:var(--fg);font:inherit;cursor:pointer;padding:0;text-decoration:underline}button:disabled{color:#333;cursor:default;text-decoration:none}
select{background:#000;color:var(--fg);border:0;border-bottom:1px solid #222;font:inherit}
video{width:100%;background:#000;outline:1px solid #111}
#v-map{overflow:hidden}#mapwrap{position:relative;width:100%;overflow:hidden}#mapwrap canvas,#mapwrap svg{position:absolute;left:0;top:0;display:block}
.bad{color:var(--bad)}.ok{color:var(--ok)}.foot{position:fixed;bottom:8px;left:24px;font-size:11px}
#vmbar.on{color:var(--ok)}#vmbar.off{color:var(--bad)}#vmpanel li{display:flex;gap:12px}
@media (prefers-reduced-motion:reduce){.view,body.css-bg{transition:none;animation:none}}
