/* AHF311 Aurora Build Lab v1 — 2026 research/education interface */
:root{--wb-navy:#06182b;--wb-navy2:#0c2840;--wb-ink:#102e41;--wb-surface:#fff;--wb-line:#d7e4eb;--wb-blue:#27a8e8;--wb-teal:#19b9aa;--wb-muted:#667b8a;--wb-gold:#dcbf7b;--wb-radius:18px}
*,*::before,*::after{box-sizing:border-box}
body[data-page="builder"]{color:var(--wb-ink);background:#edf4f6;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}
body[data-page="builder"] .ah-header{background:#081c2f;color:#e9f5fb;border-bottom:1px solid #264355;position:relative;z-index:25}
body[data-page="builder"] .ah-brand,body[data-page="builder"] .ah-nav a,body[data-page="builder"] .ah-menu{color:#e7f4fb}
body[data-page="builder"] .ah-brand small{color:#92bbce}
body[data-page="builder"] .ah-nav a.current{background:#15354b;color:#8cddff;border:1px solid #32617a}
body[data-page="builder"] .ah-brand-mark{color:#fff}
body[data-page="builder"] .ah-brand-mark span{color:#54d1ef}
body[data-page="builder"] .ah-menu{border-color:#567084}
body[data-page="builder"] .ah-mobile-menu{position:relative;z-index:40;background:#102b40}
body[data-page="builder"] .ah-mobile-menu a{color:#e9f6fa}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.56}
:focus-visible{outline:3px solid #ffcf65!important;outline-offset:3px}
[hidden]{display:none!important}
main#builder{width:100%;overflow:clip}
.wb-hero{min-height:345px;padding:64px max(36px,calc((100vw - 1410px)/2));position:relative;color:#fff;overflow:hidden;display:flex;align-items:center;gap:40px;background:radial-gradient(circle at 74% 57%,rgba(18,148,192,.21),transparent 38%),linear-gradient(105deg,#071728,#0a2b46 78%,#0d3449)}
.wb-hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(140deg,transparent 0 56px,rgba(118,207,238,.027) 56px 57px);pointer-events:none}
.wb-hero-copy{max-width:880px;position:relative;z-index:1;flex:1}
.wb-hero .eyebrow,.wb-workshop .eyebrow{color:#81d5ef;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.wb-hero h1{font-size:clamp(42px,5.5vw,84px);letter-spacing:-.055em;line-height:1.02;margin:13px 0 20px;font-weight:760;max-width:860px}
.wb-hero h1 em{font-family:Georgia,serif;color:#97e6f5;font-weight:500;font-style:italic;letter-spacing:-.035em}
.wb-lede{font-size:clamp(15px,1.65vw,20px);color:#d5e8f1;max-width:670px;line-height:1.6;margin:0 0 28px}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap}
.hero-tags span{border:1px solid rgba(172,227,240,.3);border-radius:50px;color:#9ad9e7;background:#12334a;padding:7px 12px;font-size:10px;letter-spacing:.07em;font-weight:800}
.wb-hero-mark{width:250px;height:250px;display:grid;place-content:center;position:relative;flex-shrink:0;isolation:isolate;text-align:center}
.wb-hero-mark .hero-circle{border-radius:50%;position:absolute;inset:0;border:1px solid rgba(128,216,247,.23);box-shadow:inset 0 0 46px #2e99b51b,0 0 45px #34b8e716}
.wb-hero-mark .c1{animation:wb-spin 36s linear infinite}
.wb-hero-mark .c1:after{content:"";position:absolute;top:12px;left:43px;border:4px solid #7bddff;border-radius:50%}
.wb-hero-mark .c2{inset:30px;border-style:dashed;animation:wb-spin 55s linear reverse infinite}
.hero-star{position:relative;font-size:67px;color:#9bdfff;text-shadow:0 0 23px #38aef1;line-height:1;z-index:1}
.wb-hero-mark b{font-size:20px;letter-spacing:.24em;z-index:1;color:#ebf8ff}
.wb-hero-mark small{font-size:9px;color:#80bfdc;letter-spacing:.18em;z-index:1}
@keyframes wb-spin{to{transform:rotate(360deg)}}
.wb-notice{max-width:1410px;margin:-27px auto 0;background:#fff;position:relative;z-index:2;box-shadow:0 10px 42px #061f3215;border:1px solid #d9e8ef;border-radius:16px;padding:17px 21px;display:flex;align-items:flex-start;gap:13px}
.wb-notice .notice-icon{font-size:22px;color:#1b96ca;line-height:1}
.wb-notice p{font-size:13px;line-height:1.65;color:#435a68;margin:0}
.wb-notice strong{color:#163d55}
.wb-models,.wb-workshop,.wb-lab,.wb-credit{max-width:1480px;margin:auto;padding-left:36px;padding-right:36px}
.wb-models{padding-top:56px;padding-bottom:43px}
.section-line{display:flex;justify-content:space-between;gap:18px;margin-bottom:16px;color:#597081;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.section-line span:last-child{font-weight:600;letter-spacing:.03em;text-transform:none}
.wb-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.model-tile{border:2px solid #d0e2ea;background:linear-gradient(120deg,#fff,#f4faff);text-align:left;border-radius:17px;padding:24px 26px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:227px;position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.model-tile:before{content:"";width:160px;height:160px;position:absolute;border-radius:50%;right:24px;top:29px;background:radial-gradient(circle,#5fd6ff1f,transparent 70%);pointer-events:none}
.model-tile:hover{transform:translateY(-2px);border-color:#7dcbe9;box-shadow:0 12px 32px #31759412}
.model-tile[aria-selected="true"]{border-color:#1b93d3;box-shadow:0 0 0 3px #1b93d317,0 12px 30px #29668a14}
.model-tile.hope-tile[aria-selected="true"]{border-color:#bb9557;box-shadow:0 0 0 3px #bb955718,0 12px 30px #ad835912}
.model-tile .model-number{font-size:11px;font-weight:800;color:#477b97;letter-spacing:.09em;display:flex;gap:10px;flex-wrap:wrap}
.model-number span{font-size:9px;color:#5f7786;background:#ecf3f8;border-radius:30px;padding:3px 7px}
.model-tile strong{font-size:clamp(27px,3vw,40px);letter-spacing:-.06em;color:#112e44;line-height:1.16;margin-top:10px}
.model-tile strong em{font-weight:600;color:#328db8;font-style:normal}
.hope-tile strong em{color:#b48b47}
.model-tile .model-description{font-size:13px;line-height:1.6;color:#536e7b;margin:9px 0 12px;max-width:470px}
.model-tile .model-enter{margin-top:auto;color:#1b799e;font-size:12px;font-weight:800;letter-spacing:.08em}
.model-tile .model-enter span{font-size:19px;margin-left:6px}
.wb-workshop{padding-bottom:72px;scroll-margin-top:14px}
.wb-station-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:15px}
.wb-station-head h2{font-size:clamp(25px,3vw,35px);margin:4px 0 0;line-height:1.15;letter-spacing:-.04em;color:#0b283e}
.wb-station-head .eyebrow{font-size:11px;color:#1684b0}
.wb-metrics{display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.mini-stat{display:flex;flex-direction:column;gap:1px;min-width:95px}
.mini-stat b{font-size:17px;font-weight:800;color:#17405b}
.mini-stat small{font-size:9px;letter-spacing:.1em;color:#7b909b;font-weight:800}
.control-small{border:1px solid #cadce5;background:#fff;color:#21516c;border-radius:9px;padding:10px 12px;min-height:39px;font-size:12px;font-weight:750;white-space:normal}
.control-small:hover{border-color:#329acb;background:#effbff}
.wb-progress-track{height:7px;border-radius:10px;background:#dbe9ef;margin-bottom:24px;overflow:hidden}
.wb-progress-track div{height:100%;width:0;background:linear-gradient(90deg,#32b4df,#1bbda8);border-radius:10px;transition:width .3s ease}
.wb-grid{display:grid;grid-template-columns:minmax(220px,248px) minmax(450px,1fr) minmax(300px,340px);align-items:start;gap:18px}
.wb-stages,.wb-bench,.stage-context,.view-shell,.stage-science,.stage-warning{border:1px solid var(--wb-line);background:#fff;border-radius:var(--wb-radius);overflow:hidden}
.wb-stages{position:sticky;top:12px;box-shadow:0 5px 19px #1f52670b}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e3ebef;padding:20px 19px 16px}
.panel-heading small{font-size:10px;letter-spacing:.13em;color:#71919f;font-weight:800}
.panel-heading h3{font-size:18px;margin:3px 0 0;letter-spacing:-.026em}
.panel-heading>span{color:#159dcb;font-weight:800;font-size:12px;background:#ebf8fd;border-radius:22px;padding:5px 8px}
.rail-hint{font-size:12px;margin:13px 19px;color:#697e8a;line-height:1.5}
#stage-list{display:flex;flex-direction:column;padding:0 9px 14px;max-height:620px;overflow-y:auto;scrollbar-color:#bbd4df transparent;scrollbar-width:thin}
.stage-link{width:100%;text-align:left;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#466171;padding:11px 10px;transition:background .2s;min-height:51px}
.stage-link:hover{background:#eff6fa}
.stage-link[aria-current="step"]{border-color:#8ccce8;background:#e9f7fe;color:#0b5173}
.stage-link .stage-n{font-size:11px;border:1px solid #d4e4eb;background:#fff;border-radius:9px;min-width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;font-weight:850;color:#568194}
.stage-link[data-status="passed"] .stage-n{background:#d9f9ef;color:#147c64;border-color:#b9ead6}
.stage-link[data-status="preview"] .stage-n{color:#a1abb0;background:#f3f5f5}
.stage-link .stage-label{font-size:12px;line-height:1.32;font-weight:700;flex:1}
.stage-link small{font-size:9px;color:#79939d;display:block;margin-top:3px;font-weight:500}
.stage-link .stage-lock{font-size:11px;color:#83a0ad}
.rail-footer{padding:13px 19px 17px;border-top:1px solid #e3edf0;display:flex;justify-content:space-between;gap:9px;align-items:center}
.rail-footer span{color:#879ca5;font-size:10px}
.wb-center{display:grid;gap:14px;min-width:0}
.stage-context{padding:22px 23px}
.stage-meta{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.09em;color:#7c96a2;font-weight:800;flex-wrap:wrap}
.state-chip{background:#e9f7ff;color:#167da7;padding:6px 9px;border-radius:25px}
.stage-context h3{font-size:clamp(24px,2.8vw,32px);color:#102d43;margin:12px 0 10px;letter-spacing:-.044em;line-height:1.15}
.stage-context>p{font-size:14px;line-height:1.7;color:#617683;margin:0 0 14px}
.assembly-pills{display:flex;gap:8px;flex-wrap:wrap}
.assembly-pills span{font-size:10px;font-weight:800;letter-spacing:.05em;border:1px solid #d6e8ee;color:#477488;background:#f5fafd;border-radius:7px;padding:5px 9px}
.view-shell{background:linear-gradient(160deg,#071c30,#0b2e47 70%,#071d31);color:#d8f3ff;border-color:#17405a;box-shadow:inset 0 0 60px #1575a10c;position:relative}
.view-topline,.view-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 20px;font-size:10px;letter-spacing:.09em;font-weight:800;color:#75b5d2;position:relative;z-index:1}
.view-topline{border-bottom:1px solid #2b5369}
.view-caption{border-top:1px solid #2b5369;color:#9ab7c5;font-size:9px}
.pulse-dot{display:inline-block;width:7px;height:7px;background:#28cfb2;box-shadow:0 0 0 4px #28cfb221;border-radius:50%;margin-right:7px}
.craft-view{display:block;width:100%;height:auto;min-height:220px;max-height:520px;overflow:visible}
.craft-view .part-layer{transition:opacity .35s ease,transform .55s ease;transform-box:fill-box;transform-origin:center}
.craft-view .part-layer.focused{filter:drop-shadow(0 0 7px #5ad2ff88)}
.craft-view .dimension-line{stroke:#7baecb;stroke-dasharray:5 6;stroke-width:1;opacity:.6}
.craft-view .dim-text{font-family:system-ui,sans-serif;fill:#b5d4e3;font-size:15px;letter-spacing:2px}
.craft-view .craft-annotation{font-family:system-ui,sans-serif;fill:#9bc4d8;font-size:13px;letter-spacing:1px}
.craft-view .hotspot{cursor:pointer}
.craft-view .hotspot:hover{filter:drop-shadow(0 0 9px #75dcff)}
.craft-view .assembly-ping{animation:wb-ping 650ms ease-out both}
@keyframes wb-ping{from{filter:drop-shadow(0 0 22px #ffdf83);opacity:.38}to{filter:drop-shadow(0 0 0 transparent);opacity:1}}
.view-overlay{position:absolute;inset:auto 14px 65px 14px;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:7px;pointer-events:none}
#view-part-name{border:1px solid #4c7996;border-radius:8px;padding:8px 10px;color:#d8f2fc;background:#0a233acb;font-size:11px;letter-spacing:.06em;font-weight:800;max-width:55%;line-height:1.35}
.view-toggles{display:flex;gap:6px;pointer-events:auto}
.view-toggles button{min-height:37px;border:1px solid #4a7a98;background:#0c314bbf;color:#c8e4ef;border-radius:8px;font-weight:750;font-size:11px;padding:7px 9px}
.view-toggles button[aria-pressed="true"]{background:#215c70;color:#fff;border-color:#6dbad9}
.stage-science{padding:20px 22px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.section-mini{font-size:10px;color:#1485af;font-weight:850;letter-spacing:.15em}
.stage-science h4{margin:6px 0 9px;font-size:19px;letter-spacing:-.025em}
.stage-science p{margin:0;color:#5c7381;font-size:13px;line-height:1.7}
.science-tools{min-width:164px;display:flex;flex-direction:column;gap:8px}
.narrate-button,.soft-link{border-radius:9px;padding:9px 11px;min-height:40px;font-size:11px;font-weight:800;border:1px solid #cce4ec;background:#eaf8fd;color:#1b6c8c}
.soft-link{background:#fff;color:#496e7b}
.stage-warning{border-left:4px solid #d4ad6f;padding:17px 19px;background:#fffcf6}
.stage-warning strong{color:#8d6932;font-size:10px;letter-spacing:.12em}
.stage-warning p{color:#776344;font-size:12px;margin:6px 0 0;line-height:1.62}
.wb-bench{position:sticky;top:12px;box-shadow:0 5px 19px #1f52670b}
.bench-instruction{padding:14px 19px 12px;margin:0;border-bottom:1px solid #e5edef;font-size:12px;line-height:1.6;color:#5d7482}
.part-list{display:grid;gap:5px;padding:10px;max-height:310px;overflow:auto;scrollbar-width:thin}
.part-row{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid transparent;background:#f5f9fb;color:#466272;border-radius:10px;padding:10px;width:100%;min-height:52px}
.part-row[aria-current="true"]{background:#e9f7fe;border-color:#8bcbe8}
.part-row[data-installed="true"]{background:#f2faf6;border-color:#d7efe5}
.part-row .part-status{min-width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#fff;border:1px solid #d6e3e7;color:#4c839a;font-size:12px;font-weight:800}
.part-row[data-installed="true"] .part-status{background:#d0f4e5;color:#0b8f6a;border-color:#bde6d7}
.part-row strong{font-size:12px;line-height:1.35;display:block;color:#2b4b5d}
.part-row small{font-size:10px;color:#80939d;display:block;margin-top:3px;line-height:1.3}
.part-work-area{padding:16px 19px 19px;border-top:1px solid #e1edf1}
.part-focused .part-sku{font-size:10px;color:#4d9ab7;font-weight:800;letter-spacing:.11em}
.part-focused strong{display:block;font-size:18px;letter-spacing:-.025em;color:#133b50;margin:4px 0 6px}
.part-focused p{font-size:12px;color:#627b89;margin:0 0 5px;line-height:1.62}
.part-focused small{font-size:11px;color:#567989;line-height:1.45;display:block}
.material-picker{border:0;padding:0;margin:17px 0 12px;min-width:0}
.material-picker legend{font-size:11px;font-weight:800;color:#526b78;margin-bottom:9px}
#material-choices{display:grid;gap:7px}
.material-option{display:flex;align-items:flex-start;gap:9px;border:1px solid #dce7ec;border-radius:9px;padding:9px 10px;background:#fff;color:#4e6774;font-size:12px;line-height:1.45;cursor:pointer}
.material-option:has(input:checked){border-color:#289cd2;background:#f0fbff;color:#145874}
.material-option input{margin-top:3px;accent-color:#1b97c9}
.material-option:hover{border-color:#a8d5e6}
.fit-button{background:linear-gradient(120deg,#137daa,#166f99);border:1px solid #116d93;border-radius:11px;color:#fff;min-height:49px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;font-weight:850;width:100%;text-align:left;box-shadow:0 5px 15px #127da42b}
.fit-button:hover:not(:disabled){background:linear-gradient(120deg,#09658e,#166687)}
.bench-feedback{min-height:18px;color:#5e7d8a;font-size:11px;margin-top:10px;line-height:1.6}
.bench-feedback.error{color:#bb602f}
.bench-feedback.success{color:#11876d}
.qa-gate{padding:19px;border-top:1px solid #dce9ec;background:#f4fafc}
.qa-top{font-size:10px;letter-spacing:.1em;font-weight:900;color:#16957d}
.qa-gate h4,.stage-done h4{font-size:18px;margin:7px 0;color:#12394f}
.qa-gate p{color:#536d7b;font-size:12px;line-height:1.6}
.qa-options{display:grid;gap:7px;margin:13px 0}
.qa-options label{border:1px solid #dce9ee;border-radius:9px;padding:10px;display:flex;gap:7px;font-size:12px;color:#405f6f;background:#fff;cursor:pointer}
.qa-options label:has(input:checked){border-color:#168dbe;background:#eaf8ff}
.qa-options input{accent-color:#138dbb}
#qa-feedback{color:#0b7e6d;font-weight:700;margin:11px 0 0}
.stage-done{padding:23px 19px 20px;background:#f2fcf6;border-top:1px solid #d4eee1}
.stage-done>span{font-weight:900;font-size:11px;color:#13866a;letter-spacing:.11em}
.stage-done p{font-size:12px;color:#507363;line-height:1.6}
.wb-lab{padding-bottom:70px}
.lab-intro{max-width:720px;margin-bottom:24px}
.lab-intro .eyebrow,.wb-credit .eyebrow{color:#1688b8;font-size:11px;font-weight:800;letter-spacing:.13em}
.lab-intro h2{font-size:clamp(31px,4vw,48px);letter-spacing:-.06em;line-height:1.1;margin:8px 0 11px;color:#132f45}
.lab-intro p{font-size:14px;color:#617988;line-height:1.7;margin:0}
.lab-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #b8d5e1;padding-bottom:10px;margin-bottom:15px}
.lab-tabs button{border:1px solid transparent;background:transparent;border-radius:9px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:800;color:#618094}
.lab-tabs button[aria-selected="true"]{border-color:#9cd5e7;background:#fff;color:#0f7fab;box-shadow:0 4px 14px #32688314}
.lab-panel{background:#fff;border:1px solid #d5e5ec;border-radius:18px;padding:24px;box-shadow:0 9px 30px #244f660c}
.lab-panel-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}
.lab-panel-head h3{font-size:21px;margin:0 0 4px;letter-spacing:-.035em}
.lab-panel-head p{font-size:13px;margin:0;color:#627e89;line-height:1.6;max-width:700px}
.lab-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:end}
.lab-actions button,.lab-actions a{background:#eff8fc;border:1px solid #c6e1ea;color:#176d94;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:800;min-height:41px;text-decoration:none}
.bom-search{display:grid;grid-template-columns:minmax(180px,2fr) minmax(180px,1fr);gap:13px;margin-bottom:14px}
.bom-search label,.physics-controls label,#notebook-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#456677}
.bom-search input,.bom-search select,.physics-controls select,.physics-controls input,#notebook-form input,#notebook-form textarea{width:100%;min-width:0;border:1px solid #cbdde5;background:#fff;border-radius:10px;padding:11px;color:#1a4057;font-size:13px;outline-color:#1d91c4}
.table-scroll{max-height:480px;overflow:auto;border:1px solid #e1e9ed;border-radius:11px}
.table-scroll table{border-collapse:collapse;width:100%;min-width:750px;font-size:12px}
.table-scroll thead{background:#eaf5f9;position:sticky;top:0;z-index:1;color:#2d596c}
.table-scroll th,.table-scroll td{padding:11px 12px;text-align:left;border-bottom:1px solid #e8eff3;vertical-align:top}
.table-scroll th{font-size:10px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.table-scroll td:first-child{font-weight:850;color:#1686b3}
.table-scroll tbody tr:hover{background:#f9fcfd}
.bom-status{font-size:10px;font-weight:800;padding:4px 8px;border-radius:22px;background:#eef4f7;color:#6c8a98;white-space:nowrap}
.bom-status.done{background:#dbf8eb;color:#12886d}
.bom-summary{margin:15px 0 0;color:#6e8591;font-size:11px}
.physics-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.physics-controls{display:grid;align-content:start;gap:16px}
.physics-controls #physics-inputs{display:grid;gap:13px}
.physics-controls input[type="range"]{accent-color:#158fbf;padding:0;height:32px;border:0}
.physics-controls label:has([type="range"]){gap:2px}
.physics-controls label output{font-size:11px;color:#2d85aa;font-weight:800}
.physics-output{min-height:270px;background:radial-gradient(circle at 70% 10%,#1a5e7e,#07243b 70%);border-radius:16px;padding:30px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.physics-output>span{font-size:10px;letter-spacing:.15em;color:#77cee7;font-weight:800}
.physics-output strong{font-size:clamp(32px,4vw,54px);letter-spacing:-.05em;line-height:1.22;margin:10px 0}
.physics-output p{color:#c6e1ec;font-size:13px;line-height:1.7}
.physics-output small{color:#7ebcd2;line-height:1.6}
.physics-gauge{height:8px;border-radius:20px;overflow:hidden;background:#24516b;margin-bottom:12px}
.physics-gauge i{height:100%;width:60%;display:block;background:linear-gradient(90deg,#31b0e4,#41e3bc);border-radius:20px}
.physics-disclosure{margin-top:17px;border-left:3px solid #cda96f;background:#fffaf1;color:#796844;font-size:12px;padding:14px 17px;line-height:1.6}
#notebook-form{display:grid;gap:13px;max-width:900px}
#notebook-form textarea{resize:vertical;line-height:1.6}
#notebook-form .fit-button{max-width:260px}
#note-entries{display:grid;gap:12px;margin-top:24px}
.note-entry{background:#f7fbfd;border:1px solid #e1edf1;border-radius:12px;padding:15px 18px}
.note-entry h4{margin:2px 0 8px;color:#153d52}
.note-entry span{font-size:10px;color:#7694a2;font-weight:800}
.note-entry p{font-size:12px;color:#537181;line-height:1.6;margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.educator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.educator-grid article{background:#f3f8fa;padding:19px;border-radius:13px;border:1px solid #e2ebef}
.educator-grid article b{font-size:10px;color:#277d9a;letter-spacing:.09em}
.educator-grid article h4{font-size:17px;margin:7px 0}
.educator-grid article p{margin:0;font-size:12px;line-height:1.7;color:#607785}
.teacher-sources{margin-top:24px;border-top:1px solid #e0ecf0;padding-top:20px}
.teacher-sources h4{font-size:18px;margin:0 0 12px}
#source-links{display:flex;gap:10px;flex-wrap:wrap}
#source-links a{font-size:12px;border:1px solid #c8dfe7;border-radius:8px;padding:10px 12px;color:#186e91;text-decoration:none;background:#f4fbff;font-weight:750}
.teacher-sources p{font-size:12px;color:#728894;margin-top:15px}
.wb-credit{padding-top:28px;padding-bottom:80px;display:grid;grid-template-columns:1.7fr 1fr;gap:24px;align-items:center}
.wb-credit h2{font-size:clamp(25px,3.1vw,37px);letter-spacing:-.045em;line-height:1.15;margin:7px 0 12px;max-width:620px}
.wb-credit p{font-size:14px;color:#607787;line-height:1.7;max-width:680px;margin:0}
.credit-emblem{border:1px solid #b8dbe7;border-radius:17px;min-height:175px;background:linear-gradient(125deg,#eaf8fc,#f8fcfd);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}
.credit-emblem span{font-size:40px;color:#389ecc}
.credit-emblem strong{font-size:13px;letter-spacing:.12em;color:#29647e}
.credit-emblem small{font-size:9px;letter-spacing:.08em;color:#88a8b5}
body[data-page="builder"] .ah-footer{background:#081e31;color:#e6f4f9}
body[data-page="builder"] .ah-footer a{color:#b5e0ed}
@media(max-width:1280px){.wb-hero{padding-left:35px;padding-right:35px}.wb-grid{grid-template-columns:minmax(210px,240px) minmax(0,1fr);gap:15px}.wb-bench{grid-column:2;position:static}.wb-stages{grid-row:span 2}.wb-center{grid-column:2}.wb-notice{margin-left:32px;margin-right:32px}.wb-stages{top:10px}}
@media(max-width:900px){.wb-hero{padding:50px 25px;min-height:300px}.wb-hero-mark{width:170px;height:170px}.wb-models,.wb-workshop,.wb-lab,.wb-credit{padding-left:22px;padding-right:22px}.wb-notice{margin-left:22px;margin-right:22px}.wb-grid{grid-template-columns:1fr}.wb-stages{position:static;grid-row:auto}.wb-center,.wb-bench{grid-column:auto}.wb-stages #stage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:300px}.stage-science{flex-wrap:wrap}.science-tools{min-width:0;flex-direction:row;flex-wrap:wrap}.wb-station-head{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:690px){.wb-hero{padding:42px 20px 56px;min-height:0}.wb-hero h1{font-size:clamp(39px,11vw,61px)}.wb-hero-mark{display:none}.hero-tags{gap:6px}.hero-tags span{font-size:9px;padding:6px 9px}.wb-models,.wb-workshop,.wb-lab,.wb-credit{padding-left:15px;padding-right:15px}.wb-notice{margin-left:15px;margin-right:15px;padding:15px}.wb-model-grid{grid-template-columns:1fr}.model-tile{min-height:190px;padding:20px}.wb-models{padding-top:37px}.wb-grid{gap:12px}.wb-station-head{gap:13px}.wb-metrics{gap:12px;justify-content:flex-start}.mini-stat{min-width:89px}.wb-stages #stage-list{grid-template-columns:1fr 1fr;max-height:200px;gap:3px;padding:0 6px 10px}.stage-link{padding:8px 5px;gap:6px}.stage-link .stage-n{min-width:27px;width:27px;height:27px}.stage-link .stage-label{font-size:10px}.stage-link small{font-size:9px}.rail-hint{margin:10px 16px}.stage-context{padding:20px 18px}.view-topline,.view-caption{padding:12px;font-size:9px}.view-overlay{position:static;margin:0 11px 12px}.craft-view{min-height:0}.view-caption{padding:11px}.stage-science{padding:17px}.view-toggles button{font-size:10px}.wb-bench .panel-heading{padding:18px}.part-list{max-height:270px}.wb-lab{padding-bottom:45px}.lab-panel{padding:18px 13px}.lab-panel-head{flex-wrap:wrap}.lab-actions{justify-content:flex-start}.bom-search,.physics-layout,.educator-grid,.wb-credit{grid-template-columns:1fr}.physics-output{min-height:225px}.wb-credit{padding-bottom:55px}.credit-emblem{min-height:140px}.wb-notice p{font-size:12px}.science-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}.science-tools button{white-space:normal}#view-part-name{font-size:9px}.stage-context h3{font-size:26px}}
@media(max-width:370px){.wb-stages #stage-list{grid-template-columns:1fr}.stage-link{min-height:46px}.wb-stages #stage-list{max-height:255px}.hero-tags span{font-size:8px}.view-overlay{flex-direction:column;align-items:stretch}.view-toggles{justify-content:flex-end}#view-part-name{max-width:none}.wb-models{padding-top:32px}.wb-station-head h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.ah-header,.ah-menu,.ah-mobile-menu,.wb-hero,.wb-notice,.wb-models,.wb-workshop,.lab-tabs,.wb-credit,.ah-footer,.lab-actions,.bom-search{display:none!important}body[data-page="builder"]{background:#fff!important}.wb-lab{padding:0;max-width:none}.lab-panel{border:0;padding:0;box-shadow:none}#lab-bom{display:block!important}#lab-physics,#lab-educator,#lab-notes{display:none!important}.table-scroll{max-height:none;overflow:visible}.table-scroll table{min-width:0;font-size:9px}.table-scroll th,.table-scroll td{padding:5px 6px}}

/* AHF311 Build Lab v1.1 | Accessible full-width independent research workspaces */
.wb-lab{
  width:100%;max-width:none!important;margin:0 auto;
  padding:54px clamp(15px,3.2vw,66px) 78px;
  background:linear-gradient(165deg,#d8ebf1 0%,#e9f3f6 46%,#f0f7f8 100%);
  border-top:1px solid #b4d6e3;
}
.wb-lab>.lab-intro,.wb-lab>.lab-jump-nav,.wb-lab>.lab-deck{
  width:100%;max-width:1480px;margin-left:auto;margin-right:auto;
}
.wb-lab>.lab-intro{max-width:1480px;margin-bottom:22px}
.wb-lab .lab-intro p{max-width:960px;font-size:15px;line-height:1.65;color:#425f6d}
.lab-jump-nav{position:sticky;top:0;z-index:18;display:flex;gap:9px;
  padding:12px 10px 13px;margin-bottom:22px;
  border:1px solid #9fc6d6;border-radius:15px;background:#ecf7fbed;
  box-shadow:0 8px 25px #0c3d5719;backdrop-filter:blur(12px);
  overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;
}
.lab-jump-nav .lab-jump-link{
  display:inline-flex;align-items:center;justify-content:center;flex:1 0 max-content;
  min-height:46px;padding:11px 16px;border:1px solid #b3d1df;
  border-radius:10px;background:#fff;color:#20516a;font-size:12px;
  font-weight:800;text-decoration:none;white-space:nowrap;transition:border-color .2s;
}
.lab-jump-nav .lab-jump-link:hover,.lab-jump-nav .lab-jump-link[aria-current="location"]{
  border-color:#398eb7;background:#daeff8;color:#095579;
}
.lab-deck{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
.lab-panel.lab-panel--wide{
  padding:0;display:flex;flex-direction:column;min-width:0;
  border:1px solid #bad3df;border-left:6px solid #2489bd;
  border-radius:20px;background:#fff;
  box-shadow:0 15px 45px #1d4a6618;overflow:hidden;
  scroll-margin-top:92px;
}
#lab-physics.lab-panel--wide{border-left-color:#31aab0}
#lab-notes.lab-panel--wide{border-left-color:#b19a64}
#lab-educator.lab-panel--wide{border-left-color:#5676b9}
.lab-panel--wide .lab-panel-head{
  flex:0 0 auto;padding:23px 28px 18px;margin:0;
  background:linear-gradient(90deg,#f3fafc,#fff);border-bottom:1px solid #dcebf0;
  flex-wrap:wrap;align-items:center;
}
.lab-panel--wide .lab-panel-head h3{font-size:clamp(21px,2.1vw,27px);margin:3px 0 4px}
.lab-panel--wide .lab-panel-head p{max-width:850px;font-size:13px}
.lab-card-index{display:block;color:#1384af;letter-spacing:.12em;font-size:10px;font-weight:900}
.lab-scroll-cue{
  padding:7px 11px;border-radius:100px;background:#e3f3f9;border:1px solid #b9dbe9;
  color:#1b7192;font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap;
}
.lab-panel-scroll{
  padding:24px 28px;
  max-height:min(73dvh,690px);min-height:260px;
  overflow:auto;overscroll-behavior:contain;
  scrollbar-width:auto;scrollbar-color:#74b6d2 #eaf5f9;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.lab-panel-scroll::-webkit-scrollbar{height:12px;width:12px}
.lab-panel-scroll::-webkit-scrollbar-thumb{border:3px solid #eaf5f9;background:#5aadc8;border-radius:12px}
.lab-panel-scroll::-webkit-scrollbar-track{background:#eaf5f9}
.lab-panel--wide .lab-panel-foot{
  flex:0 0 auto;padding:11px 28px;color:#5c7b8b;background:#f5fafc;
  border-top:1px solid #e0edf1;font-size:11px;line-height:1.5;
}
.lab-panel--wide .table-scroll{max-height:none;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain}
.lab-panel--wide .table-scroll table{min-width:860px}
.lab-panel--wide .bom-search{grid-template-columns:minmax(0,2fr) minmax(175px,1fr)}
.lab-panel--wide .physics-layout{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.lab-panel--wide .physics-output{min-height:300px}
.lab-panel--wide #notebook-form{max-width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lab-panel--wide #notebook-form label:first-child,.lab-panel--wide #notebook-form label:last-of-type{
  grid-column:1/-1;
}
.lab-panel--wide #note-entries{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.wb-quick-jump{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:17px}
.wb-quick-jump a{display:inline-flex;justify-content:center;align-items:center;min-height:43px;
  padding:10px 15px;border:1px solid #537b91;border-radius:10px;
  color:#d9f6ff;text-decoration:none;background:#12384e;font-size:13px;font-weight:800;
}
.wb-quick-jump a:last-child{background:#b6eff5;border-color:#b6eff5;color:#0c2e3d}
.wb-quick-jump a:hover{filter:brightness(1.09)}
#research-bench{scroll-margin-top:30px}
@media(max-width:900px){
 .wb-lab{padding:36px 18px 55px}
 .lab-panel-scroll{padding:19px 17px}
 .lab-panel--wide .lab-panel-head{padding:21px 18px}
 .lab-panel--wide .lab-panel-foot{padding:10px 18px}
 .lab-panel--wide .physics-layout{grid-template-columns:1fr}
 .lab-panel--wide .bom-search{grid-template-columns:1fr}
}
@media(max-width:690px){
 .wb-lab{padding:30px 10px 42px}
 .lab-jump-nav{position:relative;top:auto;border-radius:12px;gap:7px;padding:9px;margin-bottom:16px}
 .lab-jump-nav .lab-jump-link{flex:1 0 170px;white-space:normal;padding:10px;font-size:11px;line-height:1.35}
 .lab-deck{gap:18px}
 .lab-panel.lab-panel--wide{border-left-width:4px;border-radius:14px;scroll-margin-top:22px}
 .lab-panel--wide .lab-panel-head{padding:17px 14px;gap:9px}
 .lab-panel-scroll{max-height:min(71dvh,630px);min-height:220px;padding:14px 12px;
   scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}
 .lab-panel--wide .lab-panel-foot{padding:9px 13px}
 .lab-panel--wide .educator-grid,.lab-panel--wide #notebook-form{grid-template-columns:1fr}
 .lab-panel--wide #notebook-form label:first-child,.lab-panel--wide #notebook-form label:last-of-type{grid-column:auto}
 .lab-panel--wide #note-entries{grid-template-columns:1fr}
 .lab-panel--wide .table-scroll table{min-width:720px}
 .lab-panel--wide .physics-output{min-height:225px;padding:20px}
 .wb-quick-jump{margin-top:14px}.wb-quick-jump a{flex:1 1 auto;text-align:center}
}
@media print{
 .lab-jump-nav,.lab-panel--wide .lab-panel-foot,.lab-scroll-cue{display:none!important}
 .wb-lab{background:#fff;padding:0!important}
 .lab-deck{display:block}
 .lab-panel-scroll{max-height:none!important;min-height:0!important;overflow:visible!important;padding:0!important}
 .lab-panel{border:0!important;box-shadow:none!important}
 #lab-physics,#lab-notes,#lab-educator{display:none!important}
 .table-scroll{max-height:none!important;overflow:visible!important}
}
