:root{
  --bg:#080b0d;--bg2:#0c1115;--panel:#10171c;--panel2:#131c22;--line:#26333b;--line2:#1a242a;
  --text:#f3f6f7;--muted:#8798a2;--muted2:#b1bec5;--cyan:#5ee8e1;--blue:#61a9ff;--lime:#b8f45d;
  --amber:#ffbd59;--red:#ff6b66;--purple:#a989ff;--white:#fff;--radius:22px;--shadow:0 25px 80px rgba(0,0,0,.35)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:radial-gradient(circle at 74% 8%,rgba(94,232,225,.06),transparent 25%),linear-gradient(180deg,#070a0c 0%,#090d10 40%,#070a0c 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}
::selection{background:var(--cyan);color:#071011}
.noise{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.page-progress{position:fixed;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--cyan),var(--lime));z-index:1000}
.section-shell{width:min(1280px,calc(100% - 48px));margin:0 auto;position:relative;z-index:1}
.topbar{height:76px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1280px)/2));border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(18px);background:rgba(8,11,13,.83)}
.brand{display:flex;align-items:center;gap:11px}.brand>span:last-child{display:flex;align-items:baseline;gap:8px}.brand strong{font-size:20px;letter-spacing:-.06em}.brand small{font-size:10px;letter-spacing:.2em;color:var(--muted2);font-weight:800}
.brand-grid{width:26px;height:26px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(45deg)}.brand-grid i{border:1px solid var(--cyan);background:rgba(94,232,225,.05)}
.desktop-nav{display:flex;gap:26px}.desktop-nav a{font-size:12px;font-weight:700;color:var(--muted2);transition:.2s}.desktop-nav a:hover{color:var(--white)}
.top-actions{display:flex;align-items:center;gap:12px}.mode-toggle{height:34px;border:1px solid var(--line);border-radius:99px;background:#0d1418;padding:0 12px;display:flex;gap:8px;align-items:center;cursor:pointer}.mode-toggle b{font-size:9px;letter-spacing:.12em}.mode-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px var(--lime)}
.menu-btn{display:none;border:0;background:none;padding:10px;cursor:pointer}.menu-btn span{width:22px;height:1px;background:#fff;display:block;margin:5px}
.mobile-menu{position:fixed;top:76px;right:0;width:min(340px,90vw);bottom:0;background:#0a0f12;z-index:99;border-left:1px solid var(--line);padding:25px;display:flex;flex-direction:column;gap:0;transform:translateX(102%);transition:.25s}.mobile-menu.open{transform:none}.mobile-menu a{padding:18px 6px;border-bottom:1px solid var(--line);font-weight:800}
.boot{position:fixed;inset:0;background:#070a0c;z-index:2000;display:grid;place-content:center;text-align:center;transition:opacity .5s,visibility .5s}.boot.hide{opacity:0;visibility:hidden}.boot-mark{margin:auto;width:68px;height:68px;border:1px solid #36505a;display:grid;place-items:center;position:relative;transform:rotate(45deg)}.boot-mark span{transform:rotate(-45deg);font-weight:900;font-size:20px}.boot-mark i{position:absolute;inset:8px;border:1px solid var(--cyan);animation:pulse 1.1s infinite}.boot-line{width:180px;height:2px;background:#182126;margin:34px auto 12px;overflow:hidden}.boot-line b{display:block;height:100%;width:45%;background:var(--cyan);animation:load 1s linear infinite}.boot p{font-size:10px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
@keyframes load{from{transform:translateX(-120%)}to{transform:translateX(350%)}}@keyframes pulse{50%{opacity:.25;transform:scale(.9)}}

.hero{min-height:720px;display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:center;padding:74px 0 70px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--muted2);font-weight:800;display:flex;align-items:center;gap:10px}.eyebrow span{width:26px;height:1px;background:var(--cyan);box-shadow:0 0 10px rgba(94,232,225,.5)}
.hero h1,.section-heading h2,.decoder-intro h2,.library h2,.trouble-left h2,.finish h2{font-size:clamp(48px,5.7vw,86px);line-height:.92;letter-spacing:-.065em;margin:18px 0 25px;font-weight:750}.hero h1 em,.finish h2 em{font-style:normal;color:var(--cyan);font-weight:450}.hero-lede{font-size:17px;line-height:1.65;color:var(--muted2);max-width:560px}.hero-lede strong{color:#fff}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:32px}.primary-btn{background:var(--text);color:#071011;padding:14px 18px 14px 20px;border-radius:9px;font-size:12px;font-weight:900;letter-spacing:.03em}.primary-btn span{margin-left:24px}.text-btn{border:0;background:none;color:var(--muted2);font-size:12px;font-weight:750;cursor:pointer}.text-btn:hover{color:#fff}.text-btn span{color:var(--cyan)}
.term-stream{display:flex;flex-wrap:wrap;gap:6px;margin-top:35px}.term-stream span{border:1px solid #1b292f;border-radius:99px;padding:6px 9px;font-size:9px;color:#778993;background:#0a0f12}
.hero-machine{min-height:625px;border:1px solid #26343b;border-radius:28px;background:linear-gradient(145deg,#0f161a 0%,#0a0f12 65%);position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-machine:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.025) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.9%,rgba(255,255,255,.025) 50%,transparent 50.2%);background-size:36px 36px;pointer-events:none}.machine-titlebar{height:48px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line2);font-size:9px;letter-spacing:.18em;color:var(--muted)}.machine-titlebar b{color:var(--cyan)}.hero-machine svg{width:100%;display:block;padding:10px 10px 78px}.floor-grid path{stroke:#61737d;stroke-width:1;fill:none}.wire path{fill:none;stroke-width:2;stroke-dasharray:9 8;animation:dash 2.3s linear infinite}.signal-wire path{stroke:var(--cyan)}.power-wire path{stroke:var(--amber)}.network-wire path{stroke:var(--blue)}.safety-wire path{stroke:var(--red)}.arrow-signal{fill:var(--cyan)}.arrow-power{fill:var(--amber)}.arrow-safe{fill:var(--red)}@keyframes dash{to{stroke-dashoffset:-34}}
.machine-node{cursor:pointer;outline:none;transition:.2s}.machine-node rect,.machine-node circle{fill:#0b1115;stroke:#33434c;stroke-width:1.5}.machine-node text{fill:#b8c4ca;font-size:10px;font-weight:800;text-anchor:middle;letter-spacing:.08em}.machine-node path{fill:none;stroke:#71838d;stroke-width:2}.machine-node:hover rect,.machine-node:hover circle,.machine-node:focus rect,.machine-node:focus circle{stroke:var(--cyan);filter:url(#glow)}.node-power:hover rect{stroke:var(--amber)}.node-estop:hover circle{stroke:var(--red)}.node-sensor:hover rect{stroke:var(--cyan)}.node-drive:hover rect{stroke:var(--purple)}
.belt path,.belt circle,.belt rect{stroke:#41515a;fill:#10171b;stroke-width:2}.box-on-belt{animation:movebox 4s ease-in-out infinite}@keyframes movebox{50%{transform:translateX(50px)}}.legend text{fill:#6d7f89;font-size:8px;letter-spacing:.13em}.legend circle.lg-signal{fill:var(--cyan)}.legend circle.lg-power{fill:var(--amber)}.legend circle.lg-safe{fill:var(--red)}.legend circle.lg-network{fill:var(--blue)}
.machine-inspector{position:absolute;bottom:0;left:0;right:0;min-height:105px;border-top:1px solid var(--line2);background:rgba(8,12,15,.92);backdrop-filter:blur(12px);padding:16px 20px;display:grid;grid-template-columns:140px 1fr;gap:3px 18px;align-content:center}.machine-inspector small{font-size:8px;color:var(--cyan);letter-spacing:.14em;grid-row:1/3}.machine-inspector strong{font-size:14px}.machine-inspector p{margin:2px 0;color:var(--muted);font-size:11px;line-height:1.45}
.system-strip{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);display:grid;grid-template-columns:repeat(6,1fr);position:relative;z-index:1}.system-strip button{height:118px;border:0;border-right:1px solid var(--line2);background:rgba(10,15,18,.75);padding:20px;display:grid;text-align:left;grid-template-columns:34px 1fr;cursor:pointer;transition:.2s}.system-strip button:hover{background:#10181d}.system-strip b{font-size:10px;color:#4b626e}.system-strip span{font-size:13px;font-weight:900;letter-spacing:.08em}.system-strip small{grid-column:2;font-size:10px;color:var(--muted)}

.machine-map,.visual-lab,.paths,.brand-decoder,.drawings,.library,.troubleshoot,.finish{padding-top:130px;padding-bottom:130px}.section-heading h2,.decoder-intro h2,.library h2,.trouble-left h2,.finish h2{font-size:clamp(42px,5vw,68px)}.split-heading{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:70px}.split-heading>p{font-size:14px;line-height:1.7;color:var(--muted2);max-width:470px;margin-bottom:28px}.layer-console{display:grid;grid-template-columns:320px 1fr;min-height:560px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#0c1216;margin-top:38px;box-shadow:var(--shadow)}.layer-controls{border-right:1px solid var(--line);padding:15px;background:#0a0f12}.layer-controls button{width:100%;border:0;background:none;color:var(--muted2);padding:18px;border-radius:13px;display:grid;grid-template-columns:13px 1fr;gap:2px 12px;text-align:left;cursor:pointer;margin:2px 0}.layer-controls button i{width:7px;height:7px;border-radius:50%;margin-top:6px;background:#3c4b53}.layer-controls button b{font-size:13px}.layer-controls button span{grid-column:2;font-size:10px;color:#697a83}.layer-controls button.active{background:#111b20;color:#fff}.layer-controls button.active i{background:var(--cyan);box-shadow:0 0 15px var(--cyan)}.layer-stage{padding:34px;position:relative;overflow:hidden}
.layer-diagram{height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:22px}.layer-summary{display:flex;justify-content:space-between;align-items:flex-start}.layer-summary>div:first-child small{font-size:9px;letter-spacing:.14em;color:var(--cyan)}.layer-summary h3{font-size:30px;letter-spacing:-.04em;margin:5px 0 8px}.layer-summary p{font-size:12px;color:var(--muted2);max-width:560px;line-height:1.55}.layer-summary .mental-model{border:1px solid var(--line);padding:8px 10px;border-radius:8px;font-size:9px;color:var(--muted)}
.flow-track{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;align-items:center;position:relative;padding:20px 0}.flow-track:before{content:"";position:absolute;height:2px;left:8%;right:8%;top:50%;background:linear-gradient(90deg,#253640,var(--flow-color),#253640)}.flow-node{position:relative;z-index:1;aspect-ratio:1/1;max-width:125px;margin:auto;border:1px solid #34454e;border-radius:19px;background:#0e1519;display:grid;place-items:center;text-align:center;padding:14px;box-shadow:0 0 0 8px #0c1216}.flow-node strong{display:block;font-size:11px}.flow-node span{font-size:8px;color:var(--muted);margin-top:5px}.flow-node .icon{font-size:27px;margin-bottom:7px}.flow-node.hot{border-color:var(--flow-color);box-shadow:0 0 0 8px #0c1216,0 0 28px color-mix(in srgb,var(--flow-color) 18%,transparent)}.layer-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.layer-note{border-top:1px solid var(--line);padding-top:12px}.layer-note small{color:var(--muted);font-size:8px;letter-spacing:.12em}.layer-note p{margin:5px 0 0;font-size:10px;line-height:1.45;color:var(--muted2)}

.visual-lab{width:100%;max-width:none;background:linear-gradient(180deg,rgba(18,27,32,.75),rgba(8,11,13,.2));border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}.lab-tabs{display:flex;gap:4px;margin-top:30px;overflow:auto;padding-bottom:8px}.lab-tabs button{white-space:nowrap;border:1px solid var(--line);background:#0b1115;color:var(--muted2);padding:10px 13px;border-radius:8px;font-size:10px;font-weight:800;cursor:pointer}.lab-tabs button.active{background:#e9f1f3;color:#071011;border-color:#e9f1f3}.lab-stage{min-height:570px;border:1px solid var(--line);border-radius:24px;background:#090e11;margin-top:10px;overflow:hidden;box-shadow:var(--shadow)}.lab-layout{display:grid;grid-template-columns:1fr 330px;min-height:570px}.lab-main{padding:32px;position:relative;background:radial-gradient(circle at 50% 30%,rgba(94,232,225,.04),transparent 32%)}.lab-side{border-left:1px solid var(--line);padding:25px;background:#0c1216}.lab-kicker{font-size:9px;color:var(--cyan);letter-spacing:.15em;font-weight:800}.lab-side h3{font-size:26px;letter-spacing:-.04em;margin:8px 0 12px}.lab-side>p{font-size:11px;line-height:1.55;color:var(--muted2)}.lab-facts{margin-top:25px}.lab-fact{padding:13px 0;border-top:1px solid var(--line2)}.lab-fact small{font-size:8px;color:#60727c;letter-spacing:.1em}.lab-fact p{font-size:10px;line-height:1.45;margin:5px 0;color:var(--muted2)}.field-only{display:none}.field-mode .field-only{display:block}.field-mode .beginner-only{display:none}
/* ladder */
.ladder-sim{height:100%;display:grid;grid-template-rows:auto 1fr auto}.ladder-controls{display:flex;gap:8px;flex-wrap:wrap}.io-toggle{border:1px solid var(--line);background:#0e161a;padding:8px 11px;border-radius:8px;font-size:9px;cursor:pointer;display:flex;gap:8px;align-items:center}.io-toggle i{width:8px;height:8px;border-radius:50%;background:#36444b}.io-toggle.on i{background:var(--lime);box-shadow:0 0 10px var(--lime)}.ladder-canvas{margin:28px 0;border-left:4px solid #a8b3b8;border-right:4px solid #a8b3b8;display:flex;align-items:center;min-height:260px;position:relative}.rung{width:100%;height:120px;position:relative;display:flex;align-items:center;justify-content:space-around;padding:0 28px}.rung-wire{height:2px;background:#53646c;position:absolute;left:0;right:0;top:59px}.rung-wire.live{background:var(--lime);box-shadow:0 0 10px rgba(184,244,93,.45)}.contact,.coil{z-index:2;background:#090e11;min-width:95px;text-align:center;position:relative;padding:32px 4px 0}.contact-symbol{position:absolute;left:50%;top:18px;transform:translateX(-50%);width:52px;height:38px}.contact-symbol:before,.contact-symbol:after{content:"";position:absolute;top:2px;height:34px;width:2px;background:#b5c0c5}.contact-symbol:before{left:15px}.contact-symbol:after{right:15px}.contact.live .contact-symbol:before,.contact.live .contact-symbol:after,.coil.live .coil-symbol:before,.coil.live .coil-symbol:after{background:var(--lime);box-shadow:0 0 8px var(--lime)}.contact b,.coil b{font-size:9px}.contact small,.coil small{display:block;font-size:8px;color:#657680;margin-top:3px}.coil-symbol{position:absolute;left:50%;top:18px;transform:translateX(-50%);width:52px;height:36px}.coil-symbol:before{content:"(";position:absolute;left:2px;font-size:34px;line-height:32px;color:#b5c0c5}.coil-symbol:after{content:")";position:absolute;right:2px;font-size:34px;line-height:32px;color:#b5c0c5}.logic-result{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;align-items:center}.logic-result span{font-size:10px;color:var(--muted)}.logic-result strong{font-size:12px}.logic-result strong.on{color:var(--lime)}
/* rack */
.rack-wrap{height:100%;display:grid;place-content:center}.rack-chassis{display:flex;align-items:stretch;padding:18px;background:#171d20;border:1px solid #4b5a61;border-radius:10px;box-shadow:0 18px 40px #000;position:relative}.rack-chassis:after{content:"EXAMPLE CHASSIS — SLOT LAYOUTS VARY";position:absolute;bottom:-30px;left:0;font-size:8px;letter-spacing:.14em;color:#56666e}.rack-module{width:62px;height:245px;border:1px solid #56666f;border-right:0;background:linear-gradient(90deg,#262f34,#171d20);position:relative;cursor:pointer;transition:.18s}.rack-module:last-child{border-right:1px solid #56666f}.rack-module:hover,.rack-module.active{transform:translateY(-7px);border-color:var(--cyan);z-index:2}.rack-module .slot{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:8px;color:#82929a}.rack-module b{writing-mode:vertical-rl;transform:rotate(180deg);position:absolute;bottom:13px;left:13px;font-size:9px;letter-spacing:.08em}.rack-module i{position:absolute;top:17px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}.rack-module .ports{position:absolute;top:45px;left:10px;right:10px;height:65px;border:1px solid #4f5e65;background:#0a0d0e}.rack-module .ports:after{content:"";position:absolute;left:7px;right:7px;top:12px;height:9px;border:1px solid #54646c;box-shadow:0 16px 0 -1px #0a0d0e,0 16px 0 0 #54646c,0 32px 0 -1px #0a0d0e,0 32px 0 0 #54646c}.rack-module.cpu{width:78px}.rack-module.cpu .ports{height:92px}.rack-module.net .ports{background:linear-gradient(#0a0d0e 0 45%,#17272d 45% 55%,#0a0d0e 55%)}
/* VFD */
.vfd-visual{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.vfd-block{border:1px solid #465761;border-radius:18px;background:#11191d;padding:24px;max-width:300px;margin:auto;box-shadow:0 25px 45px rgba(0,0,0,.35)}.vfd-screen{height:66px;background:#0d1c15;border:1px solid #45604f;border-radius:5px;padding:12px;color:#b9ffae;font-family:ui-monospace,monospace}.vfd-screen small{display:block;font-size:8px;color:#6da36b}.vfd-screen strong{font-size:24px}.vfd-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.vfd-buttons i{height:22px;border:1px solid #3a464d;border-radius:3px}.vfd-gauge{display:grid;place-items:center}.gauge-ring{width:220px;height:220px;border-radius:50%;background:conic-gradient(var(--cyan) calc(var(--pct)*1%),#1b272d 0);display:grid;place-items:center;position:relative}.gauge-ring:after{content:"";width:177px;height:177px;background:#090e11;border-radius:50%;position:absolute}.gauge-ring div{position:relative;z-index:2;text-align:center}.gauge-ring b{font-size:40px;letter-spacing:-.06em}.gauge-ring span{display:block;color:var(--muted);font-size:9px}.range{width:100%;accent-color:var(--cyan);margin-top:22px}
/* servo */
.servo-loop{height:100%;display:grid;place-items:center}.servo-diagram{width:min(620px,100%);position:relative}.servo-row{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;align-items:center}.servo-box{border:1px solid var(--line);min-height:92px;border-radius:15px;padding:16px;display:grid;place-items:center;text-align:center;position:relative;background:#0d1418}.servo-box:after{content:"→";position:absolute;right:-23px;color:#60737d}.servo-box:last-child:after{display:none}.servo-box b{font-size:11px}.servo-box small{font-size:8px;color:var(--muted);margin-top:4px}.feedback-line{height:90px;margin:0 11%;border-left:1px solid var(--blue);border-bottom:1px solid var(--blue);border-right:1px solid var(--blue);position:relative}.feedback-line:before{content:"FEEDBACK: actual position / speed";position:absolute;bottom:7px;left:50%;transform:translateX(-50%);font-size:8px;color:var(--blue);white-space:nowrap}.servo-target{display:flex;align-items:center;gap:14px;margin-top:30px}.servo-target input{flex:1;accent-color:var(--purple)}.servo-position{width:100%;height:42px;border:1px solid var(--line);border-radius:99px;position:relative;margin-top:20px}.servo-position i{position:absolute;top:5px;bottom:5px;width:32px;background:var(--purple);border-radius:50%;left:calc(var(--servo-pos)*1% - 16px);box-shadow:0 0 22px rgba(169,137,255,.45);transition:left .2s}
/* analog */
.analog-vis{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.tank{width:200px;height:300px;border:3px solid #53666f;border-top:0;border-radius:0 0 25px 25px;position:relative;margin:auto;overflow:hidden}.tank-water{position:absolute;bottom:0;left:0;right:0;height:calc(var(--level)*1%);background:linear-gradient(180deg,rgba(97,169,255,.65),rgba(97,169,255,.18));transition:.2s}.tank-scale{position:absolute;right:12px;top:15px;bottom:15px;border-right:1px solid #7f9098}.tank-scale:before{content:"100%";position:absolute;right:8px;top:-3px;font-size:8px;color:#8fa0a8}.tank-scale:after{content:"0%";position:absolute;right:8px;bottom:-3px;font-size:8px;color:#8fa0a8}.signal-meter{border:1px solid var(--line);border-radius:20px;padding:25px}.signal-meter h4{font-size:11px;color:var(--muted);margin:0 0 10px}.signal-meter strong{font-size:45px;letter-spacing:-.06em}.signal-meter strong span{font-size:14px;color:var(--muted)}.signal-bar{height:8px;border-radius:99px;background:#1b282f;margin:18px 0;overflow:hidden}.signal-bar i{display:block;height:100%;width:var(--signal-pct);background:linear-gradient(90deg,var(--blue),var(--cyan))}.signal-meter p{font-size:10px;color:var(--muted2);line-height:1.5}.signal-meter input{accent-color:var(--blue);width:100%}
/* network */
.network-vis{height:100%;display:grid;place-items:center}.topology{width:min(660px,100%);height:350px;position:relative}.net-node{position:absolute;width:106px;height:66px;border:1px solid var(--line);border-radius:12px;background:#0d1418;display:grid;place-items:center;text-align:center;z-index:2}.net-node b{font-size:9px}.net-node small{font-size:7px;color:var(--muted)}.net-node.controller{left:calc(50% - 53px);top:20px;border-color:var(--cyan)}.net-node.switch{left:calc(50% - 53px);top:145px;border-color:var(--blue)}.net-node.io{left:20px;bottom:20px}.net-node.vfdn{left:calc(50% - 53px);bottom:20px}.net-node.hmi{right:20px;bottom:20px}.net-line{position:absolute;height:1px;background:var(--blue);transform-origin:left;z-index:1}.n1{left:50%;top:86px;width:60px;transform:rotate(90deg)}.n2{left:50%;top:211px;width:230px;transform:rotate(154deg)}.n3{left:50%;top:211px;width:90px;transform:rotate(90deg)}.n4{left:50%;top:211px;width:230px;transform:rotate(26deg)}.packet{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);z-index:3;animation:packet 3.5s infinite}.packet.p1{left:50%;top:78px;animation-name:packet1}.packet.p2{left:50%;top:203px;animation-delay:1.2s;animation-name:packet2}@keyframes packet1{0%{transform:translateY(0)}45%,100%{transform:translateY(130px)}}@keyframes packet2{0%{transform:translate(0,0)}55%,100%{transform:translate(190px,105px)}}
/* safety */
.safety-vis{height:100%;display:grid;align-content:center}.safety-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}.safety-chain:before{content:"";position:absolute;left:8%;right:8%;top:48%;height:2px;background:var(--red)}.safe-box{z-index:2;border:1px solid #61403e;background:#151112;min-height:150px;border-radius:17px;padding:20px;display:grid;place-content:center;text-align:center;box-shadow:0 0 0 10px #090e11}.safe-box i{font-style:normal;font-size:29px}.safe-box b{font-size:10px;margin-top:8px}.safe-box small{font-size:8px;color:#a98480;margin-top:5px}.safe-test{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:36px}.safe-test button{border:1px solid #64413f;background:#1b1213;border-radius:8px;padding:10px 14px;font-size:9px;cursor:pointer}.safe-status{font-size:10px;color:var(--lime)}.safe-status.trip{color:var(--red)}

.path-rail{margin-top:45px;border-top:1px solid var(--line)}.path-row{display:grid;grid-template-columns:90px 1.15fr 1.8fr 30px;align-items:center;min-height:112px;border-bottom:1px solid var(--line2);gap:20px;cursor:pointer;transition:.2s}.path-row:hover{background:linear-gradient(90deg,rgba(94,232,225,.04),transparent)}.path-num{font-size:10px;color:#4e626c}.path-name{font-size:20px;font-weight:800;letter-spacing:-.025em}.path-topics{display:flex;gap:7px;flex-wrap:wrap}.path-topics span{font-size:9px;border:1px solid var(--line);border-radius:99px;padding:5px 8px;color:var(--muted2)}.path-arrow{color:var(--cyan)}
.brand-decoder{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.decoder-intro{position:sticky;top:110px;align-self:start}.decoder-intro p{font-size:13px;line-height:1.65;color:var(--muted2)}.decoder-board{border-top:1px solid var(--line)}.decode-row{display:grid;grid-template-columns:1fr 32px 1.2fr;gap:15px;min-height:110px;align-items:center;border-bottom:1px solid var(--line2)}.decode-row .product{font-size:16px;font-weight:850}.decode-row .product small{display:block;font-size:8px;color:var(--muted);margin-top:4px;letter-spacing:.08em}.decode-row .equals{color:#50636c;text-align:center}.decode-row .meaning b{font-size:12px;color:var(--cyan)}.decode-row .meaning p{font-size:10px;color:var(--muted2);margin:4px 0;line-height:1.45}

.drawing-workbench{display:grid;grid-template-columns:1fr 300px;border:1px solid var(--line);border-radius:24px;overflow:hidden;margin-top:35px;min-height:520px;background:#0c1216}.drawing-canvas{padding:30px;background:#f0eee7;color:#192126;position:relative;overflow:hidden}.drawing-canvas:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(29,47,58,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(29,47,58,.08) 1px,transparent 1px);background-size:20px 20px}.blueprint{position:relative;z-index:1;height:100%;border:2px solid #2d3a41;padding:18px}.bp-title{display:flex;justify-content:space-between;border-bottom:1px solid #617179;padding-bottom:10px;font-size:10px;font-weight:800}.bp-rung{display:flex;align-items:center;min-height:130px;border-left:3px solid #1d2529;border-right:3px solid #1d2529;position:relative}.bp-rung:before{content:"";position:absolute;left:0;right:0;height:2px;background:#28343a}.bp-symbol{position:relative;z-index:2;background:#f0eee7;margin:auto;text-align:center;padding:0 11px;cursor:pointer}.bp-symbol svg{width:64px;height:46px;display:block;margin:auto}.bp-symbol b{font-size:9px;display:block}.bp-footer{position:absolute;bottom:18px;right:18px;width:240px;border:1px solid #45555d;font-size:8px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px}.symbol-tray{border-left:1px solid var(--line);padding:17px;background:#0a0f12}.symbol-tray h3{font-size:11px;letter-spacing:.1em;color:var(--muted);padding:5px 8px}.symbol-card{border-top:1px solid var(--line2);padding:13px 8px;cursor:pointer}.symbol-card:hover{background:#10171b}.symbol-card b{font-size:11px}.symbol-card small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.symbol-card.active b{color:var(--cyan)}

.library{padding-top:150px}.library-head{display:grid;grid-template-columns:1fr 520px;align-items:end;gap:30px}.search-wrap{height:58px;border:1px solid #3a4a53;background:#0c1216;border-radius:12px;display:flex;align-items:center;padding:0 15px;gap:10px}.search-wrap>span{font-size:22px;color:var(--cyan)}.search-wrap input{flex:1;background:none;border:0;outline:0;color:#fff;font-size:13px}.search-wrap input::placeholder{color:#657780}.search-wrap kbd{font-size:9px;border:1px solid #42535c;border-radius:5px;padding:3px 6px;color:#768991;background:#111a1f}.filter-row{display:flex;gap:6px;flex-wrap:wrap;margin:28px 0 14px}.filter-row button{border:1px solid var(--line);background:#0c1216;color:var(--muted2);padding:7px 10px;border-radius:99px;font-size:9px;font-weight:750;cursor:pointer}.filter-row button.active{color:#081012;background:var(--cyan);border-color:var(--cyan)}.library-stats{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 2px 12px}.library-stats span{font-size:10px;color:var(--cyan);font-weight:800}.library-stats small{color:var(--muted);font-size:9px}.term-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line2)}.term-card{min-height:180px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:22px;cursor:pointer;position:relative;transition:.2s;background:rgba(10,14,17,.2)}.term-card:hover{background:#0e161a}.term-card .cat{font-size:8px;letter-spacing:.12em;color:#657781;text-transform:uppercase}.term-card h3{font-size:19px;letter-spacing:-.025em;margin:13px 0 8px}.term-card p{font-size:10px;line-height:1.52;color:var(--muted2);margin:0;max-width:90%}.term-card .arrow{position:absolute;right:18px;bottom:18px;color:#4e626d}.term-card:hover .arrow{color:var(--cyan);transform:translate(2px,-2px)}

.troubleshoot{width:100%;max-width:none;background:#0d1215;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}.trouble-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.trouble-left p{font-size:13px;line-height:1.65;color:var(--muted2)}.safety-note{border:1px solid #4d3433;background:rgba(255,107,102,.04);border-radius:12px;padding:14px;margin-top:30px}.safety-note b{font-size:9px;color:var(--red);display:block;margin-bottom:5px}.safety-note span{font-size:9px;line-height:1.45;color:#ad9190}.trouble-right{border-top:1px solid var(--line)}.trouble-step{display:grid;grid-template-columns:42px 1fr 90px;gap:12px;align-items:start;border-bottom:1px solid var(--line2);padding:18px 0}.trouble-step>span{font-size:10px;color:#50636c}.trouble-step b{font-size:12px}.trouble-step p{font-size:10px;color:var(--muted2);line-height:1.45;margin:5px 0}.trouble-step small{font-size:8px;color:var(--cyan);text-align:right;letter-spacing:.08em}
.finish{padding-bottom:80px}.finish-grid{border-top:1px solid var(--line);padding-top:30px;display:grid;grid-template-columns:1fr .65fr;gap:70px}.finish-grid small{font-size:9px;color:var(--cyan);letter-spacing:.15em}.finish-grid p{font-size:13px;line-height:1.65;color:var(--muted2);align-self:center}.finish-flow{margin-top:50px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);height:90px;display:flex;align-items:center;justify-content:space-around;gap:12px;overflow:auto}.finish-flow span{font-size:11px;font-weight:900;letter-spacing:.1em;white-space:nowrap}.finish-flow i{color:#4b5f69;font-style:normal}
footer{min-height:90px;border-top:1px solid var(--line2);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1280px)/2));color:#63757e;font-size:9px;letter-spacing:.08em;position:relative;z-index:1}footer button{border:0;background:none;color:#8da0a8;font-size:9px;cursor:pointer}
.modal{width:min(720px,calc(100% - 30px));max-height:85vh;border:1px solid #3b4b53;border-radius:20px;background:#0d1317;color:#fff;padding:0;box-shadow:0 30px 100px #000}.modal::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(7px)}.modal-close{position:sticky;float:right;top:15px;margin:15px 15px 0 0;width:34px;height:34px;border:1px solid var(--line);background:#11191d;border-radius:50%;z-index:2;cursor:pointer}.modal-content{padding:38px}.modal-content .cat{font-size:9px;letter-spacing:.15em;color:var(--cyan)}.modal-content h2{font-size:40px;letter-spacing:-.05em;margin:8px 0 12px}.modal-content .plain{font-size:16px;line-height:1.55;color:#d2dbe0;margin:0 0 28px}.modal-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-section{border:1px solid var(--line);border-radius:13px;padding:15px;background:#0a0f12}.modal-section b{font-size:9px;color:#71848e;letter-spacing:.1em}.modal-section p{font-size:10px;line-height:1.5;color:var(--muted2);margin:6px 0}.modal-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px}.modal-tags span{font-size:8px;padding:5px 7px;border:1px solid var(--line);border-radius:99px;color:#8799a2}.source-list{margin-top:25px;border-top:1px solid var(--line)}.source-list a{display:block;padding:12px 0;border-bottom:1px solid var(--line2);font-size:10px;color:var(--muted2)}.source-list a:hover{color:var(--cyan)}

@media(max-width:1000px){.desktop-nav{display:none}.menu-btn{display:block}.hero{grid-template-columns:1fr;padding-top:55px}.hero-machine{min-height:auto}.system-strip{grid-template-columns:repeat(3,1fr)}.layer-console{grid-template-columns:240px 1fr}.lab-layout{grid-template-columns:1fr}.lab-side{border-left:0;border-top:1px solid var(--line)}.brand-decoder{grid-template-columns:1fr}.decoder-intro{position:relative;top:auto}.drawing-workbench{grid-template-columns:1fr}.symbol-tray{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.symbol-tray h3{grid-column:1/-1}.library-head{grid-template-columns:1fr}.search-wrap{max-width:600px}.term-grid{grid-template-columns:repeat(2,1fr)}.trouble-wrap{grid-template-columns:1fr}.trouble-right{margin-top:10px}}
@media(max-width:680px){.section-shell{width:min(100% - 28px,1280px)}.topbar{height:66px;padding:0 14px}.mobile-menu{top:66px}.brand small{display:none}.mode-toggle{padding:0 9px}.mode-toggle b{font-size:8px}.hero{min-height:0;padding:55px 0}.hero h1{font-size:54px}.hero-lede{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-machine{border-radius:18px}.hero-machine svg{padding:5px 0 110px}.machine-inspector{grid-template-columns:1fr;padding:13px}.machine-inspector small{grid-row:auto}.system-strip{grid-template-columns:repeat(2,1fr)}.system-strip button{height:88px;padding:14px}.machine-map,.visual-lab,.paths,.brand-decoder,.drawings,.library,.troubleshoot,.finish{padding-top:90px;padding-bottom:90px}.split-heading{grid-template-columns:1fr;gap:5px}.layer-console{grid-template-columns:1fr}.layer-controls{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto}.layer-controls button{min-width:170px}.layer-stage{padding:18px}.flow-track{grid-template-columns:1fr;gap:8px}.flow-track:before{left:50%;right:auto;top:8%;bottom:8%;height:auto;width:2px}.flow-node{width:100px}.layer-notes{grid-template-columns:1fr}.layer-summary{display:block}.mental-model{display:inline-block;margin-top:8px}.visual-lab{padding-left:14px;padding-right:14px}.lab-main{padding:18px;min-height:470px}.lab-side{padding:20px}.ladder-canvas{min-height:340px;overflow:auto}.rung{min-width:560px}.rack-wrap{overflow:auto;display:block;padding-top:60px}.rack-chassis{width:max-content}.vfd-visual,.analog-vis{grid-template-columns:1fr}.vfd-block{display:none}.gauge-ring{width:180px;height:180px}.gauge-ring:after{width:143px;height:143px}.servo-row{grid-template-columns:1fr 1fr}.servo-box:nth-child(2):after{display:none}.feedback-line{display:none}.safety-chain{grid-template-columns:1fr 1fr;gap:16px}.safety-chain:before{display:none}.safe-box{min-height:120px}.path-row{grid-template-columns:45px 1fr 20px;padding:15px 0}.path-topics{grid-column:2}.decode-row{grid-template-columns:1fr 25px 1.2fr}.drawing-canvas{padding:12px;min-height:470px}.bp-footer{width:180px}.symbol-tray{grid-template-columns:1fr 1fr}.term-grid{grid-template-columns:1fr}.library-stats small{display:none}.term-card{min-height:145px}.trouble-step{grid-template-columns:32px 1fr}.trouble-step small{grid-column:2;text-align:left}.finish-grid{grid-template-columns:1fr}.finish-flow{justify-content:flex-start;padding:0 15px}.modal-sections{grid-template-columns:1fr}.modal-content{padding:30px 20px}.modal-content h2{font-size:34px}footer{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:20px 14px}}


/* V2 readability + explanation pass */
:root{--readable:#b9c7ce;--readable2:#d2dce1}
body{font-size:16px}
.desktop-nav a{font-size:13px}
.eyebrow{font-size:11px}
.hero-lede{font-size:18px;line-height:1.68}
.term-stream span{font-size:11px;padding:7px 10px}
.machine-titlebar{font-size:10px}
.machine-inspector small{font-size:10px}
.machine-inspector strong{font-size:16px}
.machine-inspector p{font-size:13px;line-height:1.55;color:var(--readable)}
.system-strip span{font-size:14px}
.system-strip small{font-size:12px}
.split-heading>p{font-size:16px;line-height:1.65;color:var(--readable)}
.layer-controls button b{font-size:14px}
.layer-controls button span{font-size:12px;line-height:1.35}
.layer-summary>div:first-child small{font-size:10px}
.layer-summary p{font-size:14px;line-height:1.62;color:var(--readable)}
.layer-summary .mental-model{font-size:10px}
.flow-node strong{font-size:12px}
.flow-node span{font-size:10px;line-height:1.25}
.layer-note small{font-size:9px}
.layer-note p{font-size:12px;line-height:1.55;color:var(--readable)}
.lab-tabs button{font-size:12px;padding:11px 15px}
.lab-kicker{font-size:10px}
.lab-side h3{font-size:28px}
.lab-side>p{font-size:14px;line-height:1.62;color:var(--readable2)}
.lab-fact small{font-size:9px}
.lab-fact p{font-size:12px;line-height:1.55;color:var(--readable)}
.io-toggle{font-size:11px}
.signal-meter p,.vfd-readout p{font-size:12px;line-height:1.55}
.servo-box b{font-size:12px}.servo-box small{font-size:10px}
.safe-box b{font-size:11px}.safe-box small{font-size:10px}
.safe-test button,.safe-status{font-size:11px}

/* Learning path: less empty runway, more actual teaching */
.paths{padding-top:105px;padding-bottom:105px}
.path-rail{margin-top:34px;border-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.path-card{min-height:310px;border:1px solid var(--line);border-radius:18px;background:#0b1115;color:var(--text);padding:22px;text-align:left;cursor:pointer;display:flex;flex-direction:column;transition:.2s}
.path-card:hover{background:#10191e;border-color:#35505a;transform:translateY(-2px)}
.path-card-top{display:flex;justify-content:space-between;align-items:center}
.path-card h3{font-size:23px;letter-spacing:-.035em;margin:18px 0 9px}
.path-card .path-num{font-size:11px;color:var(--cyan);font-weight:800;letter-spacing:.12em}
.path-card .path-arrow{color:var(--cyan);font-size:16px}
.path-idea{font-size:13px;line-height:1.55;color:var(--readable);margin:0 0 18px}
.path-can{border-top:1px solid var(--line2);padding-top:14px;margin-top:auto}
.path-can small{display:block;font-size:9px;line-height:1.35;letter-spacing:.1em;color:#6f858f;font-weight:850;margin-bottom:6px}
.path-can p{font-size:12px;line-height:1.5;color:#d0d9de;margin:0}
.path-topics{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.path-topics span{font-size:10px;border:1px solid var(--line);border-radius:99px;padding:5px 8px;color:#9eafb7}

/* Decoder + drawing copy */
.decoder-intro p{font-size:15px;line-height:1.65;color:var(--readable)}
.decode-row .product{font-size:17px}
.decode-row .product small{font-size:10px}
.decode-row .meaning b{font-size:13px}
.decode-row .meaning p{font-size:12px;line-height:1.55;color:var(--readable)}
.bp-title{font-size:11px}.bp-symbol b{font-size:10px}.bp-footer{font-size:9px}
.symbol-tray h3{font-size:12px}.symbol-card b{font-size:12px}.symbol-card small{font-size:11px;line-height:1.35}

/* Library cards now answer "what is it?" + "why do I care?" before opening */
.search-wrap input{font-size:15px}
.filter-row button{font-size:11px;padding:8px 11px}
.library-stats span{font-size:11px}.library-stats small{font-size:11px}
.term-card{min-height:235px;padding:24px}
.term-card .cat{font-size:9px}
.term-card h3{font-size:21px;margin:13px 0 9px}
.term-card>p{font-size:13px;line-height:1.55;color:var(--readable);max-width:95%}
.term-job{border-top:1px solid var(--line2);margin-top:15px;padding-top:12px;display:grid;gap:4px;padding-right:22px}
.term-job b{font-size:8px;letter-spacing:.12em;color:var(--cyan)}
.term-job span{font-size:11px;line-height:1.45;color:#8fa2ab}

/* Troubleshooting */
.trouble-left p{font-size:15px;line-height:1.65;color:var(--readable)}
.safety-note b{font-size:10px}.safety-note span{font-size:11px;line-height:1.5}
.trouble-step>span{font-size:11px}.trouble-step b{font-size:14px}.trouble-step p{font-size:12px;line-height:1.55;color:var(--readable)}
.trouble-step small{font-size:9px}

/* Modals are the deeper explanation layer, so they should feel like reading, not fine print */
.modal{width:min(780px,calc(100% - 30px))}
.modal-content{padding:42px}
.modal-content .cat{font-size:10px}
.modal-content h2{font-size:43px}
.modal-content .plain{font-size:18px;line-height:1.62;color:#dce4e8}
.term-explain,.modal-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.term-explain .wide{grid-column:1/-1}
.modal-section{padding:17px}
.modal-section b{font-size:10px;line-height:1.35}
.modal-section p{font-size:13px;line-height:1.58;color:var(--readable);margin:8px 0 0}
.modal-tags span{font-size:10px;padding:6px 9px}
.source-list a{font-size:12px;line-height:1.4}
.finish-grid p{font-size:15px;line-height:1.65;color:var(--readable)}
footer{font-size:10px}footer button{font-size:10px}

@media(max-width:1000px){
  .path-rail{grid-template-columns:1fr}
  .path-card{min-height:0}
}
@media(max-width:680px){
  .hero-lede{font-size:16px}
  .split-heading>p{font-size:14px}
  .layer-summary p,.lab-side>p{font-size:13px}
  .term-card{min-height:0}
  .term-card>p{font-size:13px}
  .term-job span{font-size:11px}
  .modal-content{padding:32px 22px}
  .modal-content .plain{font-size:16px}
  .term-explain,.modal-sections{grid-template-columns:1fr}
  .term-explain .wide{grid-column:auto}
  .modal-section p{font-size:13px}
}
