/* Visitor chrome is screen anchored and independent of the 3D/editor viewport. */
:root{--ui-green:#122d24;--ui-green-raised:#1b3b30;--ui-brass:#cfb580;--ui-edge:#a58c565c;--ui-text:#f1eee4}
#museum-hud{inset:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) auto max(16px,env(safe-area-inset-left));display:block;padding:0;pointer-events:none}
#museum-context{width:min(340px,calc(100vw - 108px));max-height:35dvh;display:flex;gap:9px;padding:14px 16px;border-radius:14px;background:#122d24ed;border:1px solid var(--ui-edge);pointer-events:auto;overflow:auto}
#museum-context header{position:static;max-width:none;text-shadow:none}#museum-context header small{font-size:9px;letter-spacing:1.7px;color:var(--ui-brass)}
#museum-context h1{font:400 23px/1.22 Georgia,serif;margin:7px 0;color:var(--ui-text);overflow-wrap:anywhere}
#museum-context #museum-description{font-size:12px;line-height:1.5;margin:0;color:#cfd8cc;overflow-wrap:anywhere}
#museum-context #museum-description:empty{display:none}#museum-context #hall-label{position:static;align-self:flex-start;padding:4px 9px;font-size:11px;line-height:1.4;background:#294b39;border:1px solid #a58c5633;border-radius:7px;color:#e5cc9b}
#museum-hud #visitor-tools{position:absolute;top:0;right:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:4px;width:58px;max-width:58px;padding:6px;background:var(--ui-green);border:1px solid var(--ui-edge);border-radius:18px;pointer-events:auto}
#visitor-tools .rail-button{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:0;background:transparent;border:1px solid transparent;border-radius:12px;color:#dce4d9;transition:background .12s,color .12s,border-color .12s}
#visitor-tools .rail-button:hover,#visitor-tools .rail-button:focus-visible{background:#29483a;border-color:#a58c564a;color:var(--ui-brass)}
#visitor-tools .rail-button:active{background:#385843}#visitor-tools .rail-button[aria-pressed=true]{background:#35503c;color:#e6ce9b;border-color:#b69c6166}
.rail-button svg{width:22px;height:22px;pointer-events:none}.rail-tooltip{position:absolute;right:calc(100% + 14px);padding:7px 10px;max-width:min(220px,calc(100vw - 96px));width:max-content;background:var(--ui-green);border:1px solid var(--ui-edge);border-radius:8px;box-shadow:0 3px 10px #0003;font-size:12px;line-height:1.4;color:var(--ui-text);pointer-events:none;opacity:0;visibility:hidden}
@media(hover:hover){.rail-button:hover .rail-tooltip{opacity:1;visibility:visible}}.rail-button:focus-visible .rail-tooltip{opacity:1;visibility:visible}
[data-visitor-panel]{position:fixed;top:max(16px,env(safe-area-inset-top));right:calc(max(16px,env(safe-area-inset-right)) + 70px);z-index:24;width:min(330px,calc(100vw - 104px));max-height:calc(100dvh - 124px);overflow:auto;overscroll-behavior:contain;padding:17px;background:var(--ui-green);color:var(--ui-text);border:1px solid var(--ui-edge);border-radius:15px;box-shadow:0 8px 28px #0003;pointer-events:auto}
.visitor-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.visitor-panel-heading h2{margin:0;font-size:16px;font-weight:500;line-height:1.4}
.visitor-panel-heading button{display:grid;place-items:center;width:34px;min-width:34px;height:34px;padding:6px;border-radius:9px;background:transparent;border:1px solid #a58c5633;color:#d9d9ce}.visitor-panel-heading svg{width:20px;height:20px}
[data-visitor-panel] p,[data-visitor-panel] li{font-size:12px;line-height:1.65;color:#cad5c8;overflow-wrap:anywhere}[data-visitor-panel] p{margin:10px 0}[data-visitor-panel] h3{margin:12px 0;font-size:17px;font-weight:500}
[data-visitor-panel] label{font-size:12px;line-height:1.5;color:#eadaba;margin:12px 0 6px}[data-visitor-panel] select{font-size:14px;min-height:44px;border-radius:9px;background:#254434;color:var(--ui-text);border:1px solid #a58c5666;width:100%;max-width:100%;margin:0;text-overflow:ellipsis}
.mode-explanation{padding-left:17px;margin:15px 0 0}.mode-explanation li{margin:8px 0}.mode-explanation strong{color:#e4d3ae;font-weight:500}
[data-visitor-panel] .visitor-action{display:block;width:100%;min-height:44px;font-size:13px;background:#294b39;border:1px solid #a58c5670;border-radius:9px;margin-top:14px}
[data-visitor-panel] #section-menu{position:static;width:auto;background:none;padding:0;border:0;border-radius:0}[data-visitor-panel] #section-menu label{font-size:12px;margin-bottom:6px}
[data-visitor-panel] .visitor-check{display:flex;gap:8px;align-items:center;color:#cfd8cc;font-weight:400}.visitor-check input{flex:none;min-height:0;width:18px;height:18px;margin:0;accent-color:#cdb17a}
#visitor-footer{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));gap:8px;padding:0}
#visitor-footer #visit-surface{width:min(290px,calc(100vw - 104px));font-size:12px;min-height:40px;padding:9px 12px;margin:0;background:#122d24eb;border:1px solid var(--ui-edge);border-radius:10px;color:var(--ui-text)}
#visitor-footer-info{align-items:flex-end;gap:12px}#visitor-footer #hint{flex:0 1 auto;width:max-content;max-width:100%;padding:8px 12px;background:#122d24eb;border:1px solid #a58c5633;border-radius:9px;font-size:11px;line-height:1.5;color:#dde1d1}
#visitor-footer #status{flex:0 1 auto;max-width:min(420px,40vw);padding:7px 10px;font-size:11px;background:#122d24e0;border:1px solid #a58c5633;border-radius:9px;color:#d3dbcc;overflow-wrap:anywhere;line-height:1.5}#visitor-footer #status:empty{display:none}
#visitor-catalogue{width:min(620px,calc(100vw - 24px));max-height:80dvh;background:var(--ui-green);color:var(--ui-text);border-color:var(--ui-edge);box-shadow:0 10px 40px #0004}
#visitor-catalogue .help,#visitor-catalogue .visitor-exhibit p{color:#cdd6c8}#visitor-catalogue .visitor-exhibit{border-color:#a58c564a}#visitor-catalogue button{border-color:#a58c5655;border-radius:9px;background:#294b39}
#hover-title{max-width:min(300px,calc(100vw - 24px));background:var(--ui-green);border-color:var(--ui-edge);border-radius:10px;z-index:22}.compact-hud #museum-context{display:none}
.admin-mode #museum-hud,.admin-mode [data-visitor-panel],.admin-mode #visitor-footer{display:none}
@media(max-width:600px){#museum-hud{inset:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) auto max(10px,env(safe-area-inset-left));position:fixed}#museum-context{width:calc(100vw - 94px);max-width:340px;padding:10px 12px;gap:6px;max-height:30dvh}#museum-context h1{font-size:18px}#museum-context header small{font-size:8px}#museum-context #museum-description{font-size:11px}#museum-context #hall-label{font-size:11px}
 [data-visitor-panel]{top:max(10px,env(safe-area-inset-top));right:80px;width:calc(100vw - 90px);max-width:330px;max-height:calc(100dvh - 150px);padding:13px}#visitor-footer{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));gap:6px}#visitor-footer-info{align-items:flex-start;gap:5px}#visitor-footer #status{max-width:100%;font-size:10px;order:-1;text-align:left}#visitor-footer #hint{font-size:10px;padding:7px 10px}#visitor-footer #visit-surface{width:calc(100vw - 94px);max-width:290px;font-size:12px;min-height:44px}}
@media(pointer:coarse){.rail-tooltip{display:none}.visitor-panel-heading button{width:44px;height:44px}.rail-button{touch-action:manipulation}}
@media(max-height:540px){#museum-hud #visitor-tools{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}.rail-tooltip{display:none}#museum-context{max-height:30dvh}[data-visitor-panel]{max-height:calc(100dvh - 120px)}#visitor-footer #status{max-width:35vw}#visitor-footer #hint{font-size:10px}}
@media(prefers-reduced-motion:reduce){#visitor-tools .rail-button{transition:none}}

#touch-controls{position:fixed;inset:auto 16px calc(100px + env(safe-area-inset-bottom)) 16px;z-index:5;display:flex;align-items:end;justify-content:space-between;pointer-events:none}#touch-pad{width:106px;height:106px;background:#153a2baf;border:1px solid #ac946b;border-radius:50%;display:grid;place-items:center;touch-action:none;pointer-events:auto}#touch-knob{display:block;width:42px;height:42px;border-radius:50%;background:#b6a17b9c;pointer-events:none}#touch-interact{width:48px;height:48px;border-radius:50%;touch-action:none;pointer-events:auto}.admin-mode #touch-controls,.visitor-panel-open #touch-controls,body:has(dialog[open]) #touch-controls{display:none}@media(max-height:500px){#touch-controls{bottom:calc(55px + env(safe-area-inset-bottom))}#touch-pad{width:90px;height:90px}.visitor-panel{max-height:calc(100dvh - 24px)}}

#performance-stop{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:12}#performance-text{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}

.input-guidance{font-size:12px;line-height:1.6;overflow-wrap:anywhere}#touch-interact svg{width:24px;height:24px;pointer-events:none}#touch-interact:focus-visible{outline:2px solid var(--ui-brass);outline-offset:3px}
