/* Shared, quiet chrome for exploration and editing. */
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body header,body.simple-view header{position:absolute;inset:0 0 auto;z-index:60;height:94px;padding:24px 30px;display:flex;flex-wrap:nowrap;align-items:flex-start;gap:16px;background:transparent;border:0;pointer-events:none}
header a,header button,#world-menu{pointer-events:auto}
body .brand,body.simple-view .brand{font:700 32px/1.05 ui-sans-serif,system-ui,sans-serif;letter-spacing:-1.4px;text-shadow:0 2px 20px #e5f5f9a0;color:#174752}
body .brand span{font-size:10px;letter-spacing:4px;margin-top:6px}
body #world,body.simple-view #world,body.comparing #world{height:100dvh}
body #breadcrumb,body #lake-title,.island-marker{display:none!important}
body header #menu-toggle{margin:0 0 0 auto;display:flex;align-items:center;gap:9px;height:46px;min-height:46px;padding:0 17px;border:1px solid #ffffffb8;border-radius:16px;background:#fffff1e8;color:#174752;font:600 14px/1.2 ui-sans-serif,system-ui,sans-serif;box-shadow:0 3px 18px #123f5010;backdrop-filter:blur(16px)}
#menu-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
body #world-menu{position:absolute;right:30px;top:82px;width:230px;padding:9px;border:1px solid #ffffffad;border-radius:19px;background:#fdfdf5f5;box-shadow:0 12px 45px #123f5026;backdrop-filter:blur(20px);max-height:calc(100dvh - 100px);overflow:auto}
#world-menu[hidden]{display:none!important}
body #world-menu .mode-toolbar{display:flex;flex-direction:column;align-items:stretch;margin:0;padding:0;gap:2px;background:none;border:0;box-shadow:none;flex:auto}
body #world-menu .mode-toolbar a,body #world-menu button,body #world-menu select,body #world-menu #rocks-edit-toggle{position:static;display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;height:auto;min-height:42px;margin:0;padding:11px 13px;border:0;border-radius:11px;background:transparent;box-shadow:none;color:#234a50;text-align:left;font:500 14px/1.3 ui-sans-serif,system-ui,sans-serif;white-space:normal}
body #world-menu a:hover,body #world-menu button:hover{background:#eaf0e7}
body #world-menu .mode-toolbar a[aria-current=page]{background:#e7eee4;color:#214e4e;font-weight:650}
body #world-menu #environment-tools{position:static;display:flex!important;flex-direction:column;align-items:stretch;gap:2px;inset:auto;margin:5px 0 0;padding:5px 0 0;border-top:1px solid #dfe6de}
body #world-menu select{appearance:auto;display:block;background:#f0f3eb}
body #world-menu [hidden],body #world-menu #rocks-edit-toggle[hidden]{display:none!important}
body #travel-wrap,body.simple-view #travel-wrap{top:94px;left:24px;padding:8px 12px;border:1px solid #ffffffa8;border-radius:14px;background:#fffff2eb;backdrop-filter:blur(12px)}
body #info,body.simple-view #info{left:24px;bottom:24px;top:auto;width:270px;padding:18px;border-radius:18px;background:#fffff2ed;max-height:calc(100dvh - 200px);overflow:auto;box-shadow:0 7px 30px #123f5010}
body #info h2,body.simple-view #info h2{font-size:20px;line-height:1.25}
body #info p{font-size:13px;line-height:1.5}
body #info button,body #info a{font-size:13px;border-radius:10px;min-height:38px;padding:9px 11px}
body #rocks-editor,body #layout-editor,body #terrain-editor{top:90px;bottom:18px;right:18px;width:290px;padding:18px;border-radius:18px;background:#fffff4f5;box-shadow:0 12px 40px #123f501c;font:13px/1.45 inherit}
body #rocks-editor h2,body #terrain-editor h2{font-size:20px}
body #rocks-editor button,body #rocks-editor select{font-size:13px;min-height:36px;border-radius:9px;padding:8px 10px}
body .property-marker{padding:9px 13px;background:#fffdf0f0;border:1px solid #ffffffbc;border-radius:14px;font-size:12px;font-weight:600;box-shadow:0 5px 20px #123f5010}
body .zoom,body.simple-view .zoom{right:24px;bottom:24px;gap:5px}
body .zoom button,body.simple-view .zoom button{width:38px;min-width:38px;height:38px;min-height:38px;padding:0;font-size:20px;border:1px solid #ffffff9a;border-radius:12px;background:#fffdf0e8}
@media(max-width:760px){body header,body.simple-view header{height:82px;padding:18px}.brand{font-size:27px!important}body #world-menu{right:18px;top:73px}body #travel-wrap,body.simple-view #travel-wrap{top:84px;left:12px}body #info,body.simple-view #info{left:12px;bottom:12px;width:230px}body #rocks-editor,body #terrain-editor,body #layout-editor{top:82px;right:10px;bottom:10px;width:min(290px,calc(100vw - 20px))}body.comparing #world{height:66dvh}body .zoom,body.simple-view .zoom{right:12px;bottom:12px}}
/* Editing tools live inside the single Menu; inspectors size to their content. */
body #world-menu #build-tools{position:static;display:flex;flex-direction:column;width:auto;margin:5px 0 0;padding:5px 0 0;gap:2px;border:0;border-top:1px solid #21484018;background:none;box-shadow:none}
body #world-menu #build-tools button[aria-pressed=true]{background:#e7eee4}
.workspace-ready #world-menu #rocks-edit-toggle,.workspace-ready #world-menu #add-stuff,.workspace-ready #world-menu #terrain-entry{display:none!important}
body.workspace-ready #rocks-editor,body.workspace-ready #layout-editor,body.workspace-ready #terrain-editor{top:86px;right:18px;bottom:auto;max-height:calc(100dvh - 104px);width:304px;padding:0;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;font:14px/1.4 system-ui}
body.workspace-ready #rocks-editor[hidden],body.workspace-ready #layout-editor[hidden],body.workspace-ready #terrain-editor[hidden]{display:none}
.editor-heading{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #21484015}
body .editor-heading h2{font:650 18px/1.3 system-ui!important;margin:0!important}
body #rocks-editor .editor-heading button,body #terrain-editor .editor-heading button,body #layout-editor .editor-heading button{width:auto;margin:0;border:0;background:transparent;min-height:32px;padding:4px 8px}
.editor-content{overflow:auto;padding:12px 16px;min-height:0;overscroll-behavior:contain}
.editor-selection{margin-bottom:12px}.editor-selection:empty{display:none}
body #rocks-editor .editor-selection strong{margin:0 0 10px;font-size:15px;line-height:1.4}
body #rocks-editor p.selection-empty{margin:0 0 12px;font-size:14px;line-height:1.5;color:#526962}
body #rocks-editor details,.editor-content details{padding:8px 0;margin:8px 0;background:none;border:0;border-top:1px solid #21484018;border-radius:0}
.editor-content summary{font-size:14px;padding:7px 0;cursor:pointer;color:#49625b}
.editor-content details p{font-size:13px;line-height:1.5;color:#526962}
body #rocks-editor input[type=search]{width:100%;box-sizing:border-box;font-size:14px;margin:5px 0}
.editor-layers>.layer-list{max-height:310px;margin-top:7px;overflow:auto;border:1px solid #21484018;border-radius:10px;background:#fffef7}
body #rocks-editor .editor-layers .layer-group{margin:0;padding:0;border-top:1px solid #21484012}
body #rocks-editor .editor-layers .layer-group:first-child{border-top:0}
body #rocks-editor .editor-layers .layer-group>summary{padding:9px 10px;color:#214840;font-weight:650}
body #rocks-editor .editor-layers .layer-object{margin:0;padding:0 0 0 12px;border:0}
body #rocks-editor .editor-layers .layer-object>summary{padding:7px 9px;color:#49625b;font-size:13px}
body #rocks-editor .editor-layers .layer-row{display:block;width:100%;min-height:32px;margin:0;padding:6px 9px 6px calc(10px + var(--layer-depth,1)*12px);border:0;border-radius:0;background:transparent;color:#34534e;text-align:left;font-weight:450;white-space:normal}
body #rocks-editor .editor-layers .layer-row:hover{background:#edf2e9}
body #rocks-editor .editor-layers .layer-row[aria-selected=true]{background:#dfead9;color:#173f3e;font-weight:650;box-shadow:inset 3px 0 #2c6764}
.editor-layers .layer-empty{margin:0;padding:12px;color:#60766b;font-size:13px}
.editor-footer{flex-shrink:0;padding:10px 16px 12px;border-top:1px solid #21484020;background:#fbfcf4;max-height:38vh;overflow:auto}
body #rocks-editor .editor-footer>button,body #terrain-editor .editor-footer>button,body #layout-editor .editor-footer>button{width:100%;background:#214840;color:#fff;border:0;font-weight:600}
.editor-footer [role=status]{margin:3px 0 6px;font-size:12px;color:#526962}
.editor-context{display:flex;gap:6px;margin:12px 0}.editor-context button{flex:1}
body #rocks-editor .editor-content button,body #rocks-editor .editor-content select,body #terrain-editor button,body #layout-editor button{font-size:14px}
body #rocks-editor .move-pad{gap:5px;margin:8px 0}body #rocks-editor .move-pad button{font-size:14px;min-height:36px}
body #rocks-editor .edit-row button{min-width:60px}
body.workspace-ready #layout-toolbar{display:none!important}
body.workspace-ready:has(#rocks-editor:not([hidden])) #travel-wrap{display:none}
@media(max-width:760px){body.workspace-ready #rocks-editor,body.workspace-ready #layout-editor,body.workspace-ready #terrain-editor{top:78px;right:10px;bottom:auto;max-height:calc(100dvh - 90px);width:min(304px,calc(100vw - 20px))}}

body.workspace-ready .editor-minimized{display:none!important}

body #info .restaurant-toggle{display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;min-height:44px;background:transparent;color:#214840;border:0;border-radius:10px;padding:10px 12px;margin:2px 0;width:100%;font-size:16px}
body #info .restaurant-toggle:hover{background:#2148400c}
.restaurant-toggle .toggle-state{min-width:52px;text-align:center;border-radius:20px;background:#dce3dc;color:#4b625b;padding:5px 10px;font-size:14px}
.restaurant-toggle[aria-checked=true] .toggle-state{background:#214840;color:white}
.restaurant-toggle:focus-visible{outline:2px solid #214840;outline-offset:2px}
#restaurant-tools{display:grid;gap:6px}#restaurant-tools[hidden]{display:none}

/* Stable DOM labels above WebGL: intrinsic sizing and no backdrop resampling. */
body #labels{isolation:isolate}
body #labels .marker{width:max-content;max-width:none;backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffdf0;transition:none;animation:none}
body #labels .marker.selected{background:#173e3d;color:#fff}

.character-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #24483b20}.character-controls label{display:flex;align-items:center;gap:8px;font-size:14px}.character-controls select{padding:8px;border:1px solid #bccbc2;border-radius:8px;background:#fffef2;color:#173f3c}.character-controls button{font:inherit}
