:root{--ink:#153847;--teal:#007f78;--line:#d6e4e8}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f0f5f6;font:13px Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible{outline:3px solid #22a99b}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);padding:10px 13px}button:hover{border-color:var(--teal);background:#eef8f6}header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 28px;background:#0a2534;color:white}header a{color:white;text-decoration:none;font-weight:800}header span{font-weight:400;margin-left:15px}header small{color:#91d8ca;font-size:10px}.project{padding:25px 28px;display:flex;justify-content:space-between;gap:20px;background:white}.project small{font-size:10px;letter-spacing:.13em;color:var(--teal)}h1{font-size:25px;letter-spacing:-.04em;margin:9px 0}p{line-height:1.7;color:#58717c}.project p{margin:0}.actions{display:flex;gap:8px;align-items:center}#download,.primary{background:var(--teal);color:white}.steps{display:flex;padding:0 28px;background:white;border-bottom:1px solid var(--line);gap:20px}.steps button{border:0;border-radius:0;padding:15px 5px;color:#607985}.steps .active{color:var(--teal);border-bottom:3px solid var(--teal);font-weight:800}main{display:grid;grid-template-columns:245px minmax(300px,1fr) 330px;height:calc(100vh - 295px);min-height:590px}aside{padding:21px 18px;background:white;overflow:auto}h2{font-size:15px;margin:0 0 18px}.library{border-right:1px solid var(--line)}.properties{border-left:1px solid var(--line)}.choice{display:flex;align-items:center;gap:12px;width:100%;margin:8px 0;text-align:left}.choice img{width:62px;height:52px;object-fit:contain}.choice small{display:block;font-size:10px;color:#687f89;margin-top:4px}.hint{font-size:11px;background:#f0f7f7;padding:12px;border-radius:5px}.center{min-width:0;display:flex;flex-direction:column}.canvas-tools{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;font-size:11px;gap:10px}.canvas-tools button{font-size:11px;padding:6px 10px}#viewport{overflow:scroll;flex:1;min-height:0;overscroll-behavior:contain}#scene{position:relative;width:2200px;height:1600px;background-image:radial-gradient(#bdd0d7 1px,transparent 1px);background-size:20px 20px}#welcome{width:470px;text-align:center;padding:80px 30px}#welcome span{font-size:60px;color:#a8cec8}#welcome h2{font-size:26px;margin-top:20px}.legend{padding:13px;background:white;border-top:1px solid var(--line);font-size:10px}footer{padding:12px 22px;font-size:11px;background:#e3f0ed}.field{display:block;margin:13px 0;font-size:11px;font-weight:700}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #c7d8df;border-radius:5px;padding:9px;margin-top:7px;background:white;color:var(--ink)}textarea{min-height:68px;resize:vertical}.field small{font-weight:400;display:block;color:#6c818a;margin-top:5px}.properties button{margin-top:10px}.wide{width:100%}.node{position:absolute;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;touch-action:none;cursor:grab}.node:hover{background:#ffffff30}.node.selected{border:1px dashed var(--teal);background:#ffffff25}.node img{width:100%;height:calc(100% - 23px);object-fit:contain;pointer-events:none}.node .label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;background:#ffffffd9;border-radius:4px;margin:auto;padding:2px 8px;width:max-content;max-width:100%;pointer-events:none}.review-item{padding:12px 0;border-bottom:1px solid var(--line)}.review-item strong{font-size:12px}.review-item p{margin:5px 0;font-size:11px}.tag{font-size:10px;color:var(--teal);font-weight:700}.section-label{margin-top:22px;font-size:11px;color:var(--teal);text-transform:uppercase}.danger{color:#a33c3c}.pending{padding:12px;background:#fff6e5;font-size:11px}.equipment-preview{width:100%;height:120px;object-fit:contain}input[type=range]{accent-color:var(--teal)}@media(max-width:950px){main{grid-template-columns:185px minmax(250px,1fr) 285px}.project{padding:18px}.steps{gap:8px;padding:0 12px}header small{display:none}}@media(max-width:760px){header{padding:15px;flex-wrap:wrap}header a:last-child{font-size:10px}.project{display:block}.actions{margin-top:16px}.steps{overflow:auto}.steps button{min-width:170px;font-size:11px}main{height:auto;display:flex;flex-direction:column;min-height:0}.library{max-height:280px;order:0}.center{height:520px;order:2}.properties{order:1;max-height:560px}.choice{display:inline-flex;width:calc(50% - 5px);vertical-align:top;min-height:78px;margin:3px 0}.choice img{width:44px}.legend{font-size:9px}#welcome{width:330px;padding:60px 20px}h1{font-size:23px}}

.center{min-height:0;overflow:hidden}#viewport{flex:1 1 0;height:0}.node img{user-select:none;-webkit-user-drag:none}

.draft-node{position:absolute;width:360px;height:320px;pointer-events:none;opacity:.8}.draft-node img{width:100%;height:290px;object-fit:contain}.draft-node span{display:block;text-align:center;color:#007f78;font-size:11px}.system-card{position:absolute;width:310px;padding:18px;background:white;border:1px solid #8fbdb9;border-radius:12px;box-shadow:0 12px 30px #1b485318;cursor:grab;touch-action:none}.assembly-preview{position:relative;width:270px;height:215px;margin:15px 0}.system-card h3{margin:12px 0 5px}.system-card p{margin:5px 0;font-size:11px}.system-card small{color:#687c87}.system-card img{pointer-events:none}.canvas-tools{flex-wrap:wrap}.canvas-tools .primary{margin-left:auto}.node img{filter:drop-shadow(2px 4px 3px #20323d16)}.equipment-preview{height:170px}.choice img{height:70px}.node{z-index:1}.system-card{z-index:1}

.primary:hover,#download:hover{background:#00665f;color:white}.choice:disabled{opacity:.45;cursor:not-allowed}.draft-node{z-index:1}

dialog{border:1px solid #b2ceca;border-radius:12px;padding:26px;max-width:520px;width:calc(100% - 30px);max-height:90vh;color:#153847}dialog::backdrop{background:#102d3e99}dialog input[type=checkbox]{width:auto}dialog p{font-size:12px}

.edit-tools{padding:8px 14px;background:#f8fbfc;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.edit-tools div{display:flex;flex-wrap:wrap;gap:5px}.edit-tools button{font-size:11px;padding:8px}.edit-tools button:disabled{opacity:.4;cursor:not-allowed}.edit-tools span{font-size:11px;color:#007f78}.edit-tools small{font-size:10px;color:#607985}.system-card:focus{outline:2px solid #007f78}

/* Clean assembly view: accessible names remain in the selection list and properties. */
.node .label{display:none}.node img{height:calc(100% - 23px)}.transform-tools{display:flex;flex-wrap:wrap;gap:7px;padding:8px 14px;background:#f8fbfc;border-bottom:1px solid var(--line);align-items:center}.transform-tools button{font-size:11px;padding:8px}.transform-tools label{display:flex;align-items:center;gap:6px;font-size:11px}.transform-tools select{max-width:185px;padding:6px;border:1px solid var(--line);border-radius:4px}.transform-tools input{width:100px}.transform-tools output{min-width:34px}.transform-tools button[aria-pressed=true]{background:#d5eeea;border-color:#007f78}.transform-tools button:disabled,.transform-tools input:disabled{opacity:.4;cursor:not-allowed}@media(max-width:760px){.center{height:670px}.transform-tools{padding:8px}.transform-tools button{padding:8px 5px}}

.multi-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:7px 14px;border-bottom:1px solid var(--line);background:#f8fbfc;font-size:10px}.multi-tools button{padding:6px 9px;font-size:11px}.node.multi-selected,.system-card.multi-selected{outline:2px solid #00877c;background:#00a58b12}.selection-marquee{position:absolute;border:1px solid #00877c;background:#00877c20;pointer-events:none;z-index:100}#scene{touch-action:none}.multi-tools span{color:#527680}

.layer-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#f8fbfc;padding:7px 14px;border-bottom:1px solid var(--line);font-size:11px}.layer-tools button{padding:6px 9px;font-size:11px}.layer-tools button:disabled{opacity:.4}.layer-tools span{color:#007f78}.node.pinned-piece,.system-card.pinned-piece{outline:3px dashed #00877c;outline-offset:3px}
/* Stage 3: compact, readable summaries and all steps visible on phones. */
.library summary{cursor:pointer;font-weight:700;margin:12px 0 6px}.properties dt{font-weight:700;margin-top:10px}.properties dd{margin:4px 0 10px;color:#58717c;overflow-wrap:anywhere}.selection-summary{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.quantity-badge{position:absolute;right:0;bottom:0;background:white;border:1px solid var(--line);border-radius:4px;padding:2px 6px;pointer-events:none}.selection-summary button{text-align:left;overflow-wrap:anywhere}@media(max-width:760px){.steps button{min-width:0;flex:1;padding:12px 3px}.steps{gap:4px}.actions{flex-wrap:wrap}.actions button{flex:1}}
.request-actions{display:flex;gap:8px;flex-wrap:wrap}.request-actions button{flex:1;min-width:140px}.request-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.5}.request-consent input{flex-shrink:0}#request-preview{font-weight:400;min-height:180px}#request-mailto{display:inline-block;color:var(--teal);font-weight:700}#request-mailto[hidden]{display:none}#request-result{margin-top:15px}
.workspace-controls{display:flex;flex-wrap:wrap;gap:7px;padding:8px 18px;background:#fff;border-bottom:1px solid var(--line)}.workspace-controls button{font-size:11px;padding:7px 10px}.workspace-controls button[aria-expanded=false]{background:#e4f3f0;border-color:var(--teal)}main.adjustable-workspace{grid-template-columns:minmax(150px,var(--left-width)) var(--left-handle) minmax(300px,1fr) var(--right-handle) minmax(200px,var(--right-width));height:calc(100vh - 340px)}main.adjustable-workspace:has(.library[hidden]){grid-template-columns:0 0 minmax(300px,1fr) var(--right-handle) minmax(200px,var(--right-width))}main.adjustable-workspace:has(.properties[hidden]){grid-template-columns:minmax(150px,var(--left-width)) var(--left-handle) minmax(300px,1fr) 0 0}main.adjustable-workspace:has(.library[hidden]):has(.properties[hidden]){grid-template-columns:0 0 minmax(300px,1fr) 0 0}.adjustable-workspace>.library{grid-column:1;grid-row:1}.adjustable-workspace>.resizer-left{grid-column:2;grid-row:1}.adjustable-workspace>.center{grid-column:3;grid-row:1}.adjustable-workspace>.resizer-right{grid-column:4;grid-row:1}.adjustable-workspace>.properties{grid-column:5;grid-row:1}.panel-resizer{cursor:col-resize;background:#e3efef;touch-action:none}.panel-resizer:hover,.panel-resizer:focus{background:#80bdb6;outline:2px solid var(--teal);outline-offset:-2px}#canvas-edit-controls[hidden],.adjustable-workspace>[hidden]{display:none!important}.guided-section{margin:14px 0;border-top:1px solid var(--line);padding-top:10px}.guided-section>summary{cursor:pointer;font-weight:700;color:var(--teal)}.unknown-choice{display:flex;align-items:center;gap:6px;font-size:10px;color:#58717c;margin:-5px 0 12px}.unknown-choice input{width:auto}.field-with-unknown:has(input:checked)>.field{opacity:.65}.declared-properties{font-size:11px}.declared-properties dt{font-weight:700;margin-top:8px}.declared-properties dd{margin:4px 0;overflow-wrap:anywhere}.device-fold{padding:9px 0;border-bottom:1px solid var(--line)}.device-fold>summary{cursor:pointer;color:var(--teal)}.capture-status{font-size:11px;padding:8px;background:#eef6f4}.card-unknown{color:#8c662a}
@media(min-width:761px) and (max-width:1150px){main.adjustable-workspace{grid-template-columns:minmax(150px,min(var(--left-width),22vw)) var(--left-handle) minmax(260px,1fr) var(--right-handle) minmax(190px,min(var(--right-width),26vw))}}@media(max-width:760px){main.adjustable-workspace{height:auto;display:flex}.panel-resizer{display:none}.workspace-controls{position:sticky;top:0;z-index:105;padding:7px}.workspace-controls button{flex:1;min-width:110px}.adjustable-workspace>.center{height:720px}.adjustable-workspace>.properties{max-height:560px}.adjustable-workspace>.library{max-height:280px}}
