*{box-sizing:border-box}body{margin:0;font:14px system-ui,sans-serif;color:#244451;background:#edf3f5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{background:white;border:1px solid #cfdee3;border-radius:8px;padding:10px 12px;color:#264958;cursor:pointer}button:hover,button.active{background:#d7edf0;border-color:#5c9eab}button:disabled{opacity:.45;cursor:default}.primary{background:#087f94;color:white;border-color:#087f94}a{color:#08798e;text-decoration:none}header{height:74px;display:flex;align-items:center;gap:22px;padding:12px 24px;background:white;border-bottom:1px solid #d5e3e6}.brand{font-size:25px;font-weight:750;color:#183c49;margin-right:auto}.brand small{display:block;font-size:9px;letter-spacing:2px}main{height:calc(100dvh - 74px);display:grid;grid-template-columns:310px 1fr}aside{background:white;padding:20px;overflow:auto;border-right:1px solid #d5e3e6}h2{font-size:18px;margin:0 0 14px}h3{font-size:15px;margin:22px 0 10px}label{display:block;font-size:12px;margin:10px 0;color:#526c77}input,select{display:block;border:1px solid #c7d8de;border-radius:7px;background:#f7fafb;width:100%;padding:10px;margin-top:5px;color:#244451}input[type=checkbox]{width:auto;display:inline}.fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wide{width:100%;margin:5px 0}.note,#save-status{font-size:12px;line-height:1.5;color:#6b8089}.tabs{display:flex;margin:20px -10px 0;gap:4px}.tabs button{flex:1;padding:9px 4px}.workspace{min-width:0;display:flex;flex-direction:column}.toolbar{display:flex;gap:6px;padding:10px;align-items:center;background:#f7fafb}.views{display:flex;gap:4px;margin-right:auto}.toolbar button{padding:9px}.toolbar #toggle-controls{display:none}#instruction{padding:11px 18px;background:#f1f7f8;min-height:40px;font-size:13px;border-bottom:1px solid #dce7eb}#instruction.error{background:#fff0f1;color:#a82b41}#surfaces{flex:1;min-height:0;display:flex}#plan-pane,#scene-pane{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden}#plan-pane{background:white;border-right:1px solid #d5e3e6}#custom-plan{width:100%;height:100%;touch-action:none;user-select:none}#scene-pane canvas{display:block;touch-action:none}.plan-note,.scene-note{position:absolute;bottom:10px;left:12px;font-size:11px;background:#ffffffe8;border-radius:5px;padding:5px;pointer-events:none}.three #plan-pane,.walk #plan-pane,.plan #scene-pane{display:none}.statusbar{padding:10px 15px;background:#173d49;color:white;display:flex;justify-content:space-between;font-size:12px;min-height:40px;align-items:center}.card{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;margin:7px 0;padding:12px}.card small{display:block;color:#708590;font-size:11px;margin-top:4px}.danger{color:#ad3446;border-color:#e3b8c0}.inspector-name{font-size:20px}details{margin:12px 0}summary{cursor:pointer;font-size:13px}#walk-controls{position:absolute;right:15px;bottom:15px;text-align:center}#walk-controls button{min-width:44px;min-height:44px;background:#ffffffdd}#pillar-list button{font-size:12px;margin:4px 0}button:focus-visible,a:focus-visible{outline:3px solid #1d9ac2;outline-offset:2px}[hidden]{display:none!important}.custom-link{display:block;padding:12px;border:1px solid #bddbe0;margin:10px 0}
@media(max-width:900px){header{padding:10px 12px;gap:10px}header a:not(.brand){font-size:12px}main{grid-template-columns:260px 1fr}aside{padding:14px}.toolbar{flex-wrap:wrap}.toolbar button{font-size:12px}.split{flex-direction:column}#plan-pane{border-bottom:1px solid #d5e3e6;border-right:0}}
@media(max-width:650px){header{height:100px;display:grid;grid-template-columns:1fr auto auto;gap:6px}.brand{grid-column:1}.brand small{font-size:8px}header>a:not(.brand){grid-row:2;grid-column:1}header button{font-size:12px;padding:9px}main{height:calc(100dvh - 100px);display:block}.workspace{height:100%}aside{display:none;position:absolute;top:100px;bottom:0;left:0;width:min(310px,88vw);z-index:20;box-shadow:5px 0 20px #16394733;padding-bottom:35px}body.controls-open aside{display:block}.toolbar #toggle-controls{display:block}.views{gap:2px}.views button{padding:8px 6px}.toolbar{gap:4px}#instruction{font-size:12px;padding:8px 10px}.statusbar{font-size:10px}.split #plan-pane,.split #scene-pane{min-height:150px}}

body{overflow:hidden}.workspace{min-height:0}#custom-plan{position:absolute;inset:0}

#close-custom-controls{display:none}@media(max-width:650px){#close-custom-controls{display:block;float:right;padding:4px 12px;font-size:22px}}
