.engine{color:#f8f1e2;background:radial-gradient(circle at 50% 40%,#392b1c,#15100b 70%);border:1px solid #5d4931;border-radius:12px;min-height:430px;margin-top:15px;overflow:hidden;container-type:inline-size}.engine *{box-sizing:border-box}.engine-toolbar{background:#120e0a;border-bottom:1px solid #5d4931;align-items:center;gap:18px;min-height:62px;padding:10px 14px;display:flex}.engine-toolbar label{color:#cdbc9e;white-space:nowrap;align-items:center;gap:7px;font:700 .72rem/1.2 monospace;display:flex}.engine-toolbar select{color:#fff;background:#2e2318;border:1px solid #765b38;border-radius:5px;padding:6px}.engine-toolbar input{accent-color:#d7a84b;width:90px}.engine-toolbar b{color:#e8bb5c}.network-stage{grid-template-columns:minmax(170px,1fr) minmax(150px,.8fr) minmax(170px,1fr);align-items:stretch;gap:18px;padding:18px;display:grid}.engine-computer{background:#201810;border:1px solid #695238;border-radius:9px;padding:10px}.engine-computer header{align-items:center;gap:9px;padding:4px 3px 10px;display:flex}.engine-computer header svg{color:#d7a84b;width:20px}.engine-computer header span{flex-direction:column;display:flex}.engine-computer header small{color:#99866a}.layer{background:#2b2117;border:1px solid #5b4933;flex-direction:column;justify-content:center;min-height:52px;margin:5px 0;padding:8px 30px 8px 38px;transition:all .25s;display:flex;position:relative}.layer>span{color:#b99761;font:700 .65rem monospace;position:absolute;left:9px}.layer>b{font-size:.76rem}.layer>small{color:#aa9b82;margin-top:3px;font-size:.61rem}.layer>svg{color:#20160d;width:15px;position:absolute;right:8px}.layer.active{color:#20160d;background:#d7a84b;border-color:#f2ce78;box-shadow:0 0 24px #d7a84b55}.layer.active small,.layer.active span{color:#49361e}.network-medium{text-align:center;border-inline:1px dashed #6f5636;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex;position:relative}.network-medium>svg{color:#9c7e50;width:38px}.network-medium>span{color:#9d8b71;max-width:130px;font-size:.62rem}.live-packet{color:#21170d;width:78px;animation:travel var(--travel) ease-in-out infinite alternate;background:#d7a84b;border-radius:6px;padding:8px;position:absolute;top:42%;left:9%;box-shadow:0 0 20px #d7a84b66}.live-packet small,.live-packet b{font-size:.58rem;display:block}.live-packet.lost{background:#c55040;animation:.9s infinite alternate drop}.network-medium em{color:#ed8b78;gap:4px;font-size:.65rem;display:flex;position:absolute;bottom:10px}.network-medium em svg{width:14px}@keyframes travel{0%{left:var(--x1);top:var(--y1);opacity:.2;scale:.75}20%{opacity:1}80%{opacity:1}to{left:var(--x2);top:var(--y2);opacity:.25;scale:1}}@keyframes drop{to{opacity:.2;transform:translateY(45px)}}.packet-anatomy{gap:3px;padding:0 18px 18px;display:flex;overflow:auto}.packet-anatomy span{text-align:center;color:#756a59;background:#241b13;border:1px solid #5c4830;flex:1;min-width:105px;padding:10px;font:.6rem monospace}.packet-anatomy span.on{color:#f1c76d;background:#4a361d;border-color:#b48740}.memory-engine{padding:28px}.memory-map{grid-template-columns:70px minmax(0,1fr);align-items:center;min-height:290px;display:grid}.memory-ruler,.memory-cells{gap:8px;display:grid}.memory-ruler{color:#9c8a70;text-align:right;padding-right:10px}.memory-ruler span{color:#d7a84b;font:.6rem monospace}.memory-ruler small{height:48px;padding-top:15px;font:.56rem monospace}.memory-cells{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.memory-cells>div{background:#2e2318;border:1px solid #685238;flex-direction:column;justify-content:center;align-items:center;height:82px;display:flex;position:relative}.memory-cells small{color:#b69a70;font:.58rem monospace}.memory-cells>div.active{color:#20160d;background:#d7a84b;transform:translateY(-7px)}.memory-cells>div>svg{color:#d7a84b;z-index:2;width:24px;position:absolute;right:-20px}.memory-cells.changed>div:nth-child(3){background:#6c3028;border-color:#db6c58}.operation-cost{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.operation-cost span{background:#211912;border:1px solid #5d4931;justify-content:space-between;padding:11px;display:flex}.operation-cost b{color:#a99576;font:.62rem monospace}.operation-cost em{color:#e4b85d;font-size:.68rem}.execution-engine{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:center;gap:10px;padding:28px;display:grid}.code-pane,.frame-pane{background:#19130e;border:1px solid #5e4930;min-height:330px;padding:14px}.code-pane>span,.frame-pane>span,.trace>span{color:#d7a84b;font:.62rem monospace}.code-pane code{color:#baa98d;grid-template-columns:25px 1fr;padding:11px 8px;font-size:.68rem;display:grid}.code-pane code i{color:#75664f}.code-pane code.active{color:#fff;background:#4d391f;border-left:3px solid #d7a84b}.execution-arrow{color:#d7a84b;flex-direction:column;align-items:center;display:flex}.execution-arrow span{font-size:.57rem}.frame-pane>div{background:#2b2117;border:1px solid #604b31;flex-direction:column;margin-top:8px;padding:11px;display:flex}.frame-pane>div.active{color:#21170d;background:#d7a84b}.frame-pane small{font-size:.62rem}.frame-pane em{color:#e97967;gap:6px;margin-top:12px;font-size:.66rem;display:flex}.frame-pane em svg{width:15px}.frame-pane.overflow{animation:.35s infinite alternate warn}@keyframes warn{to{border-color:#c85040}}.tree-engine{padding:18px}.tree-engine svg{width:100%;height:330px;display:block}.edges path{fill:none;stroke:#755b38;stroke-width:3px}.tree-node circle{fill:#302519;stroke:#826440;stroke-width:2px}.tree-node text{fill:#fff;font:700 17px monospace}.tree-node.active circle{fill:#d7a84b;stroke:#f4d284;filter:drop-shadow(0 0 10px #d7a84b)}.tree-node.active text{fill:#20160d}.tree-readout{background:#211912;border:1px solid #5c4730;align-items:center;gap:15px;padding:10px 16px;display:flex}.tree-readout span{color:#dfc490;flex:1}.tree-readout em{color:#d7a84b;font-size:.7rem}.distributed-engine{padding:34px}.service-flow{grid-template-columns:repeat(4,minmax(100px,1fr));gap:24px;display:grid}.service{background:#2d2217;border:1px solid #624d33;flex-direction:column;justify-content:center;align-items:center;height:110px;display:flex;position:relative}.service>svg{color:#a98d63;width:24px}.service>small{color:#8d806c}.service>svg:last-child{color:#d7a84b;position:absolute;right:-25px}.service.active{color:#21170d;background:#d7a84b}.service.active svg,.service.active small{color:#392814}.trace{background:#1c150f;border:1px solid #5c4830;margin-top:28px;padding:15px}.trace p{background:#2a2016;grid-template-columns:24px 1fr 1fr 18px;gap:8px;margin:5px 0;padding:8px;font-size:.68rem;display:grid}.trace p i{color:#d7a84b}.trace p em{color:#a99a82}.trace p svg{color:#62b77b;width:14px}@container (width<=760px){.engine-toolbar{flex-direction:column;align-items:stretch}.engine-toolbar label{justify-content:space-between}.network-stage{grid-template-columns:1fr}.network-medium{border:1px dashed #6f5636;border-inline:0;min-height:145px}.execution-engine{grid-template-columns:1fr}.execution-arrow{transform:rotate(90deg)}.service-flow{grid-template-columns:1fr}.service>svg:last-child{bottom:-25px;right:auto;transform:rotate(90deg)}.memory-map{grid-template-columns:1fr}.memory-ruler{display:none}.operation-cost{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.engine *{transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.learning-studio{color:#241a10;background:#e9ddc5;border-block:1px solid #aa8b5a;padding:42px max(18px,50vw - 740px)}.studio-head{grid-template-columns:minmax(0,1fr) 220px 44px;align-items:start;gap:28px;margin-bottom:24px;display:grid}.studio-head>div:first-child{max-width:850px}.studio-head>div>span{color:#8d652b;letter-spacing:.12em;font:800 .7rem monospace}.studio-head h2{margin:8px 0;font:700 clamp(2.3rem,4vw,4rem)/1 Georgia,serif}.studio-head p{color:#675944;margin:0;font-size:1rem;line-height:1.55}.studio-head>button{background:#f8f0df;border:1px solid #aa8d62;border-radius:8px;height:42px}.studio-progress>b{font:700 1.8rem Georgia,serif}.studio-progress>span{background:#cabb9d;border-radius:20px;height:7px;margin:6px 0;display:block;overflow:hidden}.studio-progress i{background:#a87320;height:100%;display:block}.studio-progress small{color:#74644d}.studio-shell{background:#1a140e;border:1px solid #9f8255;border-radius:14px;grid-template-columns:230px minmax(0,1fr) minmax(280px,340px);align-items:start;display:grid;overflow:hidden;box-shadow:0 25px 60px #49351f2c}.lesson-map,.learning-panel{color:#2b2115;background:#f5eddd;min-width:0;min-height:690px}.lesson-map{border-right:1px solid #9f8255}.map-title{border-bottom:1px solid #c8b692;gap:10px;padding:19px;display:flex}.map-title svg{color:#a87320;width:20px}.map-title span{flex-direction:column;display:flex}.map-title small{color:#89775c}.lesson-map>button{text-align:left;color:#584a36;background:0 0;border:0;border-bottom:1px solid #d6c7aa;grid-template-columns:30px 1fr;gap:9px;width:100%;padding:13px;display:grid}.lesson-map>button>span{border:1px solid #b7a27e;border-radius:50%;place-items:center;width:27px;height:27px;font:700 .66rem monospace;display:grid}.lesson-map>button>span svg{width:13px}.lesson-map>button div{flex-direction:column;min-width:0;display:flex}.lesson-map>button b{overflow-wrap:anywhere;font-size:.75rem}.lesson-map>button small{color:#927d5d;margin-top:4px;font-size:.62rem}.lesson-map>button.active{color:#fff;background:#332617;box-shadow:inset 4px 0 #d7a84b}.lesson-map>button.active span{color:#e9b955;border-color:#d7a84b}.lesson-map>button.done:not(.active)>span{color:#fff;background:#a87320}.studio-workspace{color:#fff;min-width:0;padding:22px}.scene-head>span{color:#d7a84b;letter-spacing:.1em;font:800 .68rem monospace}.scene-head h3{margin:7px 0;font:700 1.7rem Georgia,serif}.scene-head p{color:#c7b89e;min-height:48px;margin:0;line-height:1.5}.studio-workspace .engine{min-height:450px}.studio-controls{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.studio-controls button{color:#fff;background:#2d2217;border:1px solid #685137;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 12px;display:flex}.studio-controls button:disabled{opacity:.35}.studio-controls svg{width:15px}.studio-controls .primary{color:#23180e;background:#d7a84b;border-color:#d7a84b;font-weight:800}.learning-panel{border-left:1px solid #9f8255}.mode-tabs{border-bottom:1px solid #bda77f;grid-template-columns:repeat(4,1fr);display:grid}.mode-tabs button{text-transform:capitalize;color:#766246;background:#e9deca;border:0;border-right:1px solid #d0bea0;padding:12px 4px;font-size:.64rem}.mode-tabs button.active{color:#7e5419;background:#fff8e9;font-weight:800;box-shadow:inset 0 -3px #b27b27}.panel-content{flex-direction:column;align-items:flex-start;padding:25px;display:flex}.panel-content>svg{color:#a87320;width:27px;margin-bottom:16px}.panel-content>span{color:#936923;letter-spacing:.08em;font:800 .67rem monospace}.panel-content h3{margin:10px 0;font:700 1.55rem/1.1 Georgia,serif}.panel-content p{color:#655642;line-height:1.6}.panel-content>button{color:#fff;background:#332617;border:1px solid #9d7740;border-radius:7px;align-items:center;gap:7px;padding:12px 14px;display:flex}.panel-content>button svg{width:15px}.panel-content>small{color:#806f56;margin-top:13px;line-height:1.45}.truth{background:#e7dac1;border-left:3px solid #a87320;margin:13px 0 20px;padding:13px}.truth p{margin:5px 0;font-size:.78rem}.answer-list{gap:8px;width:100%;margin:12px 0;display:grid}.answer-list button{text-align:left;color:#3a2c1b;background:#fff8e9;border:1px solid #b49c75;grid-template-columns:27px 1fr 18px;align-items:center;gap:7px;width:100%;min-height:52px;padding:9px;display:grid}.answer-list i{border:1px solid #b9a47f;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.answer-list svg{width:16px}.answer-list button.correct{background:#e2f0df;border-color:#488e5a}.answer-list button.wrong{background:#f4ded7;border-color:#ba574a}.feedback{background:#f1dcd5;border-left:3px solid #b65142;padding:10px;font-size:.76rem}.feedback.good{background:#e1eddd;border-color:#4c8c56}.panel-content textarea{resize:vertical;width:100%;min-height:130px;font:inherit;background:#fffaf0;border:1px solid #ad956d;margin:10px 0 14px;padding:12px}.experiment-on{background:#8b4d2d!important}.review dl{margin:8px 0 20px}.review dl div{border-top:1px solid #cdbb9d;padding:10px 0}.review dt{color:#946b29;font:800 .65rem monospace}.review dd{color:#655642;margin:5px 0;font-size:.8rem;line-height:1.45}@media (width<=1180px){.studio-shell{grid-template-columns:190px minmax(0,1fr)}.learning-panel{border-top:1px solid #9f8255;border-left:0;grid-column:1/-1;min-height:auto}.panel-content{min-height:360px}.studio-progress{display:none}}@media (width<=760px){.learning-studio{padding:28px 12px}.studio-head{grid-template-columns:1fr 42px}.studio-head h2{font-size:2.25rem}.studio-shell{flex-direction:column;display:flex}.lesson-map,.learning-panel,.studio-workspace{width:100%;min-height:auto}.lesson-map{border-bottom:1px solid #9f8255;border-right:0;display:flex;overflow:auto}.map-title{display:none}.lesson-map>button{border-right:1px solid #d6c7aa;min-width:155px}.studio-workspace{padding:15px}.studio-controls button{flex:120px}.mode-tabs{position:sticky;top:0}.panel-content{min-height:0}.studio-workspace .engine{min-height:520px}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--text);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:16px}button,input,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:3px}header{border-bottom:1px solid var(--line);z-index:2;justify-content:space-between;align-items:center;max-width:1400px;height:74px;margin:auto;padding:0 28px;display:flex;position:relative}.logo{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.logo>span{background:var(--lime);width:34px;height:34px;color:var(--ink);border-radius:9px;place-items:center;display:grid;transform:rotate(-5deg)}.logo svg{width:19px}.logo b{letter-spacing:-.03em}header nav{gap:30px;display:flex}header nav a{color:#a8bbb3;font-size:.88rem;text-decoration:none}.level{border:1px solid var(--line);color:#c6d2cd;border-radius:30px;align-items:center;gap:8px;padding:8px 13px;font-size:.8rem;display:flex}.level svg{width:15px;color:var(--lime)}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:50px;max-width:1240px;min-height:660px;margin:auto;padding:80px 28px;display:grid}.overline,.section-title>span{color:var(--lime);letter-spacing:.12em;font-family:monospace;font-size:.75rem;font-weight:800}.hero h1{letter-spacing:-.075em;margin:18px 0 30px;font-size:clamp(4rem,8vw,7.5rem);line-height:.84}.hero h1 em{color:var(--lime);font-style:normal}.hero>div>p:not(.overline){max-width:570px;color:var(--muted);font-size:1.1rem;line-height:1.7}.hero a{background:var(--lime);color:var(--ink);border-radius:10px;align-items:center;gap:8px;margin-top:20px;padding:14px 18px;font-weight:800;text-decoration:none;display:inline-flex}.hero a svg{width:18px}.hero-system{background:radial-gradient(circle,#16362c 0,#0000 65%);place-items:center;height:470px;display:grid;position:relative}.hero-system:before,.hero-system:after{content:"";border:1px solid #2f5146;border-radius:50%;width:310px;height:310px;position:absolute}.hero-system:after{width:440px;height:440px}.core{background:var(--lime);width:145px;height:145px;color:var(--ink);z-index:2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;box-shadow:0 0 70px #b9f22755}.core svg{width:34px}.core b{margin-top:8px}.core small{font-size:.7rem}.orbit{border:1px solid var(--line);background:var(--panel);z-index:3;border-radius:15px;place-items:center;width:60px;height:60px;display:grid;position:absolute}.o1{top:40px}.o2{bottom:120px;right:35px}.o3{bottom:90px;left:45px}.pulse{background:var(--lime);width:10px;height:10px;box-shadow:0 0 18px var(--lime);border-radius:50%;animation:5s linear infinite orbit;position:absolute}.p2{animation-delay:-2.5s}@keyframes orbit{0%{transform:rotate(0)translate(155px)rotate(0)}to{transform:rotate(360deg)translate(155px)rotate(-360deg)}}.stats{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:1184px;margin:0 auto 90px;display:grid}.stats div{border-right:1px solid var(--line);align-items:baseline;gap:12px;padding:23px 28px;display:flex}.stats div:last-child{border:0}.stats strong{color:var(--lime);font-size:2rem}.stats span{color:var(--muted);font-size:.82rem}.tcp-lab{background:var(--paper);color:#10231d;padding:90px max(24px,50vw - 660px)}.section-title{max-width:720px}.section-title h2{letter-spacing:-.055em;margin:10px 0 15px;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1}.section-title p{color:#5d746b;margin:0;line-height:1.65}.tcp-lab .section-title>span,.compare .section-title>span,.library .section-title>span{color:#48645a}.lab-layout{border:1px solid #bccbc4;border-radius:18px;grid-template-columns:300px 1fr;margin-top:42px;display:grid;overflow:hidden;box-shadow:0 25px 60px #17362b1c}.phase-list{background:#e4ebe5;padding:25px 15px}.phase-list>p{color:#6c8279;margin:0 12px 16px;font:700 .7rem monospace}.phase-list button{text-align:left;color:#536b62;background:0 0;border:0;border-radius:10px;grid-template-columns:30px 1fr 18px;align-items:center;gap:8px;width:100%;padding:13px 10px;display:grid}.phase-list button>span{font:.7rem monospace}.phase-list button>div{flex-direction:column;gap:3px;display:flex}.phase-list button b{color:#1c352c;font-size:.88rem}.phase-list button small{font-size:.7rem}.phase-list button svg{opacity:.3;width:15px}.phase-list button.active b{color:#fff}.phase-list button.active svg{opacity:1}.simulator{color:#fff;background:#0b1b16}.sim-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;padding:0 30px;display:flex}.sim-head span{color:#759087;font:.68rem monospace}.sim-head h3{margin:5px 0 0;font-size:1.5rem}.status{color:#97aca4;align-items:center;gap:7px;font-size:.75rem;display:flex}.status i{background:var(--lime);width:8px;height:8px;box-shadow:0 0 12px var(--lime);border-radius:50%}.network-scene{background-image:radial-gradient(#214238 1px,#0000 1px);background-size:18px 18px;grid-template-columns:130px 1fr 130px;align-items:center;min-height:335px;padding:40px 35px;display:grid}.endpoint{z-index:2;text-align:center;flex-direction:column;align-items:center;display:flex}.endpoint>div{color:#173328;background:#dfe9e3;border-radius:20px;place-items:center;width:84px;height:84px;margin-bottom:12px;display:grid;box-shadow:0 15px 35px #0005}.endpoint.server>div{background:var(--lime)}.endpoint svg{width:31px}.endpoint b{font-size:.9rem}.endpoint small{color:#769087;margin-top:5px;font:600 .64rem monospace}.wire{height:250px;position:relative}.wire-line{border-top:2px dashed #44675c;position:absolute;top:50%;left:0;right:0}.segment{z-index:4;background:var(--lime);color:#10231d;border-radius:7px;flex-direction:column;min-width:110px;padding:7px 10px;animation:.35s pop;display:flex;position:absolute;box-shadow:0 0 20px #b9f22744}.segment small{font:600 .58rem monospace}.segment.server{background:var(--mint)}.segment.lost{opacity:.7;background:#ff7167;text-decoration:line-through}.s0{top:15%;left:20%}.s1{top:40%;right:20%}.s2{top:66%;left:35%}.s3{top:80%;right:28%}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.socket-card{color:#dce7e2;background:#10261f;border:1px solid #355d4f;border-radius:12px;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:52px 15px}.socket-card span{color:var(--lime);font:.64rem monospace;position:absolute;top:12px}.socket-card b{font:700 .7rem monospace}.socket-card svg{width:18px;color:var(--mint)}.window-control{border-top:1px solid var(--line);grid-template-columns:230px 1fr;gap:12px 20px;padding:20px 30px;display:grid}.window-control label{color:#9aafa7;font-size:.8rem}.window-control input{accent-color:var(--lime)}.window-control>div{grid-column:1/-1;gap:5px;display:flex}.window-control i{background:#1a382e;border:1px solid #2d5145;flex:1;height:14px}.window-control i.open{background:var(--lime)}.sim-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:10px;height:72px;padding:12px 30px;display:flex}.sim-controls button{color:#fff;background:#142b24;border:1px solid #355348;border-radius:8px;align-items:center;gap:7px;height:42px;padding:0 14px;display:flex}.sim-controls button svg{width:15px}.sim-controls .play{background:var(--lime);color:#0b1b16;border:0;font-weight:800}.sim-controls button:disabled{opacity:.35}.sim-controls>span{color:#758c84;margin-left:auto;font:700 .7rem monospace}.explanation{grid-template-columns:1fr 1fr;display:grid}.explanation>div{border-right:1px solid var(--line);padding:25px 30px}.explanation>div:last-child{border:0}.explanation span{color:var(--lime);font:700 .65rem monospace}.explanation p{color:#afc0ba;margin:9px 0 0;font-size:.86rem;line-height:1.55}.phase-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 25px;display:flex}.phase-nav button{color:#9cafa7;background:0 0;border:0;font-size:.78rem}.phase-nav button:disabled{opacity:.3}.phase-nav>span{gap:5px;display:flex}.phase-nav i{background:#365047;width:18px;height:3px}.phase-nav i.active{background:var(--lime)}.compare{color:#10231d;background:#dfe8e1;padding:100px max(28px,50vw - 592px)}.protocols{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px;display:grid}.protocols article{background:#eef3eb;border:1px solid #bdcbc4;border-radius:15px;padding:30px}.protocols article.featured{color:#fff;background:#10231d;border-color:#10231d}.protocol-icon{background:#d4dfd8;border-radius:10px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.featured .protocol-icon{background:var(--lime);color:#10231d}.protocols h3{margin:25px 0;font-size:2rem}.protocols dl{margin:0}.protocols dl div{border-top:1px solid #cad5cf;padding:14px 0}.featured dl div{border-color:#2e4a40}.protocols dt{color:#74887f;text-transform:uppercase;font:700 .65rem monospace}.protocols dd{margin:5px 0 0;font-size:.88rem}.library{background:var(--paper);color:#10231d;padding:100px max(28px,50vw - 592px)}.library-head{justify-content:space-between;align-items:end;display:flex}.library-head label{background:#fff;border:1px solid #b6c6be;border-radius:10px;align-items:center;gap:9px;min-width:290px;height:48px;padding:0 14px;display:flex}.library-head label svg{color:#61766d;width:18px}.library-head input{border:0;outline:0;width:100%;font-size:.9rem}.catalogue{grid-template-columns:repeat(2,1fr);gap:30px;margin-top:45px;display:grid}.catalogue>div{border-top:3px solid #19352b}.catalogue h3{align-items:center;gap:10px;margin:20px 0;font-size:1.1rem;display:flex}.catalogue h3 svg{color:#527267;width:19px}.catalogue button{text-align:left;color:#172e25;background:0 0;border:0;border-top:1px solid #cbd5d0;grid-template-columns:38px 1fr auto 20px;align-items:center;width:100%;min-height:62px;padding:7px 5px;display:grid}.catalogue button>span{color:#42685b;background:#dbe5df;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.catalogue button b{font-size:.88rem}.catalogue button small{color:#71867d;font:600 .65rem monospace}.catalogue button>svg{color:#70847c;width:15px}.learning{grid-template-columns:repeat(3,1fr);gap:50px;max-width:1184px;margin:0 auto;padding:90px 28px;display:grid}.learning h3{margin:24px 0 10px}.learning p{color:var(--muted);font-size:.9rem;line-height:1.6}footer{border-top:1px solid var(--line);color:#879e95;justify-content:space-between;align-items:center;max-width:1184px;margin:auto;padding:30px 28px;display:flex}footer p{font-size:.8rem}@media (width<=950px){header nav{display:none}.hero{grid-template-columns:1fr}.hero-system{display:none}.stats{grid-template-columns:1fr 1fr}.lab-layout{grid-template-columns:1fr}.phase-list{display:flex;overflow:auto}.phase-list>p{display:none}.phase-list button{min-width:210px}.protocols,.catalogue,.learning{grid-template-columns:1fr}.library-head{display:block}.library-head label{margin-top:25px}.explanation{grid-template-columns:1fr}.explanation>div{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=620px){header{padding:0 18px}.level{display:none}.hero{padding:60px 18px}.hero h1{font-size:4rem}.stats{margin:0 18px 60px}.stats div{padding:18px;display:block}.stats span{margin-top:4px;display:block}.tcp-lab,.compare,.library{padding-left:14px;padding-right:14px}.network-scene{grid-template-columns:80px 1fr 80px;padding:25px 12px}.endpoint>div{width:62px;height:62px}.endpoint b{font-size:.72rem}.endpoint small{font-size:.48rem}.segment{min-width:80px;padding:5px;font-size:.7rem}.socket-card{flex-direction:column;gap:5px}.sim-head{padding:0 18px}.status{display:none}.explanation>div{padding:22px 18px}.sim-controls{padding:12px 18px}.sim-controls>span{display:none}.library-head label{min-width:0}.catalogue button{grid-template-columns:38px 1fr 20px}.catalogue button small{display:none}.learning{padding-left:18px;padding-right:18px}footer{margin:0 18px;padding-left:0;padding-right:0}}.stack-scene{background-image:radial-gradient(#214238 1px,#0000 1px);background-size:18px 18px;grid-template-columns:minmax(205px,1fr) minmax(180px,.8fr) minmax(205px,1fr);align-items:center;gap:22px;min-height:480px;padding:28px;display:grid}.computer{background:#0e241d;border:1px solid #35594d;border-radius:16px;padding:12px;box-shadow:0 18px 45px #0005}.machine-title{align-items:center;gap:10px;padding:7px 7px 13px;display:flex}.machine-title>svg{width:24px;color:var(--lime)}.machine-title span{flex-direction:column;display:flex}.machine-title b{font-size:.84rem}.machine-title small{color:#789087;margin-top:3px;font:600 .58rem monospace}.osi-layer{background:#142f27;border:1px solid #2c4d42;border-radius:9px;grid-template-columns:28px 1fr;align-items:center;min-height:67px;margin-top:7px;padding:9px;transition:all .25s;display:grid}.osi-layer>span{color:var(--lime);grid-row:1/3;font:800 .62rem monospace}.osi-layer>b{font-size:.76rem}.osi-layer>small{color:#80988f;margin-top:3px;font:500 .55rem monospace}.osi-layer.focus{border-color:var(--lime);box-shadow:0 0 22px #b9f22733}.packet-path{justify-content:center;align-items:center;height:400px;display:flex;position:relative}.path-down{border-left:2px dashed #34584c;position:absolute;inset:24px 50%}.path-down:after{content:"";border-top:2px dashed #34584c;width:150px;position:absolute;top:50%;left:-75px}.medium{z-index:1;text-align:center;background:#102820;border:1px solid #42695b;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.medium svg{width:26px;color:var(--mint)}.medium b{margin-top:5px;font-size:.76rem}.medium small{color:#789087;max-width:90px;font-size:.55rem}.packet-orbit{z-index:3;background:var(--lime);color:#10231d;border-radius:9px;width:140px;padding:8px 10px;animation:1.1s both packet-route;position:absolute;top:32px;left:8%;box-shadow:0 0 26px #b9f22777}.packet-orbit.return{background:var(--mint);animation-name:packet-return}.packet-orbit b,.packet-orbit small,.packet-orbit i{display:block}.packet-orbit b{font-size:.75rem}.packet-orbit small{font:700 .58rem monospace}.packet-orbit i{opacity:.65;margin-top:5px;font:700 .48rem monospace}@keyframes packet-route{0%{transform:translate(-20px)}35%{transform:translate(-20px,285px)}65%{transform:translate(70px,285px)}to{transform:translate(70px)}}@keyframes packet-return{0%{transform:translate(70px)}35%{transform:translate(70px,285px)}65%{transform:translate(-20px,285px)}to{transform:translate(-20px)}}.sim-controls label{color:#8fa49c;align-items:center;gap:6px;font-size:.7rem;display:flex}.sim-controls select{color:#fff;background:#142b24;border:1px solid #355348;border-radius:7px;padding:6px}.osi-layer{grid-template-columns:28px 1fr auto}.osi-layer>i{min-width:52px;color:var(--lime);text-align:center;background:#23473a;border-radius:5px;grid-area:1/3/3;padding:6px 5px;font:800 .52rem monospace}.library-feedback{color:#183126;background:#e7f0d1;border:1px solid #8eaa57;border-radius:11px;align-items:center;gap:14px;margin-top:28px;padding:16px 18px;display:flex}.library-feedback>svg{color:#527700;width:22px}.library-feedback>div{flex-direction:column;gap:3px;display:flex}.library-feedback b{font-size:.88rem}.library-feedback span{color:#557066;font-size:.76rem}.library-feedback.failed{background:#f4dfdc;border-color:#c98780}.library-feedback.failed>svg{color:#a23c31}.catalogue button:disabled{cursor:wait;opacity:.55}.catalogue button.loading{opacity:1;background:#e3ecd3;border-color:#92ad55}.catalogue button.loading>span{color:#34520b;background:#cfe696}:root{--ink:#17120d;--panel:#241c13;--panel2:#2e2418;--line:#56442d;--lime:#d7a84b;--mint:#78b9aa;--paper:#f4ecd9;--text:#f8f0df;--muted:#b9aa91}body{background:var(--ink);background-image:radial-gradient(#7b60371c 1px,#0000 1px);background-size:24px 24px}.app{overflow:hidden}header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#17120de8;border-bottom-color:#6e5738;height:82px;position:sticky;top:0}.logo>span{background:var(--lime);border-radius:4px 10px 10px 4px;width:42px;height:42px;transform:rotate(-2deg);box-shadow:inset 4px 0 #805d24}.logo>b{letter-spacing:.01em;align-items:baseline;gap:8px;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;display:flex}.logo b small{color:var(--lime);font-family:Segoe UI,Arial,sans-serif;font-size:.82rem;font-weight:500}.level{color:#ddceb4;border-color:#5c492f;border-radius:6px}header nav a{color:#c6b89f}header nav a:hover{color:var(--lime)}.hero{min-height:690px;position:relative}.hero:after{content:"";opacity:.11;background:repeating-conic-gradient(from 45deg,var(--lime) 0 8deg,transparent 8deg 22deg);clip-path:polygon(50% 0,61% 34%,100% 50%,65% 62%,50% 100%,37% 65%,0 50%,35% 38%);pointer-events:none;width:460px;height:460px;position:absolute;top:30px;right:-90px}.overline,.section-title>span{color:var(--lime);letter-spacing:.16em}.hero h1,.section-title h2,.generated-top h2{letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif}.hero h1{font-size:clamp(3.8rem,7vw,7rem);line-height:.91}.hero h1 em{color:#e2b858}.hero>div>p:not(.overline){color:#beae93}.concept-search{background:#fbf5e8;border-color:#9f7c43;border-radius:5px 14px 14px 5px;box-shadow:0 20px 60px #0007,inset 5px 0 #d7a84b}.concept-search button{background:#d7a84b;border-radius:7px}.suggestions button{color:#cbbda3;background:#241c13;border-color:#685236;border-radius:5px}.hero-system{background:radial-gradient(circle,#49361f 0,#0000 66%)}.hero-system:before,.hero-system:after{border-color:#6f5736;border-radius:8px;transform:rotate(45deg)}.core{background:#d7a84b;border-radius:8px;box-shadow:0 0 70px #d7a84b33}.orbit{background:#261e14;border-color:#5d492f;border-radius:7px}.orbit svg{color:#78b9aa}.stats{background:#1d1710;border-color:#5d492f}.stats div{border-color:#5d492f}.stats strong{color:#d7a84b;font-family:Georgia,Times New Roman,serif}.stats span{color:#ad9d83}.tcp-lab,.library{background-color:#f4ecd9;background-image:linear-gradient(90deg,#0000 49.8%,#a98d5c22 50%,#0000 50.2%),radial-gradient(#8e71441d 1px,#0000 1px);background-size:100% 100%,22px 22px}.compare{background:#e8dcc3}.section-title h2{color:#241a10}.lab-layout{border-color:#ad946a;border-radius:7px 18px 18px 7px;box-shadow:-9px 12px #b4935e33,0 30px 70px #3d281c26}.phase-list{background:#e5d7bc;border-right:5px solid #b68a43}.phase-list button{border-radius:5px}.phase-list button.active{color:#d7a84b;background:#2a2117}.simulator{background:#1d1710}.sim-head,.sim-controls,.explanation,.phase-nav{border-color:#57442d}.status i{background:#d7a84b;box-shadow:0 0 12px #d7a84b}.stack-scene{background-image:radial-gradient(#59472f 1px,#0000 1px)}.computer{background:#261e15;border-color:#654f35}.osi-layer{background:#31261a;border-color:#654f35}.osi-layer>i{color:#f0c66e;background:#553d20}.server-stack .osi-layer{background:#2b2218}.server-stack .osi-layer>i{color:#8ed0c0;background:#29453e}.medium{background:#2b2116;border-color:#72583a}.wire-line,.path-down{border-color:#70573a}.explanation span{color:#e0b456}.compare .protocols article{border-color:#b59d75;border-radius:7px}.protocols article{background:#f6efdf}.protocols article.featured{background:#282016;border-color:#282016}.featured .protocol-icon{background:#d7a84b}.library .catalogue>div{border-top-color:#8d672e}.catalogue button:hover{background:#e8dcc4}.catalogue button>span{color:#6e4f24;background:#e3d3b4}.learning h3{font-family:Georgia,Times New Roman,serif}.learning svg{color:#d7a84b}footer{border-color:#58452d}@media (width<=620px){header{height:70px}.logo>b{font-size:1.05rem}.hero:after{display:none}.hero h1{font-size:3.45rem}.hero{min-height:auto}.concept-search{box-shadow:inset 4px 0 #d7a84b}.tcp-lab,.library{background-image:radial-gradient(#8e71441d 1px,#0000 1px)}}@media (width<=760px){.stack-scene{grid-template-columns:1fr 100px 1fr;gap:8px;padding:14px}.osi-layer{grid-template-columns:22px 1fr;padding:6px}.osi-layer small{display:none}.packet-orbit{width:92px;font-size:.65rem;left:4%}.packet-orbit i{display:none}.medium{width:84px;height:84px}.machine-title small{display:none}}@media (width<=520px){.stack-scene{grid-template-columns:1fr 64px 1fr}.machine-title{padding:4px}.machine-title>svg,.osi-layer>span{display:none}.osi-layer{min-height:50px;display:block}.osi-layer>b{font-size:.62rem}.medium{width:60px;height:60px}.medium small{display:none}.packet-orbit{width:75px;padding:5px}.packet-path{height:340px}}.concept-search{background:#f4f8f4;border:2px solid #f4f8f4;border-radius:13px;align-items:center;gap:10px;max-width:680px;height:64px;margin-top:28px;padding:6px 7px 6px 17px;display:flex;box-shadow:0 18px 45px #0005}.concept-search>svg{color:#60766d;width:21px}.concept-search input{color:#10231d;background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;font-size:1rem}.concept-search button{background:var(--lime);height:48px;color:var(--ink);border:0;border-radius:9px;align-items:center;gap:7px;padding:0 17px;font-weight:800;display:flex}.concept-search button svg{width:17px}.concept-search button:disabled{opacity:.7}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.search-error{color:#ff8e86!important;margin:10px 0!important;font-size:.85rem!important}.suggestions{color:#789088;flex-wrap:wrap;align-items:center;gap:7px;margin-top:13px;font-size:.72rem;display:flex}.suggestions button{color:#b6c6c0;background:#10231d;border:1px solid #315047;border-radius:20px;padding:6px 10px}.suggestions button:hover{border-color:var(--lime);color:var(--lime)}.generated{color:#10231d;background:#e5ece6;border-top:1px solid #b9c8c0;border-bottom:1px solid #b9c8c0;padding:80px max(28px,50vw - 592px)}.generated-top{justify-content:space-between;align-items:start;display:flex}.generated-top>div{max-width:780px}.generated-top span,.visual-title span,.analogy span,.step-player span{letter-spacing:.1em;color:#536e64;font:800 .68rem monospace}.generated-top h2{letter-spacing:-.06em;margin:12px 0;font-size:clamp(2.7rem,6vw,5rem);line-height:1}.generated-top p{color:#587067;font-size:1.08rem;line-height:1.65}.generated-top>button{background:0 0;border:1px solid #b7c7bf;border-radius:9px;place-items:center;width:42px;height:42px;display:grid}.generated-top button svg{width:18px}.generated-grid{border:1px solid #b9c8c1;border-radius:16px;grid-template-columns:1.15fr .85fr;margin-top:40px;display:grid;overflow:hidden;box-shadow:0 20px 50px #1b3c2f17}.dynamic-visual{color:#fff;background:#0c1d17 radial-gradient(#24463a 1px,#0000 1px) 0 0/18px 18px;flex-direction:column;min-height:540px;padding:30px;display:flex}.visual-title{justify-content:space-between;display:flex}.visual-title b{font-size:.82rem}.dynamic-nodes{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:8px;padding:35px 0;display:flex}.dynamic-nodes button{color:#a9bbb5;background:#132b23;border:1px solid #36594e;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:105px;max-width:145px;min-height:92px;padding:12px;display:flex;position:relative}.dynamic-nodes button.active{background:var(--lime);border-color:var(--lime);color:#10231d;transform:translateY(-5px);box-shadow:0 15px 35px #0005}.dynamic-nodes button>span{opacity:.65;font:700 .62rem monospace}.dynamic-nodes button>svg{width:14px;color:var(--lime);z-index:3;position:absolute;right:-20px}.node-detail{border-left:3px solid var(--lime);background:#0a1713;min-height:100px;padding:17px}.node-detail strong{color:var(--lime)}.node-detail p{color:#aec0b9;margin:7px 0 0;font-size:.84rem;line-height:1.55}.step-player{grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;margin-top:12px;display:grid}.step-player button{color:#fff;background:#173128;border:1px solid #355348;border-radius:8px;height:40px}.step-player>div{text-align:center}.step-player span{color:#708a80}.step-player p{color:#d1dcd7;margin:5px 0;font-size:.78rem}.lesson-text{background:#f3f6f2;padding:30px}.analogy{background:#dfe9e2;border-left:3px solid #1f5644;margin-bottom:15px;padding:18px}.analogy p{margin:8px 0 0;line-height:1.55}.lesson-text article{border-top:1px solid #cad5cf;grid-template-columns:30px 1fr;gap:8px;padding:20px 0;display:grid}.lesson-text article small{color:#6c837a;font:700 .65rem monospace}.lesson-text h3{margin:0 0 8px;font-size:1rem}.lesson-text article p{color:#5e746b;margin:0;font-size:.86rem;line-height:1.55}.generated-bottom{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.generated-bottom>div{background:#f3f6f2;border:1px solid #bdcbc4;border-radius:13px;padding:24px}.generated-bottom h3{margin:0 0 18px}.generated-bottom p{border-top:1px solid #d0d9d4;grid-template-columns:120px 1fr;gap:14px;margin:0;padding:12px 0;font-size:.83rem;display:grid}.generated-bottom p span{color:#62766e}.generated-bottom>div:last-child p{grid-template-columns:26px 1fr}.generated-bottom>div:last-child p span{width:22px;height:22px;color:var(--lime);background:#17352b;border-radius:50%;place-items:center;font:700 .65rem monospace;display:grid}@media (width<=900px){.generated-grid,.generated-bottom{grid-template-columns:1fr}}@media (width<=620px){.concept-search{flex-wrap:wrap;height:auto;padding:10px}.concept-search input{height:42px}.concept-search button{justify-content:center;width:100%}.generated{padding-left:14px;padding-right:14px}.dynamic-visual,.lesson-text{padding:20px}.dynamic-nodes{gap:17px 7px}.dynamic-nodes button{min-width:85px;max-width:105px}.generated-bottom p{grid-template-columns:1fr;gap:4px}}.actor-stage{justify-content:space-between;align-items:center;gap:12px;min-height:270px;padding:55px 4% 45px;display:flex;position:relative}.actor-stage:before{content:"";border-top:2px dashed #3d6255;position:absolute;top:50%;left:9%;right:9%}.actor-stage>button{z-index:2;color:#d9e4df;background:#132b23;border:1px solid #36594e;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:118px;min-height:105px;padding:12px;transition:all .25s;display:flex;position:relative}.actor-stage>button.active{border-color:var(--lime);transform:translateY(-5px);box-shadow:0 0 25px #b9f22733}.actor-stage>button span{width:25px;height:25px;color:var(--lime);background:#26483c;border-radius:50%;place-items:center;font:800 .62rem monospace;display:grid}.actor-stage>button b{font-size:.75rem}.actor-stage>button small{color:#8da49b;font-size:.56rem;line-height:1.25}.moving-token{z-index:4;background:var(--lime);color:#10231d;text-align:center;border-radius:8px;width:92px;min-height:52px;padding:6px;animation:1.25s both move-token;position:absolute;top:42%;box-shadow:0 0 24px #b9f22777}.moving-token svg{width:15px}.moving-token b{font-size:.62rem;display:block}@keyframes move-token{0%{transform:translate(0)scale(.85)}to{transform:translateX(var(--destination)) scale(1)}}.event-detail{border-left:3px solid var(--lime);background:#091712;min-height:120px;padding:18px}.event-detail span{color:var(--lime);letter-spacing:.08em;font:800 .62rem monospace}.event-detail h3{margin:8px 0 5px;font-size:1rem}.event-detail p{color:#aebfb9;margin:0;font-size:.82rem;line-height:1.55}.player-controls{align-items:center;gap:7px;margin-top:12px;display:flex}.player-controls button{color:#fff;background:#173128;border:1px solid #355348;border-radius:8px;justify-content:center;align-items:center;gap:5px;height:39px;padding:0 11px;font-size:.72rem;display:flex}.player-controls button svg{width:14px}.player-controls button.play{background:var(--lime);color:#10231d;border-color:var(--lime);font-weight:800}.player-controls button:disabled{opacity:.35}.player-controls>span{color:#789087;margin-left:auto;font:700 .63rem monospace}@media (width<=650px){.actor-stage{justify-content:flex-start;padding-left:10px;padding-right:10px;overflow-x:auto}.actor-stage>button{min-width:100px}.actor-stage:before,.moving-token{display:none}.player-controls{flex-wrap:wrap}.player-controls button{flex:1}.player-controls>span{text-align:right;width:100%}}.mechanism-map{background:radial-gradient(circle at 50% 45%,#163a2f 0,#0b1c16 60%);border:1px solid #294d41;border-radius:15px;min-height:380px;margin:18px 0 12px;position:relative;overflow:hidden}.mechanism-map>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.mechanism-map line{stroke:#31584b;stroke-width:.7px;stroke-dasharray:2.3 2.3;vector-effect:non-scaling-stroke}.mechanism-map line.active{stroke:var(--lime);stroke-width:2px;stroke-dasharray:4 3;filter:drop-shadow(0 0 4px #b9f227);animation:1s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-14px}}.mechanism-map>button{z-index:3;color:#fff;text-align:center;background:#132c24;border:1px solid #3a6053;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:118px;min-height:82px;padding:9px;transition:all .25s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 25px #0004}.mechanism-map>button span{color:#b5cbc2;background:#294e41;border-radius:50%;place-items:center;width:23px;height:23px;font:800 .6rem monospace;display:grid;position:absolute;top:-10px}.mechanism-map>button b{font-size:.75rem;line-height:1.15}.mechanism-map>button small{color:#91a79e;max-height:30px;margin-top:5px;font-size:.56rem;line-height:1.25;overflow:hidden}.mechanism-map>button.sending{border-color:var(--mint);box-shadow:0 0 24px #63d9c633}.mechanism-map>button.receiving{border-color:var(--lime);background:#1d3d31;box-shadow:0 0 28px #b9f22744}.mechanism-map>button.receiving span{background:var(--lime);color:#10231d}.travel-token{z-index:6;background:var(--lime);color:#10231d;text-align:center;border-radius:8px;width:82px;min-height:45px;padding:6px;animation:1.35s cubic-bezier(.2,.7,.2,1) both travel;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 28px #b9f227aa}.travel-token svg{width:14px;height:14px}.travel-token b{font-size:.58rem;line-height:1.1;display:block}.mechanism-map.stack>button{width:155px;min-height:52px}.mechanism-map.stack{background:linear-gradient(90deg,#0b1c16,#123429,#0b1c16)}.mechanism-map.tree{background:radial-gradient(circle at 50% 12%,#1b4637,#0b1c16 62%)}.mechanism-map.cycle{border-radius:50%;max-width:480px;margin-left:auto;margin-right:auto}.mechanism-map.network>button{border-radius:50%;width:104px;height:104px}.mechanism-map.timeline:after{content:"TIME →";color:#59766b;font:700 .6rem monospace;position:absolute;bottom:10px;right:12px}.mechanism-map.comparison{background:linear-gradient(90deg,#102b22 0 49.7%,#294f4233 50% 50.3%,#0d211b 50.3%)}.trace-strip{gap:5px;padding:5px 0 8px;display:flex;overflow-x:auto}.trace-strip button{color:#879d94;text-align:left;background:#10271f;border:1px solid #2c4d42;border-radius:8px;min-width:96px;max-width:140px;padding:8px}.trace-strip button span{color:#668078;font:700 .56rem monospace;display:block}.trace-strip button b{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.61rem;display:block;overflow:hidden}.trace-strip button.active{color:#fff;border-color:var(--lime);background:#294a3d}@media (width<=650px){.mechanism-map{min-height:420px}.mechanism-map>button{width:88px;min-height:70px}.mechanism-map>button small{display:none}.mechanism-map.stack>button{width:120px}.mechanism-map.network>button{width:78px;height:78px}.travel-token{width:66px}.player-controls{flex-wrap:wrap}.player-controls button{flex:1}.player-controls>span{text-align:right;width:100%}}.generated{color:#251b10;background:#eadfc9 linear-gradient(90deg,#0000 49.85%,#896d3d20 50%,#0000 50.15%);border-color:#ad946a}.generated-top span,.visual-title span,.analogy span{color:#856127}.generated-grid{border-color:#a98d60;border-radius:7px 16px 16px 7px;box-shadow:-7px 10px #b9935833,0 25px 55px #3f2b1d22}.dynamic-visual{background-color:#201910;background-image:radial-gradient(#5a462d 1px,#0000 1px)}.visual-title span{color:#e1b75f}.mechanism-map{background:radial-gradient(circle at 50% 45%,#3b2d1c 0,#17120d 64%);border-color:#654f35}.mechanism-map line{stroke:#735b3c}.mechanism-map line.active{stroke:#d7a84b;filter:drop-shadow(0 0 4px #d7a84b)}.mechanism-map>button{background:#302518;border-color:#705739;border-radius:6px 12px 12px 6px}.mechanism-map>button span{color:#f0c66e;background:#604722}.mechanism-map>button.receiving{background:#45341e;border-color:#d7a84b;box-shadow:0 0 28px #d7a84b44}.mechanism-map>button.receiving span,.travel-token{background:#d7a84b}.event-detail{background:#15100b;border-left-color:#d7a84b}.event-detail span{color:#e0b457}.trace-strip button{color:#bbaa8f;background:#2b2116;border-color:#654f35;border-radius:5px}.trace-strip button.active{background:#5c4325;border-color:#d7a84b}.trace-strip button.active span{color:#e8bd65}.player-controls button{background:#302418;border-color:#684f32}.player-controls button.play{background:#d7a84b;border-color:#d7a84b}.lesson-text{background:#f7f0df}.lesson-text h3,.generated-bottom h3{font-family:Georgia,Times New Roman,serif}.analogy{background:#e9dcc2;border-left-color:#9b6f2b}.lesson-text article{border-color:#d0bea0}.generated-bottom>div{background:#f7f0df;border-color:#b7a17b;border-radius:6px 13px 13px 6px}.generated-bottom p{border-color:#d8c7aa}.generated-bottom p b{color:#805a24}.generated-bottom>div:last-child p span{color:#e3b95e;background:#332619}.curated-chapter{color:#251b10;background:#eadfc9 linear-gradient(90deg,#0000 49.85%,#896d3d20 50%,#0000 50.15%);border-block:1px solid #ad946a;padding:80px max(28px,50vw - 620px)}.chapter-header{justify-content:space-between;align-items:start;gap:30px;display:flex}.chapter-header>div{max-width:850px}.chapter-header span,.canvas-bar span,.chapter-notes>span{letter-spacing:.1em;color:#856127;font:800 .72rem monospace}.chapter-header h2{letter-spacing:-.055em;margin:11px 0 16px;font:700 clamp(2.8rem,5vw,5rem)/.98 Georgia,serif}.chapter-header p{color:#655642;font-size:1.02rem;line-height:1.65}.chapter-header>button{background:#f7f0df;border:1px solid #b49a70;border-radius:7px;place-items:center;width:43px;height:43px;display:grid}.chapter-tabs{gap:5px;margin:30px 0 12px;display:flex}.chapter-tabs button{color:#6c583b;text-transform:capitalize;background:#f4ecd9;border:1px solid #ad946a;padding:10px 16px}.chapter-tabs button:first-child{border-radius:8px 0 0 8px}.chapter-tabs button:last-child{border-radius:0 8px 8px 0}.chapter-tabs button.active{color:#f0c66e;background:#2d2216;border-color:#2d2216}.chapter-layout{border:1px solid #a98d60;border-radius:7px 17px 17px 7px;grid-template-columns:1fr 340px;display:grid;overflow:hidden;box-shadow:-8px 11px #b9935833,0 25px 55px #3f2b1d22}.chapter-canvas{color:#fff;background:#1c160f;padding:25px}.canvas-bar{justify-content:space-between;align-items:center;display:flex}.canvas-bar span{color:#e0b457}.canvas-bar b{color:#cfbea1;font-size:.78rem}.chapter-notes{background:#f8f1e2;padding:30px}.chapter-notes h3{margin:12px 0;font:700 1.7rem Georgia,serif}.chapter-notes>p{color:#675945;line-height:1.65}.deep-note{background:#eadcc1;border-left:3px solid #956b2d;margin-top:20px;padding:14px}.deep-note p{margin:6px 0 0;font-size:.8rem;line-height:1.5}.experiment{color:#2d2115;text-align:left;background:#efe3cc;border:1px solid #ad946a;border-radius:7px;gap:10px;width:100%;margin-top:25px;padding:14px;display:flex}.experiment>svg{color:#9a6d28;flex:none;width:20px}.experiment span{flex-direction:column;gap:4px;display:flex}.experiment b{font-size:.85rem}.experiment small{color:#735f42;font-size:.72rem;line-height:1.45}.experiment.active{color:#fff;background:#3a2c1c;border-color:#d7a84b}.experiment.active small{color:#d6c4a5}.chapter-controls{gap:8px;margin-top:17px;display:flex}.chapter-controls button{color:#fff;background:#302418;border:1px solid #654f35;border-radius:7px;align-items:center;gap:7px;height:42px;padding:0 14px;display:flex}.chapter-controls button svg{width:15px}.chapter-controls .play{color:#251b10;background:#d7a84b;border-color:#d7a84b;font-weight:800}.chapter-timeline{grid-template-columns:repeat(6,1fr);gap:5px;margin-top:16px;display:grid}.chapter-timeline button{text-align:left;color:#5f5039;background:#f7f0df;border:1px solid #b39b72;min-height:70px;padding:9px}.chapter-timeline button span{color:#9a7a48;font:700 .65rem monospace}.chapter-timeline button b{margin-top:6px;font-size:.68rem;display:block}.chapter-timeline button.active{color:#fff;background:#392b1b;border-color:#d7a84b}.chapter-timeline button.active span{color:#e5b960}.viz{background:radial-gradient(circle at 50% 45%,#392b1c,#15100b 66%);border:1px solid #5d4931;border-radius:12px;min-height:390px;margin-top:15px;position:relative;overflow:hidden}.journey{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding:35px 20px;display:flex}.journey>div:not(.journey-token){z-index:2;background:#302519;border:1px solid #644f35;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:84px;min-height:76px;display:flex;position:relative}.journey>div.active{background:#503b20;border-color:#d7a84b;box-shadow:0 0 24px #d7a84b55}.journey span{color:#bea274;font:.6rem monospace}.journey b{margin-top:5px;font-size:.66rem}.journey i{color:#94723f;position:absolute;right:-14px}.journey-token{color:#251b10;left:calc(8% + (var(--step) / var(--count)) * 84%);place-items:center;transition:left .5s;top:23%;background:#d7a84b!important;border:0!important;border-radius:50%!important;width:38px!important;height:38px!important;min-height:0!important;display:grid!important;position:absolute!important}.journey-token svg{width:17px}.journey.changed .journey-token{animation:.8s infinite alternate lost;background:#d75f4b!important}@keyframes lost{to{opacity:.25;transform:translateY(30px)}}.cells{grid-template-columns:repeat(4,1fr);align-content:center;gap:10px;padding:40px;display:grid}.cells>div{background:#302519;border:1px solid #69543a;flex-direction:column;justify-content:center;align-items:center;height:95px;display:flex}.cells>div.active{background:#543e21;border-color:#d7a84b;transform:translateY(-7px);box-shadow:0 14px 30px #0006}.cells small{color:#aa8d60;font:.65rem monospace}.cells b{margin-top:8px}.cells.changed>div:nth-child(n+3){animation:.7s both shift}@keyframes shift{to{transform:translate(18px)}}.hash.changed>div:nth-child(4){background:#70352b;border-color:#e97864}.index.changed>div{animation:none!important}.index.changed>div:not(:first-child){opacity:.55;border-color:#ba5546}.stack-frames{flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:7px;padding:30px;display:flex}.stack-frames>div{background:#302519;border:1px solid #6b5437;grid-template-columns:80px 1fr;align-items:center;width:min(360px,90%);min-height:54px;padding:9px 15px;display:grid}.stack-frames span{color:#ae9164;font:.65rem monospace}.stack-frames small{color:#9b8b71;grid-column:2;font-size:.65rem}.stack-frames>div.active{background:#503b20;border-color:#d7a84b}.stack-frames.changed>div{border-color:#c04f40;animation:.35s infinite alternate overflow}@keyframes overflow{to{transform:translate(5px)}}.linked{justify-content:center;align-items:center;gap:16px;padding:35px;display:flex}.linked>div{background:#302519;border:1px solid #695238;justify-content:center;align-items:center;width:90px;height:70px;display:flex;position:relative}.linked svg{color:#d7a84b;position:absolute;right:-25px}.linked>div.active{background:#513b20;border-color:#d7a84b}.linked.changed>div:nth-child(3){opacity:.25;transform:translateY(60px)}.linked.changed>div:nth-child(2) svg{width:135px;transform:translate(100px)}.tree-viz>div{width:52px;height:52px;left:calc(50% + (var(--i) - 3) * 9%);top:calc(15% + abs(var(--i) - 3) * 14%);background:#302519;border:1px solid #745a39;border-radius:50%;place-items:center;display:grid;position:absolute}.tree-viz>div:first-child{top:12%;left:50%}.tree-viz>div:nth-child(2){top:42%;left:30%}.tree-viz>div:nth-child(3){top:42%;left:70%}.tree-viz>div:nth-child(4){top:75%;left:16%}.tree-viz>div:nth-child(5){top:75%;left:42%}.tree-viz>div:nth-child(6){top:75%;left:59%}.tree-viz>div:nth-child(7){top:75%;left:84%}.tree-viz>div.active{color:#20160d;background:#d7a84b;box-shadow:0 0 25px #d7a84b}.tree-viz.changed>div{border-radius:7px;margin:8px auto;position:relative;top:auto!important;left:auto!important}.scheduler{place-items:center;padding:40px;display:grid}.cpu{background:#503a20;border:2px solid #d7a84b;flex-direction:column;justify-content:center;align-items:center;width:180px;height:120px;display:flex;box-shadow:0 0 35px #d7a84b33}.cpu small{color:#d9b568;font:.65rem monospace}.cpu b{margin-top:10px}.runqueue{gap:8px;margin-top:20px;display:flex}.runqueue span{background:#302519;border:1px solid #695239;padding:11px}.runqueue span.active{color:#24180e;background:#d7a84b}.scheduler p{color:#ad9875}.scheduler.changed .cpu{animation:.3s infinite alternate context}@keyframes context{to{opacity:.65;transform:scale(.96)}}.chapter-shelf{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:40px;display:grid}.chapter-shelf>button{color:#2a1f13;text-align:left;background:#f8f1e2;border:1px solid #b49a70;border-radius:5px 14px 14px 5px;grid-template-columns:42px 1fr 24px;gap:12px;min-height:145px;padding:20px;display:grid;box-shadow:inset 5px 0 #d7a84b}.chapter-shelf>button:hover{transform:translateY(-2px);box-shadow:inset 5px 0 #d7a84b,0 12px 30px #50361d18}.chapter-shelf>button>span{color:#987340;font:700 .7rem monospace}.chapter-shelf>button div{flex-direction:column;display:flex}.chapter-shelf small{color:#8d6a36;text-transform:uppercase;font:700 .65rem monospace}.chapter-shelf b{margin-top:6px;font:700 1.12rem Georgia,serif}.chapter-shelf p{color:#74644d;margin:8px 0 0;font-size:.76rem;line-height:1.45}.more-concepts{border-top:1px solid #b9a27d;margin-top:35px}.more-concepts summary{cursor:pointer;color:#72552a;padding:20px 0;font-weight:800}.more-concepts .catalogue{margin-top:10px}@media (width<=900px){.chapter-layout{grid-template-columns:1fr}.chapter-timeline{grid-template-columns:repeat(3,1fr)}.chapter-shelf{grid-template-columns:1fr}}@media (width<=620px){.curated-chapter{padding:55px 14px}.chapter-header h2{font-size:2.6rem}.chapter-canvas,.chapter-notes{padding:18px}.chapter-timeline{grid-template-columns:repeat(2,1fr)}.viz{min-height:440px}.journey{align-content:center}.cells{grid-template-columns:repeat(2,1fr);padding:20px}.linked{flex-direction:column}.linked svg{bottom:-25px;right:auto;transform:rotate(90deg)}.linked.changed>div:nth-child(2) svg{display:none}.chapter-controls{flex-wrap:wrap}.chapter-controls button{flex:1}.chapter-shelf>button{grid-template-columns:32px 1fr 18px}}.curated-chapter{container-type:inline-size}.chapter-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);overflow:visible}.chapter-canvas,.chapter-notes{min-width:0}.chapter-canvas{border-radius:7px 0 0 7px}.chapter-notes{overflow-wrap:anywhere;word-break:normal;border-radius:0 17px 17px 0}.chapter-notes h3,.chapter-notes p,.experiment b,.experiment small{white-space:normal;max-width:100%}.canvas-bar{flex-wrap:wrap;gap:14px}.canvas-bar b{text-align:right;overflow-wrap:anywhere}.viz{overscroll-behavior:contain;contain:layout paint;width:100%;max-width:100%;overflow:auto}.journey{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));align-content:center;display:grid}.journey>div:not(.journey-token){width:auto;min-width:0}.linked{grid-template-columns:repeat(5,minmax(64px,1fr));align-content:center;display:grid}.linked>div{width:auto;min-width:0}.chapter-controls{flex-wrap:wrap}.chapter-timeline{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}@container (width<=980px){.chapter-layout{grid-template-columns:minmax(0,1fr)}.chapter-canvas{border-radius:7px 7px 0 0}.chapter-notes{border-top:1px solid #a98d60;border-radius:0 0 17px 17px}}@container (width<=620px){.linked{grid-template-columns:1fr;gap:28px;padding:28px}.linked svg{bottom:-26px;right:auto;transform:rotate(90deg)}.linked.changed>div:nth-child(2) svg{display:none}.journey{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px 16px}.journey-token{display:none!important}.chapter-controls button{flex:120px;justify-content:center}}
