:root{--bg: #0e1116;--panel: #161b23;--panel2: #1d242f;--border: #2a3342;--text: #d7dde7;--dim: #8b96a8;--accent: #4da3ff;--green: #43c983;--amber: #e2b93b;--red: #e2604c;--purple: #a07fe8;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--mono)}body.in-sandbox{height:100vh;overflow:hidden}h1{font-size:15px;margin:0;font-weight:600}h2{font-size:13px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}h3{font-size:12px;margin:12px 0 6px;color:var(--dim);font-weight:600}.sub{color:var(--dim);font-weight:400;font-size:11px;margin-left:8px}#topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border)}#layout{display:grid;grid-template-columns:300px 1fr 340px;gap:1px;background:var(--border);height:calc(100vh - 49px)}.panel{background:var(--panel);padding:14px;overflow-y:auto}#panel-tree{background:var(--bg);position:relative}button{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 10px;font:inherit;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.danger:hover{border-color:var(--red);color:var(--red)}button.active{border-color:var(--green);color:var(--green)}input,select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font:inherit;width:100%}input[type=number]{width:70px}input[type=range]{padding:0;accent-color:var(--accent)}label{color:var(--dim);font-size:12px}.knob{display:block;margin:8px 0}.knob span{color:var(--text);float:right}.group{border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:12px}.row{display:flex;gap:6px;margin:6px 0;align-items:center}.row.wrap{flex-wrap:wrap}#console-out,#event-log{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:8px;font-size:12px;min-height:60px;max-height:160px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;margin:6px 0 0}#event-log{max-height:220px}.tree-row{display:flex;align-items:center;gap:10px;margin:10px 0}.row-label{width:76px;text-align:right;color:var(--dim);font-size:12px;flex-shrink:0}#wal-box{border:1px dashed var(--border);border-radius:4px;padding:4px 10px;color:var(--dim);font-size:12px}#memtable-box{position:relative;height:30px;flex:1;max-width:420px;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--panel)}#memtable-fill{position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,#2b5f8f,var(--accent));transition:width .15s ease-out}#memtable-fill.hot{background:linear-gradient(90deg,#8f6b2b,var(--amber))}#memtable-label{position:relative;line-height:30px;padding-left:10px;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.level-row{display:flex;align-items:flex-start;gap:10px;margin:12px 0;min-height:34px}.level-tables{display:flex;flex-wrap:wrap;gap:6px;flex:1}.level-meta{color:var(--dim);font-size:11px;margin-top:2px}.sst{border:1px solid var(--border);border-radius:4px;background:var(--panel2);padding:4px 8px;font-size:11px;cursor:pointer;transition:transform .15s,border-color .3s,opacity .3s;animation:pop-in .25s ease-out}.sst:hover{border-color:var(--accent);transform:translateY(-1px)}.sst .range{color:var(--dim);display:block;font-size:10px}.sst.compacting{border-color:var(--amber);animation:pulse .8s infinite alternate}.sst.selected{border-color:var(--accent)}@keyframes pop-in{0%{transform:scale(.6);opacity:0}}@keyframes pulse{to{border-color:var(--red)}}#activity{color:var(--amber)}#inspector{position:absolute;right:14px;top:48px;width:300px;background:var(--panel);border:1px solid var(--accent);border-radius:6px;padding:12px;font-size:12px;z-index:5;box-shadow:0 8px 30px #00000080}#inspector-close{position:absolute;top:4px;right:6px;border:none;background:none;font-size:14px}#inspector table{width:100%;border-collapse:collapse}#inspector td{padding:2px 4px;border-bottom:1px solid var(--border);vertical-align:top}#inspector td:first-child{color:var(--dim);white-space:nowrap}.bloom-bits{font-size:9px;word-break:break-all;color:var(--purple);line-height:1.2}#amp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tile{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:8px 10px}.tile-label{display:block;font-size:11px;color:var(--dim)}.tile-value{font-size:22px;font-weight:600}#counters{font-size:12px;color:var(--dim);margin-top:10px}#counters b{color:var(--text);font-weight:600}.lvl-bar-row{display:flex;align-items:center;gap:8px;font-size:11px;margin:4px 0}.lvl-bar-row .name{width:24px;color:var(--dim)}.lvl-bar{flex:1;height:12px;background:var(--panel2);border-radius:3px;overflow:hidden;position:relative}.lvl-bar>div{height:100%;background:var(--accent);transition:width .3s}.lvl-bar.over>div{background:var(--amber)}.lvl-bar-row .val{width:110px;text-align:right;color:var(--dim)}button.info{width:15px;height:15px;padding:0;line-height:13px;font-size:10px;border-radius:50%;color:var(--dim);background:transparent;vertical-align:middle;margin-left:4px}button.info:hover{color:var(--accent);border-color:var(--accent)}button.primary{border-color:var(--accent);color:var(--accent)}.panel-intro,.hint{font-size:11px;color:var(--dim);margin:0 0 10px;line-height:1.4}.hint{margin:2px 0 8px}.row-note{font-size:10.5px;color:var(--dim);flex:1}.levels-head{margin-bottom:0;align-items:baseline}#trace-panel{margin-top:18px;border-top:1px solid var(--border);padding-top:10px}#trace-panel h3{display:flex;align-items:center;gap:6px;margin-bottom:2px}#trace-panel .pin{margin-left:auto;font-size:10.5px;display:flex;align-items:center;gap:4px}#trace-panel .pin input{width:auto}#trace-title{flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#trace-steps{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--panel);max-height:260px;overflow-y:auto}#trace-steps:empty{display:none}.trace-step{display:flex;gap:8px;align-items:baseline;padding:4px 8px;font-size:11px;border-bottom:1px solid var(--border);counter-increment:step}.trace-step:last-child{border-bottom:none}.trace-step.depth-1{padding-left:22px}.trace-step.depth-2{padding-left:40px}.trace-step:before{content:counter(step);color:var(--dim);font-size:9px;min-width:12px;text-align:right}#trace-steps{counter-reset:step}.step-kind{flex-shrink:0;min-width:118px;font-size:10px;padding:1px 5px;border-radius:3px;text-align:center;background:var(--panel2);color:var(--dim)}.comp-wal .step-kind{color:var(--amber);border:1px solid rgba(226,185,59,.35)}.comp-memtable .step-kind{color:var(--accent);border:1px solid rgba(77,163,255,.35)}.comp-sstable .step-kind{color:var(--green);border:1px solid rgba(67,201,131,.35)}.comp-merge .step-kind{color:var(--purple);border:1px solid rgba(160,127,232,.35)}.comp-manifest .step-kind{color:var(--text);border:1px solid var(--border)}.comp-result .step-kind{color:var(--red);border:1px solid rgba(226,96,76,.35)}.step-detail{flex:1;line-height:1.45}.step-cost{flex-shrink:0;color:var(--dim);font-size:10px;text-align:right}#trace-summary{margin-top:6px;font-size:11.5px;color:var(--green);padding-left:2px;min-height:16px}#docs-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:50}#docs-overlay[hidden]{display:none}#docs-modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;width:min(1080px,92vw);height:min(88vh,900px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0009}#docs-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}#docs-header h2{margin:0}#docs-close{border:none;background:none;font-size:20px;line-height:1;padding:0 6px}#docs-body{display:grid;grid-template-columns:190px 1fr;flex:1;min-height:0}#docs-toc{border-right:1px solid var(--border);padding:12px 8px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.toc-link{color:var(--dim);text-decoration:none;font-size:11.5px;padding:5px 8px;border-radius:4px;border-left:2px solid transparent}.toc-link:hover{color:var(--text);background:var(--panel2)}.toc-link.active{color:var(--accent);border-left-color:var(--accent);background:var(--panel2)}#docs-content{overflow-y:auto;padding:18px 24px;scroll-behavior:smooth;position:relative}.doc-section{margin-bottom:34px;scroll-margin-top:12px}.doc-section h3{font-size:15px;color:var(--text);margin:0 0 2px;text-transform:none;letter-spacing:0}.doc-section h4{font-size:11px;color:var(--dim);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.06em}.doc-tagline{color:var(--accent);font-size:12px;margin:0 0 10px}.doc-para{font-size:12.5px;line-height:1.65;color:var(--text);margin:0 0 10px;max-width:78ch}.doc-steps{margin:0;padding-left:20px;max-width:78ch}.doc-steps li{font-size:12px;line-height:1.6;margin-bottom:6px;color:var(--text)}.doc-steps li::marker{color:var(--accent);font-weight:600}.doc-costs{border-collapse:collapse;margin:12px 0;font-size:11.5px}.doc-costs td{padding:4px 12px 4px 0;border-bottom:1px solid var(--border);vertical-align:top}.cost-key{color:var(--dim);white-space:nowrap}.doc-source{font-size:11px;color:var(--dim);margin:10px 0 0}.doc-refs{margin:8px 0 0;font-size:11px}.refs-label{color:var(--dim)}.ref-chip{display:inline-block;color:var(--purple);text-decoration:none;border:1px solid rgba(160,127,232,.35);border-radius:10px;padding:1px 8px;margin:2px 2px 2px 0;font-size:10.5px}.ref-chip:hover{background:#a07fe81f}.ref-item{border-left:2px solid var(--border);padding:6px 0 6px 12px;margin-bottom:14px;transition:border-color .3s,background .3s}.ref-item.ref-flash{border-left-color:var(--purple);background:#a07fe814}.ref-cite{margin:0 0 4px;font-size:12px;line-height:1.5}.ref-authors{color:var(--dim)}.ref-title{color:var(--text)}.ref-venue{color:var(--dim)}.ref-why{margin:0;font-size:11.5px;line-height:1.6;color:var(--dim);max-width:76ch}@media(max-width:1100px){#layout{grid-template-columns:1fr;height:auto}#docs-body{grid-template-columns:1fr}#docs-toc{display:none}}#view-lesson{max-width:1180px;margin:0 auto;padding:0 24px 80px;font-family:var(--sans)}#view-lesson h1,#view-lesson h2{text-transform:none;letter-spacing:normal;color:var(--text)}.kv,.demo-sst,.demo-cap,.wal-strip,.demo-metrics,.cmp-table,.io-val,.trace-step,.demo-trace-summary,.rail-num,.chapter-num{font-family:var(--mono)}.lesson-hero{padding:88px 0 56px;border-bottom:1px solid var(--border);margin-bottom:8px}.hero-eyebrow{color:var(--accent);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}.hero-title{font-size:clamp(30px,4.6vw,50px);line-height:1.1;margin:0 0 20px;letter-spacing:-.02em;max-width:20ch}.hero-lede{font-size:16px;line-height:1.65;color:var(--text);max-width:66ch;margin:0 0 14px}.hero-sub{font-size:13.5px;line-height:1.65;color:var(--dim);max-width:64ch;margin:0 0 28px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:#06121f;font-weight:600;padding:9px 18px;border-radius:5px}.btn-primary:hover{filter:brightness(1.12)}.btn-large{font-size:15px;padding:12px 24px}.btn-ghost{padding:9px 16px}.lesson-rail{position:sticky;top:0;z-index:20;display:flex;gap:2px;overflow-x:auto;padding:10px 0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);margin-bottom:8px;scrollbar-width:thin}.rail-link{display:flex;align-items:center;gap:6px;flex-shrink:0;text-decoration:none;color:var(--dim);font-size:11.5px;padding:5px 10px;border-radius:20px;border:1px solid transparent;white-space:nowrap}.rail-link:hover{color:var(--text);background:var(--panel)}.rail-link.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--panel)}.rail-num{font-size:9.5px;opacity:.65;border:1px solid currentColor;border-radius:50%;width:15px;height:15px;display:grid;place-items:center}.chapter{padding:56px 0;border-bottom:1px solid var(--border);scroll-margin-top:60px}.chapter:last-child{border-bottom:none}.chapter-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.chapter-kicker{color:var(--accent);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.chapter-num{color:var(--dim);font-size:11px}.chapter-title{font-size:clamp(21px,2.6vw,29px);line-height:1.22;margin:0 0 20px;letter-spacing:-.01em;max-width:26ch}.chapter-para{font-size:14.5px;line-height:1.72;color:var(--text);max-width:68ch;margin:0 0 15px}.chapter-aside{border-left:2px solid var(--purple);background:color-mix(in srgb,var(--purple) 7%,transparent);padding:12px 16px;border-radius:0 6px 6px 0;margin:22px 0;max-width:68ch}.chapter-aside h4{margin:0 0 6px;font-size:11px;color:var(--purple);text-transform:uppercase;letter-spacing:.08em}.chapter-aside p{margin:0;font-size:13px;line-height:1.65;color:var(--text)}.try-it{display:flex;gap:10px;align-items:baseline;margin:26px 0 12px;max-width:68ch}.try-badge{flex-shrink:0;background:var(--green);color:#05130c;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px;border-radius:3px}.try-text{font-size:13.5px;line-height:1.6;color:var(--text)}.cliffhanger{margin:30px 0 0;padding:14px 18px;border:1px dashed color-mix(in srgb,var(--amber) 45%,transparent);border-radius:6px;background:color-mix(in srgb,var(--amber) 5%,transparent);max-width:68ch}.cliff-label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:5px}.cliff-text{margin:0;font-size:13.5px;line-height:1.65;color:var(--text)}.demo-holder{margin:18px 0 26px}.demo,.io-demo{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:14px}.demo-controls{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.demo-controls button{font-size:12px}.demo-reset{margin-left:auto;color:var(--dim)}.demo-status{font-size:12px;color:var(--green);min-height:17px;margin-bottom:8px}.demo-stage{display:flex;flex-direction:column;gap:9px}.demo-row{display:flex;gap:10px;align-items:flex-start}.demo-label{width:68px;flex-shrink:0;text-align:right;font-size:10.5px;color:var(--dim);padding-top:4px;text-transform:uppercase;letter-spacing:.06em}.demo-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.demo-empty{color:var(--dim);font-size:11.5px;font-style:italic}.kv{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-size:11.5px;animation:kv-in .25s ease-out}.kv-sm{font-size:10.5px;padding:2px 6px}.kv-tomb{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent)}@keyframes kv-in{0%{transform:scale(.7);opacity:0}}.demo-cap{font-size:10.5px;color:var(--dim);margin-left:6px}.demo-cap.cap-hot{color:var(--amber)}.wal-strip{font-size:11.5px;color:var(--amber)}.wal-strip.demo-empty{color:var(--dim)}.lvl{display:flex;gap:6px;align-items:flex-start;width:100%;margin-bottom:5px}.lvl-name{font-size:10.5px;color:var(--dim);width:20px;flex-shrink:0;padding-top:4px}.demo-sst{border:1px solid var(--border);border-radius:5px;background:var(--panel2);padding:5px 8px;animation:kv-in .25s ease-out}.sst-id{font-size:10.5px;color:var(--green)}.sst-range{font-size:10px;color:var(--dim)}.sst-keys{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0}.sst-meta{font-size:9.5px;color:var(--dim)}.demo-metrics{font-size:11.5px;color:var(--dim)}.demo-trace{max-height:220px;overflow-y:auto;width:100%;border:1px solid var(--border);border-radius:5px}.demo-trace-summary{font-size:11.5px;color:var(--green);margin-top:5px}.demo-note{font-size:11px;color:var(--dim);margin-top:11px;padding-top:9px;border-top:1px solid var(--border);line-height:1.55}.demo-note-warn{color:var(--amber);border-top-color:color-mix(in srgb,var(--amber) 30%,transparent)}.demo-compare:empty{display:none}.cmp-table{border-collapse:collapse;margin:12px 0 6px;font-size:11.5px;width:100%}.cmp-table th{text-align:left;color:var(--dim);font-weight:500;border-bottom:1px solid var(--border);padding:4px 8px 4px 0;font-size:10.5px}.cmp-table td{padding:4px 8px 4px 0;border-bottom:1px solid var(--border)}.cmp-verdict{font-size:11.5px;color:var(--text);line-height:1.6;margin-top:8px}.io-stage{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px}.io-title{font-size:12.5px;margin-bottom:2px}.io-sub{font-size:10.5px;color:var(--dim);margin-bottom:7px}.io-bar{height:15px;background:var(--panel2);border-radius:3px;overflow:hidden}.io-fill{height:100%;transition:width .35s ease-out}.io-fill-random{background:var(--red)}.io-fill-seq{background:var(--green)}.io-val{font-size:12px;margin-top:5px}.io-verdict{font-size:12.5px;color:var(--accent);margin-top:12px}.sandbox-cta{margin-top:28px;padding:26px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,transparent);text-align:center}.cta-note{font-size:12px;color:var(--dim);margin:12px auto 0;max-width:56ch;line-height:1.6}.lesson-footer{padding:34px 0 0;color:var(--dim);font-size:11.5px;text-align:center}@media(max-width:760px){.io-stage{grid-template-columns:1fr}.demo-row{flex-direction:column;gap:4px}.demo-label{text-align:left;width:auto}}
