/* Shared layout for the introduction, BOM, wiring and tubing pages. */
body:has(#assembly-guide){background:#f6f7f4;color:#24342e}
body:has(#assembly-guide) .md-header,body:has(#assembly-guide) .md-tabs,body:has(#assembly-guide) .md-footer,body:has(#assembly-guide) .md-sidebar,body:has(#assembly-guide) .md-top,body:has(#assembly-guide) .md-content__button,body:has(#assembly-guide) .md-typeset>h1{display:none}
body:has(#assembly-guide) .md-grid{max-width:none;margin:0}
body:has(#assembly-guide) .md-main__inner,body:has(#assembly-guide) .md-content__inner{margin:0;padding:0}
body:has(#assembly-guide) .md-content__inner::before,body:has(#assembly-guide) .md-content__inner::after{display:none}
#assembly-guide{--ink:#24342e;--muted:#637164;--green:#21634c;--line:#dce3dc;color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
#assembly-guide *{box-sizing:border-box}
#assembly-guide h1,#assembly-guide h2,#assembly-guide h3,#assembly-guide p,#assembly-guide figure{margin:0;color:inherit}
#assembly-guide h1{font-size:28px;font-weight:650;line-height:1.25;letter-spacing:-.8px}
#assembly-guide h2{font-size:20px;font-weight:650;line-height:1.35;letter-spacing:-.3px}
#assembly-guide h3{font-size:13px;font-weight:650}
#assembly-guide a{color:var(--green);text-decoration:none}
#assembly-guide a:hover{text-decoration:underline}
#assembly-guide button,#assembly-guide input,#assembly-guide select{font:inherit}
#assembly-guide button{cursor:pointer;color:inherit;background:none;border:0}
#assembly-guide button:disabled{opacity:.4;cursor:default}
#assembly-guide button:focus-visible,#assembly-guide a:focus-visible,#assembly-guide summary:focus-visible,#assembly-guide input:focus-visible,#assembly-guide select:focus-visible{outline:3px solid #408967;outline-offset:3px}
#assembly-guide input[type=checkbox]{appearance:auto;position:static;width:17px;height:17px;min-width:17px;margin:0;accent-color:var(--green);cursor:pointer}
#assembly-guide .ag-top{height:58px;border-bottom:1px solid var(--line);background:white}
#assembly-guide .ag-top-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
#assembly-guide .ag-brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;flex-shrink:0}
#assembly-guide .ag-brand:hover{text-decoration:none}
#assembly-guide .ag-mark{display:block;width:36px;height:36px;flex-shrink:0}
#assembly-guide .ag-wordmark{font-size:21px;font-weight:750;letter-spacing:-.7px}
#assembly-guide .ag-wordmark span{color:var(--green)}
#assembly-guide .ag-brand-label{border-left:1px solid var(--line);padding-left:16px;margin-left:4px;color:var(--muted);font-size:10px;letter-spacing:1.5px;font-weight:550}
#assembly-guide .ag-main,#assembly-guide .ag-top-inner{width:100%;max-width:1600px;margin:0 auto;padding:0 24px}
#assembly-guide .ag-main{padding-bottom:16px}
#assembly-guide .ag-nav{display:flex;gap:10px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:24px}
#assembly-guide .ag-nav a{font-size:13px;font-weight:600;padding:15px 20px;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap;text-decoration:none}
#assembly-guide .ag-nav a[aria-current]{border-bottom-color:var(--green);color:var(--green)}
#assembly-guide .ag-nav a:hover{background:#edf2e8}
#assembly-guide .ag-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
#assembly-guide .ag-page-heading p{color:var(--muted);font-size:12px;margin-top:9px}
#assembly-guide .ag-progress{font-size:12px;color:var(--muted);white-space:nowrap}
#assembly-guide .ag-primary{display:inline-block;background:#2c664c;color:#fff;border:1px solid #2c664c;border-radius:6px;padding:10px 15px;font-size:12px;font-weight:550;text-decoration:none;white-space:nowrap}
#assembly-guide .ag-primary:hover{background:#215339;text-decoration:none}
#assembly-guide .ag-quiet{font-size:12px;padding:10px 0;color:var(--muted)}
/* Both diagram pages use the same assembly structure and sizing. */
#assembly-guide.ag-diagram-page .ag-nav{margin-bottom:16px}
#assembly-guide.ag-diagram-page .ag-page-heading{margin-bottom:14px}
#assembly-guide .ag-steps{display:flex;gap:6px;overflow:auto;margin-bottom:16px}
#assembly-guide .ag-steps button{display:flex;align-items:center;gap:9px;flex:1;min-width:126px;min-height:57px;text-align:left;padding:8px;background:#fff;border:1px solid var(--line);border-radius:7px}
#assembly-guide .ag-steps button[aria-current]{background:#e7f1e2;border-color:#639168}
#assembly-guide .ag-steps b{font-size:12px;font-weight:600;display:block;line-height:1.3}
#assembly-guide .ag-steps small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
#assembly-guide .ag-step-id{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border-radius:6px;background:#f5f7f2;border:1px solid var(--line);font:600 12px ui-monospace,monospace;color:var(--muted)}
#assembly-guide [aria-current]>.ag-step-id,#assembly-guide .ag-step-id.complete{background:#326349;border-color:#326349;color:#fff}
#assembly-guide .ag-work-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
#assembly-guide .ag-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 8px}
#assembly-guide .ag-board-toolbar label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
#assembly-guide .ag-board-controls{display:flex;gap:6px;align-items:center}
#assembly-guide .ag-board-toolbar select,#assembly-guide .ag-board-controls button{background:white;border:1px solid #cbd8c8;border-radius:5px;padding:7px 11px;color:#354d35;font-size:12px;min-width:34px}
#assembly-guide .ag-board-controls button:hover{background:#e6eee0}
#assembly-guide .ag-panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}
#assembly-guide .ag-board-canvas{position:relative;display:flex;height:var(--ag-canvas-height,240px);overflow:auto;background:white;cursor:grab;overscroll-behavior:auto}
#assembly-guide .ag-board-canvas:active{cursor:grabbing}
#assembly-guide .ag-board-canvas>.joint-paper,#assembly-guide .ag-air-paper{margin:auto;flex-shrink:0}
#assembly-guide .ag-board-canvas svg{display:block;width:100%;height:100%;max-width:none;font-family:inherit}
#assembly-guide .ag-board-canvas [data-connection],#assembly-guide .ag-board-canvas [data-air-route],#assembly-guide .ag-board-canvas .joint-labels-layer{cursor:pointer}
#assembly-guide .ag-board-canvas [data-connection]:focus,#assembly-guide [data-air-route]:focus{outline:none;filter:drop-shadow(0 0 3px #2fa559)}
#assembly-guide .ag-board-loading{position:absolute;top:45%;left:40%;font-size:13px}
#assembly-guide .ag-board-canvas[data-ready] .ag-board-loading{display:none}
#assembly-guide .ag-board-error{position:absolute;bottom:8px;background:#fff0d5;padding:8px}
#assembly-guide .ag-board-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:9px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
#assembly-guide .ag-board-legend>span:first-child{display:flex;align-items:center;gap:7px}
#assembly-guide .ag-diode-key{display:inline-block;width:28px;height:12px;border-radius:3px;background:linear-gradient(90deg,#202d28 0 5px,#c4cdd0 5px 9px,#202d28 9px)}
#assembly-guide .ag-connection-detail{display:flex;align-items:center;gap:22px;margin-top:8px;padding:12px 16px;background:#edf2e8;border:1px solid #dce5d4;border-radius:8px}
#assembly-guide .ag-connection-detail small{display:block;font-size:9px;font-weight:650;letter-spacing:1px;color:var(--muted);margin-bottom:3px}
#assembly-guide .ag-connection-detail strong{font-size:13px;font-weight:600}
#assembly-guide .ag-detail-arrow{color:#718567}
#assembly-guide .ag-verify{margin-left:auto;display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;font-size:12px}
#assembly-guide .ag-wire-navigation{position:sticky;bottom:0;z-index:10;display:flex;justify-content:space-between;align-items:center;margin:8px 0 20px;padding:6px 0;background:#f6f7f4;font-size:11px;color:var(--muted)}
#assembly-guide .ag-list-heading{margin:14px 0 10px}
#assembly-guide .ag-wire-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}
#assembly-guide .ag-wire-row{display:flex;align-items:center;gap:13px;padding:0 14px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
#assembly-guide .ag-wire-row.selected{background:#eff5e9;box-shadow:inset 3px 0 #5c8a57}
#assembly-guide .ag-wire-row:hover{background:#f3f7ee}
#assembly-guide .ag-wire-row button{display:grid;grid-template-columns:32px minmax(0,1fr) 16px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px 0;text-align:left;font-size:12px}
#assembly-guide .ag-wire-number{font-family:ui-monospace,monospace;color:var(--muted)}
#assembly-guide .ag-row-arrow{color:#819375}
#assembly-guide .ag-row-color{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}
#assembly-guide .ag-row-color i{display:inline-block;width:17px;height:5px;border:1px solid #98a79c;border-radius:3px;background:var(--wire)}
#assembly-guide .svg-id{fill:#17202a;font-size:17px;font-weight:700}
#assembly-guide .svg-sub{fill:#5b6672;font-size:12px}
#assembly-guide .svg-tiny{fill:#5b6672;font-size:10px}
#assembly-guide .svg-pin{fill:#334155;font-size:15px;font-weight:700}
#assembly-guide .svg-port{fill:#334155;font-size:12px;font-weight:700}
/* Introduction */
#assembly-guide .ag-intro{display:grid;gap:32px;margin:26px 0 70px}
#assembly-guide .ag-intro-copy{min-width:0}
#assembly-guide .ag-intro-media{display:grid;gap:20px;align-content:start;min-width:0}
#assembly-guide .ag-media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed #a9b9ab;border-radius:10px;background:#edf2e8;color:var(--muted);overflow:hidden}
#assembly-guide .ag-media-video{aspect-ratio:16/9}
#assembly-guide .ag-media-image{aspect-ratio:4/3}
#assembly-guide .ag-media-placeholder svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#assembly-guide .ag-media-placeholder figcaption{margin:0;font-size:13px;font-style:normal}
#assembly-guide .ag-lead+.ag-lead,#assembly-guide .ag-text+.ag-text{margin-top:12px}
#assembly-guide .ag-intro h1{font-size:42px;margin:9px 0 17px;letter-spacing:-1.3px}
#assembly-guide .ag-lead{max-width:710px;font-size:17px;line-height:1.7;color:#526253}
#assembly-guide .ag-intro h2{font-size:20px;margin:34px 0 10px}
#assembly-guide .ag-warning{margin:0 0 18px;padding:9px 12px;border-left:4px solid #d6a541;background:#fbf4e2;font-size:13px;line-height:1.55;color:#4d4a3a}
#assembly-guide .ag-warning b{color:#8a5a00;margin-right:4px}
#assembly-guide .ag-prerelease{margin:0 0 14px;padding:9px 12px;border-left:4px solid #c62828;background:#fdecea;font-size:13px;line-height:1.55;color:#5a1f1f}
#assembly-guide .ag-prerelease b{color:#b71c1c;margin-right:4px}
#assembly-guide .ag-text{max-width:710px;line-height:1.6;color:#526253}
#assembly-guide .ag-list{max-width:710px;margin:0;padding-left:20px;line-height:1.6;color:#526253}
#assembly-guide .ag-list li{margin:0 0 6px}
/* BOM */
#assembly-guide .ag-bom-tools{margin-bottom:18px}
#assembly-guide .ag-search{display:block;max-width:380px}
#assembly-guide .ag-search input{width:100%;border:1px solid var(--line);background:white;border-radius:6px;padding:10px 13px;color:var(--ink);font-size:13px}
#assembly-guide .ag-bom-table{border:1px solid var(--line);border-radius:9px;overflow:auto;background:#fff}
#assembly-guide .ag-bom-table table{display:table;border:0;border-collapse:collapse;width:100%;margin:0;background:#fff;color:var(--ink);font-size:12px}
#assembly-guide .ag-bom-table th{padding:12px 17px;border:0;background:#eef2e8;font-size:11px;font-weight:600;color:var(--muted);text-align:left;min-width:0;white-space:nowrap}
#assembly-guide .ag-bom-table td{padding:17px;border:0;border-top:1px solid var(--line);vertical-align:middle;color:#526253}
#assembly-guide .ag-bom-table th:nth-child(1){width:9%}
#assembly-guide .ag-bom-table th:nth-child(2){width:36%}
#assembly-guide .ag-bom-table th:nth-child(3){width:55%}
#assembly-guide .ag-bom-table tr:hover{background:#fafcf7;box-shadow:none}
#assembly-guide .ag-part-cell{display:flex;align-items:center;gap:13px;min-width:240px}
#assembly-guide .ag-part-cell img{width:48px;height:48px;object-fit:contain;flex-shrink:0;background:white;border:1px solid var(--line);border-radius:6px}
#assembly-guide .ag-part-cell small{display:block;text-transform:uppercase;letter-spacing:.8px;font-size:9px;color:var(--muted)}
#assembly-guide .ag-part-cell strong{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-top:2px}
#assembly-guide .ag-qty{white-space:nowrap;font-weight:650}
#assembly-guide .ag-have{display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:normal}
#assembly-guide .ag-bom-table tr.is-done td{opacity:.55}
#assembly-guide .ag-bom-table tbody tr:not(.ag-group){cursor:pointer}
#assembly-guide .ag-bom-actions{display:flex;align-items:center;gap:14px}
#assembly-guide .ag-source-link{display:block;font-size:10px;margin-top:3px}
#assembly-guide .ag-result-count{margin-top:12px;color:var(--muted);font-size:11px}
#assembly-guide .ag-empty{padding:65px 20px;text-align:center;border:1px dashed var(--line);border-radius:8px}
#assembly-guide .ag-footer{display:flex;justify-content:space-between;gap:18px;margin-top:30px;padding:20px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
#assembly-guide .ag-footer button{text-decoration:underline;font-size:11px}
#assembly-guide .ag-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Identical fullscreen behavior for both diagram pages. */
body.ag-no-scroll{overflow:hidden}
#assembly-guide.ag-expanded{position:fixed;inset:0;z-index:9999;width:100vw;height:100dvh;overflow:auto;background:#f6f7f4}
#assembly-guide.ag-expanded .ag-top,#assembly-guide.ag-expanded .ag-prerelease,#assembly-guide.ag-expanded .ag-nav,#assembly-guide.ag-expanded .ag-warning,#assembly-guide.ag-expanded .ag-page-heading,#assembly-guide.ag-expanded .ag-footer{display:none}
#assembly-guide.ag-expanded .ag-main{max-width:none;height:100dvh;padding:10px 18px}
#assembly-guide.ag-expanded #ag-content{height:100%}
#assembly-guide.ag-expanded .ag-workspace{display:flex;flex-direction:column;height:100%}
#assembly-guide.ag-expanded .ag-steps{flex-shrink:0;margin-bottom:10px}
#assembly-guide.ag-expanded .ag-work{display:flex;flex-direction:column;flex:1;min-height:0}
#assembly-guide.ag-expanded .ag-work>*{flex-shrink:0}
#assembly-guide.ag-expanded .ag-full-board{display:flex;flex-direction:column;flex:1;min-height:180px}
#assembly-guide.ag-expanded .ag-board-canvas{height:auto;min-height:0;flex:1}
#assembly-guide.ag-expanded .ag-board-legend{flex-shrink:0}
#assembly-guide.ag-expanded .ag-wire-navigation{margin:6px 0 0}
#assembly-guide.ag-expanded .ag-list-heading,#assembly-guide.ag-expanded .ag-wire-list{display:none}
@media(max-width:760px){
 #assembly-guide .ag-top{height:54px}
 #assembly-guide .ag-top-inner{padding:0 12px}
 #assembly-guide .ag-brand-label{display:none}
 #assembly-guide .ag-main{padding:0 12px 12px}
 #assembly-guide .ag-nav{gap:0;margin-bottom:18px}
 #assembly-guide .ag-nav a{padding:12px 16px;font-size:12px}
 #assembly-guide h1{font-size:25px}
 #assembly-guide h2{font-size:18px}
 #assembly-guide .ag-page-heading{gap:12px}
 #assembly-guide .ag-steps button{min-width:150px}
 #assembly-guide .ag-board-toolbar{flex-wrap:wrap;gap:9px}
 #assembly-guide .ag-board-controls button{padding:7px 8px}
 #assembly-guide .ag-board-toolbar select{max-width:140px;padding:7px}
 #assembly-guide .ag-connection-detail{gap:12px;flex-wrap:wrap;padding:12px}
 #assembly-guide .ag-connection-detail>div{flex:1}
 #assembly-guide .ag-connection-detail>.ag-cable{flex-basis:100%}
 #assembly-guide .ag-connection-detail strong{font-size:12px}
 #assembly-guide .ag-verify{width:100%;margin:0;padding-top:10px;border-top:1px solid #d8e1d0}
 #assembly-guide .ag-board-legend{font-size:10px;padding:8px 10px}
 #assembly-guide .ag-wire-list{grid-template-columns:1fr}
 #assembly-guide .ag-wire-row{gap:10px;padding:0 10px}
 #assembly-guide .ag-wire-row button{grid-template-columns:26px 1fr 16px 1fr;font-size:11px;gap:7px}
 #assembly-guide .ag-row-color{display:none}
 #assembly-guide .ag-intro{margin:28px 0 40px}
 #assembly-guide .ag-intro h1{font-size:31px}
 #assembly-guide .ag-lead{font-size:15px}
 #assembly-guide .ag-primary{font-size:11px;padding:10px 12px}
 #assembly-guide.ag-expanded .ag-main{padding:8px}
}
/* Phones: each BOM row stacks, so the specification stays on screen (screen only: print keeps the table). */
@media screen and (max-width:760px){
 #assembly-guide .ag-bom-table thead{display:none}
 #assembly-guide .ag-bom-table tr:not(.ag-group){display:grid;grid-template-columns:76px minmax(0,1fr)}
 #assembly-guide .ag-bom-table td:nth-child(3){grid-column:2;border-top:0;padding-top:0}
 #assembly-guide .ag-part-cell{min-width:0}
}
/* From 900 px (also in fullscreen) the board takes the left column at full height; step title, board controls,
   wire detail, navigation and the step's connection list sit beside it. Below 900 px the controls follow the board. */
@media(min-width:900px){
 #assembly-guide .ag-intro{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(32px,5vw,80px)}
 #assembly-guide .ag-intro-media{padding-top:9px}
 #assembly-guide .ag-work,#assembly-guide.ag-expanded .ag-work{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,30vw,440px);column-gap:20px;
  grid-template-rows:auto auto auto auto auto auto 1fr;
  grid-template-areas:"board head" "board tool" "board detail" "board nav" "board lhead" "board list" "board ."}
 #assembly-guide .ag-board-toolbar{grid-area:tool;flex-wrap:wrap;gap:8px;margin:0 0 10px}
 #assembly-guide .ag-work-heading{grid-area:head;margin-bottom:8px}
 #assembly-guide .ag-work-heading h2{margin:0}
 #assembly-guide .ag-full-board{grid-area:board;align-self:start}
 #assembly-guide.ag-expanded .ag-full-board{align-self:stretch;min-height:0}
 #assembly-guide .ag-connection-detail{grid-area:detail;flex-wrap:wrap;gap:8px 12px;margin-top:0;padding:10px 12px}
 #assembly-guide .ag-connection-detail>div{flex:1 1 120px}
 #assembly-guide .ag-connection-detail>.ag-cable{flex-basis:100%}
 #assembly-guide .ag-verify{width:100%;margin:0;padding-top:8px;border-top:1px solid #d8e1d0}
 #assembly-guide .ag-wire-navigation{grid-area:nav;margin:8px 0 0}
 #assembly-guide .ag-list-heading{grid-area:lhead;margin:4px 0 8px}
 #assembly-guide .ag-wire-list{grid-area:list;align-self:start;grid-template-columns:1fr}
 #assembly-guide .ag-wire-row{border-right:0}
 #assembly-guide .ag-wire-row button{grid-template-columns:30px minmax(0,1fr) 14px minmax(0,1fr) auto;gap:8px;padding:10px 0}
}
@media print{
 #assembly-guide .ag-intro{display:block}
 #assembly-guide .ag-intro-media{display:none}
 body:has(#assembly-guide){background:#fff}
 #assembly-guide .ag-top,#assembly-guide .ag-nav,#assembly-guide .ag-footer button,#assembly-guide .ag-steps,#assembly-guide .ag-board-toolbar,#assembly-guide .ag-wire-navigation,#assembly-guide .ag-bom-tools,#assembly-guide [data-action=export]{display:none}
 #assembly-guide .ag-main{padding:0;max-width:none}
 #assembly-guide .ag-board-canvas{height:auto;overflow:visible}
 #assembly-guide .ag-bom-table{overflow:visible}
 #assembly-guide .ag-bom-table table{min-width:0}
 #assembly-guide .ag-part-cell{min-width:0}
 #assembly-guide .ag-bom-table th,#assembly-guide .ag-bom-table td{padding:8px}
 #assembly-guide .ag-panel,#assembly-guide tr{break-inside:avoid}
}
#assembly-guide .ag-bom-table tr.ag-group th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:18px 10px 6px;border-bottom:1px solid var(--line,#d3d9de);background:transparent}
#assembly-guide .md-typeset__scrollwrap,#assembly-guide .md-typeset__table{display:block;width:100%;margin:0;padding:0;overflow:visible}
