.file-player{max-width:1120px}.file-opening{max-width:780px;margin-bottom:28px}.file-opening h1{font-size:clamp(32px,5vw,54px);letter-spacing:-1.5px}.file-note{font-size:14px;line-height:1.6;color:#5f6276}.file-player button,#file-confirm button{min-height:44px;min-width:44px;font:inherit;cursor:pointer}.file-player button:disabled{cursor:default}.file-play-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.file-play-head h2{margin:0 0 20px;overflow-wrap:anywhere}.file-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.file-player [hidden]{display:none!important}#file-error{color:#9c2440;overflow-wrap:anywhere;line-height:1.6}#file-progress{color:#514365}#file-confirm{max-width:520px;width:calc(100% - 32px);border:1px solid #c8bddb;border-radius:16px;padding:24px;color:#202234;background:#faf9f6;box-sizing:border-box}#file-confirm::backdrop{background:#202234aa}#file-confirm h2,#file-confirm p{overflow-wrap:anywhere}#file-mount{min-width:0}#file-mount .experience-title{display:none}#file-mount .experience-rooms,#file-mount .experience-puzzles{display:flex;gap:8px;flex-wrap:wrap}#file-mount .experience-room,#file-mount .experience-puzzle{max-width:100%;overflow-wrap:anywhere}#file-mount .experience-locks{padding-left:22px}#file-play-title:focus-visible{outline:3px solid #6040b0;outline-offset:5px}@media(max-width:450px){.file-controls>button{width:100%}.file-player{padding-inline:16px}.file-play{padding:16px}.file-opening h1{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){.file-player *{scroll-behavior:auto!important}}

.file-player-active{padding-top:24px}.file-player-active .file-opening{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 18px;max-width:none;margin-bottom:20px}.file-player-active #file-scope{margin:0}.file-player-active #file-load-status,.file-player-active #file-error{grid-column:1/-1;margin:0}.file-opening #file-load-status:empty,.file-opening #file-error:empty{display:none}@media(max-width:600px){.file-player-active .file-opening{grid-template-columns:minmax(0,1fr);gap:8px}.file-player-active #file-open{justify-self:start}}
