:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#172e38;background:#f1f5f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{max-width:1160px;margin:auto;padding:24px;display:flex;align-items:center;gap:12px}.brand{margin-right:auto;font-size:13px;font-weight:800;letter-spacing:1.5px;text-decoration:none;color:#173744}.brand span{font-weight:400}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #b9c9cd;background:white;color:#173744;border-radius:8px;padding:11px 16px;min-height:44px}button:hover{border-color:#147f78}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #e7ad3d;outline-offset:3px}main{max-width:1080px;margin:auto;padding:24px}.intro{padding:18px 0 32px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:#147f78}h1{font-size:clamp(32px,5vw,52px);line-height:1.12;letter-spacing:-1.7px;margin:14px 0}p{line-height:1.6;color:#4c656e}h2{font-size:25px;margin:0}.card{background:#fff;border:1px solid #d8e2e4;border-radius:18px;padding:30px;margin-bottom:24px;box-shadow:0 5px 20px #17374405}.section-title{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.section-title p{margin:6px 0 0}.number{border-radius:50%;background:#e3f1ee;color:#126e63;font-weight:750;padding:11px;font-size:14px}.split{display:grid;grid-template-columns:1.05fr 1fr;gap:32px}fieldset{border:0;margin:0 0 22px;padding:0}legend,label{font-size:14px;font-weight:650;margin-bottom:10px;display:block}label span{font-weight:400;color:#62777e;float:right}.choices{display:flex;gap:8px}.choices button{flex:1;padding:12px 6px;font-weight:650}.choices small{display:block;font-size:11px;font-weight:400;margin-top:4px}.choices button[aria-pressed=true]{border:2px solid #16867b;background:#edf8f5;color:#086357;padding:11px 5px}input,select,textarea{width:100%;border:1px solid #b9c9cd;border-radius:8px;padding:12px;color:#18343d;background:#fff;min-height:46px}input[hidden]{display:none}.hint{font-size:12px;margin:8px 0 20px}.result{background:#102f3b;color:white;border-radius:14px;padding:28px;display:flex;flex-direction:column;justify-content:center;min-height:330px}.result p{color:#bdd2d8}.result .big{font-size:clamp(40px,5vw,58px);font-weight:750;letter-spacing:-2px;margin:8px 0}.result .tag{text-transform:uppercase;letter-spacing:1.5px;font-size:11px;color:#81dbca}.result .detail{font-size:13px;border-top:1px solid #42616c;padding-top:16px}.result svg{width:100%;height:110px;margin:10px 0}.buffer{font-size:13px;background:#edf8f5;color:#126e63;padding:10px 14px;border-radius:8px}details{margin-top:18px}summary{cursor:pointer;font-weight:650;font-size:14px;min-height:32px}.support{font-size:14px}.support p,.support li{line-height:1.7}.support a{color:#11756c}footer{text-align:center;font-size:12px;color:#61777f;padding:10px 0 28px}.error{color:#ffd39d!important}@media(max-width:700px){header{padding:16px;flex-wrap:wrap;gap:8px}.brand{width:100%;margin-bottom:6px}header button{font-size:12px}main{padding:16px}.card{padding:20px}.split{grid-template-columns:1fr;gap:20px}.result{min-height:270px;padding:22px}h2{font-size:21px}.section-title{gap:10px}.choices button{font-size:13px}.mp{gap:5px}.mp button{font-size:12px}.intro{padding-top:0}}@media print{header button,button#print{display:none}body{background:white}.card{break-inside:avoid;box-shadow:none}.result{background:#edf4f4;color:#132f3a}.result p,.result .tag{color:#365d63}details.support{display:block}footer{padding:0}}
/* Proportional isometric camera geometry; all SVG text remains native. */
.camera-iso{margin:12px 0 0;min-width:0}.result .iso-view{height:auto;aspect-ratio:560/320;display:block;width:100%;margin:0;overflow:visible}.iso-view path,.iso-view polygon{vector-effect:non-scaling-stroke;stroke-linejoin:round}.iso-limit-plane{fill:#365462;fill-opacity:.14;stroke:#99b5c0;stroke-width:1;stroke-dasharray:5 4}.iso-volume{fill:#51b6a5;fill-opacity:.035;stroke:none}.iso-allowance{fill:#e8bb72;fill-opacity:.06;stroke:none}.iso-buffer-edge{fill:none;stroke:#e8bb72;stroke-opacity:.65;stroke-dasharray:4 4;stroke-width:1}.iso-ray{fill:none;stroke:#4d918a;stroke-width:1}.iso-target-plane{fill:#70d8be;fill-opacity:.16;stroke:#81e3cb;stroke-width:1.7}.iso-axis{fill:none;stroke:#b7d0d7;stroke-width:1;stroke-dasharray:3 5}.iso-extension{fill:none;stroke:#8dabae;stroke-width:.7}.iso-width{fill:none;stroke:#b3eddf;stroke-width:1.2}.iso-dimension-label,.iso-camera-label{fill:#d1e6e9;font-size:15px;font-family:inherit;paint-order:stroke;stroke:#102f3b;stroke-width:5px;stroke-linejoin:round}.iso-camera-label{font-size:14px}.iso-camera-dot{fill:#d0f6e9;stroke:#102f3b;stroke-width:2}.iso-marker-target circle{fill:#9debd7;stroke:#102f3b;stroke-width:2}.iso-marker-limit circle{fill:#173b47;stroke:#b7cbd2;stroke-width:1.5}.iso-marker-target text{fill:#102f3b;font-size:12px;font-weight:800}.iso-marker-limit text{fill:#e1eef0;font-size:12px;font-weight:800}.iso-key{display:grid;grid-template-columns:24px 1fr 24px 1fr;gap:8px;align-items:start;margin:8px 0}.iso-key>span{font-size:11px;color:#bfd5dc}.iso-key strong{display:block;font-size:16px;color:#eefbf7;margin-top:4px}.iso-key-a,.iso-key-b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800}.iso-key .iso-key-a{background:#9debd7;color:#102f3b}.iso-key .iso-key-b{border:1px solid #b7cbd2;color:#e1eef0}.result .iso-caption{font-size:11px;color:#e9c690;margin:12px 0}.iso-assumptions{margin-top:12px}.iso-assumptions summary{font-size:12px;font-weight:500;color:#bdd2d8;min-height:24px}.iso-assumptions p{font-size:12px;line-height:1.6;margin:8px 0}.result .detail{margin-bottom:0}@media(max-width:700px){.iso-key{gap:6px}.iso-key>span{font-size:11px}}@media print{.iso-dimension-label,.iso-camera-label{stroke:#edf4f4;fill:#173744}.iso-key strong,.iso-key>span,.iso-assumptions summary{color:#173744}.result .iso-caption{color:#71520b}}
/* Designer entry points and task-specific working surface. */
[hidden]{display:none!important}.start{padding:4px 0 24px}.start h1{font-size:clamp(26px,3.5vw,38px);letter-spacing:-1px;margin:12px 0 22px}.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.routes button{text-align:left;padding:20px;display:flex;flex-direction:column;gap:10px;min-height:160px;border-radius:12px;box-shadow:0 4px 14px #183b4304}.routes button[aria-pressed=true]{border-color:#148378;background:#e8f5f1;box-shadow:inset 0 0 0 1px #148378}.route-icon{font-size:11px;font-weight:700;color:#147d73;letter-spacing:1px}.routes strong{font-size:17px}.routes button>span:last-child{font-size:13px;line-height:1.5;color:#546e76}.design-split{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.25fr);gap:32px}.design-inputs{display:flex;flex-direction:column;gap:18px}.design-inputs label{margin-top:14px}.design-inputs label:first-child{margin-top:0}.design-inputs fieldset{margin:0;border-bottom:1px solid #dce7e8;padding-bottom:22px}.layout-assumptions{order:3;margin:0}.design-inputs .hint{margin-bottom:0}.input-note{border-left:3px solid #21877a;padding:12px 14px;background:#eff8f5;font-size:13px;margin-top:14px}.input-note span{display:block;color:#536d74;font-size:12px;line-height:1.5;margin-top:5px}.status-box{padding:24px;border-radius:13px;background:#103440;color:#f7fcfb}.status-box h3{font-size:clamp(26px,3vw,37px);margin:6px 0;letter-spacing:-.8px}.status-box p{color:#c5dade;margin:10px 0;font-size:13px}.status-box .eyebrow{color:#9ae6d0;margin:0;font-size:10px}.status-box.caution .eyebrow{color:#f4ce95}.warning-line{display:block;color:#f4ce95;font-size:13px;line-height:1.5}.result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid #41606a;margin-top:20px;padding-top:18px}.result-metrics span{display:block;font-size:11px;color:#b8ced6}.result-metrics strong{font-size:20px;display:block;margin-top:5px;line-height:1.2}.checks{padding:8px 0}.checks p{display:flex;flex-wrap:wrap;gap:4px 7px;align-items:center;font-size:12px;margin:9px 0;line-height:1.5}.check-dot{width:7px;height:7px;border-radius:50%;background:#b58340;margin-right:2px}.check-dot.good{background:#218275}.next-step{font-size:12px;background:#fcf5e9;border-left:3px solid #b58a45;padding:12px 15px;border-radius:0 8px 8px 0}.next-step strong{color:#796039}.next-step p{margin:5px 0;color:#675b47;line-height:1.6}.quick-fixes{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.quick-fixes button{font-size:12px;padding:8px 10px}.preview-heading{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:23px 0 12px}.preview-heading h3,#layoutResults h3{font-size:15px;margin:0}.preview-heading span{font-size:11px;color:#617880}.monitor{aspect-ratio:16/9;width:100%;background:#061b23;outline:5px solid #294751;border:4px solid #061b23;border-radius:4px;overflow:hidden;margin:10px 0 18px}.monitor-grid{display:grid;gap:0}.vms-toolbar{font-size:10px;color:#8caab4;display:flex;align-items:center;padding:0 8px;overflow:hidden}.camera-tile{position:relative;min-height:0;min-width:0;overflow:hidden;outline:1px solid #57757d55}.camera-tile svg{display:block;width:100%;height:100%}.tile-number{position:absolute;top:3px;left:4px;color:#afc8cc;font-size:9px;line-height:1;letter-spacing:.5px;pointer-events:none}.tile-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px;color:#5a727b}.tile-facts strong{display:block;color:#1b424d;font-size:15px;margin-bottom:4px}.layout-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.layout-options button{padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:82px}.layout-options button strong{font-size:17px}.layout-options button span{font-size:11px;color:#637b82}.layout-options button small{font-size:9px;line-height:1.3}.layout-options .fit{background:#f0f8f5;border-color:#9bbfaf}.layout-options .limited{background:#fdf7ee;border-color:#d7c6ab}.layout-options .unknown{background:#f2f5f6}.layout-options [aria-pressed=true]{box-shadow:inset 0 0 0 2px #173d49}#coverage .split{margin-top:20px}#coverage label{margin-top:16px}.design-output{min-width:0}#workspace{scroll-margin-top:16px}@media(max-width:800px){.design-split{grid-template-columns:1fr;gap:26px}.routes button{padding:16px}.routes strong{font-size:15px}.routes button>span:last-child{font-size:12px}}@media(max-width:540px){.routes{grid-template-columns:1fr;gap:8px}.routes button{display:grid;grid-template-columns:26px 1fr;gap:5px 8px;min-height:0;padding:14px}.route-icon{grid-row:1/3;align-self:center}.routes button>span:last-child{grid-column:2}.routes strong{font-size:16px}.start h1{margin-bottom:16px}.status-box{padding:20px}.result-metrics strong{font-size:19px}.tile-facts strong{font-size:13px}}@media print{.routes,.quick-fixes,header button{display:none}.design-split{grid-template-columns:1fr 1.2fr;gap:20px}.designer{break-inside:auto}.design-output{break-inside:avoid}.status-box{background:#eaf3ef;color:#12343f}.status-box p,.status-box .eyebrow,.result-metrics span{color:#34545e}.layout-options{grid-template-columns:repeat(4,1fr)}.card{padding:18px}.monitor{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.routes{grid-template-columns:repeat(4,minmax(0,1fr))}.routes button{padding:17px}.continue-design{margin:4px 0 14px;background:#e8f5f1;border-color:#91bcae}.target-isometric{margin:10px 0 24px;padding:20px;min-height:0}.candidate-table-wrap{max-width:100%;overflow-x:auto}.candidate-table{width:100%;border-collapse:collapse;font-size:12px;margin:14px 0 8px;text-align:left}.candidate-table th,.candidate-table td{padding:11px 8px;border-bottom:1px solid #dbe6e7;line-height:1.4}.candidate-table thead{color:#5e7780;font-size:11px}.candidate-table .suggested-candidate{background:#edf7f2;color:#126455}@media(max-width:900px){.routes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.routes{grid-template-columns:1fr}.routes button{padding:14px}.candidate-table{font-size:11px}.candidate-table th,.candidate-table td{padding:10px 5px}}
