@import url('./tokens.css');
.mxm-ui,.mxm-ui *{box-sizing:border-box;font-style:normal}.mxm-ui{position:fixed;inset:0;width:100dvw;height:100dvh;z-index:900;color:var(--mxm-ink);font-family:"EB Garamond",serif;pointer-events:none;overflow:hidden}:where(.mxm-ui button,.mxm-ui input){font:inherit;font-style:normal;border-radius:0}.mxm-ui button{padding:0;border:0;background:transparent;color:inherit}.mxm-layer{position:fixed;inset:0;display:none;pointer-events:auto;opacity:0;transition:opacity .22s ease}.mxm-layer[data-open="true"]{display:flex;opacity:1}.mxm-backdrop{background:rgba(0,0,0,.35)}.mxm-hud{position:absolute;inset:0;color:#fff;pointer-events:none;font-family:"Space Mono",monospace}.mxm-hud button{pointer-events:auto}.mxm-cross{position:absolute;width:28px;height:28px;transform:translate(-50%,-50%)}.mxm-cross:before,.mxm-cross:after{content:"";position:absolute;background:rgba(255,255,255,.94)}.mxm-cross:before{width:var(--mxm-hair);height:28px;left:13.75px}.mxm-cross:after{height:var(--mxm-hair);width:28px;top:13.75px}.mxm-x{position:absolute;width:14px;height:14px;cursor:pointer;z-index:8}.mxm-x:before,.mxm-x:after{content:"";position:absolute;left:6.75px;top:0;width:var(--mxm-hair);height:14px;background:#000}.mxm-x:before{transform:rotate(45deg)}.mxm-x:after{transform:rotate(-45deg)}.mxm-star{display:block;color:var(--mxm-item)}.mxm-star svg{display:block;width:100%;height:100%}.mxm-panel{position:relative;background:var(--mxm-panel);border:0;outline:0;box-shadow:none}.mxm-panel:after{content:"";position:absolute;inset:6px;border:var(--mxm-hair) solid #000;pointer-events:none}.mxm-action,.mxm-outline-action{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;font:400 1rem/1 "EB Garamond",serif}.mxm-action{background:#000!important;color:#fff!important}.mxm-outline-action{border:var(--mxm-hair) solid #000!important}.mxm-action-arrow:before{content:"";position:absolute;right:18px;top:50%;width:25px;height:var(--mxm-hair);background:currentColor;transform:translateY(-50%)}.mxm-action-arrow:after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-top:var(--mxm-hair) solid currentColor;border-right:var(--mxm-hair) solid currentColor;transform:translateY(-50%) rotate(45deg)}.mxm-arrow-svg{display:block;width:30px;height:12px;overflow:visible}.mxm-arrow-svg path{fill:none;stroke:#fff;stroke-width:.5;vector-effect:non-scaling-stroke;stroke-linecap:square;stroke-linejoin:miter}.mxm-art-image,.mxm-grid-item img,.mxm-detail-art-image img{display:block;width:100%;height:100%;object-fit:contain}.mxm-art-star,.mxm-detail-art-star{cursor:pointer}.mxm-art-star svg,.mxm-detail-art-star svg{display:block;width:100%;height:100%}.mxm-art-star path{fill:none;stroke:#fff;stroke-width:1.2}.mxm-art-star[data-collected="true"] path{fill:#fff}.mxm-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}body:has(.mxm-layer[data-open="true"]) #mxm-ui-root>.mxm-hud{visibility:hidden}[hidden]{display:none!important}

.mxm-item-flash[data-open="true"]{animation:mxm-item-life 5s linear both}@keyframes mxm-item-life{0%,95.6%{opacity:1}100%{opacity:0}}

/* Visitor presentation invariants: one UI font, safe overlay shell and opacity-only transitions. */
.mxm-ui{width:100vw;height:100vh;width:100dvw;height:100dvh;font-family:"EB Garamond",serif}
.mxm-ui :where(h1,h2,h3,h4,h5,h6,p,div,span,button,input,select,textarea){font-family:"EB Garamond",serif!important}
.mxm-ui>.mxm-hud,.mxm-ui>.mxm-hud :where(div,span,button){font-family:"Space Mono",monospace!important}
.mxm-ui .mxm-brand-museum{font-family:"EB Garamond",serif!important}
.mxm-ui :where(button,input,select,textarea){font:inherit;line-height:normal;box-sizing:border-box;appearance:none;-webkit-appearance:none}
.mxm-layer{display:flex!important;max-width:100vw;max-height:100vh;max-height:100dvh;padding:var(--mxm-safe-t) var(--mxm-safe-r) var(--mxm-safe-b) var(--mxm-safe-l);overflow:auto;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .14s ease-in,visibility 0s linear .14s}
.mxm-layer[data-open="true"]{pointer-events:auto;visibility:visible;opacity:1;transition:opacity .15s ease-out}
.mxm-artwork-layer{display:block!important}
.mxm-panel{max-width:calc(100vw - var(--mxm-safe-l) - var(--mxm-safe-r));max-height:calc(100vh - var(--mxm-safe-t) - var(--mxm-safe-b));max-height:calc(100dvh - var(--mxm-safe-t) - var(--mxm-safe-b))}
.mxm-detail{display:block!important;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .14s ease-in,visibility 0s linear .14s}
.mxm-detail[data-open="true"]{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .15s ease-out}
.mxm-item-flash{visibility:hidden}.mxm-item-flash[data-open="true"]{visibility:visible}
@media (prefers-reduced-motion:reduce){.mxm-layer,.mxm-layer[data-open="true"],.mxm-detail,.mxm-detail[data-open="true"]{transition:none!important}}

/* Phase 3 multiplayer presence: isolated selector styles only. */
.mxm-presence-layer{align-items:center;justify-content:center;background:rgba(0,0,0,.35)}
.mxm-presence-panel{width:min(560px,calc(100vw - 40px));min-height:510px;padding:42px 36px 34px;color:#000;pointer-events:auto}
.mxm-presence-title{margin:0;text-align:center;font:400 26px/30px "EB Garamond",serif!important}
.mxm-presence-sub{max-width:390px;margin:10px auto 0;text-align:center;font:400 12px/16px "EB Garamond",serif!important;text-transform:uppercase}
.mxm-presence-name{margin:8px 0 18px;text-align:center;font:400 23px/1 "EB Garamond",serif!important;transform:none}
.mxm-presence-reroll{width:100%;height:44px;margin-top:14px;font:400 15.6px/1 "EB Garamond",serif!important;text-transform:none}
.mxm-presence-avatars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px}
.mxm-presence-avatar{display:grid;place-items:center;aspect-ratio:1;border:var(--mxm-hair) solid #000!important;cursor:pointer;background:transparent!important;overflow:hidden}
.mxm-presence-avatar[data-selected="true"]{outline:3px solid #000;outline-offset:-4px}
.mxm-presence-avatar img{display:block;width:88%;height:88%;object-fit:contain}
.mxm-presence-confirm{width:100%;height:54px;margin-top:26px;font:400 15.6px/1 "EB Garamond",serif!important;text-transform:none}
.mxm-presence-confirm:disabled{opacity:.35;cursor:default}

/* Canonical visitor UI shell elements previously owned outside mxm-ui. */
.mxm-status{position:fixed;left:50%;top:16px;transform:translateX(-50%);max-width:80%;padding:12px 18px;background:#171717e8;color:white;font:15px "Space Mono";z-index:10001;pointer-events:none}
.mxm-status[hidden]{display:none!important}
.mxm-mobile-joystick{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:120px;height:120px;background:rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;touch-action:none;z-index:9999;pointer-events:auto}
.mxm-mobile-joystick-knob{width:50px;height:50px;background:rgba(255,255,255,.8);border-radius:50%}


/* Final approved HUD/user and full-screen information presentation. */
.mxm-hud .mxm-counter{display:grid!important;grid-template-columns:29px 1px minmax(0,1fr);align-items:center;justify-items:center;padding:0!important}
.mxm-hud .mxm-counter-user{display:grid;place-items:center;width:100%;height:100%}
.mxm-hud .mxm-user-icon-svg{display:block;width:13px;height:17px;overflow:visible}
.mxm-hud .mxm-counter[data-authenticated="false"] .mxm-user-icon-svg>*{fill:none;stroke:currentColor;stroke-width:.8;vector-effect:non-scaling-stroke}
.mxm-hud .mxm-counter[data-authenticated="true"] .mxm-user-icon-svg>*{fill:currentColor;stroke:currentColor;stroke-width:.6;vector-effect:non-scaling-stroke}
.mxm-hud .mxm-counter-divider{display:block;width:.5px;height:20px;background:currentColor;opacity:.9}
.mxm-hud .mxm-counter-copy{display:block;width:100%;text-align:center;white-space:nowrap}
.mxm-hud .mxm-help button{display:flex;align-items:center;height:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}
.mxm-hud .mxm-help-q{font-size:12px}
.mxm-layer :where(h1,h2,h3,h4,h5,h6,p,div,span,button,input,select,textarea,label){font-family:"EB Garamond",serif!important}
.mxm-info-layer{position:fixed;inset:0;z-index:40;background:var(--mxm-panel);color:#000;overflow:auto;padding:0;align-items:flex-start;justify-content:flex-start}
.mxm-info-close{position:fixed;right:24px;top:20px;width:18px;height:18px;z-index:45}
.mxm-info-close:before,.mxm-info-close:after{left:8.75px;height:18px}
.mxm-info-content{width:min(720px,50vw);margin:172px auto 70px}
.mxm-info-title{margin:0;font:400 34px/1.18 "EB Garamond",serif!important;letter-spacing:0;text-transform:none}
.mxm-info-columns{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:20px}
.mxm-info-columns p{margin:0;font:400 13px/1.48 "EB Garamond",serif!important}
.mxm-map-content{width:min(720px,50vw);min-height:calc(100dvh - 142px);margin:0 auto;padding:82px 0 60px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box}
.mxm-map-image{display:block;width:min(680px,48vw);height:auto;margin:26px auto 32px;object-fit:contain;flex:0 0 auto}
.mxm-map-rooms{display:grid;grid-template-columns:1fr 1fr;column-gap:44px;align-items:start;font:400 12.5px/1.45 "EB Garamond",serif!important}
.mxm-map-column{display:flex;flex-direction:column;gap:0}
.mxm-map-room{margin:0;break-inside:avoid}
.mxm-password-field [data-forgot]{position:absolute;right:24px;top:11px;padding:0;border:0;background:transparent;color:#000;font-size:11px;line-height:1;text-decoration:underline;cursor:pointer}
@media(max-width:700px){.mxm-password-field [data-forgot]{right:15px}}
