/* The resource inspector remains available at ?view=resources. */
body.game-experience {
  --game-ink: #5c4068; --game-cyan: #be83ac; --game-line: rgba(255,255,255,.72);
  --game-ui-font: "BH3Observation-3012424867148861138", var(--sans);
  --glass-surface: linear-gradient(150deg,rgba(255,252,255,.48),rgba(255,246,253,.4) 45%,rgba(255,250,254,.72));
  --glass-filter: blur(8px) brightness(1.3) saturate(1.1);
  --glass-control: rgba(255,250,254,.62); --glass-tile: rgba(255,255,255,.16);
  --glass-hover: rgba(255,255,255,.38); --glass-selected: rgba(244,183,216,.24);
  --glass-border: rgba(255,255,255,.74); --glass-muted: #7d6187;
  --glass-shadow: 0 7px 24px rgba(119,65,117,.055), inset 0 1px 1px rgba(255,255,255,.95), inset 1px 0 1px rgba(255,255,255,.4), inset -1px -1px 1px rgba(255,255,255,.25);
  background: #161c28;
}
.game-experience .bridge { min-height: 240px; background: #a0bed6; }
.game-experience .bridge::before,
.game-experience .sky-glow, .game-experience .orbit-orb,
.game-experience .frame-line, .game-experience .masthead,
.game-experience .identity, .game-experience .vertical-caption,
.game-experience .scene-wash, .game-experience .scene-vignette { display: none; }
.game-experience .scene { position: absolute; inset: 0; }
.game-experience #viewport { width: 100%; height: 100%; }
.game-outfit-snapshot { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 19; pointer-events: none; }
.game-experience .drag-hint { display: none; }
.game-experience .subtitle-bubble { left: 42%; top: 19%; max-width: min(380px, 45vw); }
.game-experience .interaction-rail, .game-experience .controls-bar { display: none; }
.game-experience .loading-panel { z-index: 80; background: var(--glass-surface); border: 1px solid var(--glass-border); border-radius: 16px; box-shadow: var(--glass-shadow); color: var(--game-ink); font-family: var(--game-ui-font); backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); }
.game-experience .loading-title, .game-experience .loading-message { color: var(--game-ink); font-family: var(--game-ui-font); letter-spacing: 0; }
.game-experience .subtitle-bubble { border-color: var(--glass-border); border-radius: 14px; background: var(--glass-surface); color: var(--game-ink); box-shadow: var(--glass-shadow); font-family: var(--game-ui-font); letter-spacing: 0; backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); }
.game-experience[data-game-phase=loading] .bridge { background: #000; }
.game-experience[data-game-phase=loading] .loading-panel:not(.is-error) { display: none; }
.game-experience .loading-flower { color: #6489a8; }
.game-shell { position: absolute; inset: 0; z-index: 20; pointer-events: none; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; color: var(--game-ink); }
.game-shell [hidden], .game-action-close[hidden] { display: none !important; }
.game-shell button, .game-shell a { pointer-events: auto; }
.game-shell button { color: inherit; cursor: pointer; }
.game-shell button:focus-visible, .game-shell a:focus-visible { outline: 2px solid var(--game-cyan); outline-offset: 4px; }
.game-shell button:disabled { cursor: wait; opacity: .6; }
.game-source-bubble { position: absolute; z-index: 4; display: grid; place-items: center; width: max(44px, var(--bubble-size, 44px)); height: max(44px, var(--bubble-size, 44px)); padding: 0; border: 0; background: transparent; transform: translate(-50%, -50%); opacity: .92; filter: blur(.55px) drop-shadow(0 0 1.2px rgba(237, 247, 255, .42)) drop-shadow(0 2px 3px rgba(34, 58, 91, .16)); }
.game-source-bubble[data-world-plane="true"] { display: block; min-width: 0; min-height: 0; padding: 0; overflow: hidden; transform: none; opacity: 1; filter: none; box-shadow: none; background: transparent; }
.game-source-bubble[data-world-plane="true"]::after { content: none; }
.game-source-bubble[data-world-plane="true"] .game-source-bubble-tile { display: none; }
.game-source-bubble[hidden] { display: none; }
.game-shell .game-source-bubble:disabled { cursor: default; opacity: 1; }
.game-source-bubble-tile { display: block; background-repeat: no-repeat; background-size: 200% 200%; pointer-events: none; }
.game-source-bubble[data-preview="true"]::after { content: "预览"; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); color: #fff; font: 10px/1.2 sans-serif; text-shadow: 0 1px 3px #1b3254; }
.game-entry { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding-bottom: max(70px, 12vh); pointer-events: auto; color: #fff; }
.entry-brand { position: absolute; inset: 0; display: none; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; isolation: isolate; background: linear-gradient(135deg, #49253f 0%, #3c203f 46%, #28172e 100%); color: #f6e3ef; }
/* A single pearl-like sweep frames the crystal; the palette is a web adaptation
   of Elysia's pink hair, violet crystals and ice-blue costume accents. */
.entry-brand::before { content: ""; position: absolute; z-index: -1; width: 145%; height: 180%; left: -67%; top: -112%; border-radius: 50%; transform: rotate(-30deg); background: linear-gradient(155deg, rgba(202,117,164,.025) 50%, rgba(221,137,191,.09) 84%, rgba(207,171,236,.12) 100%); border: 1px solid rgba(243,185,223,.1); pointer-events: none; }
.entry-brand::after { content: ""; position: absolute; z-index: -1; width: 145%; height: 180%; right: -82%; bottom: -136%; border-radius: 50%; transform: rotate(-30deg); background: linear-gradient(130deg, rgba(172,135,213,.085), rgba(212,139,192,.025) 48%); border: 1px solid rgba(235,177,219,.075); pointer-events: none; }
.entry-intro-copy { display: flex; flex-direction: column; align-items: center; width: min(460px, 88vw); padding-bottom: 34px; text-align: center; }
.entry-brand p { margin: 0; }
.entry-brand .entry-fan-kicker { display: flex; align-items: center; gap: 16px; color: #d6a0c5; font: 12px/1.4 Georgia, serif; letter-spacing: .2em; text-indent: .2em; }
.entry-fan-kicker::before, .entry-fan-kicker::after { content: ""; width: 32px; height: 1px; background: #e3acd13d; }
.entry-flower { display: block; width: clamp(180px, 25vh, 240px); height: auto; margin: 24px 0 12px; object-fit: contain; }
.entry-brand h1 { margin: 0; font: 400 clamp(34px, 4vw, 48px)/1.4 "Songti SC", "SimSun", serif; letter-spacing: .22em; text-indent: .22em; }
.entry-brand .entry-roman-name { margin-top: 8px; color: #dcabc9; font: italic 16px/1.4 Georgia, "Times New Roman", serif; letter-spacing: .13em; text-indent: .13em; }
.entry-brand .entry-dedication { margin-top: 21px; color: #e4c2d9; font: 13px/1.8 "Songti SC", "SimSun", serif; letter-spacing: .24em; text-indent: .24em; }
.entry-brand .entry-start-hint { margin-top: clamp(34px, 6vh, 58px); padding: 0 0 8px; border-bottom: 1px solid #d79fc54d; color: #f1d5e8; font-size: 12px; letter-spacing: .16em; animation: entry-intro-breathe 2.8s ease-in-out infinite; }
.entry-brand .entry-fan-note { position: absolute; bottom: max(22px, 4vh); max-width: calc(100% - 44px); color: #c5a9c0; font-size: 10px; line-height: 1.9; letter-spacing: .02em; text-align: center; }
@keyframes entry-intro-breathe { 0%,100% { opacity: .68; } 50% { opacity: 1; } }
@media (max-width: 700px) {
  .entry-intro-copy { padding-bottom: 56px; }
  .entry-flower { width: clamp(160px, 25vh, 200px); margin: 22px 0 10px; }
  .entry-brand h1 { font-size: 34px; }
  .entry-brand .entry-start-hint { margin-top: 42px; }
  .entry-brand .entry-fan-note { bottom: max(18px, 3vh); font-size: 9px; }
}
@media (max-height: 600px) { .entry-intro-copy { padding-bottom: 40px; } .entry-flower { width: 128px; margin: 12px 0 5px; } .entry-brand h1 { font-size: 30px; } .entry-brand .entry-roman-name { margin-top: 3px; font-size: 13px; } .entry-brand .entry-dedication { margin-top: 10px; } .entry-brand .entry-start-hint { margin-top: 18px; } .entry-brand .entry-fan-note { bottom: 12px; font-size: 9px; line-height: 1.5; } }
.entry-start { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; }
.entry-start:hover:enabled { background: transparent; }
.entry-start:focus-visible { outline-offset: -8px !important; }
.game-shell:not([data-intro-started]) .entry-progress,
.game-shell:not([data-intro-started]) .entry-status { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { .entry-brand .entry-start-hint { animation: none; } }
.game-shell[data-phase=loading] .entry-brand { display: flex; }
.entry-progress { position: absolute; bottom: max(70px, 12vh); width: min(420px, 62vw); height: 3px; background: #ffffff38; }
.entry-progress span { display: block; width: 100%; height: 100%; background: #fff; }
.enter-bridge { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: #31ff83 !important; font-size: clamp(16px, 3.25vh, 40px); font-weight: 700; letter-spacing: 0; }
.enter-bridge > span { position: absolute; left: 50%; top: 73.3%; transform: translate(-50%, -50%); white-space: nowrap; text-shadow: 0 0 7px #31ff8333; animation: entry-prompt-breathe 1s ease-in-out infinite; }
.enter-bridge:hover:enabled { background: transparent; filter: none; }
.enter-bridge:focus-visible { outline-offset: -5px !important; }
@keyframes entry-prompt-breathe { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
.game-shell[data-phase=loading] .enter-bridge { visibility: hidden; }
.entry-status { position: absolute; bottom: max(88px, calc(12vh + 18px)); height: 18px; margin: 0; font-size: 11px; letter-spacing: .08em; text-shadow: 0 1px 3px #193448; }
.entry-foot { position: absolute; inset: auto 24px 18px; display: flex; justify-content: space-between; gap: 16px; font-size: 10px; color: #f5fcffcc; }
.entry-foot a { color: inherit; text-underline-offset: 4px; }
.game-shell[data-phase=bridge] .game-entry, .game-shell[data-phase=entering] .game-entry, .game-shell[data-phase=opening] .game-entry { display: none; }
.game-toolbar { display: none; position: absolute; bottom: max(20px, env(safe-area-inset-bottom)); right: max(26px, env(safe-area-inset-right)); gap: 9px; z-index: 3; }
.game-shell[data-phase=bridge] .game-toolbar { display: flex; }
.game-toolbar button { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; width: 108px; min-width: 0; height: 46px; padding: 8px 12px; border: 1px solid var(--glass-border); border-radius: 14px; background: var(--glass-control); color: var(--game-ink) !important; box-shadow: var(--glass-shadow); backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); transform: none; font: 16px/1 var(--game-ui-font); isolation: isolate; transition: background-color .18s, box-shadow .18s; }
/* Native nine-slice image parts remain in the glass layer; placement/tint are web adaptations. */
.game-nav-frame { position: absolute; inset: -5px; z-index: -1; pointer-events: none; border: 12px solid transparent; border-image: url("./assets/native-ui/dress-controls/BtnFrame04--7492256931271307503.png") 12 fill / 12px / 0 stretch; clip-path: inset(9px round 9px); opacity: .08; }
.game-toolbar .game-nav-icon { display: block; width: 25px; height: 25px; flex: none; object-fit: contain; pointer-events: none; filter: brightness(0); opacity: .58; }
.game-toolbar .game-nav-interaction { filter: none; opacity: 1; }
.game-toolbar button[data-drawer] { background: rgba(255,255,255,.82); }
.game-toolbar .game-nav-label { display: block; line-height: 20px; text-shadow: none; white-space: nowrap; }
.game-toolbar button:hover, .game-toolbar button[aria-expanded=true] { background: rgba(255,247,253,.76); box-shadow: var(--glass-shadow); }
.game-toolbar button[aria-expanded=true] .game-nav-frame { border-image-source: url("./assets/native-ui/dress-controls/BtnFrame03--341518075905527889.png"); filter: hue-rotate(104deg) saturate(.5); opacity: .1; }
.game-toolbar button:active { translate: 0 1px; }
.game-toolbar button:focus-visible { outline: 2px solid var(--game-cyan); outline-offset: 3px; }
.game-toolbar .game-hide-ui { min-width: 52px; }
.game-drawer-shade { position: absolute; z-index: 5; inset: 0; background: transparent; pointer-events: auto; }
.game-panel,
.game-experience.game-actions-open .interaction-rail,
.game-experience.game-actions-open .controls-bar {
  --panel-ink: var(--game-ink); --panel-muted: var(--glass-muted); --panel-cyan: var(--game-cyan); --panel-line: rgba(165,121,163,.1);
  color: var(--panel-ink); font-family: var(--game-ui-font); background: var(--glass-surface);
  border: 1px solid var(--glass-border); border-radius: 16px; box-shadow: var(--glass-shadow);
  backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); clip-path: none;
}
.game-panel { position: absolute; z-index: 6; right: 26px; bottom: 82px; width: min(320px, calc(100vw - 32px)); max-height: calc(100% - 106px); padding: 18px; pointer-events: auto; overflow-y: auto; scrollbar-color: #b69ab570 transparent; scrollbar-width: thin; }
.game-panel header { display: flex; justify-content: space-between; align-items: start; margin-bottom: 13px; padding-bottom: 13px; border-bottom: 1px solid var(--panel-line); }
.game-panel h2 { color: var(--game-ink); font-size: 20px; font-weight: 400; letter-spacing: 0; margin: 2px 0 8px; text-shadow: none; }
.game-close { display: grid; place-items: center; background: #ffffff40; border: 1px solid #ffffff80; border-radius: 9px; color: var(--glass-muted) !important; width: 30px; height: 30px; padding: 0; line-height: 1; font-size: 22px; clip-path: none; }
.game-close:hover, .game-close:focus-visible { background: var(--glass-hover); color: var(--game-ink) !important; }
.game-current { display: flex; flex-wrap: wrap; gap: 6px 10px; color: var(--glass-muted); font-size: 11px; }
.game-outfit { color: var(--game-ink); font-weight: 400; }
.game-outfit-list { display: grid; gap: 8px; }
.game-outfit-list button { position: relative; isolation: isolate; display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 4px 10px; min-height: 54px; padding: 10px 13px; border: 1px solid transparent; border-image: none; border-radius: 10px; background: transparent; color: var(--game-ink); text-align: left; clip-path: none; opacity: 1; transition: background-color .18s, border-color .18s; }
.game-outfit-list button::before { content: ""; position: absolute; z-index: -1; inset: -4px; border: 10px solid transparent; border-image: url("./assets/native-ui/dress-controls/BtnFrame04--7492256931271307503.png") 12 fill / 10px / 0 stretch; clip-path: inset(5px round 9px); opacity: .035; pointer-events: none; }
.game-outfit-list button:hover, .game-outfit-list button:focus-visible { background: var(--glass-hover); }
.game-outfit-list button.selected { background: var(--glass-selected); border-color: #e6bbd750; box-shadow: inset 2px 0 #dba3cb; }
.game-outfit-list button > img { grid-row: 1/3; align-self: center; width: 25px; height: 25px; object-fit: contain; filter: brightness(0); opacity: .45; }
.game-outfit-list button > small { color: var(--glass-muted); font-size: 11px; }
.game-outfit-list button > b { color: inherit; font-size: 14px; font-weight: 400; }
.game-setting { display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid var(--panel-line); border-radius: 7px; background: transparent; width: 100%; padding: 12px 5px; color: var(--game-ink); text-align: left; font: 13px var(--game-ui-font); transition: background-color .18s; }
.game-setting:hover, .game-setting:focus-visible { background: #ffffff38; color: var(--game-ink); }
.game-setting i { flex: 0 0 auto; min-width: 30px; padding: 4px 8px; border: 1px solid #ffffff90; border-radius: 7px; background: #ffffff40; color: var(--glass-muted); text-align: center; font-size: 11px; font-style: normal; }
.game-setting[aria-pressed=true] i { border-color: #c9a2d080; background: #d5b4e040; color: #8d599b; }
.game-music-tracks { display: flex; gap: 6px; padding: 8px 0 12px; border-bottom: 1px solid var(--panel-line); }
.game-music-tracks button { flex: 1; min-width: 0; padding: 8px 5px; border: 1px solid #ffffff70; border-radius: 9px; color: var(--glass-muted); background: #ffffff20; font: 12px var(--game-ui-font); transition: background-color .18s; }
.game-music-tracks button:hover, .game-music-tracks button:focus-visible { background: var(--glass-hover); }
.game-music-tracks button[aria-pressed=true] { color: var(--game-ink); background: var(--glass-selected); border-color: #c9a2d080; box-shadow: inset 0 1px #ffffff70; }
.game-key-help { margin: 14px 0 0; color: var(--glass-muted); font-size: 10px; line-height: 1.7; }
.game-experience.game-actions-open .interaction-rail { display: flex; position: absolute; z-index: 24; inset: 16px 26px 222px auto; width: min(320px, calc(100vw - 32px)); min-height: 0; padding: 17px 17px 10px; transform: none; flex-direction: column; overflow: hidden; animation: none; opacity: 1; translate: 0 0; }
.game-experience.game-actions-open .interaction-rail .resource-picker,
.game-experience.game-actions-open .interaction-rail .preview-scope,
.game-experience.game-actions-open .rail-kicker,
.game-experience.game-actions-open .rail-heading p { display: none; }
.game-experience.game-actions-open .rail-heading { margin: 0 0 11px; padding: 0 0 12px; border-bottom: 1px solid var(--panel-line); }
.game-experience.game-actions-open .rail-heading h2 { color: var(--game-ink); font: 400 20px var(--game-ui-font); letter-spacing: 0; margin: 3px 0 0; }
.game-experience.game-actions-open .action-search { display: grid; gap: 0; margin: 0 0 9px; color: var(--glass-muted); }
.game-experience.game-actions-open .action-search > span { display: none; }
.game-experience.game-actions-open .action-search input { min-width: 0; padding: 10px 12px; border: 1px solid #ffffff90; border-radius: 9px; color: var(--game-ink); background: #ffffff50; font: 12px var(--game-ui-font); clip-path: none; }
.game-experience.game-actions-open .action-search input::placeholder { color: var(--glass-muted); }
.game-experience.game-actions-open .action-search input:focus { border-color: #be99c9; outline: 1px solid #be99c940; }
.game-experience.game-actions-open .action-list { flex: 1; min-height: 0; margin-top: 2px; overflow: auto; scrollbar-color: #b69ab570 transparent; scrollbar-width: thin; }
.game-experience.game-actions-open .action-placeholder { padding: 9px 2px; color: var(--glass-muted); font: 12px var(--game-ui-font); }
.game-experience.game-actions-open .action-button { min-height: 42px; padding: 10px 5px; border-bottom-color: var(--panel-line); border-radius: 7px; color: var(--game-ink); background: transparent; font: 13px var(--game-ui-font); transition: background-color .18s; }
.game-experience.game-actions-open .action-button:hover:not(:disabled), .game-experience.game-actions-open .action-button:focus-visible { padding-left: 5px; background: #ffffff50; color: var(--game-ink); }
.game-experience.game-actions-open .action-button:focus-visible { outline: 1px solid #b88cc6; outline-offset: -1px; }
.game-experience.game-actions-open .action-button.is-playing { background: var(--glass-selected); color: #744a84; }
.game-experience.game-actions-open .action-button:disabled { color: #a896ad; }
.game-experience.game-actions-open .action-icon { width: 18px; height: 18px; flex-basis: 18px; border-color: #bba0c180; color: #a279ad; font-family: inherit; }
.game-experience.game-actions-open .action-button:hover:not(:disabled) .action-icon,
.game-experience.game-actions-open .action-button.is-playing .action-icon { background: #d7bce360; color: #91649f; }
.game-experience.game-actions-open .action-zone { display: none; }
.game-experience.game-actions-open .action-label { font-family: var(--game-ui-font); letter-spacing: 0; white-space: normal; }
.game-experience.game-actions-open .rail-foot { flex: 0 0 auto; margin-top: 8px; padding-top: 10px; border-top-color: var(--panel-line); color: var(--glass-muted); font-size: 10px; }
.game-experience.game-actions-open .rail-dot[data-state=ready] { background: #7bb9a5; box-shadow: none; }
.game-experience.game-actions-open .controls-bar { display: grid; z-index: 25; position: absolute; inset: auto 26px 82px auto; width: min(320px, calc(100vw - 32px)); height: 128px; min-height: 0; padding: 12px 15px; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); overflow: hidden; }
.game-experience.game-actions-open .scene-meta,
.game-experience.game-actions-open .camera-controls,
.game-experience.game-actions-open .controls-signature { display: none; }
.game-experience.game-actions-open .playback-controls { align-self: center; width: 100%; max-width: none; padding: 0; color: var(--game-ink); font-family: var(--game-ui-font); }
.game-experience.game-actions-open .playback-heading { gap: 8px; color: var(--glass-muted); font-size: 11px; }
.game-experience.game-actions-open .playback-heading strong { color: var(--game-ink); font-weight: 400; }
.game-experience.game-actions-open .playback-heading span { color: var(--glass-muted); font-variant-numeric: tabular-nums; }
.game-experience.game-actions-open #motionTimeline { height: 16px; margin: 5px 0 7px; accent-color: var(--game-cyan); }
.game-experience.game-actions-open .playback-buttons { flex-wrap: wrap; gap: 6px; }
.game-experience.game-actions-open .playback-buttons button { padding: 7px 9px; border: 1px solid #ffffff90; border-image: none; border-radius: 8px; color: var(--game-ink); background: #ffffff55; font: 11px var(--game-ui-font); clip-path: none; }
.game-experience.game-actions-open .playback-buttons button:hover:not(:disabled), .game-experience.game-actions-open .playback-buttons button:focus-visible,
.game-experience.game-actions-open .playback-buttons button:first-child { border-color: #c4a0ce80; background: var(--glass-selected); color: #744a84; }
.game-experience.game-actions-open .playback-buttons label { color: var(--glass-muted); font-size: 10px; }
.game-experience.game-actions-open .playback-buttons input { accent-color: var(--game-cyan); }
.game-experience.game-actions-open .playback-buttons select { max-width: 76px; padding: 5px 6px; border: 1px solid #ffffff90; border-radius: 7px; background: #ffffff50; color: var(--game-ink); font: 11px var(--game-ui-font); }
.game-action-close { position: absolute; z-index: 30; top: 24px; right: 34px; }
.game-ui-restore { position: absolute; bottom: 16px; right: 18px; min-width: 88px; height: 40px; border: 1px solid var(--glass-border); border-radius: 11px; background: var(--glass-surface); color: var(--game-ink) !important; box-shadow: var(--glass-shadow); backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); font: 14px var(--game-ui-font); }
.game-ui-hidden .game-shell > :not(.game-ui-restore):not(.native-visibility-controls),
.game-experience.game-ui-hidden .interaction-rail,
.game-experience.game-ui-hidden .controls-bar,
.game-experience.game-ui-hidden .subtitle-bubble,
.game-experience.game-ui-hidden .drag-hint { visibility: hidden !important; pointer-events: none !important; }
.game-experience.game-character-only .bridge { background: #161c28; }
.game-toast { position: absolute; bottom: 78px; left: 50%; transform: translateX(-50%); max-width: min(560px,85vw); padding: 11px 17px; border: 1px solid var(--glass-border); border-radius: 11px; background: var(--glass-surface); box-shadow: var(--glass-shadow); color: var(--game-ink); font: 12px/1.5 var(--game-ui-font); clip-path: none; backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); }
.game-load-progress { position: absolute; z-index: 24; left: 50%; bottom: max(92px, 12vh); transform: translateX(-50%); width: min(350px, calc(100vw - 48px)); padding: 14px 18px 12px; border: 1px solid var(--glass-border); border-radius: 14px; background: var(--glass-surface); box-shadow: var(--glass-shadow); backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); color: var(--game-ink); font: 12px/1.5 var(--game-ui-font); pointer-events: none; }
.game-load-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.game-load-heading [data-load-percent] { font-variant-numeric: tabular-nums; }
.game-load-progress progress { display: block; width: 100%; height: 4px; margin: 10px 0 0; border: 0; border-radius: 8px; overflow: hidden; appearance: none; background: #b694c833; accent-color: #db96c6; }
.game-load-progress progress::-webkit-progress-bar { background: #b694c833; border-radius: 8px; }
.game-load-progress progress::-webkit-progress-value { background: linear-gradient(90deg, #c69cdc, #e5a5cd); border-radius: 8px; }
.game-load-progress progress::-moz-progress-bar { background: #d6a0d4; border-radius: 8px; }
.game-load-progress [data-load-detail] { min-height: 18px; opacity: .76; font-size: 11px; font-variant-numeric: tabular-nums; }
.game-shell[data-phase=loading] .game-load-progress { bottom: max(108px, 14vh); color: #f1d5e8; border-color: #d79fc53d; background: #382139a8; box-shadow: 0 8px 25px #1e102528; }
.game-shell[data-phase=loading] .entry-progress, .game-shell[data-phase=loading] .entry-status { visibility: hidden; }
@media (max-height: 600px) { .game-shell[data-phase=loading] .game-load-progress { bottom: 68px; padding: 8px 14px; } .game-shell[data-phase=loading][data-intro-started] .entry-start-hint { visibility: hidden; } }
.bridge-entry-link { color: #7b6170; font-size: 12px; text-underline-offset: 4px; margin-left: 20px; }
.game-native-visibility .game-toolbar .game-hide-ui,
.game-native-visibility .game-ui-restore { display: none; }
.native-visibility-controls { position: absolute; left: 0; top: 0; z-index: 5; transform-origin: 0 0; pointer-events: none; }
.game-experience.game-actions-open .native-visibility-controls { visibility: hidden; }
.native-visibility-button { position: absolute; display: flex; align-items: center; justify-content: flex-end; margin: 0; border: 1px solid var(--glass-border); border-radius: 11px; background: var(--glass-surface); box-shadow: 0 3px 15px #48215812; backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); pointer-events: auto; transform: none; cursor: pointer; }
.native-visibility-button[hidden], .native-visibility-controls[hidden] { display: none !important; }
.native-visibility-button:focus-visible { outline: 2px solid var(--game-cyan); outline-offset: 3px; }
.native-visibility-content { display: flex; align-items: flex-start; }
.native-visibility-icon { display: block; position: relative; flex: none; }
.native-visibility-icon img { position: absolute; object-fit: contain; pointer-events: none; filter: brightness(0); opacity: .55; }
.native-visibility-label { display: flex; align-items: center; white-space: pre; font-weight: 400; letter-spacing: 0; line-height: 1; color: var(--game-ink) !important; text-shadow: none; box-sizing: border-box; }
/* No timer or extra render loop: initial hint and pointer-leave share the same
   1s hold, then a 0.2s fade. Hover/keyboard focus cancels and restarts the hint. */
.game-ui-hidden .native-visibility-button[data-native-action=show],
.game-ui-hidden .game-ui-restore { opacity: 0; animation: game-restore-hint 1.2s linear forwards; }
.game-ui-hidden .native-visibility-button[data-native-action=show]:hover,
.game-ui-hidden .native-visibility-button[data-native-action=show]:focus-visible,
.game-ui-hidden .game-ui-restore:hover,
.game-ui-hidden .game-ui-restore:focus-visible { opacity: 1; animation: none; }
@keyframes game-restore-hint { 0%,83.333% { opacity: 1; } 100% { opacity: 0; } }
.game-display-settings { margin: 12px 0 3px; border-top: 1px solid var(--panel-line); padding: 12px 0 3px; color: var(--game-ink); }
.game-display-settings summary { cursor: pointer; color: var(--game-ink); font-size: 13px; letter-spacing: 0; }
.game-display-settings summary::marker { color: var(--game-cyan); }
.game-display-settings label { display: flex; justify-content: space-between; gap: 12px; margin-top: 15px; color: var(--glass-muted); font-size: 12px; }
.game-display-settings output { color: #9565a3; font-variant-numeric: tabular-nums; }
.game-display-settings input { width: 100%; margin: 10px 0 2px; accent-color: var(--game-cyan); }
.game-display-settings select { width: 100%; margin-top: 8px; padding: 9px 10px; border: 1px solid #ffffffa0; border-radius: 8px; background: #ffffff55; color: var(--game-ink); font: 12px var(--game-ui-font); }
.game-display-settings .game-display-reset { padding: 10px 0; color: var(--glass-muted); font: 12px var(--game-ui-font); text-align: left; }
.game-display-settings .game-display-reset:hover { color: var(--game-ink); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.game-experience { --glass-surface: rgba(250,243,255,.94); --glass-tile: rgba(255,255,255,.67); }
}
@media(max-width:600px) {
  .game-toolbar { right: 18px; bottom: max(16px,env(safe-area-inset-bottom)); gap: 6px; }
  .game-toolbar button { width: 92px; height: 44px; font-size: 14px; padding: 7px 8px; gap: 6px; }
  .game-toolbar .game-nav-icon { width: 23px; height: 23px; }
  .game-toolbar .game-hide-ui { min-width: 48px; }
  .game-panel { right: 16px; bottom: 80px; max-height: calc(100% - 104px); }
  .game-experience.game-actions-open .interaction-rail { inset: 12px 16px 220px auto; width: min(320px,calc(100vw - 32px)); }
  .game-experience.game-actions-open .controls-bar { right: 16px; bottom: 80px; width: min(320px,calc(100vw - 32px)); }
  .game-action-close { top: 20px; right: 24px; }
  .game-experience .subtitle-bubble { left: 14%; top: 16%; max-width: 72vw; }
}
@media(max-height:540px) {
  .game-panel { bottom: 82px; max-height: calc(100% - 106px); }
  .game-experience.game-actions-open .interaction-rail { bottom: 210px; }
  .game-experience.game-actions-open .controls-bar { height: 116px; }
}
@media(max-width:639px) and (max-height:540px) {
  .game-panel { right: 12px; bottom: 80px; max-height: calc(100% - 104px); }
  .game-experience.game-actions-open .interaction-rail { inset: 10px 12px 208px auto; width: min(320px,calc(100vw - 24px)); }
  .game-experience.game-actions-open .controls-bar { right: 12px; bottom: 80px; width: min(320px,calc(100vw - 24px)); height: 116px; }
}
@media(prefers-reduced-motion:reduce) {
  .game-toolbar button, .game-outfit-list button, .game-setting, .game-experience.game-actions-open .action-button { transition: none; }
  .game-ui-hidden .native-visibility-button[data-native-action=show], .game-ui-hidden .game-ui-restore { animation-duration: 1s; animation-timing-function: steps(1,end); }
}

.game-park-toggle .game-nav-label{font-size:15px;line-height:1.05;bottom:7px}.game-park-toggle .game-nav-label small{display:block;font-size:10px;line-height:1.2;opacity:.8}
