body{background:#f7f9fc}.viz-main{padding:36px 0 75px}.back-link{color:#153c62;font-weight:700;text-decoration:none}.viz-heading{max-width:800px;margin:24px 0 34px}.viz-heading h1{font-size:clamp(32px,4vw,54px);line-height:1.12;color:#0a2340;margin:8px 0 14px}.viz-heading>p:last-child{font-size:17px;color:#526377;line-height:1.6}.viz-layout{display:grid;grid-template-columns:minmax(270px,350px) minmax(0,1fr);gap:24px;align-items:start}.viz-controls,.viz-preview{background:white;border:1px solid #dce4ec;border-radius:18px;box-shadow:0 10px 32px #09213b0c;overflow:hidden}.control-group{padding:23px;border-bottom:1px solid #e9eef3}.control-group:last-child{border:0}.control-group h2{font-size:18px;margin:5px 0 15px;color:#102c48}.step{font-size:11px;font-weight:800;letter-spacing:.1em;color:#e76314}.upload-label,.download-btn{display:block;text-align:center;width:100%;padding:13px;border:0;border-radius:10px;background:#ed6b17;color:white;font-weight:800;cursor:pointer}.upload-label:hover,.download-btn:hover{background:#cf5108}#housePhoto{position:absolute;width:1px;height:1px;opacity:0}.hint{font-size:12px;color:#65758a;line-height:1.5;margin:10px 0 0}.system-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.choice{background:#f3f6fa;border:1px solid #dce5ed;border-radius:8px;padding:10px 4px;font-size:12px;font-weight:750;cursor:pointer;color:#153c62}.choice.active{background:#102c48;color:#fff;border-color:#102c48}.field-label{display:block;font-weight:750;font-size:13px;margin:17px 0 7px}select,#equipmentSize{width:100%}select{border:1px solid #d6e0e9;border-radius:9px;padding:10px;background:#fff}.outline-btn{display:block;width:100%;text-align:center;background:white;border:1px solid #173c60;border-radius:9px;padding:11px;color:#153c62;font-weight:750;cursor:pointer;text-decoration:none;font-size:13px}.outline-btn[aria-pressed=true]{background:#153c62;color:#fff}.text-btn{border:0;background:none;color:#1a567e;text-decoration:underline;cursor:pointer;margin:12px 9px 0 0;font-size:12px}.request-link{margin-top:11px}.preview-top{padding:19px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center}.preview-top strong{font-size:12px;letter-spacing:.09em;color:#153c62}.preview-tabs{display:flex;gap:5px;background:#edf2f6;padding:4px;border-radius:10px}.preview-tabs button{border:0;background:none;padding:7px 11px;border-radius:7px;cursor:pointer;color:#41556a;font-weight:700}.preview-tabs button.active{background:white;color:#102c48;box-shadow:0 1px 5px #0b213021}.canvas-wrap{position:relative;background:#eaf1f7;line-height:0;overflow:hidden}canvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab}canvas.routing{cursor:crosshair}.empty-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;pointer-events:none;background:linear-gradient(135deg,#dceaf7,#f5f9fc);line-height:1.3;text-align:center;padding:20px;color:#34536d}.empty-icon{font-size:74px;color:#ed6b17}.empty-overlay strong{font-size:20px}.empty-overlay span:last-child{font-size:14px}.preview-tip{padding:15px 20px 0;color:#3e6079;font-size:13px}.disclaimer{margin:12px 20px 22px;padding:13px 15px;border-left:3px solid #ee6b18;background:#fff6ee;color:#5a6570;font-size:12px;line-height:1.6}@media(max-width:900px){.viz-layout{grid-template-columns:1fr}.viz-controls{display:grid;grid-template-columns:1fr 1fr}.control-group:nth-child(odd){border-right:1px solid #e9eef3}}@media(max-width:600px){.viz-main{padding-top:22px}.viz-controls{display:block}.control-group:nth-child(odd){border-right:0}.preview-top{flex-wrap:wrap}.viz-heading{margin-bottom:20px}}