:root{--bg: #0f1220;--panel: #171a2b;--panel-2: #1e2236;--ink: #e8eaf2;--muted: #a2a7bd;--line: #2a2f47;--accent: #6c8cff;--accent-ink: #0f1220;--core: #6c8cff;--pipeline: #f0a35e;--slice: #4fd1a5;--extended: #b98bff;--radius: 14px;--font: system-ui, -apple-system, Segoe UI, Roboto, Inter, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:dark}:root[data-theme=light]{--bg: #f4f5fa;--panel: #ffffff;--panel-2: #eceef6;--ink: #10131f;--muted: #474d66;--line: #c6cbe0;--accent: #2f55e0;--accent-ink: #ffffff;--core: #2f55e0;--pipeline: #b85a00;--slice: #0b8058;--extended: #7440d0;color-scheme:light}[data-theme=light] body{background:var(--bg)}[data-theme=light] .topbar{background:#ffffffe6}[data-theme=light] :not(pre)>code{background:#e3e7f8;color:#1f3bb3}[data-theme=light] .card:hover{border-color:#8e97c4}[data-theme=light] .demo-log pre,[data-theme=light] .demo-sniff pre{color:var(--ink)}[data-theme=light] .demo-sniff{background:#fdf0e2}[data-theme=light] .cascade-table tr.win td{background:#dfe7ff}[data-theme=light] .parts li.lit{background:#dfe7ff;color:var(--ink)}[data-theme=light] .parts .parts-js.lit{background:#fde9d4}[data-theme=light] .clock-done{animation-name:flash-light}@keyframes flash-light{50%{background:#ffd6dc}}.theme-toggle{font-size:1.05rem;line-height:1;padding:.4rem .55rem;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);cursor:pointer}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 80% -10%,#1b2036 0,transparent 60%),var(--bg);line-height:1.55}code{font-family:var(--mono);font-size:.9em;background:#0d1020;padding:.1em .35em;border-radius:6px;color:#cdd6ff}.app{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.4rem;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:#0f1220d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.topnav{display:flex;gap:.4rem}.topnav a{color:var(--muted);text-decoration:none;padding:.4rem .8rem;border-radius:999px;font-weight:600;font-size:.92rem}.topnav a.active,.topnav a:hover{color:var(--ink);background:var(--panel-2)}.content{flex:1;padding:1.6rem;max-width:1200px;margin:0 auto;width:100%}.footer{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;padding:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.hero h1{margin:0 0 .2rem;font-size:1.9rem;letter-spacing:-.02em}.hero .sub{color:var(--muted);margin:0 0 1rem}.legend{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.4rem}.legend li{color:var(--muted);font-size:.9rem}.tag{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.06em;padding:.1rem .45rem;border-radius:6px;margin-right:.5rem;color:var(--accent-ink)}.tag-core{background:var(--core)}.tag-pipeline{background:var(--pipeline)}.tag-slice{background:var(--slice)}.tag-extended{background:var(--extended)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;display:flex;flex-direction:column;gap:.7rem;transition:transform .12s ease,border-color .12s ease}.card:hover{transform:translateY(-2px);border-color:#3a416b}.card-done{border-color:var(--slice)}.card-top{display:flex;justify-content:space-between;align-items:center}.week-num{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.card-title{margin:0;font-size:1.12rem;line-height:1.25}.card-badges{display:flex;gap:.3rem}.badge{font-size:.68rem;font-weight:800;padding:.12rem .4rem;border-radius:6px}.badge-done{background:var(--slice);color:var(--accent-ink)}.badge-slice{background:var(--pipeline);color:var(--accent-ink)}.card-sections{display:flex;flex-wrap:wrap;gap:.35rem}.chip{font-size:.66rem;font-weight:800;letter-spacing:.05em;padding:.12rem .45rem;border-radius:6px;border:1px solid transparent}.chip-core{color:var(--core);border-color:var(--core)}.chip-pipeline{color:var(--pipeline);border-color:var(--pipeline)}.chip-slice{color:var(--slice);border-color:var(--slice)}.chip-extended{color:var(--extended);border-color:var(--extended)}.chip-inline{margin-left:.5rem}.card-actions{display:flex;align-items:center;gap:.5rem;margin-top:auto;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;background:var(--panel-2);color:var(--ink);border:1px solid var(--line);padding:.4rem .8rem;border-radius:10px;font-weight:600;font-size:.88rem;text-decoration:none}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-ghost{background:transparent}.check{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.85rem;cursor:pointer}.check input{accent-color:var(--slice)}.progress-banner{display:grid;gap:.6rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;margin:0 0 1.4rem}.progress-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;color:var(--muted)}.progress-bar{height:12px;background:var(--panel-2);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--core),var(--slice));transition:width .3s ease}.progress-banner .btn{justify-self:start}.week-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}.week-head h1{margin:.2rem 0 0;font-size:1.7rem;letter-spacing:-.02em}.week-progress{display:flex;gap:1.2rem;padding:.8rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.2rem}.sections{display:grid;gap:1rem}.section{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem}.section-core{border-left-color:var(--core)}.section-pipeline{border-left-color:var(--pipeline)}.section-slice{border-left-color:var(--slice)}.section-extended{border-left-color:var(--extended)}.section h2{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:1rem;margin:0 0 .4rem}.section-heading{font-weight:600;color:var(--ink)}.section p{margin:.5rem 0}.section ul,.section ol,.stage-notes ol{margin:.4rem 0;padding-left:1.2rem}.section li{margin:.25rem 0}.section li>ul,.section li>ol{margin:.15rem 0}.md-h{margin:1.2rem 0 .3rem;letter-spacing:-.01em}h3.md-h{font-size:1.15rem;padding-top:.9rem;border-top:1px solid var(--line);color:var(--ink)}h4.md-h{font-size:.98rem;color:var(--core)}.md-code{margin:.5rem 0;padding:.7rem 1rem;background:#0c0f1d;border:1px solid var(--line);border-radius:10px;overflow-x:auto;font-family:var(--mono);font-size:.85rem;line-height:1.45;color:#cdd6ff;width:fit-content;max-width:100%}.md-code code{background:none;padding:0;color:inherit}.notes{display:grid;gap:.4rem;margin:1.4rem 0}.notes label{color:var(--muted);font-weight:600;font-size:.9rem}.notes textarea{width:100%;min-height:120px;resize:vertical;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem;font-family:var(--font);font-size:.95rem}.weeknav{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.present{display:flex;flex-direction:column;gap:1rem}.present-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.present-head h1{margin:.2rem 0 0;font-size:1.5rem}.week-select{color:var(--muted);font-size:.9rem}.week-select select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.4rem .6rem;margin-left:.3rem}.clock{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;text-align:center}.clock-label{color:var(--muted);font-weight:700;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap}.clock-time{font-size:clamp(3.5rem,12vw,7rem);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.05}.clock-bar{height:10px;background:var(--panel-2);border-radius:999px;overflow:hidden}.clock-fill{height:100%;background:var(--accent);transition:width .9s linear}.clock{display:grid;gap:1rem}.clock:fullscreen{place-content:center;border:0;border-radius:0;background:var(--bg);padding:4vw}.clock:fullscreen .clock-time{font-size:28vw}.clock:fullscreen .clock-bar{height:18px;width:80vw}.clock-done{animation:flash 1s ease-in-out 3}@keyframes flash{50%{background:#3a1420}}.timer-input{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-weight:700}.timer-input input{width:6.5rem;font:inherit;font-size:1.2rem;font-weight:700;text-align:center;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem}.stage-notes h2{display:flex;align-items:center;gap:.6rem;font-size:1rem;margin:1rem 0 .4rem}.finished{margin-top:.6rem;color:var(--slice);font-weight:700}.clock-low .clock-time{color:var(--pipeline);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:center}.hint{color:var(--muted);font-size:.78rem;margin-left:.4rem}.stage-notes{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem}.stage-notes ul{padding-left:1.2rem}.stage-notes .topic{margin:1rem 0 1.4rem}.clock-dock{position:fixed;top:.45rem;left:0;right:0;margin:auto;width:max-content;z-index:6;display:flex;align-items:center;gap:.3rem;padding:.25rem .3rem .25rem .9rem;background:var(--panel);border:1px solid var(--accent);border-radius:999px;box-shadow:0 6px 24px #0008,0 0 0 4px #6c8cff22;opacity:0;pointer-events:none;transform-origin:center}.clock-dock.on{opacity:1;pointer-events:auto}.dock-time{display:grid;gap:.15rem;background:none;border:0;color:var(--ink);cursor:pointer;padding:0}.dock-time .clock-time{font-size:1.35rem;line-height:1}.dock-bar{display:block;width:100%;height:3px;background:var(--panel-2);border-radius:999px;overflow:hidden}.dock-bar span{display:block;height:100%;background:var(--accent);transition:width .9s linear}.dock-play{width:2.1rem;height:2.1rem;border-radius:50%;border:0;cursor:pointer;background:var(--accent);color:var(--accent-ink);font-size:.9rem}.dock-play:disabled{opacity:.4;cursor:default}.learn{margin:1.6rem 0}.learn-head h2{margin:0 0 .2rem;font-size:1.3rem;letter-spacing:-.02em}.learn-sub{color:var(--muted);margin:0 0 .9rem;font-size:.92rem}.learn-index{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem}.learn-index{align-items:center}.learn-index button{font:inherit;font-size:.85rem;font-weight:600;color:var(--ink);cursor:pointer;background:var(--panel-2);border:1px solid var(--line);padding:.3rem .75rem;border-radius:999px}.learn-index button:hover,.learn-index button:focus-visible{border-color:var(--accent)}.topics{display:grid;gap:1.1rem}.topic{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;scroll-margin-top:80px}.topic-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.topic-head h3{margin:.4rem 0 0;font-size:1.1rem}.topic-docs{color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:600;white-space:nowrap}.topic-docs:hover{color:var(--accent)}.topic-blurb{color:var(--muted);margin:.5rem 0 .9rem}.topic-example{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:.9rem}.topic-example summary{cursor:pointer;font-weight:700;font-size:.9rem}.topic-example:not([open]) summary{border-bottom:0}.topic-links{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:flex-end}.topic-toolbar{display:flex;justify-content:space-between;align-items:center;background:var(--panel-2);padding:.35rem .5rem;border-bottom:1px solid var(--line)}.topic-copy{background:transparent;border:1px solid transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;padding:.25rem .6rem;border-radius:7px;cursor:pointer}.topic-copy:hover{color:var(--ink)}.topic-code{margin:0;padding:.9rem 1rem;overflow-x:auto;background:#0c0f1d;font-family:var(--mono);font-size:.83rem;line-height:1.5;color:#cdd6ff}.topic-code code{background:none;padding:0;color:inherit}.topic-result-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.5rem 1rem .2rem;background:var(--panel-2);border-top:1px solid var(--line)}.preview-frame{width:100%;border:0;background:#fff;display:block}.badge-learn{background:var(--extended);color:var(--accent-ink)}.demo{display:grid;gap:.8rem}.demo-loading{padding:2rem;text-align:center;color:var(--muted)}.demo button:where(:not(#buy)),.demo select,.demo input:not([type=range]):not([type=checkbox]):not([type=color]){font:inherit;font-size:.9rem;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:.4rem .7rem}.demo button{cursor:pointer;font-weight:600}.demo button:hover:not(:disabled){border-color:var(--accent)}.demo button:disabled{opacity:.45;cursor:default}.demo button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.demo button.on code{color:inherit;background:none}.demo button:focus-visible,.demo select:focus-visible,.demo input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.demo .demo-go{background:var(--slice);color:var(--accent-ink);border-color:var(--slice)}.demo-controls{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center}.demo-group{display:flex;flex-wrap:wrap;gap:.35rem}.demo-slider,.demo-check{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;color:var(--muted)}.demo-slider b{color:var(--ink);min-width:3.2em}.demo-score{color:var(--muted);font-size:.9rem}.demo-split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:.9rem}.demo-stage{height:380px;border-radius:10px;background:#0c0f1d;border:1px solid var(--line);overflow:hidden;cursor:grab;touch-action:pan-y}.demo-stage canvas{display:block}.demo-side{display:grid;gap:.6rem;align-content:start;min-width:0}.demo pre{margin:.3rem 0 0;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:.8rem;color:#cdd6ff}.demo-code{background:#0c0f1d;border-radius:8px;padding:.6rem .8rem}.muted{color:var(--muted)}.demo-said{margin:0;min-height:1.5em}.demo-log{list-style:none;margin:0;padding:0;max-height:250px;overflow:auto;display:grid;gap:.35rem}.demo-log li{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;font-size:.85rem}.demo-log li.now{border-color:var(--accent)}.demo-sniff{background:#2a1d10;border:1px solid var(--pipeline);border-radius:8px;padding:.5rem .7rem;font-size:.85rem}.sem-page{display:grid;gap:.5rem;padding:.6rem;background:#0c0f1d;border-radius:10px;border:1px solid var(--line);align-content:start}.sem-box{border:2px dashed var(--line);border-radius:8px;padding:.45rem;display:grid;gap:.35rem;align-content:start;font-size:.86rem;transition:border-color .2s,background .2s}.sem-kids{display:grid;gap:.4rem}.sem-row>.sem-kids{grid-template-columns:2fr 1fr}.sem-bar{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}.sem-bar select{font-family:var(--mono);font-size:.8rem!important;padding:.2rem .4rem!important}.demo .sem-pick{padding:.1rem .35rem;font-size:.8rem}.sem-text{color:var(--ink)}.sem-box.ok{border:2px solid var(--slice)}.sem-box.bad{border:2px solid #ff5f6d}.sem-box.focus{background:#1b2a66;border:2px solid var(--accent)}.rel-self{background:#2a3160!important;outline:2px solid var(--accent)}.rel-parent{background:#3a2a14!important;outline:2px solid var(--pipeline);color:var(--pipeline)}.rel-child{background:#123326!important;outline:2px solid var(--slice);color:var(--slice)}.rel-sibling{background:#2a1d3d!important;outline:2px solid var(--extended);color:var(--extended)}.sem-legend span{padding:0 .35rem;border-radius:4px}.sem-tree{max-height:330px}.demo .tree-btn{font-family:var(--mono);font-size:.8rem;padding:.05rem .4rem}.tree-btn em{font-family:var(--font);font-size:.72rem}.sem-hint{color:#ff9aa4;font-size:.8rem}.sem-outline{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}.sem-outline li.now{color:var(--accent);font-weight:700}.box-real-wrap{background:repeating-linear-gradient(45deg,#2a1d10 0,#2a1d10 6px,#1e160c 6px,#1e160c 12px);border-radius:8px;display:flow-root;overflow:auto;max-height:220px}.box-real{color:var(--accent-ink);font-weight:700;display:grid;place-items:center;background:linear-gradient(#6c8cff,#6c8cff) content-box,#4fd1a5}.pipe-stage{min-width:0}.pipe-desc{margin:0 0 .6rem}.pipe-edit{display:grid;gap:.3rem;font-size:.88rem}.pipe-edit textarea{font-family:var(--mono);font-size:.8rem;background:#0c0f1d;color:#cdd6ff;border:1px solid var(--line);border-radius:8px;padding:.6rem;resize:vertical}.pipe-frame{width:100%;height:230px;border:0;border-radius:8px;background:#fff}.tree,.tree ul{list-style:none;margin:0;padding-left:1.1rem;border-left:1px dashed var(--line)}.tree{max-height:380px;overflow:auto;padding-left:.4rem;border:0;font-size:.88rem}.tree li{margin:.15rem 0}.tree-text{color:var(--slice);font-size:.82rem}.tree-cut{color:#ff9aa4;text-decoration:line-through;opacity:.75}.tree-cut em{text-decoration:none;display:inline-block;font-size:.78rem}.cssom{margin:0;padding-left:1.1rem;display:grid;gap:.4rem}.layout-svg{width:100%;max-height:380px;background:#fff;border-radius:8px}.mission-page{min-width:0}.missions{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;align-content:start}.missions li{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;font-size:.9rem}.missions li.ok{border-color:var(--slice);color:var(--slice)}.missions input{display:block;margin-top:.35rem;width:100%}.cvs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.cvs-grid figure{margin:0;display:grid;gap:.35rem}.cvs-grid figcaption{font-size:.85rem;color:var(--muted)}.cvs-view{height:200px;overflow:hidden;display:grid;place-items:center;background:#0c0f1d;border-radius:10px;border:1px solid var(--line)}.cvs-view svg,.cvs-view canvas{width:160px;height:130px;cursor:crosshair;transition:transform .2s}.cvs-view canvas{image-rendering:pixelated}.cvs-3d{height:200px;border-radius:10px;background:#0c0f1d;border:1px solid var(--line);overflow:hidden;cursor:grab}.cvs-stress{display:grid;gap:.5rem}.cvs-stress-stage{background:#0c0f1d;border-radius:10px;border:1px solid var(--line);height:180px}.cvs-stress-stage svg,.cvs-stress-stage canvas{width:100%;height:180px;display:block}.git-graph{overflow-x:auto;background:#0c0f1d;border-radius:10px;border:1px solid var(--line);padding:.3rem 0}.git-graph svg{display:block}.git-term{display:grid;grid-template-rows:1fr auto;background:#0c0f1d;border-radius:10px;border:1px solid var(--line);overflow:hidden}.git-out{height:220px;overflow:auto;padding:.5rem .7rem}.git-out pre{margin:0 0 .5rem}.git-term input{border-radius:0!important;border-width:1px 0 0!important;font-family:var(--mono)!important}@media (max-width: 800px){.demo-split,.cvs-grid{grid-template-columns:1fr}.content{padding:1rem}}.url-bar{flex:1 1 360px;display:flex}.url-bar input{flex:1;font-family:var(--mono)!important}.url-bad{color:#ff9aa4;margin:0}.url-parts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.4rem}.url-parts li{display:grid;gap:.1rem;padding:.45rem .6rem;border-radius:8px;background:var(--panel-2);border-top:3px solid var(--c, var(--line));min-width:0}.url-parts code{overflow-wrap:anywhere;color:var(--c);background:none;padding:0}.url-k{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.url-why{font-size:.78rem;color:var(--muted)}.url-protocol{--c: #6c8cff}.url-domain{--c: #b98bff}.url-port{--c: #f0d35e}.url-path{--c: #4fd1a5}.url-query{--c: #f0a35e}.url-fragment{--c: #ff7eb6}.res-kind{margin-inline-start:.4rem;font-size:.72rem;font-weight:700;padding:.05rem .45rem;border-radius:999px;background:var(--accent);color:var(--accent-ink)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cascade-table{width:100%;border-collapse:collapse;font-size:.86rem}.cascade-table th{text-align:start;color:var(--muted);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .4rem;border-bottom:1px solid var(--line)}.cascade-table td{padding:.3rem .4rem;border-bottom:1px solid var(--line)}.cascade-table tr.win td{background:#16263f}.cascade-table tr.off td{opacity:.4}.cascade-win{color:var(--slice);font-size:.78rem}.demo .cascade-order button{padding:0 .4rem;font-size:.8rem}.cascade-stage{background:#fff;border-radius:10px;padding:1rem}.cascade-stage button{color:inherit}.cascade-stage .product{border:1px dashed #bbb;border-radius:8px;padding:.8rem;font-family:Georgia,serif}.cascade-stage .product p{margin:0 0 .5rem}.demo .cascade-stage button{background:#f4f4f7;border:2px solid currentColor;font-size:1.2rem;font-weight:800;padding:.5rem 1rem;border-radius:10px}.dp-stage{height:320px;overflow:auto;background:#fff;color:#1a1c28;border-radius:10px;padding:.8rem;transform:translateZ(0)}.dp-item{width:90px;height:50px;border-radius:6px;color:#fff;font-weight:800;display:grid;place-items:center;margin:4px}.dp-item.a{background:#6c8cff}.dp-item.b{background:#f0a35e;outline:3px solid #1a1c28;z-index:1}.dp-item.c{background:#4fd1a5}.dp-filler{color:#8a8fa3;margin:.6rem 0}.dp-filler code{background:#eef1ff;color:#35d}.units-frame-wrap{overflow-x:auto;background:#0c0f1d;border-radius:10px;padding:.5rem}.units-frame{height:280px;border:0;background:#fff;border-radius:6px;display:block}.parts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;counter-reset:part}.parts li{position:relative;display:grid;gap:.1rem;align-content:start;padding:.45rem .5rem;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);font-size:.78rem;color:var(--muted);transition:background .25s,border-color .25s,color .25s}.parts li strong{color:var(--ink);font-size:.84rem}.parts li.lit{background:#1b2a66;border-color:var(--accent);color:#cdd6ff;box-shadow:0 0 0 2px #6c8cff55}.parts .parts-js{grid-column:1 / -1}.parts .parts-js.lit{background:#3a2a14;border-color:var(--pipeline);box-shadow:0 0 0 2px #f0a35e55}.tree-style{color:var(--muted);font-size:.76rem}.swatch{display:inline-block;width:.8em;height:.8em;border-radius:3px;vertical-align:-.1em;margin-inline-end:.2em;border:1px solid #fff4}.updates{display:grid;gap:.6rem}.updates-cost{background:var(--panel-2);border-radius:8px;padding:.6rem .8rem;margin:0}.predict{display:grid;gap:.6rem}.predict form{margin:0}.predict input{width:6rem}.predict-result{display:grid;gap:.4rem;background:var(--panel-2);border-radius:8px;padding:.6rem .8rem}.predict-result p{margin:0}.predict-box{background:#fff;color:#1a1c28;border-color:#1a1c28!important;font-weight:700}.predict-reset{justify-self:start}@media (max-width: 800px){.parts{grid-template-columns:repeat(2,1fr)}}.git-zones4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.git-zones4 li{display:grid;gap:.25rem;align-content:start;padding:.55rem .7rem;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);position:relative;font-size:.85rem;min-width:0}.git-zones4 li:not(:last-child):after{content:"→";position:absolute;inset-inline-end:-.55rem;top:40%;color:var(--muted)}.git-zones4 li.off{opacity:.5}.git-zones4 code{overflow-wrap:anywhere;color:var(--pipeline)}.diff-add{color:#4fd1a5}.diff-del{color:#ff7e8a}@media (max-width: 800px){.git-zones4{grid-template-columns:1fr 1fr}}.final-chain{display:grid;gap:.6rem}.chain{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.3rem}.chain li{position:relative}.chain li:not(:last-child):after{content:"→";position:absolute;inset-inline-end:-1.05rem;top:50%;translate:0 -50%;color:var(--muted)}.demo .chain button{font-size:.85rem}.chain li.done button{border-color:var(--slice);color:var(--slice)}.demo .chain li.now button{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chain-card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;display:grid;gap:.4rem}.chain-card p{margin:0}.chain-q{font-size:1.15rem;font-weight:700}.final-reqs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.25rem .8rem;font-size:.9rem}.final-reqs li.ok{color:var(--slice)}.topic-full{font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:.25rem .7rem}.topic-full:hover,.topic-full:focus-visible{border-color:var(--accent)}.topic-links{align-items:center}.demo-frame:fullscreen{background:var(--bg);padding:1.2rem 1.6rem;overflow:auto;font-size:1.1rem}.demo-fs-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem}.demo-fs-head h3{margin:0;display:flex;align-items:center;gap:.6rem;font-size:1.3rem}.demo-frame:fullscreen .demo-stage{height:62vh}.demo-frame:fullscreen .cvs-view,.demo-frame:fullscreen .cvs-3d{height:36vh}.demo-frame:fullscreen .cvs-stress-stage,.demo-frame:fullscreen .cvs-stress-stage svg,.demo-frame:fullscreen .cvs-stress-stage canvas{height:28vh}.demo-frame:fullscreen .tree,.demo-frame:fullscreen .layout-svg{max-height:62vh}.demo-frame:fullscreen .pipe-frame{height:40vh}.demo-frame:fullscreen .dp-stage{height:60vh}.demo-frame:fullscreen .units-frame{height:55vh}.demo-frame:fullscreen .git-out{height:40vh}.demo-frame:fullscreen .demo-log{max-height:50vh}.demo-frame:fullscreen .demo pre,.demo-frame:fullscreen .demo-log li,.demo-frame:fullscreen .missions li{font-size:.95rem}
