:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#263430;background:#eef2ef;font-size:13px}*{box-sizing:border-box}body{margin:0}header{height:60px;display:flex;align-items:center;gap:24px;padding:0 22px;background:#fafcfb;border-bottom:1px solid #d5dcda}a{color:#157c72}h1{font-size:19px;margin:0}header span,p,small{color:#63736c}main{display:flex;height:calc(100dvh - 96px)}aside{width:320px;flex-shrink:0;overflow:auto;background:#fafcfb;padding:0 18px 18px;border-right:1px solid #d5dcda}section h2{font-size:14px;margin:0 0 12px}aside section{padding:18px 0;border-bottom:1px solid #d5dcda}label{display:block;margin:9px 0;font-size:12px}input,select{font:inherit;width:100%;padding:7px;margin-top:5px;border:1px solid #c6d3cb;border-radius:4px;background:#fff}input[type=range]{padding:0;accent-color:#157c72}button{font:inherit;padding:8px 10px;min-height:36px;background:#edf3f0;color:#236a60;border:1px solid #b9cec5;border-radius:5px;cursor:pointer}button:hover{background:#dae9e1}button.active{background:#157c72;color:white}button:disabled{opacity:.45;cursor:not-allowed}.row{display:flex;gap:7px;align-items:center}.row>*{flex:1;min-width:0}p{font-size:12px;line-height:1.6;margin:8px 0}.danger{color:#a63932;margin-top:8px}.workspace{flex:1;min-width:0;display:grid;grid-template-rows:1fr 1fr;gap:10px;padding:10px}.pane{min-height:0;display:flex;flex-direction:column;background:white;border:1px solid #d5dcda;border-radius:6px;overflow:hidden}.pane-title{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #d5dcda}.pane-title h2{margin:0;white-space:nowrap}.pane-title small{font-weight:400;margin-left:10px}#planWrap,#preview{position:relative;flex:1;min-height:0;overflow:hidden;background:#e5eae7}canvas{display:block;touch-action:none}#plan{width:100%;height:100%}.view-hint{margin:0;padding:5px 12px;background:#fafcfb}#status{height:36px;padding:8px 18px;background:#e1efeb;color:#236a60;overflow:auto}.window-item{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12px}.window-item span{flex:1}.window-item button{min-height:28px;padding:3px 8px}:focus-visible{outline:2px solid #157c72;outline-offset:2px}output{float:right}.scope{padding-top:10px}@media(min-width:1400px){.workspace{grid-template-columns:1fr 1fr;grid-template-rows:1fr}}@media(max-width:700px){header{gap:12px;padding:0 12px}header span{display:none}main{height:auto;flex-direction:column}aside{width:100%;max-height:42dvh;border-right:0;border-bottom:1px solid #d5dcda}.workspace{height:1000px;flex:none}#status{position:sticky;bottom:0}.pane-title{flex-wrap:wrap}}
:root .embedded-plan-editor > header { display: none; }
.embedded-plan-editor main { height: calc(100dvh - 36px); }
#projectSaveStatus:not(:empty) { padding: 8px; border-radius: 4px; border: 1px solid #b9cec5; background: #e1efeb; color: #236a60; overflow-wrap: anywhere; }
#projectSaveStatus.save-error { border-color: #e4b5ae; background: #fff0ed; color: #a63932; }
@media (max-width: 700px) { .embedded-plan-editor main { height: auto; } }

.room-walk-controls { margin:8px 0; padding:8px; background:#edf5f1; color:#244e40; border:1px solid #b6d0c4; border-radius:6px; font-size:13px; }
.room-walk-controls[hidden] { display:none; }
.room-walk-controls div { display:flex; gap:5px; flex-wrap:wrap; margin-top:6px; }
.room-walk-controls button { flex:1; min-width:60px; padding:8px; user-select:none; }
.room-walk-controls output { display:block; margin-top:4px; }

.room-scene-overlay {position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3;}
.room-scene-overlay[hidden],.room-name-label[hidden] {display:none;}
.room-name-label {position:absolute;transform:translate(-50%,-50%);padding:4px 9px;border:1px solid #ffffffaa;border-radius:5px;background:#173e35d9;color:white;font:13px sans-serif;white-space:nowrap;box-shadow:0 1px 5px #0003;}
.room-compass {position:absolute;right:18px;top:18px;width:102px;height:130px;display:flex;align-items:center;flex-direction:column;color:#244e40;}
.room-compass-dial {position:relative;flex-shrink:0;width:96px;height:96px;border:2px solid #789b8f;border-radius:50%;background:#fffffff0;box-shadow:0 2px 6px #0002;}
.room-compass-dial b {position:absolute;font:11px sans-serif;}
.room-compass-dial .north {top:5px;left:34px;color:#bf3939;}.room-compass-dial .south {bottom:5px;left:34px;}.room-compass-dial .east {right:4px;top:42px;}.room-compass-dial .west {left:4px;top:42px;}
.room-compass-dial span {position:absolute;left:37px;top:26px;color:#bf3939;font-size:34px;}
.room-compass output {margin-top:5px;padding:3px 6px;border-radius:4px;background:#fffffff0;font:12px sans-serif;white-space:nowrap;}

.room-current-name {position:absolute;left:50%;top:18px;transform:translateX(-50%);padding:6px 12px;border-radius:6px;background:#173e35dd;color:#fff;font:14px sans-serif;}
.room-current-name:empty {display:none;}
