@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#080d12;--panel:#111922;--panel2:#16212b;--line:#283540;--muted:#84929e;--ink:#e8edf0;--amber:#e89b49;--amber2:#ffbc74;--teal:#65d7c6;--red:#f3817c;--mono:'DM Mono',monospace;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:3px}::selection{background:var(--amber);color:var(--bg)}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.grain{pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.94' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}.announcement{height:31px;background:#e5a563;color:#101419;padding:0 max(48px,calc((100vw - 1320px)/2));display:flex;align-items:center;gap:10px;font:500 10px var(--mono);letter-spacing:1px}.announcement .status-dot{background:#101419}.announcement-right{margin-left:auto}.announcement-bar{opacity:.4}.status-dot,.live-dot,.machine-led{display:inline-block;width:6px;height:6px;background:var(--amber);border-radius:50%;box-shadow:0 0 10px #d78f50}.site-header{height:82px;width:min(1420px,100%);padding:0 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);position:relative;z-index:22}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-emblem{width:43px;height:43px;border:1px solid var(--amber);display:flex;align-items:center;justify-content:center;font:700 21px var(--sans);color:var(--amber);letter-spacing:-3px;transform:skew(-8deg)}.brand-emblem span{font-size:16px;align-self:flex-end;margin-bottom:6px}.brand-text{font-size:20px;font-weight:800;letter-spacing:-1.2px;line-height:1}.brand-text>span{color:var(--amber)}.brand-text small{font:400 7px var(--mono);color:var(--muted);display:block;letter-spacing:1.1px;margin-top:8px}.main-nav{display:flex;gap:27px}.main-nav a,.top-cta{font:500 10px var(--mono);letter-spacing:.75px;white-space:nowrap}.main-nav a{color:#abb8c1;transition:color .2s}.main-nav a:hover{color:var(--amber)}.top-cta{border:1px solid var(--line);padding:14px 16px;transition:background .2s}.top-cta:hover{background:var(--panel2)}.top-cta span{color:var(--amber);margin-left:9px}.nav-toggle{display:none}.hero{min-height:630px;display:grid;grid-template-columns:48% 52%;align-items:center;position:relative;padding-top:65px;padding-bottom:82px;gap:0}.hero-copy{position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--amber);font:500 10px var(--mono);letter-spacing:1.3px}.eyebrow-line{height:1px;width:26px;background:var(--amber)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(58px,6.1vw,102px);line-height:1.05;letter-spacing:-7px;font-weight:800;margin:26px 0 30px}h1 em,h2 em{font-style:normal;color:var(--amber)}.hero-lede{color:#aab6bf;font-size:16px;line-height:1.9;max-width:485px}.hero-actions{display:flex;gap:12px;margin-top:37px;flex-wrap:wrap}.btn{min-height:48px;padding:0 21px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font:500 11px var(--mono);letter-spacing:.3px;transition:transform .2s,background .2s,border .2s}.btn:hover{transform:translateY(-2px)}.btn.primary{color:#0b1016;background:var(--amber)}.btn.primary:hover{background:var(--amber2)}.btn.secondary{border:1px solid var(--line);background:#101820;color:var(--ink)}.btn span{font-size:17px}.hero-meta{display:flex;gap:42px;margin-top:64px}.hero-meta div{display:flex;flex-direction:column;gap:6px}.hero-meta strong{font-size:29px;font-weight:500;letter-spacing:-1px}.hero-meta small{color:var(--muted);font:400 9px var(--mono);letter-spacing:1px}.hero-art{height:500px;position:relative;margin-left:-14px;isolation:isolate}.hero-art img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;filter:none;mask-image:none}.hero-glow{position:absolute;z-index:-1;width:75%;height:60%;top:13%;left:14%;border-radius:50%;background:radial-gradient(ellipse,#b6663433,transparent 72%);filter:blur(20px)}.hero-corner{position:absolute;width:27px;height:27px;pointer-events:none;z-index:2}.hero-corner.top-left{top:20px;left:20px;border-left:1px solid #53616b;border-top:1px solid #53616b}.hero-corner.bottom-right{right:20px;bottom:20px;border-right:1px solid #53616b;border-bottom:1px solid #53616b}.hero-art-index{position:absolute;bottom:20px;left:32px;font:10px var(--mono);color:#b0bec7;letter-spacing:1px}.hero-side-note{position:absolute;bottom:33px;right:0;color:#7c8b94;font:10px var(--mono);letter-spacing:1px}.hero-side-note span{margin-left:10px;color:var(--amber)}.section-divider{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;font:10px var(--mono);color:#718490;letter-spacing:1px}.section-divider span:first-child{color:var(--amber)}.explorer-section,.sim-section,.features-section{padding-top:83px;padding-bottom:124px}.section-intro{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:42px}.section-intro h2,.future-inner h2,.interest-section h2{font-size:clamp(40px,4.5vw,69px);letter-spacing:-4px;line-height:1.12;margin:18px 0 0;font-weight:750}.section-intro p{max-width:357px;color:#9daeb9;line-height:1.9;font-size:14px;margin-bottom:6px}.eyebrow.light{color:#a5b3be;font-size:10px}.viewer-panel{display:grid;grid-template-columns:minmax(0,1fr) 270px;border:1px solid var(--line);min-height:550px}.viewer-main{background:radial-gradient(ellipse 60% 70% at 50% 43%,#21303a,#0c141b 73%);position:relative;overflow:hidden;min-width:0;min-height:550px}.viewer-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse,black 8%,transparent 85%)}#viewer-fallback{position:absolute;width:100%;height:100%;object-fit:contain;opacity:.84;pointer-events:none}#viewer-container{position:absolute;inset:0;z-index:1}#viewer-container canvas{display:block;width:100%!important;height:100%!important}.viewer-topline,.viewer-bottomline{position:absolute;left:26px;right:26px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;pointer-events:none;font:9px var(--mono);letter-spacing:.7px}.viewer-topline{top:24px}.viewer-bottomline{bottom:22px;color:#a2b0b8}.viewer-tag{display:flex;align-items:center;gap:9px;color:#e1e7eb}.viewer-meta{color:#8394a1}.viewer-sidebar{background:#0f171e;border-left:1px solid var(--line);padding:27px 23px;display:flex;flex-direction:column}.side-heading{display:flex;justify-content:space-between;font:11px var(--mono);color:#e5ebef}.side-heading span:last-child{color:var(--amber)}.subtle{color:#9caab3;font-size:12px;line-height:1.8;margin:19px 0 25px}.viewer-controls{border-top:1px solid var(--line)}.view-preset{display:flex;gap:12px;align-items:center;width:100%;padding:20px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#798b96;text-align:left;font:11px var(--mono)}.view-preset span{flex:1;color:#a9b8bf}.view-preset.active,.view-preset.active span,.view-preset:hover,.view-preset:hover span{color:var(--amber)}.viewer-utility{margin-top:30px;display:grid;gap:7px}.utility-btn{width:100%;padding:13px 12px;background:#16212b;border:1px solid #34414b;color:#d5dee4;text-align:left;font-size:18px;display:flex;align-items:center;gap:12px}.utility-btn span{font:10px var(--mono)}.utility-btn[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}.utility-btn:hover{border-color:var(--amber)}.aside-note{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.aside-note span{font:9px var(--mono);color:var(--amber)}.aside-note p{font-size:10px;color:#8494a0;line-height:1.7;margin:10px 0 0}.sim-layout{display:grid;grid-template-columns:53% 47%;border:1px solid #2a3842;background:#101820}.sim-machine{padding:26px 38px 24px;background:radial-gradient(ellipse at 50% 44%,#26333c 0%,#121c24 63%,#0c131a 100%);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden}.sim-machine:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#00000009 4px)}.machine-eyebrow{align-self:stretch;display:flex;align-items:center;gap:10px;color:#b6c3ca;font:9px var(--mono);letter-spacing:.6px}.machine-led{background:var(--teal);box-shadow:0 0 12px var(--teal)}.machine-eyebrow-right{margin-left:auto;color:#738693}.device-body{width:min(100%,360px);min-height:615px;margin:34px auto 22px;border:2px solid #3e4953;border-radius:22px;background:linear-gradient(145deg,#2e373f,#161e25 62%,#1e262d);box-shadow:22px 24px 32px #0008,inset 2px 2px 2px #ffffff17,inset -2px -2px 5px #0009;padding:23px 26px 18px;position:relative}.display-bezel{padding:10px;border-radius:12px;background:#050b10;box-shadow:0 0 0 1px #4f5961,inset 0 0 0 2px #000}.device-display{height:446px;border-radius:5px;background:radial-gradient(circle at 50% 2%,#182938,#0a1723 70%);border:1px solid #344754;display:flex;flex-direction:column;overflow:hidden;color:#e6edf3;font-family:var(--mono)}.display-header{height:32px;border-bottom:1px solid #304657;display:flex;justify-content:space-between;align-items:center;padding:0 12px;gap:5px;font-size:9px;letter-spacing:.4px}.screen-arm{color:#7b8c98}.screen-arm.armed{color:var(--teal)}#screen-mode{color:var(--amber)}#screen-warning{font-size:8px;color:#94a5ad}.display-content{padding:14px 15px 8px;flex:1;display:flex;flex-direction:column}.mode-tabs{display:flex;justify-content:space-between;gap:3px}.mode-tab{padding:5px 4px;font-size:8px;letter-spacing:-.25px;border-bottom:2px solid transparent;color:#597282}.mode-tab.active{color:var(--amber);border-color:var(--amber)}.metric-caption{color:#8ea2af;font-size:8px;letter-spacing:1.5px;text-align:center;margin-top:23px}.metric-line{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:4px}.metric-line strong{font:700 61px var(--sans);letter-spacing:-3px;line-height:1.1;font-variant-numeric:tabular-nums}.metric-line span{font-size:11px;color:var(--amber)}.speed-scale{margin:16px 4px 0}.scale-segments{height:8px;background:#172735;display:flex;gap:2px;overflow:hidden;border-radius:2px}.scale-segments i{height:100%;background:#2a4152;flex:1}.scale-segments i.filled{background:var(--amber)}.speed-scale-caption{margin-top:6px;display:flex;justify-content:space-between;color:#6e8694;font-size:8px}.mode-setpoint{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2d4151;border-bottom:1px solid #2d4151;margin-top:15px;padding:9px 1px;font-size:9px}.mode-setpoint span{color:#8296a3}.mode-setpoint strong{color:var(--amber);font-size:10px;font-weight:500}.screen-cards{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:15px}.screen-cards>div{background:#152734;border:1px solid #284052;padding:8px 9px;display:flex;flex-direction:column;gap:5px}.screen-cards span{color:#718997;font-size:8px}.screen-cards strong{color:#d9e4e9;font-weight:500;font-size:11px}.traverse-meter{margin-top:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;color:#6f8995;font-size:7px;text-transform:uppercase}.traverse-meter div{height:4px;background:#1c3543}.traverse-meter i{display:block;background:#68ccba;width:0;height:100%;transition:width .1s}.display-footer{min-height:33px;padding:10px 12px;border-top:1px solid #2d4553;text-align:center;color:#9dddc1;font-size:9px}.device-control-row{height:89px;display:flex;align-items:center;justify-content:space-between;padding-top:16px}.control-hint{display:flex;flex-direction:column;gap:7px}.control-hint span{color:var(--amber);font-size:24px;letter-spacing:-1px;font-weight:800}.control-hint small{font:7px var(--mono);color:#72818b}.knob{height:70px;width:70px;border-radius:50%;border:3px solid #48505b;background:repeating-conic-gradient(#404851 0deg 9deg,#303841 10deg 18deg);display:grid;place-items:center;box-shadow:0 8px 15px #000a,inset 0 3px 3px #ffffff25;transition:transform .1s}.knob:active{transform:scale(.96)}.knob-inner{height:54px;width:54px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#efad6d,#bd7132);border:3px solid #6e5b4c}.knob-index{width:4px;height:10px;background:#fff8d8;border-radius:3px;transform:translateY(-15px)}.device-serial{font:8px var(--mono);letter-spacing:1px;color:#60707b;margin-top:6px;display:flex;align-items:center;justify-content:space-between}.device-serial span{color:var(--amber)}.sim-status{font:9px var(--mono);letter-spacing:.4px;display:flex;gap:10px;align-items:center;color:#bbc6ce}.sim-status span:last-child{color:#7e909a}.sim-controls{padding:30px 35px;background:#101920}.controls-heading{display:flex;justify-content:space-between;align-items:center;font:11px var(--mono);letter-spacing:.5px}.chip{padding:4px 7px;border:1px solid #3e6d65;color:var(--teal);font:9px var(--mono)}.sim-help{color:#97a6ae;font-size:12px;line-height:1.85;margin:19px 0 24px}.sim-help b{color:#d4dee3;font-weight:600}.sim-group{margin:0 0 24px}.control-label{display:flex;justify-content:space-between;font:10px var(--mono);color:#dce4ea;margin-bottom:11px}.control-label>span{color:var(--amber)}.mode-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mode-btn{height:64px;background:#15222c;border:1px solid #30424e;color:#b5c1c8;display:flex;flex-direction:column;justify-content:center;gap:7px;align-items:center;font:11px var(--mono)}.mode-btn small{font:8px var(--mono);color:#738793}.mode-btn.active{border-color:var(--amber);background:#392b24;color:var(--amber)}.mode-btn.active small{color:#e2a771}.mode-btn:hover{border-color:var(--amber)}.button-trio{display:grid;grid-template-columns:55px 1fr 55px;gap:7px}.button-trio button{height:42px;background:#182631;color:#e0e7eb;border:1px solid #344652;font-size:17px}.button-trio button:nth-child(2){font:10px var(--mono)}.button-trio button:hover{border-color:var(--amber);color:var(--amber)}.mini-helper,.slider-ends{color:#708a98;font:9px var(--mono);margin-top:9px}.sim-controls input[type=range]{width:100%;height:7px;appearance:none;background:#38444d;border-radius:2px;margin:11px 0;accent-color:var(--amber)}.sim-controls input[type=range]::-webkit-slider-thumb{appearance:none;width:22px;height:22px;background:var(--amber);border:4px solid #111921;box-shadow:0 0 0 1px var(--amber);cursor:pointer;border-radius:50%}.slider-ends{display:flex;justify-content:space-between;margin-top:3px}.pedal-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.pedal-buttons>div{display:grid;gap:7px}.pedal-buttons button{height:42px;border:1px solid #344552;background:#182631;color:#d7e0e6;font:10px var(--mono)}.pedal-buttons button:hover{border-color:var(--amber)}.pedal-buttons .danger{background:#342528;border-color:#855058;color:#f3aaa5}.pedal-buttons .danger:hover{background:#4b2b30}.traverse-buttons{grid-template-columns:1fr 1.3fr 1fr}.sim-message{padding:14px;background:#172b2b;border:1px solid #335954;display:flex;align-items:center;gap:9px;color:#bfe8df;font:10px/1.5 var(--mono);min-height:50px}.sim-message.error{background:#342124;border-color:#8c4848;color:#ffaaa6}.sim-note{font-size:10px;line-height:1.6;color:#778d99;margin-top:16px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature-card{min-height:305px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 23px;display:flex;flex-direction:column;background:#101820;transition:background .2s}.feature-card:hover{background:#192630}.feature-highlight{background:linear-gradient(145deg,#483225,#231e1d)}.feature-icon{font-size:36px;font-weight:300;color:var(--amber);line-height:1}.feature-num{font:10px var(--mono);color:#7e8f9b;margin-top:32px}.feature-card h3{font-size:14px;letter-spacing:-.2px;margin:8px 0 12px}.feature-card p{font-size:12px;line-height:1.8;color:#9baab3}.feature-bottom{margin-top:auto;padding-top:22px;border-top:1px solid #ffffff18;display:flex;justify-content:space-between;font:9px var(--mono);color:#9aabb4}.feature-bottom span{color:var(--amber)}.future-section{background:#111a21;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.future-inner{padding-top:115px;padding-bottom:120px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.future-inner h2{margin-bottom:27px}.future-inner p{max-width:390px;line-height:1.9;color:#9aacb8;font-size:14px}.future-list{align-self:center;border-top:1px solid #31404a}.future-list>div{display:flex;align-items:center;padding:23px 0;border-bottom:1px solid #31404a;font:11px var(--mono);letter-spacing:.3px;gap:17px}.future-list span{color:var(--amber)}.future-list i{margin-left:auto;color:#627783;font:9px var(--mono);font-style:normal}.interest-section{text-align:center;padding-top:130px;padding-bottom:136px}.interest-tag{color:var(--amber);font:10px var(--mono);letter-spacing:2px;display:flex;align-items:center;gap:10px;justify-content:center}.interest-section h2{margin:23px 0 22px}.interest-section p{max-width:570px;color:#9babba;line-height:1.8;margin:0 auto 30px;font-size:14px}.interest-section .btn{margin:auto}.interest-section>small{display:block;margin-top:16px;font:10px var(--mono);color:#758892}footer{border-top:1px solid var(--line);background:#0d141a}.footer-inner{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner>div:not(.brand){font:9px var(--mono);color:#8596a0}.footer-inner>span{font:9px var(--mono);color:#8596a0}
@media(max-width:1080px){.wrap{width:min(1320px,calc(100% - 52px))}.site-header{padding-inline:26px}.main-nav{gap:12px}.main-nav a,.top-cta{font-size:9px}.hero{grid-template-columns:50% 50%}h1{letter-spacing:-5px;font-size:clamp(55px,7vw,80px)}.hero-meta{gap:20px}.viewer-panel{grid-template-columns:1fr 225px}.viewer-sidebar{padding:24px 17px}.sim-layout{grid-template-columns:50% 50%}.sim-controls{padding:25px 20px}.sim-machine{padding:25px 16px}.future-inner{gap:50px}}
@media(max-width:760px){.announcement{padding:0 22px;font-size:8px}.announcement-right{display:none}.site-header{height:69px;padding:0 22px}.top-cta{margin-left:auto}.nav-toggle{display:block;background:transparent;color:#e3eaf0;border:0;font-size:20px;order:3}.main-nav{position:absolute;top:69px;left:0;right:0;background:#101a22;border-bottom:1px solid var(--line);padding:20px 22px;display:none;flex-direction:column;gap:22px}.main-nav.open{display:flex}.wrap{width:calc(100% - 36px)}.hero{grid-template-columns:1fr;padding-top:70px;padding-bottom:80px}.hero-copy{z-index:4}h1{font-size:clamp(54px,12vw,74px);letter-spacing:-4px}.hero-lede{font-size:14px}.hero-art{height:330px;margin:30px 0 0;order:2}.hero-art img{mask-image:none}.hero-side-note{display:none}.hero-meta{margin-top:45px;gap:30px}.section-divider{font-size:8px}.section-intro{display:block;margin-bottom:28px}.section-intro h2,.future-inner h2,.interest-section h2{font-size:clamp(38px,9vw,58px);letter-spacing:-2.5px}.section-intro p{margin:20px 0 0}.explorer-section,.sim-section,.features-section{padding:62px 0 85px}.viewer-panel{grid-template-columns:1fr}.viewer-main{min-height:420px}.viewer-sidebar{border-left:0;border-top:1px solid var(--line)}.viewer-controls{display:grid;grid-template-columns:repeat(3,1fr)}.view-preset{font-size:9px;padding:13px 6px;display:block}.view-preset span{display:block;margin:8px 0}.viewer-utility{display:flex}.utility-btn{font-size:14px;padding:10px 8px}.utility-btn span{font-size:8px}.aside-note{margin-top:18px}.sim-layout{grid-template-columns:1fr}.sim-machine{border-right:0;border-bottom:1px solid var(--line)}.sim-controls{padding:28px 20px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-card{min-height:275px}.future-inner{grid-template-columns:1fr;gap:35px;padding:83px 0}.interest-section{padding:90px 0}.footer-inner{padding:28px 0;flex-wrap:wrap}.footer-inner>div:not(.brand){display:none}}
@media(max-width:430px){.top-cta{display:none}.brand-text{font-size:18px}.hero-actions{gap:9px}.btn{padding:0 13px;gap:10px;font-size:9px}.hero-meta strong{font-size:24px}.hero-meta small{font-size:7px}.hero-meta{gap:19px}.viewer-topline,.viewer-bottomline{left:12px;right:12px}.viewer-meta,.viewer-bottomline span:last-child{display:none}.viewer-main{min-height:350px}.viewer-utility{flex-wrap:wrap}.sim-machine{padding:21px 8px}.device-body{width:330px;max-width:100%;padding-inline:17px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:235px}.future-list>div{font-size:9px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

#viewer-stage{touch-action:pan-y}#viewer-stage:has(#viewer-container canvas){touch-action:none}#viewer-fallback{user-select:none;-webkit-user-drag:none}.viewer-main:fullscreen{width:100vw;height:100vh}.viewer-main:fullscreen #viewer-fallback{object-fit:contain}
/* Portrait display proportions follow the 272 × 480 operator panel. */
.display-bezel{width:264px;max-width:100%;margin-left:auto;margin-right:auto}

/* v0.2 / 3D finishes */
.color-chooser{padding:20px 0 18px;border-top:1px solid var(--line)}
.color-chooser-title{display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);color:#e6ecf1;letter-spacing:.4px}
.color-chooser-title small{font:8px var(--mono);color:#7b8d99}
.color-options{margin-top:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.color-choice{background:#111d26;border:1px solid #354550;color:#9aaeba;padding:10px 3px 9px;font:8px var(--mono);display:flex;flex-direction:column;align-items:center;gap:8px;transition:background .2s}
.color-choice i{height:21px;width:21px;border-radius:50%;border:2px solid #dedede45;box-shadow:inset 0 3px 5px #fff3,0 3px 8px #0006}
.color-choice.active{background:#292b2b;color:var(--amber);border-color:var(--amber)}
.color-choice:hover{border-color:#dfac7c}
/* v0.2 / console */
.display-content#sim-screen-content{padding:11px 11px 8px;min-height:0;overflow:hidden}
.firmware-screen{display:flex;flex-direction:column;flex:1;min-height:0;gap:7px;font:9px var(--mono);color:#d7e9f0}
.fw-title{display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.8px;color:#9fafbb;font-size:9px}
.fw-title::before{content:'';background:var(--sim-accent,var(--amber));width:12px;height:2px}
.fw-kicker{font-size:8px;letter-spacing:.5px;color:#7794a5}
.fw-highlight{color:var(--sim-accent,var(--amber))}
.fw-tabs{display:flex;gap:4px;justify-content:space-between}
.fw-tabs span{padding:4px 5px;background:#172735;border:1px solid #294254;color:#7b96a4;font-size:7px}
.fw-tabs span.active{background:#3b2e22;border-color:var(--sim-accent,var(--amber));color:var(--sim-accent,var(--amber))}
.fw-mainmetric{display:flex;gap:7px;align-items:baseline;justify-content:center;margin:3px 0 0}
.fw-mainmetric strong{font-size:40px;font-weight:500;letter-spacing:-3px;color:#e8f5f8;line-height:1.2}
.fw-mainmetric small{color:var(--sim-accent,var(--amber));font-size:11px}
.fw-meter{border:1px solid #314856;background:#08121c;height:12px;position:relative;overflow:hidden}
.fw-meter i{display:block;height:100%;background:linear-gradient(90deg,#5d9d9e,var(--sim-accent,var(--amber)));width:0%}
.fw-setpoint{display:flex;justify-content:space-between;font-size:8px;color:#8da7b4;margin:1px 0 2px}
.fw-setpoint b{color:#e7d3b6}
.fw-cards{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:4px}
.fw-card{border:1px solid #2a4352;background:#132531;padding:7px 6px;min-height:42px}
.fw-card span{color:#789aa9;font-size:7px;display:block;margin-bottom:6px}
.fw-card b{color:#e4edf3;font-size:10px}
.fw-carriage{display:flex;align-items:center;gap:5px;color:#8ca8b2;font-size:7px;margin-top:4px}
.fw-carriage .fw-meter{height:7px;flex:1}
.fw-list{display:flex;flex-direction:column;gap:5px;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#527184 transparent;padding-right:2px}
.fw-row{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#132330;border:1px solid #264050;border-radius:2px;padding:8px 7px;min-height:37px}
.fw-row.selected{background:#203d49;border-color:var(--sim-accent,var(--amber));box-shadow:inset 3px 0 var(--sim-accent,var(--amber))}
.fw-row.editing{background:#3a2a25;border-color:var(--amber)}
.fw-row b{font-size:9px;line-height:1.3;font-weight:500;color:#e5edf2}
.fw-row small{font-size:8px;color:#84a7b9;flex-shrink:0}
.fw-row.selected small,.fw-row.editing small{color:#ffc181}
.fw-explain{font:8px/1.45 var(--mono);color:#99b0ba;padding:7px;border-left:2px solid var(--sim-accent,var(--amber));background:#142631;margin-top:auto;max-height:54px;overflow:hidden}
.fw-menu-count{font:8px var(--mono);text-align:center;letter-spacing:2px;color:#779bab;margin-top:auto}
.fw-param{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.fw-param .fw-row{min-height:56px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-around}
.fw-param .fw-row small{font-size:10px}
.fw-dial{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--sim-accent,var(--amber)) var(--dial,0%),#1e3544 0);margin:2px auto 5px;box-shadow:inset 0 0 0 7px #0a1a25,inset 0 0 0 9px #3d5965}
.fw-dial-inner{background:#122330;width:91px;height:91px;border-radius:50%;display:grid;place-content:center;text-align:center}
.fw-dial-inner strong{font-size:28px;font-weight:500;color:#f5f6f4}
.fw-dial-inner span{font-size:9px;color:#8ab5b7}
.fw-diagnostics-graph{height:79px;border:1px solid #31505e;background:linear-gradient(0deg,#152e35,#0a1928);display:flex;align-items:end;gap:3px;padding:8px 6px 6px;overflow:hidden}
.fw-diagnostics-graph i{width:5px;max-height:100%;background:#5fd7be99;border-radius:3px 3px 0 0;min-height:2px}
.fw-diagnostics-rows{display:flex;flex-direction:column;gap:3px;min-height:0;overflow:hidden}
.fw-diagnostics-rows .fw-row{padding:4px 6px;min-height:22px}
.fw-diagnostics-rows .fw-row small{font-size:8px}
.fw-fault-icon{width:58px;height:58px;margin:12px auto 0;border:2px solid #f06c64;color:#f06c64;border-radius:50%;display:grid;place-items:center;font-size:32px}
.fw-fault-card{border:1px solid #8e4949;background:#321e27;padding:11px 10px;text-align:center;margin:9px 0 0}
.fw-fault-card b{color:#ff9990;font-size:12px}
.fw-fault-card p{color:#c9a7a5;font-size:8px;margin:7px 0 0;line-height:1.5}
.fw-fault-ready{border:1px solid #548966;background:#19382e;color:#bcebd1;padding:8px;text-align:center;margin-top:auto}
.fw-fault-wait{border:1px solid #a35a5a;background:#3e2427;color:#ffc3bb;padding:8px;text-align:center;margin-top:auto}
.fw-boot-logo{text-align:center;font:600 32px var(--sans);letter-spacing:-2px;margin:12px 0 14px;color:#f7e5d3}
.fw-boot-logo span{color:var(--amber)}
.fw-boot-row{padding:6px 1px;border-bottom:1px solid #1e3e4a;display:flex;justify-content:space-between;font-size:8px;color:#98b4b9}
.fw-boot-row b{color:#65d4b6}
.fw-boot-row:last-of-type b{color:#e9aa6b}
.fw-boot-progress{height:5px;background:#182c37;margin-top:auto}
.fw-boot-progress i{display:block;height:100%;background:var(--amber);transition:width .15s}
.sim-extra-buttons{display:flex;gap:7px;margin-top:8px}
.sim-extra-buttons button,.sim-service-buttons button{background:#162733;color:#a8c1cc;border:1px solid #37515d;font:9px var(--mono);padding:10px 6px;flex:1}
.sim-extra-buttons button:hover,.sim-service-buttons button:hover{border-color:var(--amber);color:var(--amber)}
.sim-service-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.sim-service-buttons button:first-child{grid-column:1/-1}
.sim-service-buttons button:nth-child(2){color:#f4ada6;border-color:#794b50}
.sim-controls .sim-group.sim-service{border-top:1px solid var(--line);padding-top:21px}
.presentation-motion-group{border-top:1px solid #263944;padding-top:18px}
.presentation-buttons{display:flex;gap:7px}
.presentation-buttons button{flex:1;height:42px;background:#182631;border:1px solid #344652;color:#dfe8ec;font:10px var(--mono)}
.presentation-buttons button:hover{border-color:var(--amber);color:var(--amber)}
.sim-extra-buttons.presentation-buttons{margin-top:10px}
@media(max-width:430px){.color-options{grid-template-columns:repeat(3,1fr)}.fw-mainmetric strong{font-size:34px}.fw-row{padding:6px 5px}}
/* Approximate visual finish tint for offline pre-rendered turntable. */
#viewer-fallback[data-finish="graphite"]{filter:contrast(1.10) brightness(1.08) saturate(1.17)}
#viewer-fallback[data-finish="titanium"]{filter:contrast(1.07) brightness(1.27) sepia(.08) hue-rotate(164deg) saturate(.75)}
#viewer-fallback[data-finish="bronze"]{filter:none}

/* Phase 2 — linked 3D motion viewer, does not alter v0.2 layout */
.motion-telemetry{border-top:1px solid var(--line);padding-top:17px;margin-top:22px;font:10px var(--mono);color:#9bb3bf}
.motion-telemetry>strong{font-weight:500;color:#98dbc7;margin-left:8px;font-size:9px}
.motion-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 8px;margin-top:18px}
.motion-grid>div{display:flex;flex-direction:column;gap:7px}.motion-grid span{font-size:8px;color:#768c9a}.motion-grid b{font-size:11px;color:#e6f0f3;font-weight:500;font-variant-numeric:tabular-nums}
.motion-jump{display:block;margin-top:19px;font:9px var(--mono);color:var(--amber);border-top:1px solid var(--line);padding-top:14px;line-height:1.5}
.motion-preview{width:100%;max-width:550px;min-width:0;margin-top:24px;border:1px solid #374752;background:#0b151c;position:relative;z-index:1}
.motion-preview-head,.motion-preview-info{display:flex;gap:13px;align-items:center;justify-content:space-between;padding:15px 16px;font:10px var(--mono);color:#bed0d8}
.motion-preview-head{border-bottom:1px solid #293b45}.motion-preview-head>span{display:flex;align-items:center;gap:10px}.motion-preview-head strong{font-weight:500;color:#e8aa68;font-size:9px}
.motion-preview-stage{height:320px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#1c3039,#09131b 77%)}
.motion-preview-stage:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:42px 42px;pointer-events:none;z-index:1}
#motion-preview-fallback{position:absolute;width:100%;height:100%;object-fit:contain;opacity:.8}#motion-preview-canvas{position:absolute;inset:0}#motion-preview-canvas canvas{display:block;width:100%!important;height:100%!important}
.preview-overlay{position:absolute;z-index:3;left:15px;right:15px;bottom:12px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;font:9px var(--mono);color:#9cb3c0;text-shadow:0 2px 5px #000}
.preview-overlay span:last-child{color:#f1b472;font-weight:500}.motion-preview-info{border-top:1px solid #293b45;border-bottom:1px solid #293b45;flex-wrap:wrap;align-items:center}
.motion-preview-info span{font-size:9px;color:#91a5b1}.motion-preview-info b{color:#f0b16e;font-size:12px}.motion-preview-info span:last-child{color:#68d5c1}
.motion-preview-note{font:10px/1.65 var(--mono);color:#8296a2;margin:0;padding:14px 16px}.sim-machine{justify-content:flex-start}
@media(max-width:760px){.motion-preview-stage{height:280px}.motion-preview{max-width:400px}.motion-telemetry{margin-top:16px}.motion-grid{grid-template-columns:repeat(2,1fr)}}

/* v0.4 — visual build configurator */
.configure-section{padding-top:78px;padding-bottom:90px}.config-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(370px,.92fr);gap:24px;align-items:start;margin-top:42px}
.config-visual{position:sticky;top:90px;border:1px solid #334752;background:#0c171f;min-width:0}
.config-preview-heading,.config-preview-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 19px;font:10px var(--mono);letter-spacing:.04em;color:#cad6d9;border-bottom:1px solid #30434c}.config-preview-heading>span{display:flex;align-items:center;gap:9px}.config-live-dot{width:7px;height:7px;border-radius:50%;background:#66dfbc;box-shadow:0 0 12px #5fdfbb;display:inline-block}.config-preview-heading>span:last-child{color:#edb982;font-size:9px}.config-preview-stage{position:relative;height:440px;overflow:hidden;background:radial-gradient(ellipse at 48% 50%,#223742,#0b141b 78%)}.config-preview-stage:before{content:'';inset:0;position:absolute;z-index:1;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
#config-preview-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.82}#config-preview-canvas{position:absolute;inset:0}#config-preview-canvas canvas{display:block;width:100%!important;height:100%!important}
.config-preview-note{position:absolute;z-index:3;left:17px;bottom:15px;font:9px var(--mono);color:#a3bec4;pointer-events:none;letter-spacing:.02em}
.config-preview-footer{border-top:1px solid #30434c;border-bottom:0;color:#839ca7;font-size:9px}.config-preview-footer button{background:none;border:0;font:10px var(--mono);color:#f1b477;cursor:pointer}.config-legend{display:flex;gap:14px;flex-wrap:wrap;padding:12px 17px;background:#13242d;border-top:1px solid #31434c;font:9px/1.5 var(--mono);color:#a9c4c8}.config-visual-disclaimer{padding:0 17px 17px;font:11px/1.65 var(--sans);color:#8fa7af}.config-form{background:#101f28;border:1px solid #30424a;padding:25px;min-width:0}
.config-step{border:0;border-bottom:1px solid #30434d;padding:0 0 24px;margin:0 0 24px;min-width:0}.config-step legend{width:100%;float:none}.config-step-title{display:flex;align-items:center;gap:13px;margin-bottom:20px}.config-step-title>span{display:grid;place-items:center;width:33px;height:33px;background:#3b302b;color:#f5b783;font:12px var(--mono)}.config-step-title>div{display:flex;flex-direction:column;gap:3px}.config-step-title strong{font:600 12px var(--mono);color:#e5edee;letter-spacing:.08em}.config-step-title small{font:9px var(--mono);color:#849da9;letter-spacing:.03em}
.config-base{background:#172a33;padding:17px;border:1px solid #3c525c;display:grid;grid-template-columns:1fr auto;gap:5px 10px}.config-base>b{font:600 12px var(--mono);color:#e9f2f4}.config-base>span{font:10px/1.6 var(--sans);color:#8eaab7;grid-column:1}.config-base>strong{grid-row:1/3;grid-column:2;align-self:center;font:600 18px var(--mono);color:#efb47b}
.config-finishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.config-finish{cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:15px 6px;border:1px solid #38515b;background:#162631;position:relative}.config-finish:has(input:checked){border-color:#e8aa74;background:#2c302f;box-shadow:inset 0 0 0 1px #dfa47155}.config-finish input{position:absolute;opacity:0;pointer-events:none}.config-finish i{display:block;width:31px;height:31px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 2px 8px #fff7,0 2px 10px #0007;border:1px solid #fff5}.config-finish span{font:10px var(--mono);color:#e5eae8;text-align:center}.config-finish small{display:block;color:#a3b6bb;margin-top:6px;font:9px var(--mono)}
.config-addon{display:flex;align-items:center;gap:13px;border:1px solid #304853;background:#142631;margin-bottom:9px;padding:13px 11px;cursor:pointer}.config-addon:has(input:checked){border-color:#dbab78;background:#24323a}.config-addon input{accent-color:#e7ab75;width:18px;height:18px;flex-shrink:0}.config-addon span{flex:1}.config-addon b{display:block;font:11px/1.3 var(--mono);color:#e1ebef}.config-addon small{display:block;font:10px/1.5 var(--sans);color:#90a6af;margin-top:5px}.config-addon strong{font:12px var(--mono);color:#f0bc8f;white-space:nowrap}
.config-quantity{display:flex;align-items:center;justify-content:space-between}.config-quantity label strong{display:block;font:11px var(--mono);color:#e9edef}.config-quantity label small{display:block;font:9px var(--mono);color:#88a4ac;margin-top:5px}.config-qty-control{display:flex;align-items:center;gap:0;border:1px solid #45565f}.config-qty-control button{width:36px;height:37px;border:0;background:#1b343e;color:#f9c48b;font-size:18px;cursor:pointer}.config-qty-control output{font:13px var(--mono);min-width:40px;text-align:center}
.config-summary{background:#0d1a21;border:1px solid #344d55;padding:19px}.config-summary-label{font:11px var(--mono);color:#d6e6e9;display:flex;justify-content:space-between;gap:8px}.config-summary-label span{color:#e5af78;font-size:9px}.config-lines{margin:20px 0 12px}.config-line{display:flex;justify-content:space-between;gap:10px;margin:10px 0;font:11px/1.55 var(--mono);color:#9fb4bd}.config-line strong{color:#dce8ed;font-weight:500}.config-line.muted{color:#79909d}.config-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #3b525d;padding-top:18px;font:10px var(--mono);color:#aec0c8}.config-total strong{font:600 30px var(--mono);color:#f1b479}.config-price-note{font:10px/1.6 var(--sans);color:#8fa1ad;margin-top:11px}
.config-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.config-actions .btn{cursor:pointer;border-radius:0;font:10px var(--mono);padding:13px 12px}.config-feedback{margin-top:9px;min-height:14px;font:10px var(--mono);color:#83d3c3}
.docs-callout{display:grid;grid-template-columns:1.6fr .8fr;gap:30px;align-items:center;padding-top:80px;padding-bottom:85px;border-top:1px solid #34404a}.docs-callout h2{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.1;letter-spacing:-.045em}.docs-callout h2 em{color:var(--amber)}.docs-callout p{max-width:620px;font-size:14px/1.8;color:#a4bac3}.docs-callout-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.docs-callout-meta{display:flex;flex-direction:column;gap:18px;border:1px solid #37505c;background:#122530;padding:30px;text-align:center;font:10px var(--mono);letter-spacing:.06em;color:#9cb6c0}.docs-callout-meta strong{font-size:72px;color:#edb477;font-weight:500;line-height:1}.docs-callout-meta small{font-size:12px;color:#b6c8cb}
@media(max-width:970px){.config-layout{grid-template-columns:1fr}.config-visual{position:static}.config-preview-stage{height:390px}.docs-callout{grid-template-columns:1fr}.docs-callout-meta{max-width:420px}}
@media(max-width:560px){.config-form{padding:15px}.config-finishes{gap:4px}.config-finish{padding:11px 4px}.config-preview-stage{height:295px}.config-preview-heading,.config-preview-footer{padding:11px 9px;font-size:8px}.config-preview-heading>span:last-child{font-size:8px}.config-summary{padding:14px}.config-total strong{font-size:25px}.config-step-title strong{font-size:11px}.configure-section{padding-top:60px;padding-bottom:60px}}
#config-preview-fallback[data-finish="graphite"]{filter:contrast(1.1) brightness(1.08) saturate(1.17)}
#config-preview-fallback[data-finish="titanium"]{filter:contrast(1.07) brightness(1.27) sepia(.08) hue-rotate(164deg) saturate(.75)}
#config-preview-fallback[data-finish="bronze"]{filter:none}

.view-preset[hidden]{display:none}

.explorer-state{margin-top:14px;border:1px solid var(--line);background:var(--panel);padding:16px 18px;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr) minmax(220px,320px);gap:10px 22px;align-items:start}.explorer-state>.side-heading{grid-column:1/-1}.explorer-state>.explorer-modes,.explorer-state>#explorer-mode-note,.explorer-state>.explorer-scrub,.explorer-state>.explorer-inside-note{grid-column:1}.explorer-state>.explorer-parts{grid-column:2;grid-row:2/span 4;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0}.explorer-state>.explorer-card{grid-column:3;grid-row:2/span 4;margin:0}@media(max-width:900px){.explorer-state{grid-template-columns:1fr}.explorer-state>*{grid-column:1!important;grid-row:auto!important}}.explorer-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.explorer-modes .utility-btn{justify-content:center;font-size:10px}.utility-btn.active{border-color:var(--amber);color:var(--amber2)}
.explorer-scrub{margin:10px 0}.explorer-scrub label{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted);margin-bottom:6px}.explorer-scrub input{width:100%}.explorer-scrub-buttons{display:flex;gap:6px;margin-top:8px}
.explorer-inside-note img{width:100%;height:auto;border:1px solid var(--line);margin-top:6px}
.explorer-parts{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px}.explorer-parts button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:6px 10px;background:var(--panel2);border:1px solid var(--line);color:var(--ink);font:11px var(--sans);text-align:left}.explorer-parts button small{font:9px var(--mono);color:var(--muted)}.explorer-parts button.active,.explorer-parts button:hover{border-color:var(--amber)}
.explorer-card{margin-top:10px;padding:12px;border:1px solid var(--amber);background:#15110b}.explorer-card h4{margin:0 0 6px;font-size:14px}.explorer-card p{margin:4px 0;font-size:12px;line-height:1.5;color:#c7d2d8}.explorer-disclosure{font:9px var(--mono)!important;color:var(--amber2)!important}

.hotspot-layer{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}.hotspot-layer.moving .hotspot{opacity:0}.hotspot{position:absolute;left:0;top:0;pointer-events:auto;margin:-11px 0 0 -6px;padding:3px 8px 3px 16px;border:1px solid #e89b4999;background:#080d12d9;color:#f1e4d2;font:9px var(--mono);letter-spacing:.04em;white-space:nowrap;transition:opacity .15s}.hotspot:before{content:'';position:absolute;left:5px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--amber)}.hotspot.active{border-color:var(--amber2);color:var(--amber2)}@media(max-width:760px){.hotspot{font-size:8px;padding:2px 6px 2px 13px}}

/* Technical data, drawings and printable parts (generated by tools/frw4_3d/build_tech_pages.py) */
.tech-section,.drawings-section,.parts-section{padding-top:83px;padding-bottom:110px}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.spec-group h3,.parts-group h3,.parts-foot h3{font-size:15px;letter-spacing:.02em;margin:0 0 10px;color:var(--ink)}
.spec-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}
.spec-table th,.spec-table td{text-align:left;vertical-align:top;padding:10px 10px 10px 0;border-top:1px solid var(--line)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:1px solid var(--line)}
.spec-table th{width:38%;font-weight:500;color:#9fb0ba}
.spec-table td{color:var(--ink)}
.spec-table td.spec-src{width:44px;padding-right:0;text-align:right;font:600 10px var(--mono);color:var(--amber);letter-spacing:.06em}
.spec-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin-top:30px;align-items:start}
.spec-legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px;color:#9fb0ba}
.spec-legend b{display:inline-block;min-width:44px;font:600 10px var(--mono);color:var(--amber)}
.spec-status{margin:0;font-size:13px;line-height:1.6;color:#9fb0ba;border-left:2px solid var(--amber);padding-left:14px}
.drawing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.drawing-side{grid-column:1/-1}
.drawing{margin:0}
.drawing-sheet{position:relative;background:#f6f6f2;border:1px solid var(--line);overflow:hidden}
.drawing-sheet img{display:block;width:100%;height:100%;object-fit:contain}
.drawing-dims{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.drawing-dims .dim{stroke:#b5501b;stroke-width:2.2}
.drawing-dims .ext{stroke:#b5501b;stroke-width:1.2;opacity:.7}
.drawing-dims .axis{stroke:#4e6a7a;stroke-width:1.6;stroke-dasharray:28 8 4 8}
.drawing-dims marker path{fill:#b5501b}
.drawing-dims text{font:600 30px var(--mono);fill:#7a3510}
.drawing-dims text.note{font:500 24px var(--mono);fill:#4e6a7a}
.drawing figcaption{margin-top:10px;font-size:13px;color:#9fb0ba}
.drawing figcaption b{color:var(--ink);font-weight:600;margin-right:6px}
.parts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.parts-group{border:1px solid var(--line);padding:18px;background:var(--panel)}
.parts-group ul{list-style:none;margin:0;padding:0}
.parts-group li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:14px;color:#c6d2d8}
.parts-group li b{font:600 12px var(--mono);color:var(--amber)}
.parts-foot{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
.parts-foot p{font-size:14px;line-height:1.7;color:#9fb0ba;margin:0}
.parts-foot a{color:var(--amber)}
@media(max-width:980px){.spec-grid,.spec-foot,.drawing-grid,.parts-foot{grid-template-columns:1fr}.parts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.parts-grid{grid-template-columns:1fr}.spec-table th{width:44%}.tech-section,.drawings-section,.parts-section{padding-top:60px;padding-bottom:70px}}

.footer-links{display:flex;flex-wrap:wrap;gap:10px 26px}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{text-decoration:underline}
@media(max-width:760px){.drawing-side{overflow-x:auto;-webkit-overflow-scrolling:touch}.drawing-side .drawing-sheet{min-width:760px}.drawing-side figcaption{position:sticky;left:0}}
.hero-video{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;background:#ebeae7}.hero-video[hidden],.hero-video-toggle[hidden]{display:none}.hero-art-index,.hero-corner{z-index:2}.hero-video-toggle{position:absolute;z-index:3;right:16px;bottom:14px;min-height:40px;padding:0 14px;border:1px solid #00000033;border-radius:6px;background:#ffffffe6;color:#222;font:600 13px/1 system-ui,sans-serif;cursor:pointer}.hero-video-toggle:focus-visible{outline:2px solid #222;outline-offset:2px}@media(max-width:760px){.hero-video{object-fit:contain}}

/* FRW4 head unit, display side, as in the FRW CAD: graphite panel, orange edge band, scalloped
 * orange encoder knob, display holder with the 272 x 480 firmware screen and the W spiral logo. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.device-body.device-face{width:min(100%,560px);min-height:0;margin:30px auto 20px;padding:28px 26px 28px 182px;border:0;border-radius:6px;
  background:linear-gradient(180deg,#4a4642 0,#45413d 6%,#43403c 94%,#3c3936 100%);box-shadow:0 26px 44px #0007,inset 0 2px 0 #ffffff14,inset 0 -2px 0 #0004;position:relative;display:block}
.device-face:before,.device-face:after{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,#5a5652,#77726c 60%,#5a5652)}
.device-face:before{top:5px}.device-face:after{bottom:5px}
.device-edge{position:absolute;left:0;top:0;bottom:0;width:46px;background:linear-gradient(90deg,#b8622f,#c66d38 40%,#b45f2e);border-radius:6px 0 0 6px;box-shadow:inset -2px 0 0 #8e4a22}
.knob.fw-knob{position:absolute;left:58px;top:44%;width:118px;height:118px;margin-top:-59px;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;display:block;cursor:pointer;transition:transform .12s}
.fw-knob svg{width:100%;height:100%;display:block;filter:drop-shadow(0 5px 4px #0007)}
.fw-knob .knob-body{fill:#bd6533;stroke:#a5552a;stroke-width:1}
.fw-knob .knob-face{fill:#c26a36;stroke:#b05c2c;stroke-width:.6}
.knob.fw-knob:active{transform:scale(.96)}
.knob.fw-knob:focus-visible{outline:2px solid #f2a33a;outline-offset:4px}
.display-holder{position:relative;padding:22px 34px 24px 22px;border-radius:9px;background:linear-gradient(180deg,#4b4743,#47433f);box-shadow:0 3px 8px #0006,inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #0005}
.display-recess{padding:4px;background:#2a2725;border-radius:2px;box-shadow:inset 0 2px 3px #000a}
.fw-display{display:block;width:100%;aspect-ratio:272/480;height:auto;background:#0d1219;image-rendering:auto}
.device-logo{position:absolute;right:7px;bottom:6px;width:28px;height:31px;fill:none;stroke:#c66d38;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.device-body.device-face{padding:14px 10px 14px 74px;width:100%}.knob.fw-knob{left:22px;width:56px;height:56px;margin-top:-28px}.device-edge{width:16px}.display-holder{padding:12px 20px 14px 10px}.device-logo{width:18px;height:20px;right:2px;bottom:4px}}
