/* Shared modal surface across flat space, spatial experiences and account tools. */
html,body,body *{scrollbar-width:none!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
html body :is(dialog,.modal-card,.modal-panel,.modal-box,.popup-content):not(#glass-specificity-anchor){background:rgba(235,237,235,.72)!important;background-image:none!important;backdrop-filter:blur(28px) saturate(110%)!important;-webkit-backdrop-filter:blur(28px) saturate(110%)!important;border:1px solid rgba(255,255,255,.78)!important;box-shadow:0 24px 80px rgba(30,36,30,.2)!important;color:#30352f!important}
html body dialog::backdrop{background:rgba(34,39,33,.25)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}
html body :is(dialog,.modal-card,.modal-panel,.modal-box)>:is(header,footer,.modal-header,.modal-footer,.admin-modal-sticky-head,.admin-modal-foot){background:transparent!important;border-color:rgba(255,255,255,.55)!important}
html body .modal-backdrop{background:rgba(34,39,33,.25)!important;backdrop-filter:blur(7px)!important}

html body dialog.audio-experience.content-fullscreen:not(#glass-specificity-anchor){background:#f3f1e5!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Platform dialog contract: feature workspace / compact confirmation. */
:root{--dialog-action-height:44px;--dialog-action-font:14px;--dialog-feature-width:1180px;--dialog-confirm-width:520px}
html body :is(dialog,.modal-card,.modal-panel,.modal-box) :is(button[type=submit],.btn-primary,.btn-secondary,.visual-primary,.experience-fullscreen-back,.experience-exit-fullscreen):not(#dialog-scale):not(#dialog-scale-override){box-sizing:border-box!important;height:var(--dialog-action-height)!important;min-height:var(--dialog-action-height)!important;padding:0 22px!important;font-size:var(--dialog-action-font)!important;line-height:1.4!important;border-radius:999px!important}
html body :is(dialog,.modal-card,.modal-panel,.modal-box):not(#dialog-scale):not(#dialog-scale-override){box-sizing:border-box!important;border-radius:28px!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important}
html body dialog:not(#dialog-scale):not(#dialog-scale-override):not(.content-fullscreen):not(.experience-fullscreen):not(.atlas-fullscreen){width:min(var(--dialog-confirm-width),calc(100vw - 32px))!important;height:fit-content!important;min-height:0!important}
html body dialog:is(#admin-access-dialog,#therapist-picker,.spatial-experience,.flat-atlas-dialog,.visual-questionnaire,.visual-report,.visual-image-zoom,.audio-experience):not(#dialog-scale):not(#dialog-scale-override):not(.content-fullscreen):not(.experience-fullscreen):not(.atlas-fullscreen){width:min(var(--dialog-feature-width),calc(100vw - 64px))!important;height:min(900px,calc(100dvh - 64px))!important}
html body :is(dialog,.modal-card,.modal-panel,.modal-box) :is(footer,.modal-footer,.modal-actions,.dialog-actions,.admin-modal-foot) :is(button,a[role=button]):not(#dialog-scale):not(#dialog-scale-override){box-sizing:border-box!important;height:var(--dialog-action-height)!important;min-height:var(--dialog-action-height)!important;max-height:none!important;min-width:96px!important;padding:0 22px!important;font-size:var(--dialog-action-font)!important;line-height:1.4!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;white-space:nowrap!important}
html body :is(dialog,.modal-card,.modal-panel,.modal-box) :is(footer,.modal-footer,.modal-actions,.dialog-actions,.admin-modal-foot) :is(button,a)[hidden]:not(#dialog-scale):not(#dialog-scale-override){display:none!important}
html body :is(dialog,.modal-card,.modal-panel,.modal-box)>:is(header,.modal-header){box-sizing:border-box!important;min-height:76px!important;padding:16px 24px!important}
html body :is(dialog,.modal-card,.modal-panel,.modal-box)>:is(footer,.modal-footer,.admin-modal-foot){box-sizing:border-box!important;min-height:76px!important;padding:16px 24px!important;gap:12px!important;align-items:center!important}
html body dialog :is([data-close],.modal-close):not(#dialog-scale):not(#dialog-scale-override){box-sizing:border-box!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;line-height:1!important;border-radius:50%!important;font-size:26px!important}
html body dialog:is(.content-fullscreen,.experience-fullscreen,.atlas-fullscreen):not(#dialog-scale):not(#dialog-scale-override){max-width:100vw!important;max-height:100dvh!important;border-radius:0!important}
@media(max-width:760px){html body dialog:is(#admin-access-dialog,#therapist-picker,.spatial-experience,.flat-atlas-dialog,.visual-questionnaire,.visual-report,.visual-image-zoom,.audio-experience):not(#dialog-scale):not(#dialog-scale-override):not(.content-fullscreen):not(.experience-fullscreen):not(.atlas-fullscreen){width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important}html body :is(dialog,.modal-card,.modal-panel,.modal-box)>:is(header,footer,.modal-header,.modal-footer){padding:12px 16px!important}html body dialog footer:not(#dialog-scale):not(#dialog-scale-override){flex-wrap:wrap!important}html body dialog footer button:not(#dialog-scale):not(#dialog-scale-override){min-width:76px!important;padding:0 14px!important}}

/* Game progress feedback floats above content without resizing the toolbar. */
html body .game-save-toast:not(#game-toast-width):not(#game-toast-width-override){position:fixed!important;left:50%!important;bottom:24px!important;top:auto!important;transform:translateX(-50%);z-index:1000;width:max-content;max-width:min(420px,calc(100% - 32px))!important;margin:0!important;padding:11px 18px;box-sizing:border-box;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:rgba(235,237,235,.92);backdrop-filter:blur(28px) saturate(110%);-webkit-backdrop-filter:blur(28px) saturate(110%);box-shadow:0 8px 28px #1e241e26;color:#30352f!important;font:14px/1.5 'Microsoft YaHei',sans-serif;text-align:center;overflow-wrap:anywhere;pointer-events:none}
html body .game-save-toast[hidden]{display:none!important}
