:root{--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Space Grotesk", system-ui, sans-serif;--pixel:"Silkscreen", var(--mono);--radius:10px;--bg:#0b0e17;--bg-2:#11151f;--panel:#151a26;--panel-2:#1b2130;--line:#262d3f;--text:#e6e9f2;--text-2:#c9cfdd;--muted:#8b93a7;--dim:#5d6579;--orange:#f1502f;--mint:#5af2a5;--amber:#ffc857;--blue:#7aa2ff;--red:#ff6b6b;--magenta:#e36bff;--cyan:#4dd6e8;--tint:#fff;--on-accent:#0b0e17;--term-bg:#07090f;--term-bar:#0d1018;--page-bg:radial-gradient(1px 1px at 12% 18%, #fff5 50%, transparent 51%), radial-gradient(1px 1px at 72% 8%, #fff4 50%, transparent 51%), radial-gradient(1px 1px at 38% 82%, #fff3 50%, transparent 51%), radial-gradient(1px 1px at 88% 64%, #fff4 50%, transparent 51%), radial-gradient(1.5px 1.5px at 55% 40%, #fff3 50%, transparent 51%), radial-gradient(ellipse at 20% -10%, #f1502f18, transparent 50%), radial-gradient(ellipse at 110% 110%, #5af2a510, transparent 50%), #0b0e17;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f5f2ec;--bg-2:#efebe3;--panel:#fff;--panel-2:#f4f0e9;--line:#e0d9cc;--text:#1c2030;--text-2:#3a4052;--muted:#626a7d;--dim:#8c92a1;--orange:#d8401f;--mint:#0c9a5f;--amber:#a86a00;--blue:#2f5bd3;--red:#cf3a3a;--magenta:#9b34c0;--cyan:#0a8499;--tint:#000;--on-accent:#fff;--term-bg:#fbfaf7;--term-bar:#f0ece4;--page-bg:radial-gradient(ellipse at 20% -10%, #d8401f14, transparent 50%), radial-gradient(ellipse at 110% 110%, #0c9a5f10, transparent 50%), #f5f2ec;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f2ec;--bg-2:#efebe3;--panel:#fff;--panel-2:#f4f0e9;--line:#e0d9cc;--text:#1c2030;--text-2:#3a4052;--muted:#626a7d;--dim:#8c92a1;--orange:#d8401f;--mint:#0c9a5f;--amber:#a86a00;--blue:#2f5bd3;--red:#cf3a3a;--magenta:#9b34c0;--cyan:#0a8499;--tint:#000;--on-accent:#fff;--term-bg:#fbfaf7;--term-bar:#f0ece4;--page-bg:radial-gradient(ellipse at 20% -10%, #d8401f14, transparent 50%), radial-gradient(ellipse at 110% 110%, #0c9a5f10, transparent 50%), #f5f2ec;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0;font-size:15px}body{background:var(--page-bg);background-attachment:fixed}button{font:inherit;color:inherit}code{font-family:var(--mono);background:color-mix(in srgb, var(--tint) 6%, transparent);border:1px solid color-mix(in srgb, var(--tint) 8%, transparent);white-space:nowrap;border-radius:5px;padding:.05em .35em;font-size:.88em}a{color:var(--mint)}#app{grid-template:"top top top"52px"side center viz"1fr/230px minmax(420px,1fr) minmax(420px,42%);gap:0;height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);grid-area:top;align-items:center;gap:18px;padding:0 18px;display:flex}.logo{font-family:var(--pixel);letter-spacing:1px;color:var(--text);align-items:center;gap:8px;font-size:20px;display:flex}.logo-mark{color:var(--orange);font-family:var(--mono);font-size:22px}.progress{font-family:var(--pixel);color:var(--muted);align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.progress .bar{background:var(--panel-2);border:1px solid var(--line);border-radius:4px;width:180px;height:8px;overflow:hidden}.progress .bar div{background:linear-gradient(90deg, var(--orange), var(--amber), var(--mint));height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1)}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;display:none}.sidebar{border-right:1px solid var(--line);background:color-mix(in srgb, var(--bg-2) 80%, transparent);grid-area:side;padding:14px 10px 24px;overflow-y:auto}.chapter-block+.chapter-block{margin-top:14px}.chapter-title{font-family:var(--pixel);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:0 8px 6px;font-size:11px}.sidebar ol{margin:0;padding:0;list-style:none}.sidebar li button{text-align:left;cursor:pointer;width:100%;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:26px 1fr 14px;align-items:center;gap:6px;padding:5px 8px;display:grid}.sidebar li button:hover{background:var(--panel);color:var(--text)}.sidebar li button.current{background:var(--panel-2);border-color:color-mix(in srgb, var(--orange) 40%, transparent);color:var(--text)}.sidebar .num{font-family:var(--pixel);color:var(--dim);font-size:11px}.sidebar .current .num{color:var(--orange)}.sidebar .lcmd{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.sidebar .done .tick{color:var(--mint);font-size:12px}.reset-progress{color:var(--dim);cursor:pointer;background:0 0;border:none;margin:22px 8px 0;font-size:12px;text-decoration:underline}.center{flex-direction:column;grid-area:center;gap:14px;min-width:0;min-height:0;padding:16px;display:flex}.mission{background:linear-gradient(180deg, var(--panel), var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);flex-shrink:0;padding:16px 20px;transition:border-color .3s;position:relative}.mission.solved{border-color:color-mix(in srgb, var(--mint) 53%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--mint) 13%, transparent), 0 0 40px color-mix(in srgb, var(--mint) 8%, transparent)}.mission-top{align-items:center;gap:10px;display:flex}.lvl-tag{font-family:var(--pixel);color:var(--on-accent);background:var(--orange);border-radius:4px;padding:3px 7px 2px;font-size:11px}.chapter{font-family:var(--pixel);color:var(--muted);text-transform:uppercase;font-size:11px}.mission h1{letter-spacing:-.3px;margin:8px 0 12px;font-size:24px}.cmd-card{background:color-mix(in srgb, var(--bg) 67%, transparent);border:1px dashed color-mix(in srgb, var(--orange) 40%, transparent);border-radius:8px;padding:10px 14px}.cmd-label{font-family:var(--pixel);color:var(--orange);text-transform:uppercase;font-size:10px}.cmd-row{justify-content:space-between;align-items:baseline;gap:12px;margin:2px 0 4px;display:flex}.cmd-card .cmd{color:var(--amber);background:0 0;border:none;padding:0;font-size:19px;font-weight:700}.cmd-card p{color:var(--text-2);margin:0;font-size:14px;line-height:1.5}.docs{border:1px solid color-mix(in srgb, var(--mint) 33%, transparent);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:13px;text-decoration:none}.docs:hover{background:color-mix(in srgb, var(--mint) 10%, transparent)}.story{margin:14px 0 10px;line-height:1.6}.goals{margin:0 0 10px;padding:0;list-style:none}.goals li{color:var(--text-2);align-items:flex-start;gap:10px;padding:4px 0;display:flex}.goals .box{border:1.5px solid var(--dim);height:18px;color:var(--on-accent);border-radius:5px;flex:0 0 18px;place-items:center;margin-top:1px;font-size:12px;transition:all .25s;display:grid}.goals li.done{color:var(--mint)}.goals li.done .box{background:var(--mint);border-color:var(--mint);animation:.35s ease-out pop}@keyframes pop{50%{transform:scale(1.35)}}.hints{background:color-mix(in srgb, var(--amber) 5%, transparent);border-left:3px solid var(--amber);border-radius:0 6px 6px 0;margin:4px 0 10px;padding:8px 12px 8px 30px;font-size:14px;line-height:1.6}.hints code{cursor:pointer}.hints code:hover{border-color:var(--amber)}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions button{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:7px;padding:6px 12px;font-size:13px}.actions button:hover:not(:disabled){border-color:var(--muted)}.actions button:disabled{opacity:.45;cursor:default}.actions button.primary{background:var(--mint);color:var(--on-accent);border-color:var(--mint);font-weight:700}.actions button.ghost{color:var(--muted);background:0 0;margin-left:auto}.actions button.primary{margin-left:auto}.pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--mint) 13%, transparent)}}.solved-banner{font-family:var(--pixel);color:var(--mint);border:1px solid var(--mint);background:var(--bg);border-radius:6px;padding:4px 8px;font-size:11px;animation:.4s cubic-bezier(.2,1.6,.4,1) stamp;position:absolute;top:14px;right:22px;transform:rotate(3deg)}@keyframes stamp{0%{opacity:0;transform:scale(2)rotate(-6deg)}}.terminal{background:var(--term-bg);border:1px solid var(--line);border-radius:var(--radius);min-height:220px;font-family:var(--mono);flex-direction:column;flex:1;font-size:13.5px;line-height:1.5;display:flex;position:relative;overflow:hidden}.terminal:before{content:"";border-bottom:1px solid var(--line);background:radial-gradient(circle at 14px 13px, #ff5f57 5px, transparent 5.5px), radial-gradient(circle at 32px 13px, #febc2e 5px, transparent 5.5px), radial-gradient(circle at 50px 13px, #28c840 5px, transparent 5.5px), var(--term-bar);flex-shrink:0;height:26px;display:block}.term-output{flex:1;padding:10px 14px 0;overflow-y:auto}.term-output .line{white-space:pre-wrap;word-break:break-word}.term-output .cmd{margin-top:6px}.term-output .typed{color:var(--text)}.term-output .err{color:var(--red)}.term-output .banner{color:var(--text);font-family:var(--sans);padding:4px 0}.term-output .banner code,.term-output .dim code{color:var(--amber)}.term-output .dim{color:var(--dim)}.term-output .hint{color:var(--amber);font-family:var(--sans);margin:4px 0}.term-output .hint code{cursor:pointer;color:var(--text)}.term-output .win{border:1px solid var(--mint);color:var(--mint);font-family:var(--pixel);background:color-mix(in srgb, var(--mint) 5%, transparent);border-radius:8px;margin:10px 0 6px;padding:8px 12px;font-size:13px}.term-output .win code{font-family:var(--mono);color:var(--text)}.term-input{align-items:center;padding:6px 14px 12px;display:flex}.term-input input{color:var(--text);font:inherit;caret-color:var(--mint);background:0 0;border:none;outline:none;flex:1;min-width:0}.prompt{white-space:nowrap}.p-user{color:var(--mint)}.p-sep{color:var(--dim)}.p-path{color:var(--blue)}.p-branch{color:var(--amber)}.a-b{font-weight:700}.a-dim{color:var(--dim)}.a-red{color:var(--red)}.a-green{color:var(--mint)}.a-yellow{color:var(--amber)}.a-blue{color:var(--blue)}.a-magenta{color:var(--magenta)}.a-cyan{color:var(--cyan)}.xterm-host{flex:1;min-height:0;display:none}body.real .xterm-host{display:block}body.real .term-output,body.real .term-input{display:none}.xterm-host .xterm-viewport{background:0 0!important}.xterm-host .terminal.xterm{background:0 0;border:0;border-radius:0;height:100%;min-height:0;padding:8px 4px 6px 12px;line-height:normal;display:block}.xterm-host .terminal.xterm:before{content:none}.real-out{font-family:var(--mono);white-space:pre;margin:0;font-size:12px;line-height:1.45;overflow-x:auto}.side{flex-direction:column;grid-area:viz;gap:14px;min-width:0;padding:16px 16px 24px 0;display:flex;overflow-y:auto}.viz{flex-direction:column;gap:14px;min-width:0;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-shrink:0;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);background:var(--panel-2);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.panel-head h3{font-family:var(--pixel);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:12px;font-weight:400}.panel-extra{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;font-size:12px;display:flex}.panel-body{padding:10px 12px}.muted{color:var(--muted)}.center-text{text-align:center}.chip{font-family:var(--mono);background:color-mix(in srgb, var(--tint) 5%, transparent);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.chip.ok{color:var(--mint);border-color:color-mix(in srgb, var(--mint) 27%, transparent)}.chip.warn{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 40%, transparent)}.empty,.not-repo{color:var(--muted);padding:6px 0;font-size:13px}.trees{border-collapse:separate;border-spacing:4px 3px;table-layout:fixed;width:100%;font-family:var(--mono);font-size:12px}.trees th{font-family:var(--pixel);color:var(--muted);text-align:left;text-transform:uppercase;padding:0 4px 2px;font-size:10px;font-weight:400}.trees td{height:26px;padding:0}.trees td.absent{border:1px dashed color-mix(in srgb, var(--tint) 4%, transparent);border-radius:6px}.trees td.deleted{border:1px dashed color-mix(in srgb, var(--red) 33%, transparent);text-align:center;border-radius:6px}.gone{color:var(--red);font-size:11px;text-decoration:line-through}.fbtn{text-align:left;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:6px;width:100%;height:100%;padding:0 8px;display:flex;overflow:hidden}.fbtn:hover,.fbtn.active{border-color:var(--muted)}.fbtn i{border-radius:4px;flex-shrink:0;place-items:center;width:16px;height:16px;font-size:10px;font-style:normal;font-weight:700;display:grid}.untracked .fbtn{border-color:color-mix(in srgb, var(--red) 33%, transparent);color:var(--red)}.untracked .fbtn i{background:var(--red);color:var(--on-accent)}.modified .fbtn{border-color:color-mix(in srgb, var(--amber) 40%, transparent)}.modified .fbtn i{background:var(--amber);color:var(--on-accent)}.staged .fbtn{border-color:color-mix(in srgb, var(--mint) 40%, transparent)}.staged .fbtn i{background:var(--mint);color:var(--on-accent)}.conflict .fbtn{border-color:var(--red);background:color-mix(in srgb, var(--red) 10%, transparent)}.conflict .fbtn i{background:var(--red);color:var(--on-accent)}.same .fbtn{color:var(--muted)}.plain-files{font-family:var(--mono);flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.plain-files li button{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:3px 8px}.plain-files li.dir{color:var(--blue);border:1px solid color-mix(in srgb, var(--blue) 27%, transparent);border-radius:6px;padding:3px 8px}.preview{border:1px solid var(--line);border-radius:8px;margin-top:10px;overflow:hidden}.preview-head{background:var(--panel-2);font-family:var(--mono);justify-content:space-between;align-items:center;padding:4px 10px;font-size:12px;display:flex}.preview-head button{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:16px}.preview pre{font-family:var(--mono);background:var(--term-bg);margin:0;padding:8px 10px;font-size:12px;overflow-x:auto}.stash{border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:12px}.stash-title{font-family:var(--pixel);color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:10px}.stash-entry code{color:var(--amber)}.legend{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.lg{border-radius:3px;width:9px;height:9px;margin-right:-4px;display:inline-block}.lg.head{background:var(--cyan)}.lg.branch{background:var(--mint)}.lg.remote{background:var(--red)}.lg.tag{background:var(--amber)}.graph-wrap{max-height:360px;overflow:auto}.graph-wrap.small{max-height:220px;margin:4px 0}.graph{font-family:var(--mono);font-size:11px;display:block}.graph .edge{fill:none;stroke-width:2px}.graph .edge.ghost{stroke-dasharray:3 4;opacity:.4}.graph .node circle.merge{stroke-width:3px}.graph .node.ghost circle{stroke-dasharray:2 2;opacity:.6}.graph .head-ring{fill:none;stroke:var(--cyan);stroke-width:2px;opacity:.8;animation:2s ease-in-out infinite ring}@keyframes ring{50%{opacity:.25}}.graph .sha{fill:var(--amber)}.graph .msg{fill:var(--text)}.graph .ghost{opacity:.45}.graph .pill rect{stroke-width:1px}.graph .pill text{font-size:10.5px;font-weight:600}.graph .pill.head rect{fill:color-mix(in srgb, var(--cyan) 13%, transparent);stroke:var(--cyan)}.graph .pill.head text{fill:var(--cyan)}.graph .pill.branch rect{fill:color-mix(in srgb, var(--mint) 11%, transparent);stroke:var(--mint)}.graph .pill.branch text{fill:var(--mint)}.graph .pill.remote rect{fill:color-mix(in srgb, var(--red) 10%, transparent);stroke:var(--red)}.graph .pill.remote text{fill:var(--red)}.graph .pill.tag rect{fill:color-mix(in srgb, var(--amber) 10%, transparent);stroke:var(--amber)}.graph .pill.tag text{fill:var(--amber)}.gh-repo+.gh-repo{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.gh-repo-head{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.gh-name{font-family:var(--mono);font-weight:700}.gh-sub{font-family:var(--pixel);color:var(--muted);text-transform:uppercase;margin:8px 0 4px;font-size:10px}.gh-list{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.state{font-family:var(--mono);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.state.open{background:color-mix(in srgb, var(--mint) 13%, transparent);color:var(--mint)}.state.merged{background:color-mix(in srgb, var(--magenta) 13%, transparent);color:var(--magenta)}.state.closed{background:color-mix(in srgb, var(--red) 13%, transparent);color:var(--red)}@media (width<=1180px){#app{grid-template-columns:0 1fr minmax(340px,42%)}.sidebar{z-index:10;background:var(--bg-2);width:260px;transition:transform .2s;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%)}body.menu-open .sidebar{transform:none}.menu-toggle{display:block}}@media (width<=820px){#app{height:auto;display:block}.topbar{z-index:11;height:52px;position:sticky;top:0}.progress .bar{width:90px}#app{flex-direction:column;display:flex}.side{display:contents}.mission{order:1;margin:12px 12px 0}.center{order:2;padding:12px}.viz{order:3;padding:0 12px 24px}.terminal{height:60vh}}.top-actions{gap:6px;display:flex}.icon-btn{background:var(--panel);border:1px solid var(--line);cursor:pointer;min-width:34px;height:30px;font-family:var(--pixel);color:var(--text);border-radius:8px;padding:0 8px;font-size:12px}.icon-btn:hover{border-color:var(--muted)}.graph .l0{stroke:var(--mint)}.graph .l1{stroke:var(--orange)}.graph .l2{stroke:var(--blue)}.graph .l3{stroke:var(--amber)}.graph .l4{stroke:var(--magenta)}.graph .l5{stroke:var(--cyan)}.graph .dot.l0{fill:var(--mint)}.graph .dot.l1{fill:var(--orange)}.graph .dot.l2{fill:var(--blue)}.graph .dot.l3{fill:var(--amber)}.graph .dot.l4{fill:var(--magenta)}.graph .dot.l5{fill:var(--cyan)}.graph .node.ghost .dot{fill:#0000}.game-switch{background:var(--panel);border:1px solid var(--line);border-radius:9px;gap:2px;padding:3px;display:flex}.game-switch a{color:var(--muted);border-radius:6px;align-items:center;gap:6px;padding:3px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.game-switch a:hover{color:var(--text)}.game-switch a.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.game-switch .soon{color:var(--dim);cursor:default;opacity:.6;align-items:center;gap:6px;padding:3px 12px;font-size:13px;display:flex}.game-switch .gs-mark{font-family:var(--mono);color:var(--orange)}body[data-game=docker] .game-switch a.active .gs-mark,body[data-game=docker] .logo-mark{color:var(--blue)}body[data-game=docker] .lvl-tag{background:var(--blue)}body[data-game=docker] .cmd-card{border-color:color-mix(in srgb, var(--blue) 45%, transparent)}body[data-game=docker] .cmd-label{color:var(--blue)}.editor{border:1px solid var(--line);border-radius:var(--radius);background:var(--term-bg);width:min(760px,92vw);color:var(--text);padding:0;box-shadow:0 20px 60px #0008}.editor::backdrop{background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.editor-head{background:var(--term-bar);border-bottom:1px solid var(--line);font-family:var(--mono);justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;display:flex}.editor-tag{font-family:var(--pixel);color:var(--muted);font-size:10px}.editor textarea{resize:vertical;width:100%;height:min(420px,60vh);color:var(--text);font-family:var(--mono);tab-size:2;background:0 0;border:none;outline:none;padding:12px 14px;font-size:13.5px;line-height:1.55;display:block}.editor-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.editor-actions button{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:7px;padding:6px 14px;font-size:13px}.editor-actions button.primary{background:var(--mint);border-color:var(--mint);color:var(--on-accent);font-weight:700}@media (width<=1180px){.game-switch a{padding:3px 8px}.logo{display:none}}.p-ctr{color:var(--cyan)}.plain-files li button.dk-special{border-color:color-mix(in srgb, var(--blue) 50%, transparent);color:var(--blue)}.plain-files li button.active{border-color:var(--muted)}.ctr-list,.img-list,.kv-list,.dive-layers,.dive-files{margin:0;padding:0;list-style:none}.ctr-list{gap:8px;display:grid}.ctr{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:7px 10px;font-size:13px}.ctr-top{align-items:center;gap:8px;display:flex}.ctr-dot{background:var(--dim);border-radius:50%;flex-shrink:0;width:9px;height:9px}.ctr.running .ctr-dot{background:var(--mint);box-shadow:0 0 0 3px color-mix(in srgb, var(--mint) 25%, transparent)}.ctr.created .ctr-dot{background:var(--amber)}.ctr-state{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:11px}.ctr.running .ctr-state{color:var(--mint)}.ctr.exited{opacity:.75}.ctr-chips{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.chip.port{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 40%, transparent)}.chip.mount{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 40%, transparent)}.chip.net{color:var(--magenta);border-color:color-mix(in srgb, var(--magenta) 40%, transparent)}.ctr-cmd{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11px;overflow:hidden}.img-list{gap:6px;display:grid}.img-row{text-align:left;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-columns:1fr auto;gap:2px 10px;width:100%;padding:6px 10px;font-size:12px;display:grid}.img-row:hover,.img-row.active{border-color:var(--blue)}.img-name{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.img-bar{background:var(--line);border-radius:4px;grid-column:1/-1;gap:1px;height:7px;display:flex;overflow:hidden}.lyr.l0{background:var(--blue)}.lyr.l1{background:var(--mint)}.lyr.l2{background:var(--amber)}.lyr.l3{background:var(--magenta)}.lyr.l4{background:var(--cyan)}.lyr.l5{background:var(--orange)}.dive-name{font-family:var(--mono);margin-bottom:6px;font-size:12px}.dive-layers{gap:2px;display:grid}.dive-layer{cursor:pointer;width:100%;font-family:var(--mono);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:62px 60px 1fr;align-items:center;gap:8px;padding:3px 6px;font-size:11.5px;display:grid}.dive-layer:hover{background:var(--panel-2)}.dive-layer.active{border-color:var(--blue);background:color-mix(in srgb, var(--blue) 10%, transparent)}.dive-layer.base{color:var(--muted)}.dive-size{text-align:right}.dive-bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.dive-bar span{background:var(--blue);height:100%;display:block}.dive-cmd{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dive-sub{font-family:var(--pixel);color:var(--muted);text-transform:uppercase;margin:10px 0 4px;font-size:10px}.dive-files{font-family:var(--mono);max-height:220px;font-size:11.5px;overflow:auto}.dive-files li{grid-template-columns:14px 1fr auto;gap:6px;padding:1px 0;display:grid}.dive-files li.added .dive-kind{color:var(--mint)}.dive-files li.modified .dive-kind{color:var(--amber)}.dive-files li.removed{color:var(--red)}.dive-files li.wasted .dive-path{-webkit-text-decoration:underline wavy var(--red);text-decoration:underline wavy var(--red);text-underline-offset:3px}.dive-fsize{color:var(--muted)}.kv-list{gap:5px;font-size:12px;display:grid}.kv-list li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.engine-btn{align-items:center;gap:6px;padding:0 10px;display:flex}.eng-dot{background:var(--amber);border-radius:50%;width:8px;height:8px}.eng-dot.vm{background:var(--mint);box-shadow:0 0 0 3px color-mix(in srgb, var(--mint) 25%, transparent)}.terminal{position:relative}.vm-loading{background:color-mix(in srgb, var(--term-bg) 88%, transparent);z-index:5;place-items:center;display:grid;position:absolute;inset:26px 0 0}.vm-loading[hidden]{display:none}.vm-card{width:min(360px,80%);font-family:var(--sans);gap:10px;display:grid}.vm-label{color:var(--text);font-size:14px}.vm-bar{background:var(--line);border-radius:4px;height:8px;position:relative;overflow:hidden}.vm-bar div{background:linear-gradient(90deg, var(--orange), var(--amber), var(--mint));border-radius:4px;width:0;height:100%;transition:width .2s ease-out}.vm-bar.indeterminate div{width:35%;animation:1.1s ease-in-out infinite vm-slide;position:absolute}@keyframes vm-slide{0%{left:-35%}to{left:100%}}.vm-detail{font-family:var(--mono);color:var(--muted);min-height:1em;font-size:12px}
