/* One control language for the gallery and square. Keep the central stage clear. */
:root{--walk-control-size:44px;--walk-control-bg:#30261eee;--walk-control-border:#c4ad7e80;--walk-control-text:#f3e5c9;--walk-control-bottom:92px}
.joystick,.exterior-ui .exterior-joystick{position:fixed;left:28px;bottom:var(--walk-control-bottom);width:84px;height:84px;border:1px solid var(--walk-control-border);border-radius:50%;background:var(--walk-control-bg);display:none;align-items:center;justify-content:center;touch-action:none;pointer-events:auto;z-index:15;user-select:none}
.joystick>div,.exterior-joystick>div{width:32px;height:32px;background:#eadab966;border:1px solid #ebd2a088;border-radius:50%;pointer-events:none}
.right-controls,.exterior-ui .exterior-controls{position:fixed;right:24px;bottom:32px;display:flex;flex-wrap:wrap;gap:8px;max-width:310px;z-index:15;pointer-events:auto}
.right-controls .circle-button,.exterior-ui .exterior-controls button{width:var(--walk-control-size);height:var(--walk-control-size);min-height:var(--walk-control-size);padding:0;border:1px solid var(--walk-control-border);border-radius:50%;background:var(--walk-control-bg);color:var(--walk-control-text);font:20px 'Noto Sans KR',Arial,sans-serif;display:grid;place-items:center;touch-action:manipulation}
.right-controls #sitBtn{width:auto;padding:0 14px;font-size:12px;border-radius:24px}
.exterior-ui .exterior-controls output{position:absolute;right:0;bottom:calc(100% + 8px);width:44px;text-align:center;font-size:10px;background:var(--walk-control-bg);color:var(--walk-control-text);padding:4px;border-radius:12px}
@media(max-width:700px),(pointer:coarse){.joystick,.exterior-ui .exterior-joystick{display:flex}.right-controls,.exterior-ui .exterior-controls{right:22px;bottom:var(--walk-control-bottom);display:grid;grid-template-columns:repeat(2,var(--walk-control-size));max-width:none;gap:8px}.right-controls #sitBtn{grid-column:span 2}}
@media(max-width:700px){:root{--walk-control-bottom:max(92px,calc(env(safe-area-inset-bottom) + 80px))}}
@media(min-width:701px) and (max-width:1100px){.right-controls,.exterior-ui .exterior-controls{right:22px;bottom:var(--walk-control-bottom);display:grid;grid-template-columns:repeat(2,var(--walk-control-size));max-width:none;gap:8px}.right-controls #sitBtn{grid-column:span 2}}
/* Inline SVGs have a stable, centered 22px box across OS/font/emoji engines.
   Keep existing mobile/desktop dock and joystick positions unchanged. */
.right-controls .circle-button,.exterior-ui .exterior-controls button{line-height:1}
.control-icon{display:block;width:22px;height:22px;min-width:22px;overflow:visible;pointer-events:none;margin:0}

/* Shared geometric close mark: glyph baselines cannot shift the X. */
button.close,button.docent-close,button.mp-map__close{display:grid!important;place-items:center!important;box-sizing:border-box;line-height:0!important;padding:0!important}svg.close-mark{display:block!important;width:22px!important;height:22px!important;flex:none;pointer-events:none}
.entry-sharing{font:12px/1.7 Arial!important;max-width:420px;margin:15px 0 0!important;color:#efe2c4}.entry-buttons{display:flex;gap:10px;flex-wrap:wrap}.entry-buttons .primary{margin-top:14px;min-height:48px;justify-content:center;gap:12px}.entry-buttons .entry-solo{background:#30261eee;color:#f1e4c7;border:1px solid #c8b58b}.welcome #entryStatus{font:12px Arial;color:#ffe6ad;min-height:1em;margin:8px 0}@media(max-width:700px){.entry-sharing{font-size:11px!important}.entry-buttons{flex-wrap:nowrap}.entry-buttons .primary{flex:1;padding:13px 15px}}

/* Mobile visitors asked for an unobstructed scene, while desktop help stays visible. */
@media (max-width: 760px), (pointer: coarse) {
 .toolbar .mobile-hint,.toolbar .desktop-hint,.toolbar .toolbar-rule,
 .exterior-world .exterior-caption,.exterior-world .exterior-operation-hint,.exterior-world .exterior-hint,
 .mpr-world .mpr-controls-help,.mpr-controls-help{display:none!important}
 .toolbar{width:auto;min-width:0;gap:0;padding:0 10px}
}

/* The same physical utility/help controls serve every indoor exhibition room. */
#indoorControlsHost{display:none}
body.entered:not(.outdoors) #indoorControlsHost{display:contents}
#indoorControlsHost .toolbar,#indoorControlsHost .right-controls{z-index:165}
body.capturing #indoorControlsHost{visibility:hidden}
/* The active room owns the shared sit button; hidden tracks proximity and overlays. */
/* Keep the four-syllable stand label inside the existing 44px utility target. */
body.ui-cleanup.masterpiece-room .right-controls #sitBtn{font-size:.625rem;line-height:1.2;white-space:nowrap}
