:root{--bg:#111917;--panel:#192320;--line:#33423b;--text:#e0e8d8;--muted:#91a593;--accent:#d5e5a9;--blue:#c07460;--gold:#a38b4f;font-family:"Red Thorn Readout 14",monospace;font-size:14px}*{box-sizing:border-box}body{margin:0;overflow:hidden;color:var(--text);background:var(--bg)}button,input,select{font:inherit}button{border:1px solid var(--line);background:#203029;color:var(--text);padding:9px 12px;border-radius:3px;white-space:nowrap}button:hover{background:#2e4034;border-color:#637758}button:disabled{opacity:.35}.primary,button.active{background:var(--accent);color:#172019;border-color:var(--accent)}.primary:hover,button.active:hover{background:#e4f2c3}input,select{background:#101a16;border:1px solid var(--line);color:var(--text);border-radius:3px;padding:8px;width:100%;min-width:0}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=color]{padding:3px;min-height:34px}input[type=checkbox]{width:auto;accent-color:var(--accent)}[hidden]{display:none!important}h2{font-family:var(--heading-font);font-size:24px;font-weight:400;margin:0}h3{font-size:14px;font-family:var(--heading-font);margin:24px 0 10px;font-weight:400}.muted{color:var(--muted);font-size:12px;line-height:1.7}p{line-height:1.6}.editor-header{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:12px 20px}.editor-brand{color:var(--accent);text-decoration:none;font-family:var(--heading-font);font-size:25px;white-space:nowrap}.editor-brand span{font-family:var(--heading-font);font-size:12px;color:var(--muted);display:block}.editor-header #map-name{max-width:260px;border-color:transparent;background:transparent;font-size:18px}.editor-header #map-name:hover{border-color:var(--line)}#draft-status{font-size:11px;color:var(--muted);flex:1}.editor-header nav{display:flex;gap:8px}.editor-layout{display:grid;grid-template-columns:220px minmax(380px,1fr) 270px;height:calc(100vh - 70px)}aside{background:var(--panel);padding:18px;overflow:auto;scrollbar-width:thin}.build-panel{border-right:1px solid var(--line);display:flex;flex-direction:column}.details-panel{border-left:1px solid var(--line)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-heading button{padding:5px 9px;font-size:12px}.piece-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.piece-grid button{padding:12px 6px;text-align:left;font-size:12px}.piece-grid button[data-kind=room],.piece-grid button[data-kind=doorway]{border-color:#66734d}.piece-grid .swatch{display:inline-block;width:8px;height:8px;margin-right:6px;background:#a1aaa1}.piece-grid button[data-team=blue] .swatch{background:var(--blue)}.piece-grid button[data-team=gold] .swatch{background:var(--gold)}.piece-grid button.armed{border-color:var(--accent);background:#3c4930}#object-count{float:right;color:var(--muted);font-size:12px}#object-list{overflow:auto;min-height:100px;flex:1;margin-top:10px}#object-list button{display:flex;justify-content:space-between;width:100%;margin:3px 0;border-color:transparent;background:transparent;text-align:left;white-space:normal;font-size:12px;gap:8px}#object-list button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#object-list button small{font-size:10px;color:var(--muted)}#object-list button.selected{border-color:var(--accent);background:#36432e}.view-panel{position:relative;min-width:0;display:flex;flex-direction:column}.view-toolbar{height:54px;display:flex;align-items:center;padding:9px 12px;gap:12px;border-bottom:1px solid var(--line);background:#16211c;flex-shrink:0;flex-wrap:wrap}.view-toolbar button{font-size:12px;padding:7px 9px}.tool-group{display:flex;gap:3px}.inline-label{display:flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}.inline-label select{width:auto;padding:5px;font-size:12px}#editor-viewport{flex:1;min-height:0;outline:none;position:relative}#editor-viewport canvas{display:block;width:100%;height:100%}.view-footer{display:flex;gap:12px;justify-content:space-between;padding:9px 12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);height:35px}#cursor-position{white-space:nowrap}#placement-banner{position:absolute;bottom:55px;left:50%;transform:translate(-50%);background:#172017ef;border:1px solid var(--accent);padding:10px 14px;display:flex;align-items:center;gap:15px;box-shadow:0 6px 30px #0005;font-size:12px;white-space:nowrap}#placement-banner button{padding:5px 7px;font-size:11px}.details-panel label{display:block;font-size:12px;color:var(--muted);margin:13px 0}.details-panel label input,.details-panel label select{display:block;margin-top:6px;color:var(--text)}.details-panel .inline-label{display:flex}.details-panel .inline-label input{display:inline-block;margin:0}.details-panel fieldset{padding:0;border:0;margin:18px 0}.details-panel legend{font-size:12px;color:var(--muted);margin-bottom:8px}.xyz-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.xyz-fields label{margin:0!important;color:var(--muted);font-size:11px}.xyz-fields input{margin-top:3px!important;padding:7px 5px;font-size:12px;width:100%}.selection-actions{display:flex;gap:6px}.selection-actions button{flex:1;font-size:12px}.danger{color:#e9a79a}summary{font-size:14px;padding:14px 0;border-top:1px solid var(--line);margin-top:18px}.material-row{display:grid;grid-template-columns:1fr 40px;gap:8px}.material-actions{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.material-actions button{font-size:11px;padding:7px}.texture-preview{min-height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--muted);font-size:11px;background-size:64px;background-position:center}#map-health{color:var(--muted);font-size:12px;line-height:1.6}#map-health ul{padding-left:18px}#map-health .good{color:var(--accent)}#editor-toast{position:fixed;bottom:50px;left:50%;transform:translate(-50%);background:#263622;border:1px solid var(--accent);padding:14px 20px;max-width:70vw;z-index:100;box-shadow:0 5px 30px #0007;line-height:1.6}dialog{background:var(--panel);color:var(--text);border:1px solid #617457;border-radius:5px;width:min(530px,90vw);padding:28px;max-height:85vh;overflow:auto}dialog::backdrop{background:#09110ed9}dialog button{margin:8px 5px 0 0}dialog form button{display:block;width:100%;margin:10px 0}dialog p{font-size:13px;color:var(--muted)}dialog dl{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:12px}dialog dd{margin:0;color:var(--muted)}@media(max-width:1150px){.editor-layout{grid-template-columns:185px minmax(300px,1fr) 235px}aside{padding:12px}.view-toolbar{height:92px;gap:7px;align-content:center}.view-toolbar .tool-group{gap:1px}.editor-header{gap:10px;padding:10px}#draft-status{display:none}.editor-header nav{margin-left:auto}.editor-header #map-name{width:200px}}@media(max-width:760px){.editor-layout{grid-template-columns:155px minmax(200px,1fr);height:calc(100vh - 106px)}.details-panel{position:fixed;right:0;top:106px;bottom:35px;width:225px;transform:translate(100%)}.details-panel:focus-within,.details-panel.has-selection{transform:none}.editor-header{height:106px;flex-wrap:wrap}.editor-header nav{width:100%;justify-content:flex-end}.view-toolbar{height:130px}.view-toolbar .inline-label:last-child{display:none}.piece-grid{grid-template-columns:1fr}.view-footer #view-hint{display:none}}.biome-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.biome-materials button{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:7px;font-size:11px;white-space:normal;text-align:left}.biome-materials img,.biome-swatch{width:100%;height:58px;object-fit:cover;border-radius:2px;display:block}.biome-materials small{color:var(--muted);font-size:10px}.biome-label{display:block;margin:16px 0;font-size:13px;color:var(--muted)}.biome-label select{display:block;margin-top:8px}.editor-header #map-name,.details-panel summary,.details-panel legend{font-family:var(--heading-font);font-weight:400;font-synthesis:none}.editor-brand,h2{font-family:"Red Thorn Condensed 24";font-size:24px}h3{font-family:"Red Thorn Condensed 16";font-size:16px}.editor-header #map-name{font-family:"Red Thorn Condensed 18";font-size:18px}.editor-brand{display:flex;gap:10px;align-items:center}.editor-brand-logo{display:block;width:34px;height:34px;flex-shrink:0}.editor-brand .editor-brand-name{font:inherit;color:inherit;margin:0}.editor-brand-name small{display:block;font-family:var(--heading-font);font-size:12px;color:var(--muted)}.view-panel{min-height:0}.editor-controls{position:absolute;z-index:5;top:68px;right:14px;width:min(302px,calc(100% - 28px));max-height:calc(100% - 116px);overflow:auto;padding:16px;background:#192320f5;border:1px solid #53634f;border-radius:12px;box-shadow:0 12px 36px #0006;font-family:Red Thorn Sans,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;scrollbar-width:thin}.editor-controls button,.editor-controls kbd{font-family:inherit}#editor-controls-close{position:absolute;top:6px;right:6px;padding:0;width:28px;height:28px;flex-shrink:0;border:0;background:transparent;color:var(--muted);font-size:23px;line-height:1}#editor-controls-close:hover{background:#ffffff0a;color:var(--text)}.editor-controls-section{padding:12px;border-radius:8px;background:#0e17164d;margin-bottom:8px}.navigation-hints{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.navigation-hints>div{display:flex;align-items:center;flex-direction:column;gap:3px}.navigation-hints>div+div{border-left:1px solid #ffffff0a}.navigation-hints .gesture-icon{display:block;width:34px;height:39px;background:var(--text);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}.navigation-hints strong{font-size:12px;font-weight:500}.navigation-hints span{font-size:11px;color:var(--muted)}.editor-controls .manipulation-hint{margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--muted)}.transform-hints{display:flex;justify-content:space-between;gap:6px;font-size:11px}.transform-hints>span{display:flex;align-items:center;gap:5px}.editor-controls kbd{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:0 5px;border:1px solid #526048;border-radius:4px;background:#26332a;color:var(--accent);font-size:11px;line-height:1}.editor-controls .placement-hint{margin:12px 0 0;padding-top:11px;border-top:1px solid #ffffff0a;font-size:11px;line-height:1.6;color:var(--muted)}.editor-shortcuts{display:grid;gap:6px;margin:12px 2px}.editor-shortcuts>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.editor-shortcuts dt{font-size:12px;color:var(--muted)}.editor-shortcuts dd{display:flex;align-items:center;gap:4px;margin:0}.editor-shortcuts dd>span{color:var(--muted);font-size:10px}.editor-controls-footer{position:sticky;bottom:0;background:var(--panel);box-shadow:0 -8px 12px var(--panel);display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #ffffff0a;padding-top:13px}.editor-controls-footer button{font-size:12px;padding:8px 15px}#editor-controls-more{padding:8px 0;border:0;background:transparent;color:var(--muted)}#editor-controls-more:hover{color:var(--text)}#editor-controls-toggle span{color:var(--muted);margin-left:4px}@media(max-width:1150px){.editor-controls{top:106px;max-height:calc(100% - 154px)}}@media(max-width:760px){.editor-controls{top:144px;right:10px;width:min(302px,calc(100% - 20px));max-height:calc(100% - 192px);padding:14px}.editor-controls-section{padding:10px}.transform-hints{flex-wrap:wrap}}.server-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:end;max-width:340px}.server-picker label{font-size:10px}.server-picker input{display:block;margin-top:4px}.server-picker small{flex-basis:100%;font-size:10px}.hierarchy-actions{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.hierarchy-actions button{padding:6px;font-size:11px}.construction-options{position:absolute;z-index:3;top:94px;left:12px;background:var(--panel);border:1px solid var(--line);padding:0 10px;max-width:240px}.construction-options summary{margin:0;border:0;padding:8px;font-size:11px}.construction-options label{display:block;font-size:11px;margin:8px 0}.construction-options small{display:block;margin:10px 0;font-size:11px;color:var(--muted)}.view-toolbar{height:auto;min-height:88px;align-content:center;gap:7px}.view-footer{height:auto;min-height:35px}.view-toolbar button{padding:6px}.view-toolbar .inline-label select{max-width:64px}#placement-banner{max-width:calc(100% - 24px);white-space:normal}.editor-controls{top:112px;max-height:calc(100% - 160px)}.map-health .finding-location{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:inherit;line-height:1.45;background:transparent;color:inherit;border:0;padding:3px 0;text-decoration:underline;text-decoration-color:var(--line)}.map-health details{font-size:11px;line-height:1.5}.map-health details p{overflow-wrap:anywhere}#walk-panel{position:absolute;z-index:8;top:100px;left:12px;right:12px;display:flex;gap:12px;align-items:center;padding:12px;background:var(--panel);border:1px solid var(--line)}#walk-panel[hidden]{display:none}#walk-panel div{flex:1}#walk-panel p{font-size:11px;line-height:1.45;margin:6px 0}#walk-panel button{font-size:11px}#walk-dialog label{display:block;margin:16px 0}#walk-dialog{max-width:520px}#walk-dialog .game-control{display:block;margin-top:8px}.map-health .preview-repair,.map-health .finding-source{display:block;font-size:11px;margin:8px 0}.map-health li{margin-bottom:10px}.map-health .finding-contact{display:block;font-size:11px;margin:4px 0;white-space:normal;text-align:left}.map-modes label{font-size:12px;margin:8px 0}.map-modes input{margin-right:5px}.map-modes small{font-size:11px;line-height:1.5;display:block;margin:10px 0}.editor-header{gap:12px;padding:12px}.editor-header #map-name{max-width:220px}.editor-header nav{gap:6px}.editor-header nav button{padding:9px;font-size:12px}#draft-status{white-space:normal;min-width:105px;max-width:145px;padding:5px;border-color:transparent;background:transparent;text-align:left;line-height:1.5}#draft-status[data-state=error],#draft-status[data-state=conflict],.save-state-message{color:#edb8a6}.save-state-message{font-size:12px;line-height:1.6;border:1px solid #805c43;padding:9px}#projects-dialog{width:min(920px,94vw)}#projects-dialog label{display:block;font-size:12px;color:var(--muted);margin:12px 0}#projects-dialog label input,#projects-dialog label textarea{display:block;margin-top:6px}textarea{font:inherit;width:100%;min-width:0;resize:vertical;background:#101a16;border:1px solid var(--line);color:var(--text);padding:8px;border-radius:3px}textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.project-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-columns section{min-width:0}.project-actions{display:flex;flex-wrap:wrap;gap:5px}.project-card{display:flex;align-items:center;gap:12px;width:100%;white-space:normal;text-align:left;padding:9px}.project-card.current{border-color:var(--accent)}.project-card img{width:96px;height:60px;object-fit:cover}.project-card span{display:grid;gap:5px;min-width:0}.project-card strong{overflow-wrap:anywhere}.project-card small{font-size:10px;line-height:1.6;color:var(--muted)}#project-list,#project-revisions{max-height:310px;overflow:auto;scrollbar-width:thin}#project-revisions>div{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:11px;border-bottom:1px solid var(--line);padding:7px 0}#project-revisions button{font-size:11px;padding:5px;margin:0}#project-revisions [data-kind=conflict]{color:#edb8a6}.player-targets{display:grid;grid-template-columns:1fr 1fr;gap:8px}#project-reports button{font-size:11px;white-space:normal}#project-kind{color:var(--accent)}#file-save-status,#project-save-status{margin:4px 0;font-size:12px}@media(max-width:760px){.project-columns{grid-template-columns:1fr}#draft-status{display:none}}#object-list{position:relative;min-height:135px;flex:1;overscroll-behavior:contain}.tree-content{position:relative;width:100%}#object-list .tree-row{position:absolute;left:0;right:0;height:34px;display:flex;align-items:center;gap:5px;padding-right:5px;border:1px solid transparent;font-size:12px;cursor:pointer;outline-offset:-2px}#object-list .tree-row:hover{background:#2e4034}#object-list .tree-row.selected{border-color:var(--accent);background:#36432e}#object-list .tree-row.tree-context:not(.selected){color:var(--muted)}#object-list .tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#object-list .tree-row small{max-width:45%;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#object-list .tree-disclosure{display:block;flex:0 0 19px;width:19px;height:26px;padding:0;margin:0;background:transparent;border:0;text-align:center}#object-list .tree-disclosure[hidden]{display:block!important;visibility:hidden}.build-panel .piece-grid,.build-panel .hierarchy-actions,.build-panel>.muted,.build-panel>small,.build-panel>.panel-heading,.build-panel>h3,.build-panel>.server-picker,.build-panel>input{flex-shrink:0}.box-select{cursor:crosshair}.selection-marquee{position:absolute;border:1px solid var(--accent);background:#d5e5a920;pointer-events:none;z-index:2}.selection-marquee.crossing{border-style:dashed;background:#91caaa20}.selection-marquee[data-operation=remove]{border-color:#e9a79a;background:#e9a79a20}.selection-path{overflow-wrap:anywhere;margin:8px 0}.build-pieces{flex-shrink:0}.build-pieces summary{margin:0 0 8px;padding:8px 0;border:0;color:var(--muted);font-size:12px}.build-panel>h3{margin-top:16px}.inspection-panel{position:absolute;z-index:5;top:112px;right:14px;width:min(302px,calc(100% - 28px));max-height:calc(100% - 160px);overflow:auto;padding:14px;background:#192320f5;border:1px solid #53634f;border-radius:10px;box-shadow:0 12px 36px #0006;scrollbar-width:thin;font-size:12px}.inspection-panel h2{font-size:22px}.inspection-panel summary{cursor:pointer;margin:12px 0;padding:8px 0;border-bottom:1px solid var(--line);color:var(--accent)}.inspection-panel label{display:block;margin:10px 0;color:var(--muted);font-size:11px}.inspection-panel label input,.inspection-panel label select{display:block;margin-top:5px}.inspection-panel .inline-label{display:flex;align-items:center;gap:7px}.inspection-panel .inline-label input{margin:0;display:inline-block}.inspection-panel small,#floor-elevation-field small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0}.inspection-panel button{padding:7px;font-size:11px}.inspection-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inspection-actions{display:flex;gap:6px;flex-wrap:wrap}.inspection-panel .xyz-fields label{margin:0}.inspection-panel fieldset{margin:12px 0}.inspection-panel p{font-size:11px;overflow-wrap:anywhere}#shortcut-list label{display:flex;gap:8px;align-items:center;justify-content:space-between}#shortcut-list button{max-width:65%;white-space:normal}#inspection-status{color:#f1d995}.inspection-tool{cursor:crosshair}.viewport-guides{position:absolute;inset:0;pointer-events:none;overflow:hidden;font:11px Red Thorn Sans,sans-serif;color:var(--accent)}.axis-widget{position:absolute;right:8px;bottom:8px;width:84px;height:84px;background:#132019a6;border-radius:50%}.axis-widget line{stroke:currentColor;stroke-width:2}.axis-widget text{fill:currentColor;font-size:11px;font-weight:600;text-anchor:middle;dominant-baseline:central}.axis-widget [data-axis="0"]{color:#ec9e8e}.axis-widget [data-axis="1"]{color:#c2dc98}.axis-widget [data-axis="2"]{color:#9dcce0}.world-scale{position:absolute;bottom:18px;left:14px;display:grid;gap:5px;text-shadow:0 1px 2px #000}.world-scale span{display:block;height:6px;border:1px solid var(--accent);border-top:0}.world-scale small{font-size:10px}.ruler-label,.actor-scale-label{position:absolute;transform:translate(-50%,-115%);max-width:240px;background:#132019ed;border:1px solid #66734d;border-radius:3px;padding:5px 7px;text-align:center;white-space:nowrap}.ruler-label{color:#f1d995}#fly-status{position:absolute;z-index:3;bottom:48px;left:50%;transform:translate(-50%);font-size:11px;background:var(--panel);padding:7px 10px;border:1px solid var(--line);white-space:nowrap}@media(max-width:760px){.inspection-panel{top:144px;right:10px;max-height:calc(100% - 192px)}}.construction-options{top:112px;max-width:none;width:min(292px,calc(100% - 28px));max-height:calc(100% - 164px);overflow:auto;border-radius:7px;box-shadow:0 6px 24px #0005;scrollbar-width:thin}.construction-options:not([open]){width:auto;box-shadow:none}.construction-options>summary{cursor:pointer;font-size:12px;color:var(--accent);padding:9px 0}.construction-options details summary{border-top:1px solid var(--line);margin:10px 0 0;padding:10px 0;cursor:pointer}.construction-options label{color:var(--muted)}.construction-options select,.construction-options input{font-size:12px;padding:7px;margin-top:4px}.construction-options input[type=checkbox]{width:auto}.construction-options fieldset{padding:0;border:0;margin:12px 0}.construction-options legend{font-size:11px;color:var(--muted);margin-bottom:6px}.construction-options .xyz-fields label{margin:0}.construction-options button{font-size:11px;padding:7px;margin:4px 0}.construction-options .inspection-actions{gap:5px}.construction-nudges{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.construction-options p{font-size:11px;line-height:1.6;margin:10px 0;overflow-wrap:anywhere}#construction-preview{padding-top:8px;border-top:1px solid var(--accent)}.snap-target-label{position:absolute;pointer-events:none;transform:translate(12px,-100%);max-width:min(290px,60%);background:#111917e8;border:1px solid #a38b4f;border-radius:4px;padding:5px 7px;font-size:11px;line-height:1.4;color:#f1d995;overflow-wrap:anywhere}.placement-preview-note{position:absolute;pointer-events:none;bottom:80px;left:12px;right:12px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:#111917ed;font-size:11px;line-height:1.5;color:var(--muted);max-height:110px;overflow:hidden}.module-entry{display:flex;gap:5px;margin-bottom:12px}.module-entry button{font-size:11px;padding:7px;flex:1}.module-library{position:absolute;z-index:6;top:112px;left:12px;width:min(380px,calc(100% - 24px));max-height:calc(100% - 164px);overflow:auto;padding:16px;background:var(--panel);border:1px solid #53634f;border-radius:8px;box-shadow:0 12px 36px #0006;scrollbar-width:thin}.module-library[hidden]{display:none}.module-library h2{margin:0}.module-library h3{margin:15px 0 8px}.module-library label{display:block;font-size:11px;color:var(--muted);margin:10px 0}.module-library input,.module-library select{width:100%;margin-top:5px;font-size:12px;padding:8px}.module-library button{font-size:11px;padding:7px}.module-library p{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.module-library section{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.module-library .inspection-actions{flex-wrap:wrap;margin:10px 0}#module-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:6px;white-space:normal;min-width:0}.module-card.active{border-color:var(--accent)}.module-card img{width:100%;height:auto;aspect-ratio:1.6;object-fit:contain}.module-card strong{font-size:12px;font-weight:400;overflow-wrap:anywhere}.module-card small{font-size:10px;color:var(--muted)}#module-save-dialog label,#module-update-dialog label{display:block;margin:16px 0}#module-save-dialog input[type=text],#module-save-dialog input:not([type]),#module-save-dialog input[type=search]{display:block;width:100%;margin-top:6px}#module-update-rows{max-height:200px;overflow:auto}#module-update-rows p{margin:5px 0;font-size:11px}.module-card.active{background:#29382a;color:var(--text)}.module-inspector{border:1px solid var(--line);border-radius:4px;padding:8px;margin:10px 0}.module-inspector p{font-size:11px;line-height:1.5;margin:0 0 7px}.module-inspector button{font-size:11px;padding:6px}.module-card.active:hover{background:#30412f;color:var(--text)}.module-card{width:100%;height:100%}#module-anchor-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100% - 40px);overflow:auto}#module-anchor-dialog label{display:block;font-size:12px;margin:10px 0;color:var(--muted)}#module-anchor-dialog input:not([type=checkbox]),#module-anchor-dialog select{width:100%;margin-top:5px}#module-anchor-dialog fieldset{border:0;padding:0;margin:12px 0}#module-anchor-dialog legend{font-size:12px;color:var(--muted)}#module-anchor-dialog .xyz-fields label{margin:4px 0}#module-anchor-dialog p{font-size:11px;line-height:1.6}#module-anchor-dialog .inspection-actions{margin-top:14px}.editor-layout.workspace-panels{position:relative;grid-template-columns:var(--build-width,220px) minmax(0,1fr) var(--details-width,270px);height:calc(100dvh - var(--editor-header-height,70px))}.panel-tools{gap:6px;flex-wrap:wrap;margin-bottom:10px}.panel-tools h2{margin-right:auto}.panel-tools button{font-size:11px;padding:6px 8px}.workspace-panels aside.collapsed{padding:8px 4px}.workspace-panels aside.collapsed>:not(.panel-tools){display:none}.workspace-panels aside.collapsed .panel-tools>:not([data-panel-collapse]){display:none}.workspace-panels aside.collapsed [data-panel-collapse]{writing-mode:vertical-rl;min-height:90px;margin:0 auto;padding:10px 7px}.workspace-panels aside.collapsed .panel-tools{justify-content:center}.panel-resizer{position:absolute;top:0;bottom:0;width:8px;z-index:12;cursor:col-resize;touch-action:none}.panel-resizer:hover,.panel-resizer:focus-visible{background:#d5e5a950;outline:2px solid var(--accent);outline-offset:-2px}.panel-resizer[hidden]{display:none}.workspace-panel-controls button[aria-expanded=false]{color:var(--muted)}.editor-diagnostics{background:#16211c;border-top:1px solid var(--line);padding:9px 12px;flex-shrink:0;max-height:210px;display:flex;flex-direction:column;gap:6px;overflow:hidden}.editor-diagnostics[hidden]{display:none}.editor-diagnostics .panel-heading h2{font-size:13px;margin:0}.editor-diagnostics button{font-size:11px;padding:6px 9px}.diagnostics-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.diagnostics-actions span{font-size:11px;color:var(--muted)}.editor-diagnostics #map-health{overflow:auto;scrollbar-width:thin;min-height:0}.editor-diagnostics #map-health>p:first-child{display:none}.editor-diagnostics #map-health ul{margin:5px 0}.editor-diagnostics #map-health small{display:block;line-height:1.5}.editor-diagnostics summary{padding:5px 0;margin:5px 0}.editor-diagnostics .finding-location{white-space:normal;text-align:left;line-height:1.5;max-width:100%}.editor-header{height:auto;min-height:70px;gap:12px;flex-wrap:wrap}.editor-header nav{flex-wrap:wrap}.workspace-panels .view-toolbar{height:auto;min-height:88px;align-content:center}.workspace-panels .piece-grid button{white-space:normal;line-height:1.4;overflow-wrap:anywhere}@media(max-width:1400px){.editor-header{display:grid;grid-template-columns:minmax(200px,1fr) minmax(150px,260px) auto;row-gap:8px}.editor-header #map-name{width:100%}.editor-header nav{grid-column:1/-1;justify-content:flex-end;margin:0}}@media(max-width:760px){.editor-layout.workspace-panels{grid-template-columns:var(--build-width,155px) minmax(0,1fr)}.workspace-panels .details-panel{top:var(--editor-header-height,106px);width:min(var(--details-width,270px),calc(100vw - 44px));bottom:35px;z-index:15}.workspace-panels .details-panel.collapsed{transform:translate(100%)}.editor-header{grid-template-columns:minmax(120px,1fr) minmax(100px,180px);padding:8px}.editor-header nav{justify-content:flex-start}.editor-header .editor-brand{min-width:0}.workspace-panels .view-toolbar{min-height:100px;padding:6px}.editor-diagnostics{max-height:190px;padding:8px}.panel-resizer{display:none}}@media(max-width:760px){.workspace-panels .details-panel:not(.collapsed){transform:none}}.workspace-panels #pieces{display:block}.piece-category{margin-bottom:14px}.piece-category h4{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:400}.piece-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.piece-category-grid button{min-width:0;padding:6px;font-size:11px}.piece-category-grid img{display:block;width:100%;height:auto;aspect-ratio:8/5;border-radius:2px;margin-bottom:5px}.piece-category-grid img[hidden]{display:block!important;visibility:hidden}.piece-category-grid .swatch{display:none}#new-dialog{width:min(780px,94vw);max-height:90vh;overflow:auto}.template-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.template-choice{display:flex;flex-direction:column;gap:7px;min-width:0;padding:12px;text-align:left;white-space:normal}.template-choice img{width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;border-radius:3px}.template-choice img[hidden]{display:block!important;visibility:hidden}.template-choice strong{font-size:14px}.template-choice span,.template-choice small{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.template-choice small{color:var(--muted)}.editor-onboarding{flex-shrink:0;margin:8px 0 12px;padding:10px;background:#203029;border:1px solid #637758;border-radius:4px}.editor-onboarding[hidden]{display:none}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.guide-heading small{color:var(--muted);font-size:11px}.guide-heading button{padding:3px 7px}.editor-onboarding h3{font-size:14px;margin:9px 0}.editor-onboarding p{font-size:11px;line-height:1.6;margin:7px 0}.editor-onboarding details{margin:10px 0;font-size:11px}.editor-onboarding summary{cursor:pointer;color:var(--muted)}.guide-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.guide-actions button{font-size:11px;padding:7px;white-space:normal;max-width:100%}.guide-actions button[hidden]{display:none}.editor-controls-footer{flex-wrap:wrap}@media(max-width:500px){.template-choices{grid-template-columns:minmax(0,1fr)}}.material-pick-banner{position:absolute;z-index:6;top:112px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#203029;border:1px solid #637758;font-size:11px;line-height:1.5}.material-pick-banner[hidden],#sky-load-status[hidden]{display:none}.material-pick-banner button{font-size:11px;padding:6px 10px}.material-section small,.environment-section small{display:block;font-size:11px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere}.material-actions button{white-space:normal;max-width:100%}#sky-load-status{font-size:11px;line-height:1.5;color:var(--accent)}.design-panel{position:absolute;top:100px;right:12px;width:min(390px,calc(100% - 24px));max-height:calc(100% - 152px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:14px;z-index:18;box-shadow:0 8px 24px #0006;font-size:12px}.design-panel label{display:block;margin:10px 0;line-height:1.5}.design-panel select,.design-panel input{font-size:12px;margin-top:4px}.design-panel textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);width:100%;padding:8px;resize:vertical}.design-panel button{white-space:normal;font-size:12px;padding:7px 9px;margin:4px 2px 4px 0}.design-panel .inline-label{display:flex;align-items:center;gap:6px}.design-panel details{padding:12px 0;border-top:1px solid var(--line)}.design-panel summary{cursor:pointer;color:var(--accent);line-height:1.5}.design-coordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.design-actions{display:flex;flex-wrap:wrap}.design-panel p{overflow-wrap:anywhere}.design-labels{position:absolute;inset:0;pointer-events:none;z-index:5}.design-labels span{position:absolute;transform:translate(-50%,-150%);padding:3px 5px;background:#15221ee6;color:#f0cf83;border:1px solid #796e45;font-size:11px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#design-pick-banner{position:absolute;left:12px;bottom:45px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#203029f5;border:1px solid var(--accent);padding:8px 12px;z-index:25;font-size:12px}#design-pick-banner button{padding:6px 10px;font-size:12px}@media(max-width:760px){.design-panel{top:150px;max-height:calc(100% - 195px)}}.architecture-tools,.architecture-inspector details{margin:12px 0;padding:10px;border:1px solid var(--line,#465047);border-radius:6px}.architecture-tools summary,.architecture-inspector summary{cursor:pointer;font-weight:600;margin:0;padding:6px 0;border:0}.architecture-tools label,.architecture-inspector label{display:block;margin:8px 0}.architecture-tools textarea,.architecture-inspector textarea{width:100%;resize:vertical;font-family:monospace;font-size:12px}.architecture-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.architecture-tools fieldset{margin:10px 0}.architecture-tools button,.architecture-inspector button{white-space:normal;font-size:12px;padding:7px;max-width:100%}.architecture-tools p,.architecture-tools small,.architecture-inspector small,#architecture-status{font-size:12px;line-height:1.5}#archive-records{width:100%;min-height:12rem}.archive-page,.archive-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}#archive-count{flex:1;font-size:.8rem}#archive-metadata{max-height:28rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;line-height:1.45}#archive-properties{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;font-size:.8rem}#archive-properties dt{color:var(--muted)}#archive-properties dd{margin:0;overflow-wrap:anywhere}#archive-texture{display:block;max-width:100%;width:10rem;max-height:10rem;object-fit:contain;margin:.75rem 0}#archive-texture[hidden]{display:none}.finding-pins{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}body .finding-pins .finding-pin{position:absolute;width:28px;height:28px;min-height:0;padding:0;border-radius:50%;transform:translate(-50%,-50%);pointer-events:auto;line-height:26px;font-weight:700;background:#522a24;color:#fff0e6;border:2px solid #efaa92;box-shadow:0 1px 5px #0009}body .finding-pins .finding-pin:active:not(:disabled){transform:translate(-50%,calc(-50% + 1px))}body .finding-pins .finding-pin[data-severity=warning]{background:#443c24;color:#fff1bf;border-color:#e2c573}body .finding-pins .finding-pin:focus-visible{outline:3px solid #fff;outline-offset:3px}.finding-pin-note{position:absolute;bottom:10px;left:10px;max-width:min(460px,calc(100% - 20px));margin:0;padding:8px 10px;background:#111917ed;border:1px solid #91a593;overflow-wrap:anywhere;font-size:12px}.map-health .finding-pins-control{display:flex;align-items:center;gap:6px;margin:8px 0}.map-health .finding-pins-control input{width:auto}.finding-pins-scope{display:block;margin-bottom:10px}.live-surface-checks{margin:10px 0;padding:10px;border:1px solid #667667;border-radius:5px}.live-surface-checks>label{display:flex;align-items:center;gap:6px}.live-surface-checks>label input{width:auto}.live-surface-checks small{display:block}.live-surface-checks p{margin:6px 0}.editor-page .editor-layout,.editor-page dialog{--heading-font:var(--body-font,"Red Thorn Sans"),sans-serif}body.editor-page h2{font-size:14px;line-height:20px;margin:0}body.editor-page h3{font-size:12px;line-height:18px;margin:16px 0 8px}body.editor-page h4{font-size:11px;line-height:16px}body.editor-page dialog h2{font-size:18px;line-height:24px}.editor-page .editor-brand{font-size:20px}.editor-page .editor-brand-logo{width:28px;height:28px}.editor-page .editor-brand-name small{font-size:10px;line-height:14px}.editor-page .editor-header #map-name{font-family:var(--body-font,"Red Thorn Sans"),sans-serif;font-size:14px}.editor-page .editor-header{min-height:60px;padding:10px 12px}.editor-page aside{padding:12px}.editor-page .panel-heading{min-height:28px;margin-bottom:8px}.editor-page .panel-heading h2{line-height:20px}.editor-page .panel-tools{flex-wrap:nowrap;gap:6px}.editor-page .panel-tools button{padding:5px 7px}.editor-page p,.editor-page .muted,.editor-page small{line-height:1.4}.editor-page p{margin:8px 0 12px}.editor-page .build-panel>.muted{margin:0 0 12px}.editor-page :is(.build-panel,.details-panel,.inspection-panel,.design-panel,.module-library) label{margin:12px 0;font-size:12px;line-height:16px}.editor-page :is(.build-panel,.details-panel,.inspection-panel,.design-panel,.module-library) label :is(input,select,textarea){margin-top:4px}.editor-page :is(.build-panel,.details-panel,.inspection-panel,.design-panel,.module-library) .inline-label{margin:8px 0}.editor-page :is(.build-panel,.details-panel,.inspection-panel,.design-panel,.module-library) .inline-label input{margin:0}.editor-page :is(input,select,textarea){font-size:12px;line-height:16px;padding:7px 8px}.editor-page input[type=checkbox]{padding:0}.editor-page input[type=color]{padding:3px}.editor-page :is(.details-panel,.inspection-panel,.design-panel,.module-library) fieldset{margin:12px 0}.editor-page .details-panel legend{margin-bottom:4px;line-height:16px}.editor-page :is(.details-panel,.inspection-panel,.module-library)>details>summary{margin:12px 0 0;padding:8px 0;font-size:12px;line-height:18px}.editor-page .build-pieces>summary{margin:0 0 8px;padding:6px 0;font-size:12px;line-height:18px}.editor-page .piece-category{margin-bottom:12px}.editor-page .piece-category h4{margin:0 0 6px}.editor-page .details-panel :is(.material-section,.environment-section,.map-modes) small{margin:8px 0;line-height:1.4}.editor-page #selection-empty h2{font-size:12px;color:var(--muted)}.editor-page #selection-empty p{margin:4px 0 12px}.editor-page :is(.inspection-panel,.design-panel,.module-library){padding:12px;border-radius:4px}.editor-page .inspection-panel summary{margin:12px 0 0;padding:8px 0;font-size:12px;line-height:18px}.editor-page .design-panel details{padding:8px 0;margin-top:12px}.editor-page .construction-options details summary{margin-top:12px;padding:8px 0}.editor-page dialog{padding:20px}.editor-page .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.editor-page .dialog-actions button{display:inline-block;width:auto;margin:0;padding:8px 12px}#play-map-form>label{display:block;margin:16px 0 4px;font-size:12px;color:var(--muted)}#play-map-status:empty{display:none}#play-map-status{color:#edb8a6;overflow-wrap:anywhere}@media(max-width:760px){.editor-page aside{padding:10px}.editor-page .panel-tools{flex-wrap:wrap}.editor-page .editor-brand{font-size:16px}.editor-page dialog{padding:16px}}@media(max-width:760px){.editor-page .view-toolbar .tool-group{flex-wrap:wrap;min-width:0;max-width:100%;gap:4px}.editor-page .editor-layout{overflow:hidden}}
