:root {color-scheme:dark;--bg:#090f18;--bg2:#0d1721;--panel:#0e1b29;--panel2:#122231;--stroke:#263744;--softstroke:#21303c;--txt:#edf4f5;--muted:#77919f;--dim:#4f6978;--accent:#2bd4c8;--accent2:#1badac;--blue:#64a7ec;--amber:#e8b45e;--danger:#fa7171;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--txt);font-size:13px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,.dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{height:100dvh;min-height:660px;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:0 0 69px;display:flex;align-items:center;gap:24px;padding:0 23px;background:#0c1824;border-bottom:1px solid #243844;z-index:4}.brand{display:flex;align-items:center;gap:9px}.brandmark{color:var(--accent);height:36px;display:flex;align-items:center}.brandtype{display:flex;align-items:flex-end;gap:1px;font-size:18px;font-weight:840;letter-spacing:1px;line-height:1}.brandtype span{color:var(--accent)}.brandtype small{font-size:8px;font-weight:600;letter-spacing:1.4px;color:#6b92a0;margin:0 0 2px 5px}.vline{height:29px;width:1px;background:#2c4652}.projecttitle{display:flex;flex-direction:column;gap:4px}.eyebrow,.overline{font-size:9px;font-weight:740;letter-spacing:1.65px;color:var(--accent);text-transform:uppercase}.projecttitle .eyebrow{color:#688b9e}.projecttitle strong{font-size:12px;font-weight:650}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.status-chip{font-size:10px;font-weight:700;letter-spacing:.8px;display:flex;align-items:center;gap:7px;border:1px solid #1f4e4b;background:#102b2a;border-radius:5px;padding:8px 10px;color:#8fe7cb;margin-right:8px}.pulse{height:6px;width:6px;flex:0 0 6px;border-radius:50%;background:#30d7b5;box-shadow:0 0 8px #1b9a8e}.btn{border-radius:7px;padding:10px 15px;font-size:12px;font-weight:710;display:inline-flex;align-items:center;gap:9px;border:1px solid var(--stroke);white-space:nowrap}.btn.subtle{background:#122231;color:#cadce4}.btn.subtle:hover{background:#193345}.btn.highlight{background:var(--accent);color:#072323;border-color:var(--accent);box-shadow:0 2px 16px #1be4c017}.btn.highlight:hover:not(:disabled){background:#4ce3d4}.btn.secondary{color:var(--accent);background:#143137;border-color:#27605f;padding:11px 17px}.symbol{font-size:16px;font-weight:550;line-height:1}.layout{flex:1;min-height:0;display:grid;grid-template-columns:318px minmax(500px,1fr) 279px}.left-pane,.right-pane{background:#0e1b28;min-height:0;display:flex;flex-direction:column;position:relative}.left-pane{border-right:1px solid var(--stroke)}.right-pane{border-left:1px solid var(--stroke)}.pane-scroll,.right-scroll{min-height:0;overflow:auto;padding:24px 20px 18px;scrollbar-width:thin;scrollbar-color:#274152 transparent}.pane-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.pane-heading h2{margin:6px 0 0;font-size:17px;letter-spacing:-.35px}.pane-heading.compact{margin-top:0;margin-bottom:17px}.pane-heading.compact h2{font-size:16px}.count-pill{padding:5px 8px;border:1px solid #274350;background:#152d3b;font-size:10px;border-radius:5px;color:#8ca9b6}.dropzone{border:1px dashed #3d6172;background:#122633;border-radius:9px;min-height:155px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;transition:.15s}.dropzone:hover,.dropzone.over{background:#153340;border-color:#51b1b1}.upload-ring{height:39px;width:39px;display:grid;place-items:center;border-radius:9px;background:#183a43;color:#51d6ca}.dropzone strong{font-size:12px}.dropzone>span{font-size:10px;color:#85a0ac}.file-tags{display:flex;gap:5px}.file-tags em{font-size:9px;letter-spacing:.4px;font-style:normal;border:1px solid #31505c;border-radius:3px;color:#78a8b5;padding:3px 5px}.small-inline{display:flex;gap:12px;margin-top:16px}.inline-field{flex:1;min-width:0}.inline-field label,.field label,.field-label{display:block;color:#94adba;font-size:10px;font-weight:620;margin-bottom:8px}.inline-field input,.inline-field select,.field input,.field select,.large-select,.inspector input{width:100%;height:36px;padding:0 10px;background:#091925;border:1px solid #284354;border-radius:5px;color:#dceaf0;outline:none}.inline-field input:focus,.inline-field select:focus,.field input:focus,.large-select:focus,.inspector input:focus{border-color:#2abeb6}.large-select{margin-bottom:12px;appearance:auto}.section-divider{border-top:1px solid #243542;margin:22px 0}.mini-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 13px}.mini-heading h3,.legend-heading h3{font-size:12px;margin:0;font-weight:700}.soft{font-size:11px;color:#819ba8}.part-list{display:flex;flex-direction:column;gap:8px}.empty-part{min-height:125px;text-align:center;border:1px dashed #27404f;border-radius:8px;padding:17px 15px;display:flex;align-items:center;flex-direction:column;gap:7px}.empty-part strong{font-size:12px}.empty-part span{font-size:11px;color:var(--muted);line-height:1.5}.empty-cube{font-size:24px;color:#456476}.part-card{background:#102430;border:1px solid #27404b;border-radius:8px;padding:10px}.part-top{display:flex;align-items:center;gap:10px}.part-thumb{width:42px;height:42px;border-radius:6px;flex:0 0 42px;background:#0a1a26;border:1px solid #1d3644;display:grid;place-items:center}.part-thumb svg{width:37px;height:37px}.part-info{flex:1;min-width:0}.part-name{display:block;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-dims{display:block;font-size:10px;color:#7c9cab;margin-top:5px;white-space:nowrap}.delete-btn{border:none;background:transparent;color:#627d89;font-size:18px;padding:3px 5px;border-radius:4px}.delete-btn:hover{color:#ff8b8b;background:#482c30}.part-bottom{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:11px}.qty-control{display:flex;align-items:center;height:29px;border:1px solid #2d4755;border-radius:5px}.qty-control button{background:#173442;color:#b6d3dd;border:0;font-size:15px;width:27px;height:27px}.qty-control button:hover{color:var(--accent)}.qty-control input{background:transparent;color:#ebf4f5;border:0;text-align:center;width:35px;font-size:12px;outline:0}.rotation-select{max-width:134px;height:29px;min-width:0;border:1px solid #2d4755;background:#112c39;border-radius:5px;font-size:10px;color:#bad6df;padding:0 3px}.material-bar{display:flex;align-items:center;gap:10px;background:#10232f;border:1px solid #27404c;padding:11px;border-radius:6px;margin-bottom:14px}.material-icon{font-size:22px;color:#87b3be}.material-bar>div:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.material-bar strong{font-size:12px}.material-bar small{font-size:10px;color:var(--muted)}.text-button{border:none;background:none;color:#62d4cb;font-size:11px;font-weight:700;padding:5px}.text-button:hover{text-decoration:underline}.input-grid,.edge-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 11px}.field{min-width:0}.field label small{color:#587b8b;font-size:10px;font-weight:450}.field input::-webkit-outer-spin-button,.field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edge-grid{gap:10px}.edge-grid .field input{height:34px}.tool-grid{margin-top:20px}.gap-line{margin-top:16px;background:#122e34;border:1px solid #2a5655;padding:12px 12px;display:flex;align-items:center;justify-content:space-between;border-radius:6px}.gap-title{font-size:11px;font-weight:700;color:#b4e5df}.gap-line small{font-size:10px;color:#7eaaa9;display:block;margin-top:4px}.gap-line strong{font-size:24px;color:#56dacd;letter-spacing:-1px}.gap-line strong small{display:inline;font-size:11px}.toggle-line{display:flex;gap:8px;align-items:center;margin:13px 0;color:#93a9b4;font-size:11px;cursor:pointer}.toggle-line input{accent-color:var(--accent)}.quality-select{display:flex;gap:5px;background:#0b1824;border-radius:6px;padding:4px;border:1px solid #27404e}.quality-select button{background:transparent;border:0;color:#7798a9;border-radius:4px;padding:9px 0;flex:1;font-size:11px;font-weight:650}.quality-select button.active{background:#1b4145;color:#72e4d9}.pane-footer{padding:12px 15px 14px;border-top:1px solid var(--stroke);background:#0d1c29}.optimize-button{width:100%;background:linear-gradient(100deg,#2cd5c8,#39b9c6);border:0;border-radius:8px;min-height:59px;display:flex;align-items:center;justify-content:space-between;gap:9px;color:#042e34;padding:9px 14px;font-size:13px;font-weight:800;text-align:left;box-shadow:0 5px 24px #31c9c020}.optimize-button:hover:not(:disabled){filter:brightness(1.13)}.optimize-button>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}.optimize-button small{font-size:10px;opacity:.8;font-weight:600}.footer-hint{text-align:center;font-size:9px;color:#7797a4;margin-top:12px}.main-pane{background:#091421;min-height:0;display:flex;flex-direction:column}.workspace-header{flex:0 0 86px;display:flex;align-items:center;justify-content:space-between;padding:18px 26px;border-bottom:1px solid #1e3140;background:#0b1826}.workspace-header .overline{font-size:9px}.workspace-title{display:flex;align-items:center;gap:13px;margin-top:8px}.workspace-title h1{font-size:20px;font-weight:750;letter-spacing:-.5px;margin:0}.workspace-tag{font-size:10px;color:#8aabba;background:#183040;border:1px solid #284959;padding:5px 8px;border-radius:4px}.view-controls{display:flex;align-items:center;gap:5px;border:1px solid #294452;background:#102431;border-radius:6px;padding:4px}.icon-button{height:26px;min-width:28px;border:0;background:transparent;color:#9bb7c5;border-radius:4px;font-size:17px}.icon-button:hover,.icon-button.pressed{color:var(--accent);background:#1c3e47}.view-sep{width:1px;height:19px;background:#27404c;margin:0 5px}.zoom-label{font-size:10px;width:40px;text-align:center;color:#a6c0c9}.viewport{position:relative;min-height:230px;flex:1;overflow:hidden;background-color:#0a1623;background-image:radial-gradient(#24405175 .7px,transparent .7px);background-size:18px 18px}.canvas-hint{position:absolute;left:22px;top:20px;z-index:2;background:#0f2330e9;border:1px solid #2b4857;border-radius:6px;font-size:10px;color:#8fb0bb;display:flex;align-items:center;gap:9px;padding:9px 12px;pointer-events:none}.hint-dot{height:6px;width:6px;border-radius:50%;background:#3ac5bf}.viewport-empty{position:absolute;top:50%;left:50%;width:min(440px,90%);transform:translate(-50%,-50%);text-align:center;display:flex;align-items:center;flex-direction:column}.diagram-preview{width:340px;max-width:100%;opacity:.85}.diagram-preview svg{width:100%}.viewport-empty h2{margin:4px 0 8px;font-size:20px}.viewport-empty p{max-width:360px;color:#7799a9;font-size:12px;line-height:1.7;margin:0 0 21px}.svg-holder{position:absolute;inset:20px 20px 28px;touch-action:none}.svg-holder svg{width:100%;height:100%;overflow:hidden;touch-action:none;user-select:none}.sheet-outline{fill:#132638;stroke:#87a5b7;stroke-width:2;vector-effect:non-scaling-stroke}.safe-area{fill:none;stroke:#dbb273;stroke-width:1.6;stroke-dasharray:9 7;vector-effect:non-scaling-stroke;opacity:.75}.piece{cursor:grab;transition:filter .06s;outline:none}.piece:active{cursor:grabbing}.piece .contour{stroke-width:1.6;stroke:#061b25;vector-effect:non-scaling-stroke;fill-rule:evenodd}.piece.selected .contour{stroke:#dbf7f1;stroke-width:3;filter:drop-shadow(0px 0px 3px #43e0d5a0)}.piece.invalid .contour{stroke:#fc6565;stroke-width:3}.piece .name-label{font-size:16px;font-weight:650;fill:#f1fcff;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#1a3443;stroke-width:2}.piece .gap-buffer{fill:none;stroke:#f4ca7f;stroke-opacity:.16;stroke-linejoin:round;pointer-events:none}.canvas-bottom{position:absolute;bottom:13px;left:22px;right:22px;display:flex;justify-content:space-between;color:#648698;font-family:ui-monospace,Menlo,monospace;font-size:10px;pointer-events:none}.sheet-section{flex:0 0 183px;background:#0e1b29;border-top:1px solid #263b48;padding:19px 25px;display:flex;flex-direction:column;min-height:0}.sheet-top{display:flex;justify-content:space-between;align-items:center}.sheet-top h3{font-size:14px;margin:5px 0 0}.sheet-top h3 span{margin-left:4px;color:var(--accent);font-size:12px}.sheet-action{display:flex;align-items:center;gap:15px;font-size:11px;color:#668998}.sheet-list{display:flex;gap:10px;overflow-x:auto;min-height:94px;margin-top:15px;padding-bottom:5px}.sheet-empty{border:1px dashed #2b4552;color:#698b9a;font-size:11px;border-radius:7px;padding:24px;flex:1;text-align:center}.sheet-card{flex:0 0 170px;background:#112634;border:1px solid #2b4451;border-radius:7px;padding:10px 11px;text-align:left;color:#c4dbe4;transition:.1s}.sheet-card:hover{background:#153440}.sheet-card.active{border-color:#3cc9bc;box-shadow:inset 0 0 0 1px #2caeac}.sheet-card-header{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:750;margin-bottom:9px}.sheet-card-header span{color:#62d6c9}.sheet-card-bar{height:6px;background:#28414e;border-radius:10px;overflow:hidden}.sheet-card-bar i{display:block;background:#42cabb;height:100%;border-radius:10px}.sheet-card-footer{display:flex;justify-content:space-between;font-size:9px;color:#89a8b5;margin-top:9px}.right-scroll{padding:24px 18px 15px}.metric-hero{padding:17px 15px;background:linear-gradient(140deg,#152c3b,#0f2a30);border:1px solid #285158;border-radius:8px;margin-top:0}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#b2ced5}.chip-soft{font-size:9px;letter-spacing:.7px;color:#73e0d4;border:1px solid #326d67;padding:4px 6px;border-radius:3px}.metric-hero>strong{font-size:38px;font-weight:780;display:block;letter-spacing:-1.5px;margin-top:13px;color:#5adccb}.metric-hero>strong small{font-size:19px;font-weight:650}.metric-track{height:7px;background:#23434c;border-radius:8px;overflow:hidden;margin:15px 0 10px}.metric-track i{display:block;background:linear-gradient(90deg,#198d91,#53e6d1);width:0%;height:100%;border-radius:9px;transition:width .5s}.metric-hero p{font-size:10px;line-height:1.5;color:#83a4ac;margin:0}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.metric-small{min-height:95px;border:1px solid #263f4b;background:#11232f;border-radius:7px;padding:14px 12px}.metric-small span{font-size:10px;color:#8ca8b3}.metric-small strong{display:block;font-size:22px;margin-top:11px;letter-spacing:-.6px}.metric-small small{font-size:10px;margin-left:5px;color:#76909c}.warning-box{font-size:11px;line-height:1.5;background:#35281e;border:1px solid #765336;border-radius:6px;padding:12px;margin-top:13px;color:#f0c68b}.inspector-empty{border:1px dashed #2a4452;display:flex;flex-direction:column;text-align:center;align-items:center;border-radius:7px;padding:25px 13px}.inspector-symbol{font-size:30px;color:#577382;margin-bottom:8px}.inspector-empty strong{font-size:12px}.inspector-empty p{color:#7f9ca9;font-size:11px;line-height:1.6}.inspector-selected{border:1px solid #2c4c57;background:#102633;border-radius:7px;padding:12px}.inspector-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.inspector-swatch{height:10px;width:10px;border-radius:3px;box-shadow:0 0 12px #3dcab744}.inspector-title strong{font-size:12px}.inspector-title small{display:block;color:#83a4b4;font-size:10px;margin-top:5px}.inspector-selected .input-grid{gap:9px}.inspector-selected .field input{height:33px}.inspector-rotate{display:flex;gap:6px;align-items:center;margin-top:11px}.inspector-rotate button{flex:1;background:#1a3a47;border:1px solid #345766;color:#b5d9e2;border-radius:5px;padding:8px;font-size:11px}.inspector-rotate button:hover{border-color:#4ad1c8;color:#4ad1c8}.apply-button{width:100%;margin-top:12px;border:0;border-radius:6px;background:#2ebfb9;color:#082c30;font-weight:770;padding:10px;font-size:11px}.inspector-tip{font-size:10px;color:#799ba6;line-height:1.5;margin-top:12px}.legend-heading{margin:0 0 13px}.legend{display:grid;grid-template-columns:1fr;gap:13px;font-size:11px;color:#9bb2bd}.legend>span{display:flex;align-items:center;gap:10px}.legend-block{display:inline-block;width:20px;height:12px;border-radius:2px;border:1px solid #4c7381}.legend-block.teal{background:#2f988f;border-color:#4bcfc0}.legend-block.dash{border:1px dashed #c39a6a;background:none}.legend-block.empty{background:#0b1824}.info-note{background:#10242d;border:1px solid #2c4450;border-radius:7px;padding:13px;margin-top:25px}.info-note strong{font-size:11px;color:#8fd4cb}.info-note p{margin:9px 0 0;color:#88a5ae;font-size:10px;line-height:1.7}.right-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding:15px 19px;color:#789ca8;font-size:10px;border-top:1px solid #28404d}.run-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#0a1827ef;gap:10px}.run-overlay[hidden]{display:none}.run-overlay h3{font-size:19px;margin:7px 0 0}.run-overlay p{font-size:11px;color:#7e9ba7}.run-overlay strong{font-size:27px;color:#45dacd}.loader-arc{height:49px;width:49px;border:3px solid #234754;border-top-color:#3cdbd0;border-radius:50%;animation:spin .8s linear infinite}.progress-bar{height:6px;width:230px;background:#234454;border-radius:8px;overflow:hidden}.progress-bar i{display:block;width:0;height:100%;background:#4ce0cc;transition:width .3s}@keyframes spin{to{transform:rotate(360deg)}}#toastContainer{position:fixed;z-index:50;bottom:28px;right:28px;display:flex;flex-direction:column;gap:9px;max-width:380px}.toast{display:flex;gap:10px;padding:13px 15px;background:#173544;border:1px solid #4a7785;box-shadow:0 8px 30px #0008;border-radius:7px;font-size:12px;line-height:1.5;color:#e7f7f6}.toast.error{background:#40242a;border-color:#994b54;color:#ffdbde}.toast.warn{background:#3b2c21;border-color:#87613e;color:#f3d5a7}#modalHost{position:fixed;z-index:40}.modal-back{position:fixed;inset:0;background:#02090dcc;display:flex;align-items:center;justify-content:center}.modal{padding:25px;background:#102431;border:1px solid #406374;border-radius:12px;width:min(500px,92vw);box-shadow:0 20px 80px #0009}.modal h3{font-size:18px;margin:0 0 12px}.modal p{font-size:12px;line-height:1.6;color:#91aebc}.modal .field{margin:17px 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-actions button{padding:10px 17px;border-radius:6px;border:1px solid #456272;background:#192f3e;color:#e1f3f5}.modal-actions button.primary{background:#2accc1;color:#05292d;border-color:#2accc1;font-weight:730}@media(max-width:1280px){.layout{grid-template-columns:290px minmax(420px,1fr) 250px}.pane-scroll{padding:20px 15px}.topbar{gap:13px;padding:0 14px}.status-chip{display:none}.right-scroll{padding:21px 13px}.top-actions .btn{padding:9px 11px}}@media(max-width:1050px){.layout{grid-template-columns:275px minmax(370px,1fr)}.right-pane{display:none}.top-actions .btn.subtle span:not(.symbol){display:none}.top-actions .btn.subtle{padding:9px 12px}.workspace-header{padding:13px 17px}}@media(max-width:700px){#app{overflow:auto;height:auto;min-height:100dvh}.topbar{flex-wrap:wrap;min-height:65px;gap:10px}.projecttitle,.vline{display:none}.layout{display:flex;flex-direction:column}.left-pane{order:2;border-right:0;border-top:1px solid var(--stroke)}.pane-scroll{overflow:visible}.main-pane{order:1;min-height:580px}.viewport{min-height:370px}.workspace-title h1{font-size:16px}.canvas-hint{display:none}.sheet-section{flex-basis:175px}.top-actions{gap:4px}.top-actions .btn{font-size:10px;padding:8px}.brandtype small{display:none}}
.cancel-nest{margin-top:20px;border:1px solid #567589;border-radius:9px;background:#152738;color:#cedde7;padding:10px 18px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.cancel-nest:hover{border-color:#e1ae83;color:#fff}.cancel-nest:disabled{opacity:.6;cursor:wait}
.quick-modal{max-width:430px}.quick-modal .input-grid{margin-top:12px}.quick-shape-preview{height:150px;border:1px solid #244758;background:radial-gradient(#203d49 0.7px,transparent 0.7px) 0 0/12px 12px,#0c1d28;border-radius:10px;margin:16px 0 18px;display:flex;justify-content:center;align-items:center}.quick-shape-preview svg{width:100%;height:100%}.quick-shape-preview svg>rect,.quick-shape-preview svg>path,.quick-shape-preview svg>circle{fill:#349f9c;stroke:#70e5d8;stroke-width:1.8}.quick-shape-preview .quick-hole{fill:#0b1b27;stroke:#83d1d2}

/* v0.3: authentication, history, access management, analysis */
[hidden]{display:none!important}
.auth-screen{position:fixed;inset:0;display:grid;grid-template-columns:minmax(300px,1.13fr) minmax(420px,0.87fr);background:#0b1420;z-index:80;color:#edf4f5}
.auth-art{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid #2a3946;background:radial-gradient(ellipse at 25% 12%,#1c4151 0%,transparent 48%),linear-gradient(135deg,#0b2330,#101d2b 50%,#101822)}
.auth-art-grid{position:absolute;inset:0;opacity:.26;background-image:linear-gradient(#254557 1px,transparent 1px),linear-gradient(90deg,#254557 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,black,transparent)}
.auth-art-center{position:relative;max-width:520px;padding:72px 55px}
.auth-brandmark{font-size:73px;letter-spacing:-6px;font-weight:900;color:#eaf8fa;line-height:1}.auth-brandmark span{font-size:33px;color:#3cd8c9;vertical-align:middle;margin-left:-13px}
.auth-pretitle{font-size:11px;color:#73c6cc;letter-spacing:2.8px;font-weight:750;margin:38px 0 12px}
.auth-art h1{font-size:clamp(40px,4.9vw,72px);letter-spacing:-2.2px;line-height:1.1;margin:0}.auth-art h1 span{color:#3ce1d0}.auth-art h1 small{display:block;font-size:18px;letter-spacing:12px;color:#87a7b7;margin-top:13px}
.auth-art-center>p:not(.auth-pretitle){max-width:440px;color:#a4bcca;font-size:15px;line-height:1.8;margin:34px 0 44px}
.auth-feature{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #31505f;font-size:13px;color:#b3ced8}.auth-feature i{font-style:normal;color:#4ae0cd;font-family:monospace}
.auth-art-foot{position:absolute;bottom:27px;left:55px;letter-spacing:2px;font-size:10px;color:#678994}
.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:32px 58px;overflow-y:auto}.auth-form-inner{max-width:450px;width:100%}
.auth-panel-label{font-size:11px;font-weight:750;letter-spacing:1.5px;color:#88a9b8;display:flex;justify-content:space-between;align-items:center;gap:12px}.auth-domain{padding:7px 12px;border:1px solid #2b6470;color:#53d4cc;border-radius:20px;letter-spacing:0;font-weight:600}
.auth-form-panel h2{font-size:35px;font-weight:760;letter-spacing:-1px;margin:45px 0 12px}.auth-help{font-size:14px;color:#93afbd;line-height:1.5;margin:0 0 35px}
.auth-tabs{display:flex;border-bottom:1px solid #2a3d4a;margin-bottom:34px}.auth-tabs button{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;color:#8497a7;padding:13px 6px;font-size:12px;font-weight:670}.auth-tabs button.active{color:#4bd9ce;border-color:#4bd9ce}
.auth-label{display:block;color:#a8c0cd;font-size:12px;font-weight:670;margin:22px 0 9px}.auth-input{width:100%;border:1px solid #304858;border-radius:9px;background:#152636;color:#effcff;padding:15px 14px;font-size:15px;outline:0}.auth-input:focus{border-color:#51dbcf;box-shadow:0 0 0 3px #21ab9e23}.auth-input::placeholder{color:#637f8e}
.auth-submit{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;margin-top:35px;border:0;border-radius:10px;background:#2ad0bc;color:#082124;font-weight:800;font-size:14px}.auth-submit:hover{background:#59ebdb}.auth-submit:disabled{opacity:.5}
.auth-message{min-height:34px;line-height:1.65;color:#79d7cc;margin:16px 0 0;font-size:13px}.auth-message.error{color:#ff9696}.auth-security-note{padding:15px;border:1px solid #2d4352;background:#122330;color:#8ba8b8;border-radius:10px;line-height:1.65;font-size:11px;margin-top:27px}
.quality-four{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.quality-four button{white-space:nowrap;padding:10px 4px;font-size:11px}.quality-description{font-size:11px;line-height:1.6;color:#819eac;margin:11px 0 0}
.metric-extended{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.metric-extended>div{padding:11px 10px;background:#152737;border:1px solid #273d4b;border-radius:8px}.metric-extended span{display:block;font-size:10px;color:#8ba7b6;margin-bottom:7px}.metric-extended b{font-size:15px;color:#e1f6f6;font-variant-numeric:tabular-nums}.metric-method{font-size:10px;color:#728e9f;line-height:1.65;margin:13px 0 0}
.enterprise-modal{width:min(1050px,96vw)!important;max-width:1050px!important;max-height:89vh;display:flex;flex-direction:column;overflow:hidden}.enterprise-modal h3{font-size:19px}.enterprise-intro{margin:0 0 16px!important;font-size:12px}.enterprise-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0 16px}.enterprise-toolbar button,.enterprise-actions button{background:#1c3342;border:1px solid #325365;border-radius:7px;color:#d6f5f4;padding:8px 11px;font-size:11px;font-weight:700}.enterprise-toolbar button:hover,.enterprise-actions button:hover{border-color:#3ac9b7}.enterprise-toolbar button.danger,.enterprise-actions button.danger{color:#ffaaaa;border-color:#81515d}.enterprise-scroll{overflow:auto;min-height:140px;max-height:65vh;border:1px solid #273a49;border-radius:10px}.enterprise-table{border-collapse:collapse;width:100%;min-width:650px}.enterprise-table th{position:sticky;top:0;text-align:left;color:#90b6c2;background:#172b39;font-size:10px;letter-spacing:.4px;font-weight:700;padding:13px 12px;z-index:1}.enterprise-table td{padding:14px 12px;border-bottom:1px solid #273a48;font-size:12px;color:#dbe8ed;vertical-align:middle}.enterprise-table tr:last-child td{border:0}.enterprise-table tbody tr:hover{background:#172838}.enterprise-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#41cfaa;margin-right:7px}.status-dot.pending{background:#e5ae68}.enterprise-mono{font-family:monospace;font-size:11px;color:#a6c4d1}.enterprise-badge{color:#48d9c8;font-weight:700}.enterprise-badge.super{color:#e9c182}.history-caption{color:#83abb8;font-size:11px}.history-progress{height:7px;background:#233849;border-radius:6px;overflow:hidden;margin-top:5px}.history-progress i{display:block;height:100%;background:#2eccb9;border-radius:6px}.enterprise-empty{text-align:center;color:#86a5b3;padding:44px}.enterprise-caption{color:#83a9b8;line-height:1.65;font-size:11px;margin:9px 0}.enterprise-panel-close{align-self:flex-end;margin-top:16px;background:#263b4d;color:#deedf3;border:1px solid #426071;border-radius:8px;padding:10px 22px}.password-modal input{width:100%;margin:6px 0 12px}.password-modal{max-width:440px}.password-modal .auth-label{margin:10px 0 3px}.password-modal p{line-height:1.6}
@media(max-width:1050px){.auth-screen{grid-template-columns:1fr}.auth-art{display:none}.auth-form-panel{padding:32px 28px}.auth-form-panel h2{margin-top:25px}.topbar{gap:8px;padding:0 10px}.top-actions{gap:4px}.top-actions button{padding:6px}.projecttitle{display:none}}
.history-search{width:185px;min-height:33px;background:#142936;border:1px solid #365263;color:#eaf6f7;padding:8px 10px;border-radius:7px;font-size:11px}.history-search:focus{outline:2px solid #2ad4c8}.enterprise-toolbar .history-caption{white-space:nowrap}
.auth-resend{display:block;margin:14px 0 -12px auto;background:transparent;border:0;color:#4cddca;font-size:12px;text-decoration:underline}

/* v0.4 CNC inspection controls: visual layers are separate from production CUT paths. */
.part-gap-row{display:flex;gap:8px;align-items:center;border-top:1px solid var(--softstroke);padding-top:10px;margin-top:10px}
.part-gap-row label{font-size:10px;color:#b2c6d0;font-weight:670;flex:1}
.part-gap-row label small{display:block;color:var(--muted);font-size:9px;font-weight:500;margin-top:3px}
.part-gap-row input{width:67px;height:30px;background:#0b1b28;color:#b9f5ee;border:1px solid #365566;text-align:center;border-radius:6px;font-weight:760}
.part-gap-note{font-size:9px;line-height:1.3;color:#88a2b0;max-width:64px}
.theme-toggle{font-size:17px}
.tool-mode-button{border:1px solid transparent;background:transparent;color:#a1bdcc;border-radius:5px;padding:7px 9px;font-size:11px;white-space:nowrap;font-weight:720}
.tool-mode-button:hover,.tool-mode-button.active{background:#1b4147;border-color:#32706c;color:#62e4d8}
.measure-active .piece{cursor:crosshair}
.measure-panel{position:absolute;top:64px;right:17px;z-index:3;width:min(325px,80%);max-width:325px;padding:15px 17px;background:#0c202fed;border:1px solid #387086;border-radius:11px;box-shadow:0 10px 45px #04131f7a;pointer-events:auto;backdrop-filter:blur(14px)}
.measure-panel-head{display:flex;justify-content:space-between;align-items:center;color:#c7f4f1;font-size:12px}
.measure-panel-head button{border:0;color:#8daebf;background:none;font-size:20px;cursor:pointer}
.measure-big{font-size:34px;font-weight:820;color:#e1fef8;font-variant-numeric:tabular-nums;letter-spacing:-1.2px;margin:9px 0 7px}
.measure-big small{font-size:13px;color:#9bbbc9;letter-spacing:0}
.measure-comparison{font-size:11px;line-height:1.65;color:#afcad1}
.measure-good{color:#4cdeae}.measure-bad{color:#ff9993}
#measureResult{margin-top:10px;font-size:12px;color:#d0e8f2;line-height:1.65}
#measureDetail{display:block;margin-top:8px;font-size:10px;color:#8faabb;line-height:1.65}
.measurement-line{stroke:#e1abf8;stroke-width:2.4;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;fill:none;pointer-events:none}
.measurement-point{fill:#e2a5ee;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}
.measurement-hover{fill:#5ce4d8;fill-opacity:.24;stroke:#6feadc;stroke-width:2;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}
.measurement-label{fill:#f4dcfa;font-weight:850;paint-order:stroke;stroke:#172b3a;stroke-width:3;stroke-linejoin:round;pointer-events:none}
.measurement-index{fill:#effafa;font-weight:850;paint-order:stroke;stroke:#1a2532;stroke-width:3;pointer-events:none}
.hold-module{border:1px solid #31505b;border-radius:11px;padding:15px;background:linear-gradient(145deg,#152d36,#102430);box-shadow:0 12px 25px #0a172018}
.hold-heading{display:flex;justify-content:space-between;align-items:center}
.hold-heading h2{margin:7px 0 0;font-size:15px;letter-spacing:-.2px}
.hold-intro{color:#93b5bf;font-size:10px;line-height:1.65;margin:10px 0 13px}
.switch-control{display:inline-flex;position:relative;align-items:center;cursor:pointer}
.switch-control input{position:absolute;opacity:0;width:42px;height:22px;cursor:pointer}
.switch-control span{width:42px;height:23px;border-radius:20px;background:#344957;border:1px solid #537182;transition:.2s;position:relative;display:block}
.switch-control span::after{content:"";position:absolute;width:15px;height:15px;background:#d7e7ed;left:3px;top:3px;border-radius:50%;transition:.2s}
.switch-control input:checked+span{background:#1b9b8c;border-color:#3fe0c9}
.switch-control input:checked+span::after{left:23px;background:white}
.switch-control input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.hold-grid{gap:10px}.hold-grid .field label{font-size:10px}
.hold-grid .field input{height:34px}
.hold-analyze{margin-top:15px;width:100%;min-height:38px}
.hold-summary{background:#112632;border:1px solid #2e5261;padding:12px;border-radius:8px;color:#bfd5dd;font-size:11px;line-height:1.7;margin:11px 0}
.hold-summary strong{color:#f4d08c}.hold-summary b{color:#5be7d2}
.hold-warning{margin:8px 0 0!important;color:#e9bf82!important}
.hold-proposals{display:flex;max-height:150px;overflow:auto;flex-direction:column;gap:3px;border:1px solid #31515e;border-radius:7px;padding:6px}
.hold-proposal-row{display:flex;align-items:center;gap:9px;padding:4px 6px;font-size:10px;color:#afc9d0;cursor:pointer}
.hold-proposal-row:hover{background:#1c3d49}
.hold-proposal-row input{accent-color:#29d0c0}
.hold-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.hold-buttons button{border-radius:6px;min-height:32px;padding:7px 10px;font-size:10px;font-weight:720;flex:1;min-width:60px}
.hold-action-main{background:#2cbaaf;border:1px solid #2cbaaf;color:#082c2e}
.hold-action-secondary{background:#1a3543;color:#cde7ea;border:1px solid #3c6070}
.hold-action-secondary.active{background:#513f24;color:#f4d18e;border-color:#93733d}
.hold-disclaimer{font-size:10px;line-height:1.7;color:#acac93;margin-bottom:0}
.hold-risk{fill:#e5a655;fill-opacity:.15;stroke:#e1a94a;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;pointer-events:none}
.hold-risk.high{fill:#ec725a;fill-opacity:.20;stroke:#f68572;stroke-width:2.7}
.hold-marker{cursor:pointer}
.hold-marker path{stroke-width:2.6;vector-effect:non-scaling-stroke;fill:none;pointer-events:none}
.hold-marker-halo{fill-opacity:.23;stroke-width:1.6;vector-effect:non-scaling-stroke}
.hold-marker.proposed .hold-marker-halo{fill:#f9ca7e;stroke:#eec58a}
.hold-marker.proposed.chosen .hold-marker-halo{fill-opacity:.32;stroke:#ffe2aa;stroke-width:2.7}
.hold-marker.proposed.unchosen{opacity:.42}
.hold-marker.proposed path{stroke:#f8ce9a}
.hold-marker.saved .hold-marker-halo{fill:#42e8bc;stroke:#5ef2c6}
.hold-marker.saved path{stroke:#92ffe0}
.hold-drill-circle{stroke:#fff7e6;fill:none;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}
.hold-marker-label{fill:#fff5cb;font-weight:900;paint-order:stroke;stroke:#18323b;stroke-width:3;pointer-events:none}
#holdLayer .hold-marker:hover .hold-marker-halo{stroke-width:3.5;fill-opacity:.45}
/* Daylight palette overrides legacy component-specific fills while keeping contrast. */
html[data-theme="light"]{color-scheme:light;--bg:#edf3f7;--bg2:#f6f9fc;--panel:#fff;--panel2:#f4f8fa;--stroke:#c7d6e0;--softstroke:#d5e2e8;--txt:#1a3443;--muted:#597484;--dim:#7893a0;--accent:#087e81;--accent2:#0b777b;--blue:#256da9;--amber:#b26e28;--danger:#b54141}
html[data-theme="light"] body{background:var(--bg);color:var(--txt)}
html[data-theme="light"] .topbar{background:#fff;border-color:#cbdce4}
html[data-theme="light"] .brandtype span,html[data-theme="light"] .eyebrow,html[data-theme="light"] .overline{color:#078580}
html[data-theme="light"] .brandtype small,html[data-theme="light"] .projecttitle .eyebrow{color:#68818d}
html[data-theme="light"] .vline{background:#cbdae1}
html[data-theme="light"] .btn.subtle{background:#f2f7fa;color:#24495b;border-color:#c9d9e0}
html[data-theme="light"] .btn.subtle:hover{background:#e3f2f1}
html[data-theme="light"] .btn.highlight,html[data-theme="light"] .optimize-button{background:#13ac9e;color:#042c2f;border-color:#08877d}
html[data-theme="light"] .left-pane,html[data-theme="light"] .right-pane{background:#fff;border-color:#c9d9e1}
html[data-theme="light"] .main-pane{background:#f5f9fb}
html[data-theme="light"] .workspace-header,html[data-theme="light"] .sheet-section{background:#f7fafc;border-color:#cbd9e0}
html[data-theme="light"] .viewport{background-color:#e8f1f5;background-image:radial-gradient(#9bb7c28a .8px,transparent .8px)}
html[data-theme="light"] .sheet-outline{fill:#f8fcfe;stroke:#41697f}
html[data-theme="light"] .safe-area{stroke:#c28226}
html[data-theme="light"] .dropzone,html[data-theme="light"] .empty-part{background:#f0f8fa;border-color:#8ab7c1}
html[data-theme="light"] .dropzone>span,html[data-theme="light"] .empty-part span{color:#4f7582}
html[data-theme="light"] .upload-ring{background:#d9efef;color:#087c7b}
html[data-theme="light"] .file-tags em{border-color:#a7cbd2;color:#426c78}
html[data-theme="light"] .pane-heading h2,html[data-theme="light"] .workspace-title h1,html[data-theme="light"] .mini-heading h3{color:#1c3c4c}
html[data-theme="light"] .part-card,html[data-theme="light"] .material-bar{background:#f4f9fb;border-color:#ccdae0}
html[data-theme="light"] .part-thumb{background:#e4eff4;border-color:#bed3dc}
html[data-theme="light"] .part-info .part-name,html[data-theme="light"] .material-bar strong{color:#234357}
html[data-theme="light"] .part-dims,html[data-theme="light"] .material-bar small,html[data-theme="light"] .soft{color:#637f8f}
html[data-theme="light"] .qty-control{border-color:#c0d3db}
html[data-theme="light"] .qty-control button{background:#dcecf2;color:#205568}
html[data-theme="light"] .qty-control input{color:#264f60}
html[data-theme="light"] .part-gap-row label,html[data-theme="light"] .part-gap-note{color:#547482}
html[data-theme="light"] .part-gap-row input,html[data-theme="light"] .rotation-select{background:#fff;color:#126e78;border-color:#b3ced8}
html[data-theme="light"] .inline-field label,html[data-theme="light"] .field label,html[data-theme="light"] .field-label{color:#456879}
html[data-theme="light"] .inline-field input,html[data-theme="light"] .inline-field select,html[data-theme="light"] .field input,html[data-theme="light"] .large-select,html[data-theme="light"] .inspector input{color:#163e50;background:#fff;border-color:#b3ccd7}
html[data-theme="light"] .gap-line{background:#e6f5f2;border-color:#aadad2}
html[data-theme="light"] .gap-title,html[data-theme="light"] .gap-line strong{color:#086f74}
html[data-theme="light"] .gap-line small{color:#4e8b87}
html[data-theme="light"] .quality-select,html[data-theme="light"] .view-controls{background:#e9f3f7;border-color:#c4d9e0}
html[data-theme="light"] .quality-select button,html[data-theme="light"] .icon-button{color:#406a7d}
html[data-theme="light"] .quality-select button.active,html[data-theme="light"] .tool-mode-button.active{background:#c8eeea;color:#086b6e}
html[data-theme="light"] .quality-description,html[data-theme="light"] .footer-hint{color:#597b8c}
html[data-theme="light"] .pane-footer{background:#fafcfd;border-color:#c7d8e0}
html[data-theme="light"] .workspace-tag,html[data-theme="light"] .count-pill{background:#e5f0f5;border-color:#c7dce3;color:#396778}
html[data-theme="light"] .tool-mode-button{color:#355b6f}
html[data-theme="light"] .canvas-hint{background:#fffe;box-shadow:0 4px 14px #3455;border-color:#b7ccd6;color:#375d6d}
html[data-theme="light"] .sheet-card{background:#fff;color:#2d5367;border-color:#c7d9e1}
html[data-theme="light"] .sheet-card.active{background:#e8f6f3;border-color:#46a9a6}
html[data-theme="light"] .sheet-card-header,html[data-theme="light"] .sheet-top h3{color:#22485c}
html[data-theme="light"] .metric-hero,html[data-theme="light"] .metric-small,html[data-theme="light"] .metric-extended>div{background:#eff6f8;border-color:#d3e0e5}
html[data-theme="light"] .metric-top,html[data-theme="light"] .metric-extended span,html[data-theme="light"] .metric-method{color:#5c7889}
html[data-theme="light"] .metric-hero strong,html[data-theme="light"] .metric-small strong,html[data-theme="light"] .metric-extended b{color:#16465a}
html[data-theme="light"] .metric-track,html[data-theme="light"] .history-progress{background:#cfdee4}
html[data-theme="light"] .inspector-selected{background:#f5fafb;border-color:#c5dae1}
html[data-theme="light"] .inspector-title strong,html[data-theme="light"] .inspector-tip,html[data-theme="light"] .inspector-empty strong{color:#284e60}
html[data-theme="light"] .legend,html[data-theme="light"] .info-note{color:#3e6071}
html[data-theme="light"] .hold-module{background:#f3fafb;border-color:#c6dce1;box-shadow:0 6px 20px #bcd0dd2b}
html[data-theme="light"] .hold-intro,html[data-theme="light"] .hold-proposal-row,html[data-theme="light"] .hold-disclaimer{color:#536e7d}
html[data-theme="light"] .hold-summary{background:#eaf3f6;border-color:#c8dbe1;color:#32576b}
html[data-theme="light"] .hold-summary strong{color:#956018}
html[data-theme="light"] .hold-summary b{color:#087a73}
html[data-theme="light"] .hold-proposals{background:white;border-color:#bdd3dc}
html[data-theme="light"] .hold-proposal-row:hover{background:#e9f5f4}
html[data-theme="light"] .hold-action-secondary{background:#e7f2f6;color:#2b5667;border-color:#b5d1da}
html[data-theme="light"] .measure-panel{background:#fffffff2;border-color:#9cbfcf;box-shadow:0 9px 24px #2e5b6e33}
html[data-theme="light"] .measure-panel-head,html[data-theme="light"] .measure-big,html[data-theme="light"] #measureResult{color:#1a4c64}
html[data-theme="light"] .measure-comparison,html[data-theme="light"] #measureDetail{color:#527484}
html[data-theme="light"] .measurement-label{fill:#4b1256;stroke:#fff}
html[data-theme="light"] .measurement-index,html[data-theme="light"] .hold-marker-label{fill:#1d4557;stroke:#e6f3f4}
html[data-theme="light"] .modal{background:#fff;border-color:#c1d5dd;box-shadow:0 20px 80px #264b5a44;color:#1b3e4e}
html[data-theme="light"] .modal p,html[data-theme="light"] .enterprise-intro,html[data-theme="light"] .enterprise-caption{color:#4f7080}
html[data-theme="light"] .modal-back{background:#132c3b99}
html[data-theme="light"] .modal-actions button{background:#eaf4f7;color:#204758;border-color:#b6d1db}
html[data-theme="light"] .modal-actions button.primary{background:#19af9f;color:#07393a}
html[data-theme="light"] .enterprise-scroll{border-color:#c2d6df}
html[data-theme="light"] .enterprise-table th{background:#e8f2f6;color:#335c71}
html[data-theme="light"] .enterprise-table td{border-color:#d7e5e9;color:#204758}
html[data-theme="light"] .enterprise-table tbody tr:hover{background:#eff7f8}
html[data-theme="light"] .enterprise-toolbar button,html[data-theme="light"] .enterprise-actions button{background:#eaf3f8;color:#215469;border-color:#c2d5de}
html[data-theme="light"] .enterprise-mono,html[data-theme="light"] .history-caption,html[data-theme="light"] .enterprise-caption{color:#527584}
html[data-theme="light"] .auth-screen{background:#f5f9fb;color:#1e4255}
html[data-theme="light"] .auth-form-panel{background:#fff}
html[data-theme="light"] .auth-art{background:radial-gradient(circle at 10% 10%,#b6efea,transparent 65%),linear-gradient(140deg,#e4f4f7,#bcdbe7);border-color:#b8d6df}
html[data-theme="light"] .auth-brandmark,html[data-theme="light"] .auth-art h1{color:#1a4758}
html[data-theme="light"] .auth-art h1 small,html[data-theme="light"] .auth-pretitle{color:#347d83}
html[data-theme="light"] .auth-feature{color:#366575;border-color:#adced8}
html[data-theme="light"] .auth-art-center>p:not(.auth-pretitle){color:#426979}
html[data-theme="light"] .auth-panel-label,html[data-theme="light"] .auth-label{color:#365e70}
html[data-theme="light"] .auth-form-panel h2{color:#183d50}
html[data-theme="light"] .auth-help,html[data-theme="light"] .auth-security-note{color:#5b7988}
html[data-theme="light"] .auth-input{color:#173d4e;background:#f5f9fb;border-color:#bdcfd9}
html[data-theme="light"] .auth-input::placeholder{color:#819aa6}
html[data-theme="light"] .auth-tabs{border-color:#cadde5}
html[data-theme="light"] .auth-tabs button{color:#577988}
html[data-theme="light"] .auth-tabs button.active{color:#087b7d;border-color:#0c9c96}
html[data-theme="light"] .auth-security-note{background:#edf7f9;border-color:#d0e2e8}
html[data-theme="light"] .auth-submit{background:#159e94;color:#fff}
@media(max-width:1450px){.tool-mode-button{font-size:10px;padding:6px 6px}.workspace-header{padding-left:15px;padding-right:12px}}
@media(max-width:1200px){.measure-panel{top:65px;right:10px}}
@media(max-width:1050px){.hold-module{display:none}}
@media(max-width:700px){.view-controls{max-width:100%;flex-wrap:wrap}.workspace-header{height:auto;min-height:88px;flex-wrap:wrap;gap:6px}.measure-panel{right:8px;top:52px;width:min(300px,86%)}}
@media(max-width:1050px) and (min-width:701px){.layout{grid-template-columns:275px minmax(350px,1fr);grid-template-rows:minmax(320px,1fr) minmax(270px,38%)}.right-pane{display:flex;grid-column:1/-1;grid-row:2;border-top:1px solid var(--stroke)}.hold-module{display:block}.right-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;align-content:start}.right-scroll>.section-divider{grid-column:1/-1}.right-scroll>.hold-module{grid-column:1/-1}.right-scroll>.legend,.right-scroll>.info-note{grid-column:1/-1}}
@media(max-width:700px){.right-pane{display:flex;order:3;max-height:none}.right-scroll{overflow:visible}.hold-module{display:block}}

.gap-rule-notice{display:block;margin-top:9px;color:var(--muted);font-size:10px;line-height:1.5}
