@charset "UTF-8";
.textbook-catalog{border-top:1px solid #344a55;margin:25px 0;padding-top:20px}.textbook-catalog h3{font-size:16px;font-weight:500;margin:0 0 12px}.textbook-catalog>p,.textbook-catalog article p{font-size:11px;color:#8ca6b2;line-height:1.8}.textbook-catalog h4{font-size:13px;margin:24px 0 12px;color:#ccdfde;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.textbook-catalog h4 span{font-size:10px;color:#6dbba4}.textbook-catalog article{border-left:2px solid #8b765b;padding:12px 14px;margin:9px 0;background:#122630}.textbook-catalog article.built{border-color:#65c9a8}.textbook-catalog article b{font-size:12px;font-weight:500;display:block;color:#bcd0d7}.textbook-catalog article small{display:block;font-size:10px;color:#7894a1;line-height:1.9;margin:4px 0}.catalog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px;align-items:center}.catalog-actions button{font-size:10px;padding:7px 9px;border:1px solid #385f55;border-radius:4px;color:#9bdcbe}.catalog-actions a{font-size:10px!important;padding:3px!important;color:#a9becc!important;border:0!important;display:inline!important}.catalog-actions>span{font-size:10px;color:#d2b68f}
.collection-tabs{display:grid;gap:5px;margin:-10px 0 17px}.collection-tabs button{border:1px solid #2b4854;border-radius:6px;text-align:left;padding:10px 12px;font-size:12px;display:flex;justify-content:space-between;color:#8daebc}.collection-tabs button.active{background:#213b36;border-color:#609c85;color:#9fead1}.collection-tabs span{font-size:10px;color:#7a999e}.book-status{font-size:10px;line-height:1.8;color:#7996a1;padding:0 9px 12px}.book-figure-caption{padding:12px 18px;font-size:11px;color:#b6c7ce;border-bottom:1px solid #304651;line-height:1.8}.source-issue{color:#d5b694!important;margin:16px 0}.references-modal>p{line-height:1.9;margin-bottom:12px}
:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#d9e8eb;background:#0b161e;color-scheme:only light;--muted:#839ca8;--line:#263b46;--accent:#68ddbc;--panel:#14242e;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.3;cursor:default}a{color:inherit;text-decoration:none}button{color:inherit;background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:hover{filter:brightness(1.16)}button,input{touch-action:manipulation}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#0e1c25;position:relative;z-index:20}.brand{display:flex;gap:13px;align-items:center;font-size:19px;font-weight:650;letter-spacing:.2px}.brand-mark{display:grid;place-items:center;border:1px solid #417f70;border-radius:11px;width:44px;height:44px;color:#76e5c3;background:#173a35}.brand-tail{font-size:15px;margin-left:12px;font-weight:400;color:#adbec5}.brand small{display:block;font-size:10px;letter-spacing:1.2px;color:#839ca8;margin-top:6px;font-weight:400}.topbar-right{display:flex;align-items:center;gap:28px}.version-pill{font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:12px;color:#8da4af}.version-pill i{width:5px;height:5px;background:var(--accent);border-radius:100%}.text-button{font-size:12px;color:#afc2ca}.text-button span{color:var(--accent);margin-left:12px}.icon-button{width:34px;height:34px;border:1px solid #314752;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}.sidebar{position:absolute;top:84px;left:0;width:242px;min-height:calc(100vh - 84px);padding:28px 16px;border-right:1px solid var(--line);background:#0e1c25}.side-heading{font-size:11px;color:#7b98a5;letter-spacing:1px;padding:0 8px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.search{display:flex;align-items:center;gap:8px;background:#122630;border:1px solid #2b414c;border-radius:7px;padding:10px;color:#728e9a;margin-bottom:26px}.search input{background:none;border:0;min-width:0;width:100%;font-size:11px;outline:none;color:#cfe2e7}.search input::placeholder{color:#6d8996}.search kbd{font-size:13px}.nav-item{display:flex;align-items:center;width:100%;padding:14px 12px;border-radius:8px;gap:12px;text-align:left;margin:3px 0;color:#8ea6b1}.nav-item>span{font-size:13px;flex:1}.nav-item small{font-size:10px;display:block;color:#5f7f8d;margin-top:5px}.nav-item>b{font-weight:400;font-size:10px;opacity:.6}.nav-item.active{background:#173b35;color:#8ce9cc;box-shadow:inset 3px 0 0 #72e4c1}.nav-item.active small{color:#72a99a}.sidebar-bottom{border-top:1px solid var(--line);padding:22px 8px 0;margin-top:28px;font-size:10px;color:#8da6b1}.sidebar-bottom p{line-height:1.8;margin:10px 0 18px;color:#627e8c}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#62d9b9;margin-right:7px;box-shadow:0 0 10px #62d9b935}.legend-colors{display:flex;gap:13px;font-size:9px}.legend-colors i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:2px}.search-results{max-height:70vh;overflow:auto}.section-label{font-size:10px;color:var(--muted);display:block;margin:0 10px 12px}.search-results button{display:block;text-align:left;width:100%;padding:13px;border-bottom:1px solid var(--line)}.search-results b{display:block;font-size:12px;font-weight:500}.search-results small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.search-results p{font-size:12px;line-height:1.7;color:var(--muted);padding:14px}.menu-button{display:none}main{margin-left:242px;padding:34px 32px 0;max-width:1840px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{color:#7caeaa;font-size:11px;letter-spacing:1.1px;margin-bottom:13px}h1{font-size:29px;letter-spacing:1px;font-weight:600}h1>span{display:block;font-size:10px;font-weight:400;letter-spacing:2.8px;color:#648592;margin-top:9px}.page-heading p{font-size:12px;color:#94abb5;margin-top:15px}.page-nav{display:flex;align-items:center;gap:12px}.page-nav>span{font-size:10px;letter-spacing:1px;color:#6b8998}.explorer{border:1px solid #2a414c;border-radius:13px;overflow:hidden;background:#11212b}.explorer-top{height:55px;display:flex;align-items:center;padding:0 19px;border-bottom:1px solid var(--line);background:#142630;gap:18px}.view-tabs{display:flex;height:100%;gap:26px;flex:1}.view-tabs>button{font-size:13px;border-bottom:2px solid transparent;padding:0 3px;color:#819ca9}.view-tabs>button.active{color:#89e7ca;border-color:#78d8bb}.model-type{font-size:10px;color:#617f8c}.explorer-top>.icon-button{border:0}.explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px}.model-panel{min-width:0}.toolbar{display:flex;align-items:center;padding:14px 17px;gap:14px;background:#142630;border-bottom:1px solid #243b46;min-height:63px}.primary-button{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;background:#6ad9b6;color:#143a30;padding:10px 13px;border-radius:6px;font-weight:600;min-height:36px;white-space:nowrap}.explosion-control{display:flex;align-items:center;gap:10px;font-size:10px;color:#96aeb8;flex:1}.explosion-control input{accent-color:#6ad9b6;width:90px;min-width:45px;cursor:pointer}.explosion-control output{min-width:31px;font-size:10px;color:#a9c6ce}.tool-button{display:flex;align-items:center;gap:6px;font-size:10px;color:#91aeb9;padding:7px}.viewport{position:relative;height:clamp(440px,45vw,620px);min-width:0;overflow:hidden;background:#11212b}.three-host{position:absolute;inset:0;touch-action:none}.three-host canvas{display:block;width:100%;height:100%;touch-action:none}.view-corner{position:absolute;left:20px;top:18px;font-size:9px;letter-spacing:1.7px;pointer-events:none;color:#6a8d9c}.view-corner b{font-weight:400;letter-spacing:0;margin-left:14px;color:#9ab3bd}.axis-hint{position:absolute;top:18px;right:18px;font-size:10px;color:#8daeba;pointer-events:none}.axis-hint span{display:block;margin-top:5px;font-size:8px;color:#54798b}.leaders{position:absolute;inset:0;pointer-events:none}.pin{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;font-size:11px;font-weight:650;background:#213d48e8;color:#d7eeef;border:1px solid #8db2ba;box-shadow:0 3px 9px #0005;display:grid;place-items:center}.pin:before{content:'';position:absolute;inset:-4px}.pin.selected{background:#ed7658;color:#fff;border:2px solid #ffd5c8;box-shadow:0 0 0 4px #ed76582b}.model-callout{position:absolute;bottom:22px;left:18px;pointer-events:none;font-size:11px;background:#14252ee8;padding:10px 12px;border:1px solid #31505b;border-radius:6px;display:flex;align-items:center;gap:9px}.model-callout span{font-size:9px;color:#ff947c}.gesture-hint{position:absolute;bottom:20px;right:18px;pointer-events:none;font-size:9px;color:#5c8090}.view-options{padding:12px 19px;border-top:1px solid #243b46;display:flex;gap:23px;background:#132630}.view-options button{font-size:10px;color:#6f8e9c;display:flex;align-items:center;gap:7px;min-height:24px}.view-options button.active{color:#acd8cc}.toggle-dot{display:inline-block;width:7px;height:7px;border:1px solid #577581;border-radius:50%}.active>.toggle-dot{background:#6fdfbd;border-color:#6fdfbd}.detail-panel{border-left:1px solid var(--line);padding:24px 22px;background:#172b35;display:flex;flex-direction:column;min-width:0}.detail-eyebrow{font-size:10px;color:#7999a7;display:flex;justify-content:space-between;letter-spacing:1px}.detail-eyebrow span{color:#64c9ab;font-size:9px}h2{font-size:20px;font-weight:550;line-height:1.5;margin-top:17px}.part-english{font-size:8px;letter-spacing:1px;color:#648a9a;margin-top:6px;line-height:1.6}.detail-rule{height:1px;background:#35505c;margin:24px 0}.detail-block{margin-bottom:20px}.detail-block>span{color:#7e9eab;font-size:10px}.detail-block p{font-size:12px;line-height:1.9;margin-top:8px;color:#c1d2d9}.material{background:#11232c;border:1px solid #2a434f;border-radius:6px;padding:13px;margin-bottom:18px}.material>span{display:block;font-size:9px;color:#6d919f}.material>b{font-size:11px;line-height:1.7;font-weight:400;display:block;margin-top:6px;color:#bdd0d7}.drill-button{padding:12px;background:#285246;color:#9ae8cc;border:1px solid #467d68;border-radius:6px;font-size:11px;display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.isolate-button{padding:11px;border:1px solid #3e5d69;border-radius:6px;font-size:11px;color:#a8c0ca}.isolate-button.active{border-color:#ee8a6e;color:#f7b69e}.source-link{margin-top:auto;padding-top:23px;font-size:9px;color:#688b9b;line-height:1.8}.parts-section{border-top:1px solid var(--line);padding:19px;background:#13242e}.parts-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.parts-heading h3{font-size:12px;font-weight:500}.parts-heading h3 span{font-size:9px;margin-left:10px;color:#658c9e}.parts-heading p{font-size:10px;color:#658897}.parts-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.parts-list button{display:flex;align-items:center;gap:9px;min-height:41px;padding:8px 10px;border:1px solid #2c4551;border-radius:6px;text-align:left;min-width:0;color:#9db5c0;background:#142b35}.parts-list button>span{color:#5e8697;font-size:9px}.parts-list button>b{font-size:11px;font-weight:400;line-height:1.5}.parts-list button>i{font-size:11px;font-style:normal;margin-left:auto;color:#759caa}.parts-list button.selected{color:#f2c1b3;border-color:#a26855;background:#412e2b}.parts-list button.selected>span{color:#f28a6c}.energy{margin-top:24px;border:1px solid var(--line);border-radius:11px;background:#10212a;padding:24px}.energy-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.energy h3{font-size:13px;font-weight:500}.mode-tabs{display:flex;gap:5px}.mode-tabs button{font-size:10px;padding:8px 12px;border-radius:5px;color:#7795a3}.mode-tabs button.active{background:#20433b;color:#89dcbe}.flow-track{display:flex;align-items:center}.flow-node{flex:1;padding:15px;border:1px solid #2d4753;border-radius:7px;background:#162c36;font-size:12px;white-space:nowrap}.flow-node span{display:block;font-size:8px;color:#67b59f;margin-bottom:9px;letter-spacing:1px}.flow-arrow{position:relative;height:1px;background:#365c60;width:34px;flex-shrink:0}.flow-arrow:after{content:'›';position:absolute;right:1px;top:-9px;font-size:14px;color:#6ddabb}.flow-arrow i{width:7px;height:3px;top:-1px;position:absolute;background:#70ddbe;animation:flow 1.7s linear infinite}@keyframes flow{from{left:0;opacity:0}25%{opacity:1}to{left:90%;opacity:0}}.energy>p{font-size:10px;color:#7795a3;margin-top:18px;line-height:1.8}.scope-note{display:flex;gap:18px;align-items:flex-start;border-top:1px solid var(--line);padding-top:23px;margin-top:24px;color:#698a9a;font-size:10px;line-height:1.9}.scope-note>span{color:#a2b9c2;white-space:nowrap}.scope-note>p{flex:1;max-width:850px}.scope-note>button{font-size:10px;white-space:nowrap;color:#81adab}footer{display:flex;justify-content:space-between;padding:32px 0 22px;font-size:9px;color:#496a7b}.diagram-wrap{min-height:560px;padding:22px 20px;background:#11212b;overflow:auto}.diagram-caption{display:flex;justify-content:space-between;color:#bdd3d9;font-size:12px;margin-bottom:30px}.diagram-caption span{font-size:10px;color:#6f94a5}.diagram-wrap>svg{width:100%;min-width:560px;height:auto;display:block}.diagram-wrap>p{font-size:10px;color:#7895a3;margin-top:22px;line-height:1.7}.render-error{position:absolute;left:20%;right:20%;top:38%;padding:25px;background:#283a42;color:#d6e6eb;font-size:13px;line-height:2}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#0009;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.references-modal{position:relative;width:min(720px,100%);max-height:90dvh;overflow:auto;background:#142933;border:1px solid #3b5966;border-radius:15px;padding:32px}.modal-close{position:absolute;right:20px;top:20px}.references-modal h2{margin-top:0;font-size:25px}.references-modal>p{font-size:12px;line-height:2;color:#9cb6c1;margin-top:18px}.reference-list{margin:24px 0}.reference-list a{display:flex;gap:14px;align-items:center;border-top:1px solid #2b4855;padding:14px 0;font-size:11px}.reference-list a>span{color:#598a9d;font-size:9px}.reference-list a>b{font-weight:400;flex:1}.reference-list a>i{font-style:normal;color:#79c8b5}.references-modal>small{font-size:10px;color:#648a9b;line-height:1.8}.fullscreen{position:fixed;inset:0;z-index:70;border-radius:0;display:flex;flex-direction:column}.fullscreen .explorer-layout{flex:1;min-height:0}.fullscreen .model-panel{display:flex;flex-direction:column;min-height:0}.fullscreen .viewport{height:auto;flex:1}.fullscreen .detail-panel{overflow:auto}.fullscreen .parts-section{flex-shrink:0}.fullscreen .diagram-wrap{min-height:0;overflow:auto}.mobile-hint{display:none}.drawer-backdrop{display:none}
@media(min-width:1700px){.explorer-layout{grid-template-columns:minmax(0,1fr) 320px}.detail-panel{padding:28px}.viewport{height:660px}}
@media(max-width:1200px){main{padding:27px 22px 0;margin-left:214px}.sidebar{width:214px;padding:25px 12px}.explorer-layout{grid-template-columns:minmax(0,1fr) 245px}.detail-panel{padding:19px 16px}.toolbar{gap:9px;padding:12px}.explosion-control{gap:5px}.explosion-control>span{display:none}.view-options{gap:17px}.gesture-hint{bottom:68px;left:20px;right:auto}.parts-list{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-node{font-size:10px;padding:12px}.flow-arrow{width:20px}.page-heading h1{font-size:26px}.brand-tail{font-size:13px}.topbar{padding:0 23px}}
@media(max-width:980px){.sidebar{width:190px;padding:22px 9px}.nav-item{padding:12px 8px;gap:8px}.nav-item>span{font-size:12px}.nav-item>b{display:none}main{margin-left:190px;padding:25px 18px 0}.explorer-layout{grid-template-columns:minmax(0,1fr) 220px}.detail-panel{padding:18px 15px}.detail-block p{font-size:11px}.detail-panel h2{font-size:18px}.primary-button{padding:9px;font-size:11px}.explosion-control input{width:60px}.tool-button span{display:none}.brand-tail{display:none}.page-nav{gap:7px}.page-heading p{font-size:11px}.energy{padding:18px}.flow-node{white-space:normal;min-height:77px}.view-options{gap:12px;padding:10px 12px}}
@media(max-width:760px){.topbar{height:74px;padding:0 15px;justify-content:flex-start;gap:12px}.menu-button{display:inline-flex;flex-shrink:0}.brand{font-size:16px;gap:9px}.brand-mark{width:35px;height:35px;border-radius:9px}.brand small{font-size:8px;letter-spacing:.4px;line-height:1.6}.topbar-right{margin-left:auto}.version-pill{display:none}.text-button{font-size:10px}.text-button span{display:none}.sidebar{position:fixed;z-index:60;top:0;height:100dvh;width:285px;overflow:auto;transform:translateX(-100%);transition:transform .2s;padding:20px 17px}.sidebar.open{transform:translateX(0)}.nav-item>span{font-size:14px}.nav-item{padding:13px}.nav-item>b{display:block}.sidebar-bottom{margin-top:18px}.side-heading{margin-bottom:15px}.search input{font-size:13px}.search{padding:12px;margin-bottom:15px}.drawer-backdrop{display:block;position:fixed;inset:0;z-index:55;background:#0009;backdrop-filter:blur(2px)}main{margin-left:0;padding:22px 13px 0}.page-heading{align-items:flex-start;margin-bottom:20px;gap:8px}.eyebrow{font-size:10px;margin-bottom:10px}h1,.page-heading h1{font-size:25px}h1>span{font-size:8px;letter-spacing:1.5px;margin-top:7px}.page-heading p{font-size:11px;line-height:1.8;margin-top:11px;max-width:260px}.page-nav{margin-top:25px;gap:6px}.page-nav>span{display:none}.page-nav .icon-button{width:29px;height:29px}.explorer{border-radius:10px}.explorer-top{height:52px;padding:0 13px;gap:5px}.view-tabs{gap:21px}.view-tabs>button{font-size:12px}.model-type{display:none}.explorer-layout{display:flex;flex-direction:column}.toolbar{padding:12px;gap:12px;flex-wrap:wrap}.primary-button{min-height:39px;font-size:11px;padding:10px 11px}.explosion-control{gap:7px;flex:1;justify-content:flex-end}.explosion-control>span{display:inline;font-size:10px}.explosion-control input{width:75px}.explosion-control output{font-size:9px}.tool-button{border:1px solid #36525e;border-radius:6px;width:34px;height:36px;justify-content:center}.viewport{height:440px}.view-corner{left:14px;top:15px;font-size:8px}.view-corner b{margin-left:9px}.axis-hint{font-size:8px;right:14px;top:15px}.pin{width:36px;height:36px}.pin:before{inset:-4px}.gesture-hint{bottom:14px;left:14px;font-size:9px}.model-callout{bottom:40px;left:12px;padding:9px 11px;font-size:10px}.view-options{padding:9px 15px;gap:20px}.view-options button{min-height:32px;font-size:10px}.detail-panel{border-left:0;border-top:1px solid var(--line);padding:19px 18px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.detail-eyebrow{grid-column:1/-1}.detail-panel h2{grid-column:1/-1;font-size:21px;margin-top:10px}.part-english{grid-column:1/-1;margin-top:4px;font-size:8px}.detail-rule{grid-column:1/-1;margin:15px 0}.detail-block{margin-bottom:14px}.detail-block p{font-size:11px;line-height:1.9;margin-top:7px}.detail-block>span{font-size:10px}.material{grid-column:1/-1;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.material>b{margin-top:0;font-size:10px}.material>span{white-space:nowrap}.drill-button{font-size:10px;margin:0;padding:12px}.isolate-button{font-size:10px;padding:12px}.source-link{grid-column:1/-1;padding-top:14px;font-size:8px}.parts-section{padding:17px 12px}.parts-heading h3{font-size:11px}.parts-heading p{font-size:9px}.parts-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.parts-list button{min-height:44px;padding:9px;gap:7px}.parts-list button>b{font-size:10px}.parts-list button>span{font-size:9px}.energy{padding:18px 14px;margin-top:18px}.energy-head{align-items:flex-start;gap:15px;flex-direction:column;margin-bottom:18px}.energy h3{font-size:13px}.mode-tabs{width:100%;gap:4px}.mode-tabs button{padding:8px 6px;font-size:10px;flex:1;border:1px solid #233e4b}.flow-track{overflow:auto;padding-bottom:9px}.flow-node{min-width:86px;padding:11px;flex:0 0 auto;font-size:10px;min-height:68px}.flow-arrow{width:22px}.energy>p{font-size:10px;margin-top:12px}.scope-note{flex-wrap:wrap;gap:10px;padding-top:18px;margin-top:20px;font-size:10px}.scope-note>p{flex-basis:calc(100% - 70px)}.scope-note>button{margin-left:58px}footer{font-size:8px;padding:24px 0 22px;gap:14px;line-height:1.7}.desktop-hint{display:none}.mobile-hint{display:inline-flex}.diagram-wrap{padding:18px 12px;min-height:380px;overflow:auto}.diagram-caption{min-width:560px;font-size:11px}.diagram-wrap>p{min-width:300px}.fullscreen .explorer-layout{overflow:auto;display:block}.fullscreen .model-panel{height:calc(100dvh - 270px);min-height:320px}.fullscreen .viewport{flex:1;min-height:210px}.fullscreen .detail-panel{display:none}.fullscreen .parts-section{max-height:180px;overflow:auto;padding:12px}.fullscreen .parts-heading{margin-bottom:8px}.fullscreen .parts-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fullscreen .explorer-top{height:50px;flex-shrink:0}.references-modal{padding:26px 20px}.references-modal h2{font-size:21px}.references-modal>p{font-size:11px}.references-modal .eyebrow{font-size:9px}.reference-list a{font-size:10px}.render-error{left:10%;right:10%}}
@media(max-width:380px){.topbar{padding:0 10px;gap:9px}.brand{font-size:14px}.brand small{font-size:7px}.brand-mark{display:none}.text-button{font-size:9px}.toolbar{gap:8px}.explosion-control>span{display:none}.viewport{height:410px}.view-options{gap:13px}.page-heading h1{font-size:23px}.page-nav{gap:4px}.page-heading p{max-width:225px}.parts-list button{padding:8px 7px}}
@media(max-height:530px) and (max-width:1000px) and (orientation:landscape){.fullscreen .explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;flex:1;overflow:hidden}.fullscreen .model-panel{height:100%;min-height:0}.fullscreen .viewport{min-height:0}.fullscreen .detail-panel{display:flex;padding:12px;overflow:auto}.fullscreen .detail-eyebrow{font-size:8px}.fullscreen .detail-panel h2{font-size:15px}.fullscreen .detail-block{margin-bottom:8px}.fullscreen .detail-block p{font-size:10px}.fullscreen .detail-rule{margin:12px 0}.fullscreen .material,.fullscreen .source-link{display:none}.fullscreen .parts-section{display:none}.fullscreen .explorer-top{height:43px}.fullscreen .toolbar{padding:7px 12px;min-height:48px}.fullscreen .view-options{padding:3px 12px}.fullscreen .view-options button{min-height:25px}.fullscreen .model-callout{bottom:12px}.fullscreen .gesture-hint{display:none}}
@media(prefers-reduced-motion:reduce){.flow-arrow i{animation:none}.sidebar{transition:none}}

/* Engine & drawing teaching edition */
:root{--accent:#f1b47c} .topbar{position:sticky;top:0}.brand-mark{color:#e8af7b;border-color:#825d3f;background:#362b24}.sidebar{position:fixed;height:calc(100dvh - 84px);min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#35505d transparent;padding-top:22px}.nav-section{display:flex;justify-content:space-between;align-items:center;margin:22px 9px 11px;color:#8aa4b0;font-size:10px;letter-spacing:1px}.nav-section span{color:#b99172}.nav-item{padding:11px 10px}.nav-item.active{background:#3a2d26;color:#f6c798;box-shadow:inset 3px 0 0 #e8ad78}.nav-item.active small{color:#b49781}.brand small{font-size:10px;letter-spacing:.5px}.primary-button{background:#e7b27f;color:#31281f}.explosion-control input{accent-color:#dfac7b}.view-tabs>button.active{color:#ecc093;border-color:#dfac7b}.eyebrow{color:#bc987a}.eyebrow-sep{color:#526f7d;padding:0 10px}.page-heading p{line-height:1.9;max-width:780px}.viewport{height:clamp(440px,39vw,590px)}.explorer-layout{grid-template-columns:minmax(0,1fr) 265px}.detail-panel{background:#152a34}.detail-panel h2{font-size:21px}.detail-eyebrow span{color:#dbad84}.live-dot{background:#d5a376;box-shadow:0 0 10px #d5a37635}.view-options{flex-wrap:wrap;gap:9px 18px;padding-top:8px;padding-bottom:8px}.view-options button.active{color:#e0bc98}.active>.toggle-dot{background:#d8a577;border-color:#d8a577}.view-presets{display:flex;align-items:center;gap:9px;padding:10px 17px;background:#10232d;border-top:1px solid #243c47}.view-presets>span{font-size:10px;color:#6f8d9c;margin-right:auto}.view-presets button{font-size:10px;color:#829eab;border:1px solid #2e4854;padding:5px 11px;border-radius:4px}.view-presets button.active{color:#e1b48c;border-color:#9d7756;background:#2b2c2a}.integral-note{flex:1;font-size:11px;color:#c1ae99}.motion-bar{display:flex;gap:16px;align-items:center;background:#162b36;border-top:1px solid #2a414d;padding:12px 17px}.motion-button{background:#375449;border:1px solid #5a7a66;color:#c1e1c7;padding:9px 11px;border-radius:5px;font-size:10px;white-space:nowrap}.motion-button.playing{background:#654e37;border-color:#b58a60;color:#ffe2bb}.motion-bar label{display:flex;gap:9px;align-items:center;font-size:10px;color:#86a4b2;flex:1}.motion-bar input{width:100%;min-width:35px;accent-color:#dcab7c}.motion-bar output{font-size:9px;min-width:38px}.source-link{text-align:left;color:#849da8}.drill-button{background:#3d3b2d;color:#e9c497;border-color:#786747}.learning-path{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:26px;padding:24px 0;border-bottom:1px solid #223a46}.learning-path>div>span{font-size:9px;letter-spacing:2px;color:#b08967}.learning-path h3{font-size:18px;font-weight:400;color:#b7c9d1;margin-top:10px}.learning-path button{display:flex;align-items:center;gap:12px;color:#a9bcc4;font-size:11px;border:1px solid #2f4853;border-radius:7px;padding:13px}.learning-path button>span{color:#d8af88;padding-left:13px}.parts-list{grid-template-columns:repeat(4,minmax(0,1fr))}.reference-list small{display:block;margin-top:5px;color:#6f8b99;font-size:9px}.empty-search{font-size:12px;line-height:1.8;color:#8da8b5;padding:10px}.source-toolbar{padding:15px 18px;background:#132630;border-bottom:1px solid #2b424f;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px}.source-pages{display:flex;gap:5px;flex-wrap:wrap}.source-pages button{border:1px solid #3a5260;padding:8px 12px;border-radius:5px;font-size:11px;color:#8aa7b6}.source-pages button.active{border-color:#bf946d;color:#e5c1a0;background:#3a312b}.source-actions{display:flex;gap:6px;align-items:center}.source-actions button{border:1px solid #3a5260;border-radius:4px;padding:7px 9px;font-size:11px}.source-actions a{font-size:11px;color:#d0b193;margin-left:12px}.source-image-scroll{overflow:auto;height:650px;background:#d8dfdc;padding:22px;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.source-image-scroll img{display:block;height:auto;min-width:0;background:white;box-shadow:0 5px 25px #00101822;margin:0 auto}.source-caption{padding:15px 18px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#819da9;line-height:1.8}.fullscreen .source-view{display:flex;flex-direction:column;flex:1;min-height:0}.fullscreen .source-image-scroll{flex:1;height:auto}.pin.selected{background:#f05645;color:white;border-color:#ffc9c0}.selected-leader{stroke:#ff554d!important;stroke-width:3!important}.parts-list button.selected{background:#462d2b;color:#f2c1b7;border-color:#b0695e}.viewport .axis-hint{display:none}.scope-note>p{font-size:11px}.scope-note{margin-top:20px}.references-modal{width:min(780px,100%)}.references-modal>small{display:block}.fullscreen .viewport{height:auto}.source-image-scroll::-webkit-scrollbar{width:8px;height:8px}.source-image-scroll::-webkit-scrollbar-thumb{background:#8c9e9f;border-radius:8px}
@media(min-width:1700px){.explorer-layout{grid-template-columns:minmax(0,1fr) 320px}.viewport{height:640px}}
@media(max-width:1200px){.parts-list{grid-template-columns:repeat(3,minmax(0,1fr))}.explorer-layout{grid-template-columns:minmax(0,1fr) 235px}.source-actions a{margin-left:4px}.motion-bar{gap:10px;padding:10px}.motion-bar label{font-size:9px;gap:5px}.view-presets{padding:10px}.view-presets button{padding:6px 9px}.brand small{font-size:9px}}
@media(max-width:980px){.explorer-layout{grid-template-columns:minmax(0,1fr) 205px}.toolbar{gap:6px}.toolbar .tool-button{padding:7px 4px}.motion-bar{flex-wrap:wrap}.motion-bar label{flex-basis:100%}.learning-path h3{font-size:15px}.learning-path button{font-size:10px;padding:11px;gap:8px}}
@media(max-width:760px){.sidebar{top:0;height:100dvh}.brand{font-size:14px}.brand small{font-size:8px;max-width:230px;letter-spacing:0}.topbar{height:74px}.topbar .brand-mark{display:none}.explorer-layout{display:flex}.viewport{height:410px}.page-heading p{max-width:280px}.view-options{justify-content:space-between;gap:5px;padding:6px 13px}.view-options button{font-size:10px}.view-presets{padding:9px 13px;gap:7px}.view-presets button{padding:7px 10px}.motion-bar{flex-wrap:nowrap;padding:11px 13px;gap:10px}.motion-bar label{flex-basis:auto;flex-wrap:wrap;gap:5px}.motion-bar input{width:100%;order:3}.motion-bar output{margin-left:auto;min-width:0}.motion-button{padding:10px;font-size:10px}.detail-panel{padding:18px 15px}.parts-list{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-panel h2{font-size:20px}.source-image-scroll{height:460px;padding:9px}.source-toolbar{padding:12px;gap:12px}.source-pages button{padding:8px 10px;font-size:10px}.source-actions{width:100%}.source-actions a{margin-left:auto;font-size:10px}.source-caption{padding:12px;flex-direction:column;gap:5px;font-size:9px}.learning-path{flex-direction:column;align-items:flex-start;gap:20px;padding:20px 0}.learning-path h3{font-size:18px}.learning-path button{width:100%;justify-content:space-between}.scope-note>p{font-size:10px}.fullscreen .model-panel{height:calc(100dvh - 215px);min-height:360px}.fullscreen .parts-section{max-height:155px}.fullscreen .viewport{min-height:160px}.fullscreen .source-image-scroll{height:100%;}.references-modal{max-height:86dvh}.reference-list a{gap:9px}.reference-list a>i{font-size:9px;white-space:nowrap}}
@media(max-width:380px){.brand{font-size:12px}.brand small{font-size:7px}.topbar{gap:8px}.topbar-right{margin-left:auto}.toolbar{gap:7px}.toolbar .tool-button{width:31px}.viewport{height:385px}.view-options button{font-size:9px}.view-options{padding:5px 10px}.motion-bar{padding:9px}.view-presets{gap:5px}.view-presets button{padding:6px 8px}}
@media(max-height:530px) and (max-width:1000px) and (orientation:landscape){.fullscreen .model-panel{height:100%;min-height:0}.fullscreen .motion-bar{padding:6px}.fullscreen .view-presets{padding:5px}.fullscreen .viewport{min-height:0}.fullscreen .parts-section{display:none}.fullscreen .source-image-scroll{height:auto}}
.work-motion{background:#142a35;border-top:1px solid #314752}.work-motion-head{display:flex;align-items:center;gap:8px;padding:13px 17px 0;color:#d5c3ad}.work-motion-head b{font-weight:500;font-size:11px}.work-motion-head small{font-size:9px;margin-left:auto;color:#849fac}.work-status{height:6px;width:6px;background:#748994;border-radius:50%;flex-shrink:0}.work-status.running{background:#e4b17f;box-shadow:0 0 9px #e4b17f70}.work-motion .motion-bar{border:0;background:none}.work-motion .motion-bar label{flex-wrap:nowrap;white-space:nowrap}.work-motion .motion-bar output{min-width:35px;text-align:right}.motion-settings{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 17px 10px;color:#819fac}.motion-settings>span{font-size:10px;margin-right:5px}.motion-settings button{font-size:10px;padding:6px 9px;border:1px solid #37515f;border-radius:4px;min-width:34px}.motion-settings button.active{background:#51402e;border-color:#a27e59;color:#f6d7b4}.circuit-modes{display:flex;gap:5px;margin-left:auto}.circuit-modes button{font-size:9px}.work-motion>p{font-size:10px;line-height:1.8;color:#91a9b4;padding:0 17px 12px}.motion-legend{font-size:9px;line-height:1.8;color:#d2b48c;margin:0 17px 12px;padding:8px 10px;background:#10232c;border-radius:5px}.fullscreen .work-motion>p,.fullscreen .motion-legend{display:none}.fullscreen .work-motion-head{padding-top:8px}.fullscreen .motion-settings{padding-bottom:8px}
@media(max-width:980px){.circuit-modes{margin-left:0;flex-basis:100%;padding-top:3px}.work-motion .motion-bar{flex-wrap:nowrap}.work-motion .motion-bar label{flex-basis:auto}.motion-settings{padding-left:12px;padding-right:12px}.work-motion-head{padding-left:12px;padding-right:12px}}
@media(max-width:760px){.work-motion-head{padding:12px 13px 0}.work-motion-head b{font-size:11px}.work-motion-head small{font-size:8px}.work-motion .motion-bar label{flex-wrap:wrap}.motion-settings{padding:0 13px 10px}.motion-settings>span{font-size:9px}.motion-settings button{padding:7px 10px;font-size:10px}.work-motion>p{font-size:10px;padding:0 13px 12px}.motion-legend{margin:0 13px 12px}.circuit-modes{flex-basis:100%;margin-left:0;padding-top:4px}.circuit-modes button{flex:1;min-height:32px;font-size:10px}.fullscreen .model-panel{height:calc(100dvh - 220px);min-height:420px}.fullscreen .work-motion .motion-settings{padding-bottom:7px}.fullscreen .work-motion-head{padding-top:8px}.fullscreen .work-motion-head small{display:none}}
@media(max-height:530px) and (max-width:1000px) and (orientation:landscape){.fullscreen .model-panel{height:100%;min-height:0}.fullscreen .work-motion-head,.fullscreen .motion-settings{display:none}.fullscreen .work-motion .motion-bar{padding:5px 10px}}
.principle-view{padding:25px;background:#10232e}.principle-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.principle-title b{font-size:14px;color:#e7bf99;font-weight:500}.principle-title span{font-size:10px;color:#7895a4}.principle-svg{background:#0b1b26;border:1px solid #29434f;border-radius:9px;padding:12px}.principle-svg svg{display:block;width:100%;height:auto;max-height:580px}.primary-references{padding:24px 0 8px}.primary-references h3{font-size:12px;font-weight:500;color:#b7cbd4;margin-bottom:12px}.primary-references a{display:grid;grid-template-columns:180px 1fr 60px;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #28404b;font-size:11px}.primary-references a>span{color:#859eaa}.primary-references a>b{font-weight:400;color:#c6d8df}.primary-references a>i{font-style:normal;color:#dcad82;text-align:right}.reference-boundary,.w12-math{font-size:11px;line-height:1.9;color:#91aab7;margin-top:16px}.w12-math{padding:15px;border:1px solid #68523b;background:#2b2b27;border-radius:7px;color:#cfb493}.asset-downloads{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.asset-downloads>a{font-size:11px;padding:12px 15px;border:1px solid #496475;border-radius:6px;color:#b8d1db}.gear-modes{margin-left:0;flex-basis:100%}.gear-modes button{flex:1}.fullscreen .principle-view{overflow:auto;flex:1}.nav-item small{line-height:1.6}.page-heading{gap:20px}.page-nav{flex-shrink:0}
@media(max-width:760px){.principle-view{padding:16px 12px}.principle-title{display:block}.principle-title span{display:block;margin-top:9px}.principle-svg{overflow:auto;padding:0}.principle-svg svg{width:720px;max-width:none}.primary-references a{grid-template-columns:1fr 45px;gap:6px;padding:15px 0}.primary-references a>span{grid-column:1/-1;font-size:10px}.reference-boundary,.w12-math{font-size:10px}.page-heading{gap:8px}.page-nav{align-self:flex-start}.page-nav>span{display:none}.asset-downloads{gap:8px}.asset-downloads>a{font-size:10px;padding:10px}.work-motion .motion-bar label{min-width:0}.work-motion .motion-bar input{min-width:30px}}

.stroke-stage{display:flex;gap:5px;margin:0 15px 10px}.stroke-stage span{flex:1;font-size:10px;padding:8px;text-align:center;border:1px solid #37505e;border-radius:4px;color:#7895a2}.stroke-stage span.current{color:#f3c698;background:#4a3c2d;border-color:#b58a60}

/* Phone workbench: the model leads; secondary tools live in an accessible sheet. */
.mobile-workbench{display:none}
.phone-sheet-layer{position:fixed;inset:0;z-index:150;display:flex;align-items:flex-end;justify-content:center}
.phone-sheet-backdrop{position:absolute;inset:0;background:#030c13a8;backdrop-filter:blur(3px)}
.phone-sheet{position:relative;display:flex;flex-direction:column;width:min(100%,680px);max-height:82dvh;background:#142a35;border:1px solid #45616d;border-bottom:0;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 45px #0005;overflow:hidden}
.phone-sheet-handle{width:36px;height:4px;border-radius:4px;background:#657b85;margin:9px auto 2px;flex-shrink:0}
.phone-sheet>header{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;gap:12px;flex-shrink:0}
.phone-sheet>header small{display:block;font-size:10px;color:#8ba7b4;line-height:1.6}
.phone-sheet>header h2{margin:3px 0 0;font-size:20px;color:#e6ceb4}
.phone-sheet-close{width:44px;height:44px;border:1px solid #4d6570;border-radius:50%;font-size:26px;flex-shrink:0}
.phone-sheet-tabs{display:flex;gap:5px;border-bottom:1px solid #36515e;padding:0 14px 8px;flex-shrink:0}
.phone-sheet-tabs button{flex:1;min-height:44px;font-size:13px;border-radius:7px;color:#a8bfca}
.phone-sheet-tabs button.active{background:#4b3c2d;color:#ffdab5;box-shadow:inset 0 0 0 1px #ac825d}
.phone-sheet-body{overflow:auto;overscroll-behavior:contain;padding:14px 16px 20px;min-height:0;scrollbar-width:thin}
.phone-part-search{display:flex;gap:10px;align-items:center;background:#0e222d;border:1px solid #48606c;border-radius:8px;padding:0 12px}
.phone-part-search>span{font-size:24px;color:#c4a382}
.phone-part-search input{width:100%;min-width:0;height:46px;border:0;background:none;color:#e0e9ed;font-size:16px;outline:none}
.phone-sheet-hint{font-size:12px;line-height:1.8;color:#8faab7;margin:10px 0 12px}
.phone-parts-list{display:grid;gap:7px}
.phone-parts-list button{display:flex;align-items:center;gap:12px;min-height:50px;border:1px solid #385361;border-radius:8px;padding:10px 12px;text-align:left;background:#182f3a}
.phone-parts-list button>span{font-size:12px;color:#8aabb9;min-width:23px}
.phone-parts-list button>b{font-size:13px;font-weight:500;line-height:1.6;flex:1}
.phone-parts-list button>i{font-style:normal;color:#9baeba}
.phone-parts-list button.selected{border-color:#d7846b;background:#472f2d;color:#ffd1c3}
.phone-parts-list button.selected>span{color:#ff9c80}
.phone-detail-title{display:flex;gap:11px;align-items:center;margin:3px 0 20px}
.phone-detail-title>span{font-size:13px;color:#ffb297;border:1px solid #ab6f5c;background:#482f2d;border-radius:7px;padding:8px}
.phone-detail-title h3{font-size:18px;line-height:1.7;font-weight:550}
.phone-detail-section{margin-bottom:18px}
.phone-detail-section h4{margin:0 0 6px;font-size:12px;font-weight:500;color:#bda48b}
.phone-detail-section p{font-size:14px;line-height:1.9;color:#c5d7df}
.phone-part-material{font-size:12px;line-height:1.8;color:#94b0bd;background:#10232d;padding:12px;border-radius:7px;margin:14px 0}
.phone-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.phone-detail-actions button,.phone-camera-presets button,.phone-reset-all{min-height:46px;font-size:13px;border:1px solid #4c6571;border-radius:7px;padding:10px}
.phone-detail-actions .phone-accent{border-color:#b18b63;background:#5c452f;color:#ffdfbb}
.phone-part-step{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #38525f;padding-top:10px;margin-top:20px;font-size:11px;color:#90a9b7}
.phone-part-step button{min-height:44px;font-size:12px}
.phone-explosion-range{display:block;padding:13px;background:#10242f;border-radius:8px;margin:14px 0 18px}
.phone-explosion-range>span{display:flex;justify-content:space-between;font-size:13px;color:#b8cbd5}
.phone-explosion-range b{color:#efbd8e;font-weight:500}
.phone-explosion-range input{display:block;min-height:44px;width:100%;accent-color:#e9b27e;margin:6px 0 0}
.phone-view-toggles{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.phone-view-toggles button{min-height:66px;border:1px solid #42616f;border-radius:8px;padding:12px;text-align:left;font-size:13px}
.phone-view-toggles button>span{display:block;font-size:10px;color:#7c9ba9;margin-top:6px}
.phone-view-toggles button.active{border-color:#b28c65;background:#443929;color:#f6d1a8}
.phone-view-toggles button.active>span{color:#c3b095}
.phone-section-label{font-size:13px;font-weight:500;color:#a8c1cd;margin:20px 0 12px}
.phone-camera-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.phone-camera-presets button.active{border-color:#c69b70;color:#f4cd9f;background:#443729}
.phone-reset-all{display:block;width:100%;margin-top:18px;color:#a8bfcb}
.phone-sheet .work-motion{border:0;background:none}
.phone-sheet .work-motion-head{padding:0;align-items:flex-start}
.phone-sheet .work-motion-head b{font-size:14px;line-height:1.6}
.phone-sheet .work-motion-head small{font-size:11px;line-height:1.8;white-space:nowrap}
.phone-sheet .work-motion .motion-bar{padding:18px 0;gap:14px;flex-wrap:wrap}
.phone-sheet .motion-button{font-size:13px;min-height:46px;padding:10px 14px}
.phone-sheet .work-motion .motion-bar label{flex-basis:100%;font-size:12px;flex-wrap:wrap}
.phone-sheet .motion-bar input{min-height:44px;width:100%;order:3;flex-basis:100%}
.phone-sheet .motion-settings{padding:0;gap:8px}
.phone-sheet .motion-settings>span{font-size:12px;width:100%;margin-bottom:3px}
.phone-sheet .motion-settings button{min-height:46px;min-width:44px;font-size:13px;flex:1}
.phone-sheet .circuit-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:8px!important;margin-top:10px}
.phone-sheet .circuit-modes button{white-space:normal;line-height:1.6;padding:7px}
.phone-sheet .work-motion>p{padding:0;margin:18px 0;font-size:13px;line-height:1.9}
.phone-sheet .motion-legend{margin:0;padding:12px;font-size:12px;line-height:1.9}

@media(max-width:760px), (max-width:1000px) and (max-height:530px) and (orientation:landscape){
 .topbar{height:62px;padding:0 10px;gap:8px;justify-content:flex-start}
 .menu-button{display:inline-flex;flex-shrink:0}.icon-button{width:44px;height:44px;flex-shrink:0}
 .brand{font-size:clamp(11px,3.5vw,14px);min-width:0;gap:0}.brand-mark,.topbar .brand-mark{display:none}
 .brand small{font-size:8px;letter-spacing:0;line-height:1.5;margin-top:3px;max-width:none}
 .topbar-right{margin-left:auto;gap:0;flex-shrink:0}.version-pill{display:none}.topbar-right .text-button{font-size:11px;min-height:44px;min-width:44px;padding:4px}.topbar-right .text-button span{display:none}
 .sidebar{position:fixed;z-index:60;top:0;left:0;width:min(320px,88vw);height:100dvh;overflow:auto;transform:translateX(-100%);padding:20px 16px;transition:none}
 .sidebar.open{transform:translateX(0)}.side-heading>button{width:44px;height:44px}.drawer-backdrop{display:block;position:fixed;inset:0;z-index:55;background:#0009;backdrop-filter:blur(2px)}
 .collection-tabs button{min-height:44px}.nav-item{min-height:58px;padding:12px}.nav-item>span{font-size:13px}.nav-item small{font-size:10px}.search input{font-size:16px}
 main{margin-left:0;padding:14px 10px 0}.page-heading{margin-bottom:14px;gap:8px;align-items:flex-start}.page-heading>div:first-child{min-width:0;flex:1}
 .page-heading .eyebrow{font-size:9px;letter-spacing:.4px;line-height:1.5;margin-bottom:6px}.eyebrow-sep{padding:0 5px}
 .page-heading h1{font-size:18px;line-height:1.5;letter-spacing:0}.page-heading h1>span,.page-heading p{display:none}
 .page-nav{gap:3px;margin-top:0;align-self:flex-start}.page-nav>span{display:none}.page-nav .icon-button{width:44px;height:44px}
 .explorer{border-radius:10px}.explorer-top{height:50px;min-height:50px;padding:0 10px;gap:6px}.view-tabs{gap:18px;min-width:0}.view-tabs>button{font-size:12px;min-height:44px;white-space:nowrap}.model-type{display:none}
 .explorer-layout,.fullscreen .explorer-layout{display:flex;flex-direction:column;min-height:0}.model-panel{display:flex;flex-direction:column;min-width:0}
 .model-panel>.toolbar,.model-panel>.annotation-groups,.model-panel>.view-options,.model-panel>.view-presets,.model-panel>.work-motion,.explorer-layout>.detail-panel,.explorer>.parts-section{display:none}
 .model-panel>.viewport,.model-panel>.annotation-groups+.viewport{order:0;height:clamp(300px,47svh,510px);min-height:0;flex:none}
 .viewport .view-corner{top:12px;left:12px;font-size:8px}.viewport .model-callout{bottom:40px;left:12px;max-width:calc(100% - 24px);font-size:10px;padding:8px 10px;line-height:1.5}
 .viewport .gesture-hint{left:12px;bottom:12px;right:auto;font-size:9px}.desktop-hint{display:none}.mobile-hint{display:inline}
 .mobile-workbench{display:block;order:1;background:#162e39;border-top:1px solid #36505d;padding:10px;flex-shrink:0}
 .phone-primary-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 .phone-primary-actions button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:46px;border:1px solid #48616d;border-radius:8px;font-size:12px;color:#bad0da;background:#19313d}
 .phone-primary-actions button>span{font-size:17px;font-weight:500}.phone-primary-actions button>small{font-size:9px;color:#8babb9}
 .phone-primary-actions .phone-play,.phone-primary-actions button.active{color:#ffe0bb;background:#57432f;border-color:#b18a61}
 .phone-current-part{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;padding:10px 3px;text-align:left}
 .phone-part-number{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ac705d;background:#462e2b;border-radius:7px;color:#ffab90;font-size:12px;flex-shrink:0}
 .phone-current-part>span:nth-child(2){flex:1;min-width:0}.phone-current-part small{display:block;font-size:9px;color:#849fac;margin-bottom:3px}.phone-current-part b{font-size:13px;line-height:1.5;font-weight:500;display:block;overflow-wrap:anywhere;color:#e2c7af}
 .phone-current-part>i{font-style:normal;font-size:11px;color:#c8a17b;white-space:nowrap}
 .phone-secondary-actions{display:flex;border-top:1px solid #324c59;gap:5px}.phone-secondary-actions button{flex:1;min-height:44px;font-size:11px;color:#93b0bf}
 .model-panel>.gearbox-state{order:2}.gearbox-readouts strong{font-size:14px}.gearbox-state{padding:12px;font-size:11px}
 .fullscreen{height:100dvh;height:100svh}.fullscreen .explorer-top{height:50px;min-height:50px;flex-shrink:0}
 .fullscreen .explorer-layout{flex:1;overflow:hidden}.fullscreen .model-panel{height:100%;min-height:0;flex:1;overflow:hidden}
 .fullscreen .model-panel>.viewport,.fullscreen .model-panel>.annotation-groups+.viewport{flex:1;height:auto;min-height:0}
 .fullscreen .mobile-workbench{padding-bottom:max(8px,env(safe-area-inset-bottom))}.fullscreen .model-panel>.gearbox-state{display:none}
 .source-toolbar{padding:10px;gap:10px}.source-pages button,.source-actions button,.source-actions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.source-pages button{font-size:11px;padding:8px}.source-actions{width:100%;display:flex;gap:5px}.source-actions a{font-size:10px;flex:1;margin-left:0;text-align:center;line-height:1.5}
 .source-image-scroll{height:60svh;padding:8px}.source-caption{padding:12px;flex-direction:column;gap:4px}.scope-note{display:block;padding-top:16px;margin-top:16px}.scope-note>span{font-size:11px}.scope-note>p{font-size:11px;line-height:1.9;margin:7px 0}.scope-note>button{min-height:44px;font-size:11px}
 .references-modal{padding:24px 16px;max-height:90dvh}.modal-close{width:44px;height:44px;right:9px;top:9px}.references-modal h2{font-size:20px;padding-right:35px}.reference-list a{min-height:56px}.learning-path{display:none}footer{padding:18px 0;gap:12px;font-size:9px;line-height:1.8}
}
@media(max-width:1000px) and (max-height:530px) and (orientation:landscape){
 .topbar{height:54px}.page-heading{margin-bottom:10px}.page-heading .eyebrow{display:none}.page-heading h1{font-size:18px}.model-panel>.viewport,.model-panel>.annotation-groups+.viewport{height:clamp(280px,72svh,380px)}
 .fullscreen .mobile-workbench{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1fr);gap:0 16px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));align-items:center}
 .fullscreen .phone-current-part{min-height:54px;grid-column:2;grid-row:1;padding:2px}
 .fullscreen .phone-secondary-actions{grid-column:1/-1;border:0;justify-content:center}.fullscreen .phone-secondary-actions button{min-height:44px;max-width:180px}
 .fullscreen .explorer-top{height:46px;min-height:46px}.fullscreen .viewport .model-callout{bottom:15px}.fullscreen .viewport .gesture-hint{display:none}
 .phone-sheet{max-height:94dvh;width:min(650px,95vw)}.phone-sheet>header{padding-top:4px;padding-bottom:4px}.phone-sheet>header h2{font-size:17px}.phone-sheet-tabs{padding-bottom:5px}.phone-sheet-body{padding-top:10px}
}

/* Complex textbook assemblies: grouped annotations keep the moving mechanism readable. */
.annotation-groups{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#132630;border-bottom:1px solid #2a4350;flex-wrap:wrap}.annotation-groups>span{color:#839eac;font-size:10px;margin-right:6px}.annotation-groups button{padding:7px 11px;border:1px solid #355361;border-radius:5px;color:#a6bbc6;font-size:10px;min-height:32px}.annotation-groups button.active{color:#ffcf99;background:#49392b;border-color:#a77c54}.collection-tabs{flex-wrap:wrap}.collection-tabs button:first-child{color:#e7b27f}.annotation-groups+.viewport{height:clamp(470px,41vw,660px)}
@media(max-width:760px){.annotation-groups{gap:5px;padding:8px 10px}.annotation-groups>span{width:100%;font-size:9px}.annotation-groups button{font-size:10px;padding:6px 9px;min-height:33px}.annotation-groups+.viewport{height:440px}.fullscreen .annotation-groups{padding:5px 8px}.fullscreen .annotation-groups>span{display:none}.fullscreen .annotation-groups+.viewport{height:auto;min-height:200px}.collection-tabs button{min-height:38px}}

/* Dedicated gearbox readout: keeps working state readable on phones. */
.gearbox-state{padding:16px 18px;background:#102c32;border-top:1px solid #31505b;font-size:11px;line-height:1.8}.gearbox-readouts{display:flex;flex-wrap:wrap;gap:14px 30px}.gearbox-readouts small{display:block;font-size:9px;color:#8babb5}.gearbox-readouts strong{font-size:16px;color:#a5ead9;font-weight:550}.gearbox-powerpath{color:#f2c28d;padding:12px 0}.gearbox-state details{color:#98b3be;font-size:10px}.gearbox-state summary{cursor:pointer;color:#a6c9d3}.gearbox-state p{margin:7px 0}.gearbox-state table{border-collapse:collapse;width:100%;margin:8px 0}.gearbox-state td,.gearbox-state th{border:1px solid #33505a;padding:5px 7px;text-align:left}.circuit-modes{flex-wrap:wrap;max-width:100%}@media(max-width:600px){.gearbox-state{padding:14px}.gearbox-readouts{gap:12px}.gearbox-readouts strong{font-size:14px}.gearbox-readouts>div:first-child{flex-basis:100%}.gearbox-state table{font-size:9px}.circuit-modes button{min-height:36px;flex:1;white-space:nowrap}.circuit-modes{width:100%;gap:4px!important}}

.phone-annotation-groups{display:grid;grid-template-columns:1fr 1fr;gap:8px}.phone-annotation-groups button{min-height:46px;padding:8px;border:1px solid #48616d;border-radius:7px;font-size:12px;line-height:1.5}.phone-annotation-groups button.active{color:#f5ce9f;border-color:#b78f66;background:#483b2b}
@media(max-width:380px){.phone-primary-actions button{white-space:nowrap;font-size:11px;gap:4px}.phone-primary-actions button>small{display:none}.phone-primary-actions button>span{font-size:16px}}
