:root{font-family:Arial,"PingFang SC",sans-serif;color:#243e32;background:#f4f2e9;font-size:14px;line-height:1.5;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{border:1px solid #bcc6b8;background:transparent;color:inherit;min-height:36px;padding:7px 12px;border-radius:3px;cursor:pointer}button:hover{background:#e4e8dc}button:disabled{opacity:.4;cursor:default}button[aria-pressed=true],.primary{background:#243e32;color:#fff;border-color:#243e32}.primary:hover{background:#385747}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #a66d37;outline-offset:3px}a{color:inherit}header{height:66px;border-bottom:1px solid #c9cdbf;display:flex;align-items:center;gap:25px;padding:0 26px}.brand{font-family:Georgia,serif;font-size:29px;text-decoration:none;letter-spacing:-1px}header nav{margin-left:auto;display:flex;gap:3px}header nav button{border:0;padding:5px 9px}.workspace{display:grid;grid-template-columns:326px minmax(0,1fr);min-height:calc(100vh - 66px)}aside{border-right:1px solid #c9cdbf;padding:20px;max-height:calc(100vh - 66px);overflow:auto}label{display:block;margin-bottom:6px}input:not([type=checkbox]):not([type=range]),textarea{width:100%;border:1px solid #bcc6b8;border-radius:3px;padding:9px;background:#fbfaf5;color:inherit}input[type=range]{width:100%;accent-color:#243e32}.search-row{display:flex;gap:6px}.search-row input{min-width:0}small,.muted{color:#697367;font-size:12px}p{margin:8px 0}h1,h2{font-weight:500;margin:12px 0 6px;line-height:1.25}h1{font-size:19px}h2{font-size:22px;font-family:Georgia,serif}h2 span{font-family:Arial;font-size:13px;margin-left:7px;color:#687363}.text-button{border:0;padding:7px 0;text-decoration:underline;min-height:30px}section.model-controls{border-top:1px solid #c9cdbf;margin-top:17px;padding-top:8px}dl{margin:10px 0}dl>div{display:grid;grid-template-columns:86px 1fr;border-bottom:1px solid #d6d9ce;padding:7px 0;gap:8px}dt{color:#6a7467}dd{margin:0;overflow-wrap:anywhere}.options{display:flex;gap:6px;margin:12px 0}.options button:first-child,.options button:nth-child(2){width:42px}.nudges{display:flex;gap:5px;align-items:center}.nudges button{flex:1;padding:6px}.nudges small{padding-left:4px}label[for=rotation]{display:flex;justify-content:space-between}.check{display:flex;gap:8px;align-items:flex-start;margin:9px 0}.check input{margin:3px 0;accent-color:#243e32}#clearance-input{display:flex;align-items:center;gap:7px}#clearance-input[hidden]{display:none}#clearance{max-width:65px}#clearance-input small{font-size:11px}#distance{font-size:15px}.warn,#screening{color:#995333}#obstacle{margin-top:10px;width:100%}details{margin:9px 0}summary{cursor:pointer;font-weight:500;padding:4px 0}details p{font-size:12px;color:#667261}details a{display:block;font-size:12px;margin-top:6px;overflow-wrap:anywhere}.actions{margin-top:16px;border-top:1px solid #c9cdbf;padding-top:14px}.actions>.primary{width:100%}.actions details button,.file-button{margin:5px 4px 5px 0;display:inline-block}#load{max-width:270px;font-size:11px}#candidates button{display:block;text-align:left;width:100%;font-size:12px;margin:6px 0}#search-status,#context-status,#form-status{font-size:13px;margin-top:5px}.canvas-area{padding:16px 23px;min-width:0}.map-toolbar{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}.map-toolbar>div{display:flex;align-items:center;gap:6px}.map-toolbar .check{font-size:13px;margin:0 7px 0 0}.map-wrap{position:relative;border:1px solid #c3cbbb;background:#e4e8df;overflow:hidden;height:min(67vh,760px);min-height:330px}#map{width:100%;height:100%;display:block;touch-action:none}#map-empty{position:absolute;top:44%;left:0;right:0;text-align:center;color:#697367;pointer-events:none}.north{position:absolute;top:12px;right:14px;background:#f5f4ebdd;padding:4px 7px}.map-footer{display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:#697367;font-size:11px;padding:9px 0}.swatch{display:inline-block;width:16px;height:8px;border-top:2px dashed #957941;vertical-align:middle;margin-right:6px}#scale{margin-left:auto}.boundary-note{font-size:12px;color:#667261}#map-status{position:absolute;bottom:12px;left:12px;max-width:80%;background:#f5f4ebed;padding:4px 8px;font-size:12px}#map-status:empty{display:none}#comparison{display:flex;gap:16px;margin-top:15px;border-top:1px solid #c9cdbf}#comparison>div{flex:1;padding-top:10px;font-size:12px}#comparison strong{display:block;font-size:15px;font-weight:500}.house{cursor:grab}.house:active{cursor:grabbing}.parcel{fill:#f7f3dc11;stroke:#c39a44;stroke-width:3;vector-effect:non-scaling-stroke;stroke-dasharray:7 5}.house-body{fill:#e5dec4dd;stroke:#234b3c;stroke-width:2;vector-effect:non-scaling-stroke}.house-porch{fill:#9cae94bb;stroke:#234b3c;stroke-width:2;vector-effect:non-scaling-stroke}.house-label{font-size:13px;fill:#193c2b;pointer-events:none;font-weight:bold}.other{opacity:.35;pointer-events:none}.obstacle-shape{fill:#ad755477;stroke:#815735;stroke-width:2;vector-effect:non-scaling-stroke}.drawing-line{fill:#ad755422;stroke:#815735;stroke-width:2;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}dialog{border:1px solid #c2cabb;background:#f4f2e9;color:inherit;padding:24px;max-width:480px;width:calc(100% - 32px);max-height:90vh;overflow:auto;border-radius:5px}dialog::backdrop{background:#17291fc7}.dialog-title{display:flex;justify-content:space-between;align-items:center}.dialog-title button{font-size:24px;border:0}.dialog-title h2{margin:0}dialog label{margin-top:12px}dialog form>.primary{margin-top:15px;width:100%}.honeypot{position:absolute;left:-10000px}.file-button input{display:block}body[data-drawing=true] #map{cursor:crosshair}[hidden]{display:none!important}
@media(max-width:800px){header{height:58px;padding:0 14px;gap:12px}.brand{font-size:23px}header>span{display:none}.workspace{display:flex;flex-direction:column}.canvas-area{order:0;padding:12px}.workspace aside{order:1;border:0;max-height:none;padding:16px}.map-wrap{height:52vh;min-height:300px}.map-toolbar{flex-wrap:wrap}.map-toolbar button{padding:5px 8px;font-size:12px}.map-footer{gap:8px}.boundary-note{margin-bottom:0}.model-controls{margin-top:8px}#comparison{margin-top:8px}aside #search-form{padding-bottom:8px}.workspace:has(#property[hidden]) aside{order:-1}#context-status{max-width:100%}}
@media print{header{height:50px}.workspace{display:block}aside{max-height:none;overflow:visible;border:0;padding:0}#search-form,#candidates,#demo,.model-controls,.actions,.map-toolbar,dialog,#search-status,.map-footer{display:none!important}#property{display:block!important}#property details{display:block}#property dl{display:flex;gap:20px;font-size:11px}.canvas-area{padding:0}.map-wrap{height:150mm;min-height:0}#comparison{break-inside:avoid}body{background:white}#property-title{font-size:19px}.brand{font-size:22px}button{display:none!important}}
.search-row button{white-space:nowrap;flex:0 0 auto}.other{display:none}#screening:not(.warn){color:#536a59}

.tool-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:40px;border-top:1px solid #c9cdbf;padding:8px 26px;font-size:12px;color:#697367}.tool-footer>div{display:flex;gap:18px}.tool-footer a{text-decoration:none}.tool-footer a:hover{text-decoration:underline}.query-notice{display:block;font-size:11px;line-height:1.45;margin-top:6px}.query-notice a{white-space:nowrap}.workspace aside{max-height:calc(100vh - 107px)}#property-title{font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;margin:14px 0 3px;overflow-wrap:anywhere}#property-summary{margin:0 0 5px;font-size:12px}#context-status:empty,#screening:empty,#collision:empty{display:none}#property details{margin:4px 0;font-size:12px}#property details summary{color:#697367}.model-controls h2{font-size:21px}.placement-tools{margin:6px 0}.placement-tools summary{font-size:12px;color:#697367}.placement-tools .nudges{margin:7px 0}.placement-tools #distance{font-size:12px}.comparison{margin:0}.comparison summary{font-size:12px;color:#697367}#comparison{margin-top:3px}#obstacle{font-size:13px}#screening,#collision{font-size:12px;margin:7px 0}.workspace{min-height:calc(100vh - 107px)}
@media(max-width:800px){.workspace aside{max-height:none}.tool-footer{padding:10px 16px}.query-notice{font-size:12px}.workspace{min-height:0}}
@media(max-width:800px){header>.tool-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}

header nav a{border:0;padding:5px 9px;text-decoration:none}header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}header .tool-heading{font:inherit;margin:0}header .tool-heading::first-letter{text-transform:none}
