:root{--ink:#eee3cd;--paper:#211a14;--line:#d4b88c38}
*{box-sizing:border-box}
body{margin:0;background:#211a14;color:var(--ink);font:12px "Noto Sans SC","PingFang SC",sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button,select{font:inherit;color:inherit;cursor:pointer}
button{border:0;background:none}
button:disabled{opacity:.35;cursor:default}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #e5be7b;outline-offset:4px}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
header{position:fixed;z-index:5;top:24px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
header>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:9px;text-shadow:0 2px 14px #000}
.top-note{display:none}
nav{display:flex;gap:8px}
nav button{height:32px;border:1px solid #e9d8b932;border-radius:18px;padding:0 12px;font-size:10px;background:#20181078;backdrop-filter:blur(12px)}
nav b{font-size:9px;margin-left:5px;color:#d6b37d}
.small-button{width:32px;padding:0!important}
#studio{position:fixed;inset:0;overflow:hidden}
#scene{width:100%;height:100%;display:block;touch-action:none;cursor:grab}
#scene:active{cursor:grabbing}
#studio:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#160d0830,transparent 18%,transparent 75%,#160d0855);box-shadow:inset 0 0 140px #100b062b}
.scene-tools button{width:28px;height:28px;font-size:17px}
.scene-tools select{border:0;background:transparent;font-size:10px;padding:0 2px;max-width:85px;outline:none}
.scene-tools option{background:#2b2118}
#coin{width:29px;height:29px;position:relative;color:#d9b565;transition:transform .2s}
#coin:hover{transform:rotate(-12deg)}
#coin svg{width:23px;height:23px;fill:currentColor}
#coin span{display:none}
#draw-button{font-size:11px;letter-spacing:1px;padding:5px 2px;color:#f1ddbb}
#shake-button{font-size:10px;color:#b7a38a;border-left:1px solid #c5a87935;padding:2px 0 2px 10px;margin-left:3px}
.player{position:fixed;z-index:6;right:24px;bottom:24px;display:none;align-items:center;gap:10px;padding:6px 9px 6px 6px;width:276px;border:1px solid var(--line);border-radius:10px;background:#21180ce0;backdrop-filter:blur(16px);box-shadow:0 8px 30px #0002}
body.has-song .player{display:flex}
.player-art{width:31px;height:31px;flex-shrink:0;border-radius:3px;overflow:hidden;background:#4a3d2a;display:grid;place-items:center}
.player-art img{width:100%;height:100%;object-fit:cover}
.player-name{flex:1;min-width:0}
.player-name>span{display:none}
.player-name strong{display:block;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-name small{display:block;font-size:7px;color:#b8a48a;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.transport{display:flex;align-items:center;gap:4px;height:28px}
.transport button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;font-size:14px;padding:0;line-height:1}
.transport #restart{display:none}
.transport #play{font-size:13px}
.transport #favorite.saved{color:#e9a07f}
#player-expand{width:21px;height:25px;font-size:15px;padding:0;color:#b9a587}
.progress,.player-extra{display:none}
body.player-expanded .player{flex-wrap:wrap;width:310px;padding:11px}
body.player-expanded .progress{display:block;width:100%;margin:9px 2px 5px}
body.player-expanded .transport #restart{display:block}
body.player-expanded .player-extra{display:flex;align-items:center;gap:13px;width:100%;padding:8px 0 3px}
.progress input{width:100%;height:2px;accent-color:#c89f60;display:block;margin:0}
.progress>div{display:flex;justify-content:space-between;font-size:8px;color:#b3a18b;margin-top:9px}
.player-extra label{display:flex;align-items:center;gap:7px}
.player-extra input[type=range]{width:56px;height:2px;accent-color:#c89f60}
.player-extra a,.player-extra button{font-size:9px;color:#c7b59a}
.player-extra button{padding:0}
.player-extra a{margin-left:auto}
.reveal-card{position:absolute;left:50%;bottom:76px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:16px;background:#20170ee3;border:1px solid #cba76d45;border-radius:9px;padding:11px 15px;box-shadow:0 10px 30px #0002;backdrop-filter:blur(12px);animation:appear .6s}
.ticket-top,.reveal-name small,.reveal-name p{display:none}
.reveal-name h2{font-size:13px;font-weight:500;white-space:nowrap;margin:0;padding-right:6px}
#reveal-play{background:#c6a36c;color:#281c10;padding:8px 11px;font-size:10px;border-radius:5px;white-space:nowrap}
#keep-drawing{font-size:9px;white-space:nowrap;color:#ac977a}
body.revealing .draw-control,body.revealing #scene-status{opacity:0;pointer-events:none}
body.revealing .player{opacity:0;pointer-events:none}
.hover-label{position:absolute;transform:translate(-50%,-130%);padding:7px 11px;background:#1f170de3;border:1px solid #d6b87b38;backdrop-filter:blur(8px);border-radius:6px;white-space:nowrap;font-size:10px;pointer-events:none;z-index:9}
#loading{position:absolute;inset:0;z-index:20;background:radial-gradient(ellipse at 50% 35%,#2589d1 0%,#12558e 48%,#082d55 100%);color:#eff8ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px}
.loading-friends{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-top:16px}
.loading-ball{display:block;width:44px;height:44px;overflow:visible;transform-origin:50% 100%;animation:loading-hop 1.6s ease-in-out infinite;animation-delay:calc(var(--i)*.13s)}
#loading b{font-size:13px;font-weight:400;letter-spacing:3px}
#loading>span{font-size:10px;color:#b8dcf6}
dialog{border:1px solid #c5a77740;border-radius:12px;padding:26px;background:#2c2219;color:var(--ink);width:760px;max-width:90vw;max-height:78dvh;box-shadow:0 30px 100px #0007}
dialog::backdrop{background:#160e0866;backdrop-filter:blur(8px)}
.dialog-head{display:flex;justify-content:space-between;align-items:center}
.dialog-head small{font:8px sans-serif;letter-spacing:2px;color:#bc9b68}
.dialog-head h2{font-size:21px;font-weight:500;margin:8px 0}
.close-dialog{font-size:25px}
.dialog-intro{font-size:11px;color:#b5a189;line-height:1.8;margin-bottom:24px}
.album-library{display:grid;grid-template-columns:repeat(5,1fr);gap:22px 16px}
.library-record{padding:0;text-align:left;transition:transform .2s}
.library-record:hover{transform:translateY(-4px)}
.library-record img{width:100%;aspect-ratio:1;object-fit:cover;box-shadow:3px 4px 8px #0006}
.library-record small{display:block;font-size:8px;color:#a98a5c;margin-top:8px}
.library-record strong{display:block;font-size:10px;font-weight:400;margin-top:4px}
.saved-track{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.saved-track img{width:44px;height:44px}
.saved-track>div{flex:1}
.saved-track strong{display:block;font-size:12px;font-weight:500}
.saved-track small{display:block;color:#ae9573;font-size:10px;margin-top:5px}
.empty-collection{font-size:12px;color:#bba383;line-height:1.8;padding:20px 0}
#toast{position:fixed;top:90px;left:50%;transform:translate(-50%,-10px);opacity:0;pointer-events:none;max-width:85vw;padding:10px 16px;background:#21170dee;border:1px solid var(--line);border-radius:6px;font-size:11px;text-align:center;z-index:30;transition:.3s}
#toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes appear{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes loading-hop{0%,55%,100%{transform:translateY(0) scale(1)}12%{transform:translateY(2px) scale(1.06,.94)}28%{transform:translateY(-14px) scale(.97,1.03)}44%{transform:translateY(0) scale(1.04,.96)}}
@media(max-width:1050px){.player{bottom:76px;width:250px}
body.revealing .reveal-card{bottom:80px}}
@media(max-width:600px){header{top:20px;left:18px;right:18px}
nav{gap:6px}
nav button{width:30px;height:30px;padding:0;font-size:13px}
nav button span,nav b{display:none}
.scene-tools button{width:25px}
.scene-tools select{font-size:9px;max-width:60px}
#coin{width:25px}
#draw-button{font-size:10px;letter-spacing:0}
#shake-button{font-size:9px;padding-left:7px;margin-left:4px}
.player{right:13px;bottom:73px;width:234px}
body.player-expanded .player{width:min(310px,calc(100vw - 26px))}
.reveal-card,body.revealing .reveal-card{bottom:77px;width:auto;max-width:94vw;padding:9px 11px;gap:10px}
.reveal-name h2{font-size:12px;max-width:88px;overflow:hidden;text-overflow:ellipsis}
#reveal-play{font-size:9px;padding:8px}
#keep-drawing{font-size:8px}
.album-library{grid-template-columns:repeat(3,1fr);gap:20px 12px}
dialog{padding:20px}
.dialog-head h2{font-size:19px}
#toast{top:75px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
body.revealing header{opacity:.5;transition:opacity .8s}
body.revealing .scene-tools{opacity:.55}
body.revealing .scene-tools:hover,body.revealing header:hover{opacity:1}
.concert-mark{width:126px;height:55px;overflow:visible;filter:drop-shadow(0 2px 9px #051222aa)}
.brand{display:block}
.player{width:335px}
.transport{display:flex;align-items:center;gap:2px;height:28px}
.transport button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;padding:0;line-height:1;font-size:14px;vertical-align:middle}
.transport #play{font-size:13px;width:26px}
.transport #previous-track,.transport #next-track{width:22px;font-size:20px;position:relative;top:0}
.transport #album-tracks{width:21px;font-size:15px;color:#c6dcec}
.transport #favorite{font-size:14px}
.scene-tools #reset-view{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:#e7d3ad}
.scene-tools #reset-view svg{display:block}
.album-panel{position:fixed;z-index:8;right:25px;top:110px;width:310px;max-height:calc(100dvh - 215px);border:1px solid #d4c2a73b;border-radius:12px;background:#211a15ed;backdrop-filter:blur(20px);box-shadow:0 15px 55px #0005;overflow:hidden;display:flex;flex-direction:column}
.album-panel-head{display:flex;align-items:center;gap:12px;padding:17px 16px;border-bottom:1px solid #cfbaa82b}
.album-panel-head>img{width:62px;height:62px;object-fit:cover;border-radius:2px;box-shadow:2px 4px 7px #0005}
.album-panel-head>div{flex:1;min-width:0}
.album-panel-head small{font:8px Arial;letter-spacing:1.4px;color:#87bce9}
.album-panel-head h2{font-size:14px;font-weight:500;line-height:1.5;margin:5px 0;max-height:45px;overflow:hidden}
.album-panel-head p{font-size:9px;opacity:.55;margin:0}
.album-panel-head>button{align-self:flex-start;font-size:22px;padding:0 0 0 4px;opacity:.7}
.album-song-list{overflow:auto;overscroll-behavior:contain;padding:7px 9px 10px;scrollbar-width:thin;scrollbar-color:#a7b9c144 transparent}
.album-track{display:flex;align-items:center;width:100%;gap:10px;padding:12px 9px;text-align:left;border-radius:5px;font-size:11px;color:#e7ddcc}
.album-track small{font:9px monospace;color:#a4937d;min-width:18px}
.album-track span{flex:1;line-height:1.5}
.album-track b{font-size:8px;font-weight:400;opacity:.4}
.album-track:hover{background:#769bb51a}
.album-track.active{background:#318dda23;color:#88c8ff}
.album-track.active b{opacity:1}
.album-track:disabled{opacity:.4;cursor:wait}
@media(max-width:1050px){.player{width:320px}}
@media(max-width:600px){.concert-mark{width:102px;height:45px}
.album-panel{top:auto;right:12px;left:12px;bottom:76px;width:auto;max-height:48dvh}
.album-panel-head{padding:12px;gap:10px}
.album-panel-head>img{width:48px;height:48px}
.album-panel-head h2{font-size:12px}
.album-track{padding:11px 8px}
.player{width:300px;max-width:calc(100vw - 26px)}}
body.revealing .mode-switch{opacity:0;pointer-events:none}
body.cinema .player{display:none!important}
#movie-name{flex:1;min-width:110px;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dbecf5}
#movie-choose,#cinema-exit{font-size:10px;color:#a8c9e0;padding:4px}
#movie-seek{width:100%;height:2px;accent-color:#90bfe1}
#movie-time{font:9px monospace;opacity:.6}
#cinema-controls label{margin-left:auto;font-size:9px;display:flex;gap:8px;align-items:center}
#movie-volume{width:55px;height:2px;accent-color:#90bfe1}
.choose-movie-file{display:inline-block;padding:11px 18px;border-radius:6px;background:#315878;cursor:pointer;font-size:12px}
.movie-note{font-size:10px;color:#aaa49a;margin-top:18px}
.movie-entry{display:block;padding:12px 0;border-bottom:1px solid #ffffff12;width:100%;text-align:left;margin-bottom:10px}
body.cinema header{opacity:.65}
body.cinema .scene-tools{opacity:.65}
@media(max-width:600px){.player{bottom:112px}
.reveal-card,body.revealing .reveal-card{bottom:78px}}
#cat-bubble{position:absolute;z-index:5;transform:translate(-50%,-100%);padding:13px 18px 14px;background:#fff7e8;color:#433b31;border-radius:17px;box-shadow:0 8px 30px #0003;pointer-events:none;width:198px}
#cat-bubble:after{content:"";position:absolute;bottom:-10px;left:48%;border-width:11px 9px 0;border-style:solid;border-color:#fff7e8 transparent transparent}
#cat-bubble small{display:block;font-size:9px;letter-spacing:1px;color:#9d8b72;margin-bottom:7px}
#cat-bubble strong{font-size:13px;font-weight:500;display:block}
#cat-bubble span{display:block;font-size:10px;margin-top:5px;color:#8e7960}
.ui-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;flex-shrink:0}
.welcome-choices b .ui-icon{width:22px;height:22px;margin-right:6px}
.album-track .ui-icon,.saved-track .ui-icon{width:16px;height:16px}
.loading-ball{position:relative}
.loading-ball img{position:absolute;left:6.25%;top:12.5%;width:87.5%;height:75%;object-fit:fill}
/* One unobtrusive control rail shared by both experiences. */
#bottom-dock{position:absolute;z-index:7;bottom:max(22px,env(safe-area-inset-bottom));left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.scene-tools{gap:5px}.mode-switch{gap:3px}.mode-switch button{height:32px;padding:0 23px;border-radius:20px;font-size:11px;color:#b8c9d5}.mode-switch button[aria-pressed=true]{background:#65baff;color:#092d4c}.draw-control{gap:8px}.scene-tools option{background:#162b3c}#draw-button{color:#d5eaff}#shake-button{padding:2px 6px 2px 10px}
#scene-status{position:absolute;bottom:74px;left:28px;max-width:52vw;margin:0;color:#eee4d7a6;font-size:10px;letter-spacing:.6px;text-shadow:0 2px 12px #000;pointer-events:none;z-index:3}
.player,body.has-song .player{bottom:82px}#cinema-controls{position:fixed;z-index:7;bottom:83px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:420px;width:max-content;padding:11px 15px;border-radius:12px;border:1px solid #9ab1c53b;background:#101d2ced;backdrop-filter:blur(16px);font-size:10px}
body.cinema #bottom-dock{justify-content:center}body.cinema .scene-tools{position:absolute;left:0}body.cinema #scene-status{opacity:0}.reveal-card{bottom:85px}
#welcome-card{width:510px;max-width:calc(100vw - 32px);max-height:94dvh;padding:28px 34px 20px;border:1px solid #fff;border-radius:22px;background:radial-gradient(ellipse at 95% 0,#c1e9fc,transparent 65%),#eff7fb;color:#11395e;box-shadow:0 32px 120px #00162788;overflow:auto}
#welcome-card::backdrop{background:#061b3899;backdrop-filter:blur(8px)}.welcome-eyebrow,.welcome-foot{display:flex;justify-content:space-between;gap:12px;font:8px Arial,sans-serif;letter-spacing:1.3px}.welcome-eyebrow{padding-bottom:18px;border-bottom:1px dashed #83abc566}.welcome-symbol{display:flex;align-items:center;height:114px;gap:22px;color:#2589d1}.welcome-symbol svg{width:67px;height:83px}.welcome-symbol>span{font:900 italic 27px/1 Arial,sans-serif;letter-spacing:-1px}.welcome-symbol i{margin-left:auto;font:64px Georgia;color:#f7bc44}.welcome-small{font-size:11px;letter-spacing:5px;margin:2px 0 10px;color:#52748e}#welcome-title{font-size:39px;line-height:1.22;letter-spacing:-1px;margin:0;font-weight:800}#welcome-title span{display:block;font-size:39px}.welcome-copy{font-size:12px;line-height:1.9;color:#56758d;margin:15px 0}.welcome-friends{display:flex;gap:10px;padding:8px 0 25px}.welcome-friends>span{width:42px;height:42px;border-radius:50%;position:relative;box-shadow:inset -3px -4px 6px #0001}.welcome-friends img{position:absolute;left:6.25%;top:12.5%;width:87.5%;height:75%}.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.welcome-choices button{padding:17px 15px;border:1px solid #3887c340;border-radius:12px;text-align:center;background:#ffffff88;color:#164d75;transition:transform .2s,background .2s}.welcome-choices button:first-child{background:#197dc5;color:white;border-color:#197dc5}.welcome-choices button:hover{transform:translateY(-3px)}.welcome-choices b{font-size:15px;font-weight:600;display:flex;justify-content:center}.welcome-choices small{display:block;font-size:10px;margin-top:8px;opacity:.7}.welcome-foot{font-size:7px;letter-spacing:.8px;margin-top:22px;padding-top:15px;border-top:1px dashed #83abc566;color:#7090a5}
@media(max-width:650px){#bottom-dock{left:10px;right:10px;bottom:max(12px,env(safe-area-inset-bottom));gap:5px}.scene-tools{gap:0}.scene-tools #view-left,.scene-tools #view-right,.scene-tools #lights-button,.scene-tools #projector-button{display:none}.scene-tools select{max-width:55px}.mode-switch button{height:30px;padding:0 10px;font-size:10px}.draw-control{gap:3px}#shake-button{display:none}#draw-button{font-size:10px;white-space:nowrap}#coin{width:22px;padding:0}#coin svg{width:20px}#scene-status{left:16px;bottom:60px;max-width:90vw;font-size:8px}.player,body.has-song .player{bottom:75px}#cinema-controls{bottom:66px;width:calc(100vw - 26px);gap:8px;padding:10px}body.cinema .scene-tools{display:none!important}.album-panel{bottom:68px}#welcome-card{padding:21px 25px 18px}.welcome-symbol{height:100px}#welcome-title,#welcome-title span{font-size:34px}.welcome-friends{padding-bottom:20px}.welcome-choices button{padding:14px 12px}.welcome-foot{font-size:6px}.reveal-card{bottom:68px}}
@media(max-height:650px){#welcome-card{max-height:94dvh}.welcome-symbol{height:68px}.welcome-symbol svg{height:54px}.welcome-copy{margin:10px 0}.welcome-friends{padding:0 0 12px}.welcome-friends>span{width:30px;height:30px}}

/* v32: fixed centre coin, sliding experience selector on its left, player on its right. */
#bottom-dock{display:grid;grid-template-columns:1fr auto 1fr;column-gap:20px;align-items:center;justify-content:normal}
.mode-switch:before{content:"";position:absolute;inset:4px auto 4px 4px;width:calc(50% - 4px);background:#eaf4fc;border:1px solid #fff8;border-radius:20px;box-shadow:0 2px 8px #0004;transition:transform .38s cubic-bezier(.22,.8,.2,1);z-index:-1}
.mode-switch[data-mode=cinema]:before{transform:translateX(100%)}.mode-switch button{width:50%;padding:0;font-size:11px;transition:color .3s}.mode-switch button[aria-pressed=true]{background:transparent;color:#143c5b}
#bottom-dock>.player{grid-column:3;justify-self:start;position:relative;inset:auto;width:335px;height:42px;display:flex;pointer-events:auto;margin:0;padding:5px 8px;border-radius:22px;background:#111f2be0}
#bottom-dock>.player .player-art{border-radius:50%;width:30px;height:30px}body.player-expanded #bottom-dock>.player{position:absolute;right:0;bottom:0;height:auto;border-radius:14px;width:335px}
.scene-tools{position:absolute;left:24px;bottom:82px;z-index:4;display:flex;align-items:center;padding:4px 8px;border:1px solid #a9d4f333;background:#111f2bd9;border-radius:20px;backdrop-filter:blur(12px)}#scene-status{bottom:130px}
body.cinema #bottom-dock{justify-content:normal}body.cinema .scene-tools{left:24px}body.cinema #bottom-dock>.player{display:none!important}
@media(max-width:900px){#bottom-dock{gap:8px;grid-template-columns:1fr auto 1fr}#bottom-dock>.player{width:245px}.player #favorite,.player #album-tracks{display:none}}
@media(max-width:650px){#bottom-dock{left:10px;right:10px;gap:6px;grid-template-columns:1fr auto 1fr}#bottom-dock>.player{width:100%;min-width:0;height:38px;gap:5px;padding:4px 6px}.mode-switch button{font-size:10px}.player .transport #previous-track,.player .transport #next-track,#player-expand{display:none}.player .transport{gap:0}.player .transport #play{width:22px}.player-name strong{font-size:9px}.player-name small{display:none}#bottom-dock>.player .player-art{width:22px;height:22px}.player-name{min-width:25px}.scene-tools{left:12px;bottom:62px}#scene-status{bottom:104px}body.player-expanded #bottom-dock>.player{width:calc(100vw - 20px)}body.cinema #bottom-dock{grid-template-columns:1fr;justify-items:center}}

/* v33: one quiet baseline; details only on demand. */
#bottom-dock{grid-template-columns:1fr auto 1fr;gap:12px}
#bottom-dock>.player{grid-column:3;justify-self:end;width:270px;height:40px}
.scene-tools{left:24px;bottom:max(22px,env(safe-area-inset-bottom));height:40px;padding:4px 8px;z-index:8}
.scene-tools #view-left,.scene-tools #view-right,.scene-tools #lights-button,.scene-tools #projector-button,#shake-button{display:none}
#scene-status{bottom:72px;opacity:0;transition:opacity .2s}body:has(#bottom-dock:hover) #scene-status{opacity:.6}
body:not(.player-expanded) .player #previous-track,body:not(.player-expanded) .player #album-tracks,body:not(.player-expanded) .player #favorite{display:none}
#player-expand{display:block}.player-name small{display:none}
body.player-expanded #bottom-dock>.player{width:320px;z-index:10}
@media(max-width:800px){#bottom-dock>.player{width:195px}.scene-tools select{max-width:48px}}
@media(max-width:650px){#bottom-dock{left:10px;right:10px;gap:4px;grid-template-columns:1fr 66px 1fr}#draw-button{font-size:9px}#coin{width:15px}#coin svg{width:15px}#bottom-dock>.player{width:112px;height:36px;gap:3px;padding:3px 5px}.player-art{display:none}#bottom-dock>.player .player-name{min-width:0}.player-name strong{font-size:9px}.player .transport #next-track{display:none}#player-expand{width:14px;font-size:10px}.scene-tools{left:10px;bottom:max(12px,env(safe-area-inset-bottom));height:36px;padding:2px;width:48px}.scene-tools select{width:44px;font-size:9px}.scene-tools #reset-view{display:none}body.player-expanded #bottom-dock>.player{width:calc(100vw - 20px)}}

.scene-more{position:relative}.scene-more summary{list-style:none;cursor:pointer;width:24px;text-align:center;color:#d9e4ed}.scene-more summary::-webkit-details-marker{display:none}.scene-more>div{position:absolute;bottom:44px;left:0;display:flex;gap:4px;padding:8px;border:1px solid #a9d4f333;border-radius:16px;background:#111f2bf5;box-shadow:0 8px 28px #0004}.scene-tools .scene-more button{display:block!important;width:32px}body.player-expanded .player #favorite,body.player-expanded .player #album-tracks,body.player-expanded .player #previous-track,body.player-expanded .player #next-track{display:block}
@media(max-width:650px){.scene-tools{width:74px;gap:0}.scene-more summary{width:22px}.scene-more>div{left:-46px}}

/* v34: one SVG icon family and explicit expanded-player rows. */
.player button svg,.player-extra label svg{width:17px;height:17px;display:block;flex-shrink:0}
.player .transport button,#player-expand{display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:9px;flex-shrink:0}
.player .transport button:hover:not(:disabled),#player-expand:hover{background:#ffffff12;color:#eff8ff}
.player button:focus-visible{outline:2px solid #87caff;outline-offset:3px}
.player .transport button:disabled{opacity:.35}
#play .pause-shape{display:none}#play[data-playing=true] .pause-shape{display:block}#play[data-playing=true] .play-shape{display:none}
#play .play-shape{fill:currentColor;stroke:none}#play .pause-shape{stroke-width:3}
#favorite.saved svg{fill:currentColor}#player-expand svg{transition:transform .25s}#player-expand[aria-expanded=true] svg{transform:rotate(180deg)}
body.player-expanded #bottom-dock>.player{display:grid;grid-template-columns:40px minmax(0,1fr) 28px;grid-template-rows:auto auto auto auto;align-items:center;gap:13px 10px;width:340px;max-width:calc(100vw - 20px);height:auto;padding:16px;border-radius:20px;background:linear-gradient(145deg,#25313def,#162330f5);border:1px solid #adc8df35;box-shadow:0 16px 48px #0005;backdrop-filter:blur(24px)}
body.player-expanded #bottom-dock>.player .player-art{display:grid;grid-column:1;grid-row:1;width:40px;height:40px;border-radius:9px}
body.player-expanded .player-name{grid-column:2;grid-row:1;min-width:0}body.player-expanded .player-name strong{font-size:13px;line-height:20px;font-weight:600;color:#f1f5f8}body.player-expanded .player-name small{display:block;font-size:10px;line-height:16px;color:#9bafc0;margin:0}
body.player-expanded #player-expand{grid-column:3;grid-row:1;position:static;width:28px;height:28px;color:#9bafc0}
body.player-expanded .player .transport{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(6,32px);justify-content:space-between;gap:0;height:32px;width:100%;margin:0}
body.player-expanded .player .transport button{display:inline-flex!important;width:32px!important;height:32px;font-size:inherit;line-height:1;color:#d3e1eb}
body.player-expanded .player .transport #play{background:#c0e3ff;color:#17354a;border-radius:50%;box-shadow:0 2px 8px #0002}
body.player-expanded .player .transport #favorite.saved{color:#e9a07f}
body.player-expanded .player .progress{grid-column:1/-1;grid-row:3;margin:0;width:100%}
.player .progress>div{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:5px;font-size:10px;line-height:16px;color:#9bafc0;margin-top:3px;font-variant-numeric:tabular-nums}.player #audio-source{text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.player #duration{text-align:right}
:is(.player,#cinema-controls) input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;margin:0;height:16px;padding:0;accent-color:#b7dcf9}
:is(.player,#cinema-controls) input[type=range]::-webkit-slider-runnable-track{height:3px;background:#637483;border-radius:3px}:is(.player,#cinema-controls) input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;border-radius:50%;background:#c0e3ff;border:0;box-shadow:0 0 0 3px #b7dcf918}
:is(.player,#cinema-controls) input[type=range]::-moz-range-track{height:3px;background:#637483;border-radius:3px}:is(.player,#cinema-controls) input[type=range]::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#c0e3ff}
body.player-expanded .player .player-extra{grid-column:1/-1;grid-row:4;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:10px 0 0;border-top:1px solid #adc8df20;min-width:0}
.player-extra label{display:flex;align-items:center;gap:7px;flex:1;min-width:60px;color:#9bafc0}.player-extra label svg{width:15px;height:15px}.player-extra #volume{width:70px;max-width:100%;min-width:0}.player-extra a,.player-extra button{font-size:10px;line-height:28px;white-space:nowrap;margin:0;padding:0 7px;border-radius:7px;color:#b9cbda;background:#ffffff06;text-decoration:none}
@media(max-width:650px){body.player-expanded #bottom-dock>.player{width:320px;padding:14px}body.player-expanded .player .transport #play{width:32px}body.player-expanded .player-name strong{font-size:13px}.player-extra #volume{width:58px}}

/* All room/experience actions share the bottom-left console. */
#studio-console{position:absolute;z-index:8;left:24px;bottom:max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100vw - 48px)}
.console-bar{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #a9d4f32b;border-radius:24px;background:#152432ec;backdrop-filter:blur(20px);box-shadow:0 8px 24px #0003}
#studio-console .scene-tools,body.cinema #studio-console .scene-tools{position:relative;inset:auto;display:flex!important;height:32px;width:auto;border:0;box-shadow:none;background:transparent;padding:0 3px;gap:0;backdrop-filter:none}
#studio-console .mode-switch{position:relative;display:flex;isolation:isolate;width:110px;min-width:0;height:32px;padding:3px;border-radius:18px;background:#ffffff08}
#studio-console .mode-switch button{font-size:10px;height:26px;width:50%}
#studio-console .mode-switch:before{inset:3px auto 3px 3px;width:calc(50% - 3px)}
#studio-console .draw-control{display:flex;align-items:center;height:32px;gap:3px;padding:0 8px 0 4px}#studio-console #draw-button{font-size:10px;white-space:nowrap}#studio-console #coin{width:22px;height:28px}#studio-console #coin svg{width:19px;height:23px}body.cinema #studio-console .draw-control{display:none}
#studio-console #cinema-controls{position:static;transform:none;width:320px;max-width:100%;padding:14px;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) 28px auto;gap:10px;font-size:11px;background:#152432f5;border:1px solid #a9d4f32b}
#studio-console #cinema-controls[hidden]{display:none}#cinema-exit{display:none}#movie-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#movie-play{height:28px;width:28px;display:grid;place-items:center}#movie-play svg{width:16px;height:16px}#movie-choose{height:28px;font-size:11px;padding:0 8px;border-radius:7px;background:#ffffff0b}#studio-console #movie-seek{grid-column:1/-1;height:3px;width:100%;margin:4px 0;accent-color:#b7dcf9}#movie-time{font-size:10px;color:#9bafc0}#studio-console #cinema-controls label{grid-column:2/-1;display:flex;gap:7px;align-items:center;justify-content:flex-end;font-size:10px;color:#9bafc0}#movie-volume{width:60px;accent-color:#b7dcf9;height:3px}
body.cinema #studio-console:before{content:"";position:absolute;left:-8px;bottom:-8px;width:350px;height:112px}
body.cinema #cinema-controls{transition:opacity .28s ease,transform .28s ease,max-height .35s ease,padding .35s ease;overflow:hidden;max-height:132px}
body.cinema.cinema-controls-idle #cinema-controls{opacity:0;transform:translateY(12px);max-height:0;padding-top:0!important;padding-bottom:0!important;pointer-events:none}
body.cinema.cinema-controls-idle #studio-console{background:transparent;border-color:transparent;box-shadow:none}
body.cinema.cinema-controls-idle #studio-console:hover #cinema-controls,body.cinema.cinema-controls-idle #studio-console:focus-within #cinema-controls{opacity:1;transform:none;max-height:132px;padding-top:14px!important;padding-bottom:14px!important;pointer-events:auto}
@media(max-width:650px){#studio-console{left:10px;bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}.console-bar{gap:2px;padding:3px}#studio-console .scene-tools{padding:0;width:65px;height:28px}#studio-console .scene-tools select{width:43px;max-width:43px;font-size:9px}#studio-console .mode-switch{width:65px;height:28px;padding:3px}#studio-console .mode-switch button{font-size:9px;height:22px}#studio-console .draw-control{height:28px;padding:0 4px;gap:1px}#studio-console #draw-button{font-size:9px}#studio-console #coin{width:15px}#studio-console #coin svg{width:14px}#studio-console #cinema-controls{width:300px}}

body.cinema #studio-console{gap:0;border:1px solid #a9d4f32b;background:#152432f5;border-radius:18px;box-shadow:0 12px 36px #0004}body.cinema #studio-console .console-bar{background:transparent;border:0;border-top:1px solid #adc8df20;border-radius:0;padding:8px}#studio-console #cinema-controls{border:0;background:transparent;box-shadow:none}#movie-play .pause-shape{display:none}#movie-play .play-shape{fill:currentColor;stroke:none}#movie-play[data-playing=true] .pause-shape{display:block;stroke-width:3}#movie-play[data-playing=true] .play-shape{display:none}

@media(max-width:360px){#bottom-dock>.player{width:90px}.console-bar{gap:0}#studio-console .mode-switch{width:60px}#studio-console .scene-tools{width:62px}#studio-console .draw-control{padding:0 2px}}

@media(max-width:650px){body.player-expanded #bottom-dock>.player{bottom:46px}}

/* v35: the bottom controls use the same translucent glass as the header. */
.console-bar,body.cinema #studio-console,#bottom-dock>.player,body.player-expanded #bottom-dock>.player{background:#20181078;border:1px solid #e9d8b932;backdrop-filter:blur(12px);box-shadow:none}
#studio-console .mode-switch{background:#ffffff08}#studio-console #cinema-controls{background:transparent}body.cinema #studio-console .console-bar{background:transparent;border:0;border-top:1px solid #e9d8b922}
.player-extra a,.player-extra button,#movie-choose{background:#ffffff08}.scene-more>div{background:#201810ad;border-color:#e9d8b932;backdrop-filter:blur(12px)}
