/* Explicit legacy adapters. New pages should use semantic template slots instead. */
body.ui-ready .app-bar{border-radius:0;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:none}
body.ui-ready .app-bar>.back,body.ui-ready .app-bar>.app-title{display:none}
body.ui-ready .app-bar{min-height:0;padding:10px 20px;flex-wrap:wrap;gap:10px}
body.ui-ready .app-bar:has(>.spacer:only-child){display:none}
body.ui-ready[data-ui-page=dashboard]>main{max-width:1180px;margin:40px auto}
body.ui-ready[data-ui-page=dashboard] .apps{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
body.ui-ready[data-ui-page=dashboard] .app-card{min-height:160px;padding:26px}
body.ui-ready[data-ui-page=dashboard] .panel{background:transparent;border:0;box-shadow:none;padding:0}
body.ui-ready[data-ui-page=dashboard] .panel>h2{font-size:30px;font-weight:500;letter-spacing:-.04em;margin:0 0 24px}
body.ui-ready[data-ui-page=chat],body.ui-ready[data-ui-page=ops]{height:100dvh;box-sizing:border-box}
body.ui-ready[data-ui-page=chat] main{min-height:0;min-width:0}
body.ui-ready[data-ui-page=room]>.app{height:calc(100dvh - var(--ui-bar))}
body.ui-ready[data-ui-page=room] .me>a[href='/dashboard']{display:none}
body.ui-ready[data-ui-page=life]>.topbar{display:none}
body.ui-ready[data-ui-page=life]>.wrap{padding-top:28px}
body.ui-ready[data-ui-page=games] .top,body.ui-ready[data-ui-page=song-quiz] .top,body.ui-ready[data-ui-page=gomoku] .header{display:none}
body.ui-ready[data-ui-page=convert]>header:not(.ui-header){padding:16px 24px}
body.ui-ready[data-ui-page=convert]>header:not(.ui-header)>h1,body.ui-ready[data-ui-page=convert] nav>a[href='/dashboard']{display:none}
body.ui-ready[data-ui-page=convert]>iframe{height:calc(100dvh - var(--ui-bar) - 140px);min-height:400px}
body.ui-ready[data-ui-page=register]{min-height:100dvh;box-sizing:border-box;padding-bottom:24px}
/* The scenery frame fills the viewport; navigation floats over the image. */
body.ui-ready[data-ui-page=music-shell]>main{height:calc(100dvh - var(--ui-bar))}
body.ui-ready[data-ui-page=music-shell]:has(>main>iframe:is([src="/music-library"],[src^="/music-library?"],[src^="/music-library#"])){padding-top:0!important}
body.ui-ready[data-ui-page=music-shell]:has(>main>iframe:is([src="/music-library"],[src^="/music-library?"],[src^="/music-library#"]))>main{height:100dvh}
/* Clear the floating navbar for library tools without cropping the fixed photo layer. */
body.ui-ready[data-ui-page=music-library].ui-embedded{--music-shell-bar:64px;padding-top:var(--music-shell-bar)!important}
body.ui-ready[data-ui-page=music-library]>.app-header .brand,body.ui-ready[data-ui-page=music-library]>.app-header .header-caption,body.ui-ready[data-ui-page=music-library]>.app-header .header-actions>a{display:none}
body.ui-ready[data-ui-page=music-library]>.app-header{top:0;height:56px;min-height:56px;z-index:30}
body.ui-ready[data-ui-page=music-library]>.workspace{padding-top:20px;height:calc(100dvh - var(--ui-bar) - var(--music-shell-bar,0px) - 186px)}
body.ui-ready[data-ui-page=music-shell].scene-hidden>:is(.ui-header,.ui-nav-reveal){opacity:0;pointer-events:none}
body.ui-ready[data-ui-page=solar]>.topbar{top:var(--ui-bar);height:52px;padding:0 24px;gap:12px}
body.ui-ready[data-ui-page=solar]>.topbar :is(#home-link,.divider,.app-name,.edition){display:none}
body.ui-ready[data-ui-page=solar]>#breadcrumbs{top:calc(var(--ui-bar) + 62px)}
body.ui-ready[data-ui-page=solar]>#help{top:calc(var(--ui-bar) + 60px);max-width:calc(100% - 32px)}
/* Keep app content and utilities readable while giving Stardust a common vocabulary. */
html[data-style=stardust] body.ui-ready:not([data-ui-page=solar]):not([data-ui-page=music-shell]):not([data-ui-page=music-library]){background:var(--bg);color:var(--text);font-family:var(--font)}
html[data-style=stardust] body.ui-ready :is(.panel,.card,.app-card){border-color:var(--border);border-radius:var(--radius-lg)}
html[data-style=stardust] body.ui-ready :is(.btn,.field input,.field select){border-radius:10px}
@media(max-width:700px){
 body.ui-ready[data-ui-page=chat]>aside{top:var(--ui-bar);height:calc(100dvh - var(--ui-bar))}
 body.ui-ready[data-ui-page=room] .sidebar,body.ui-ready[data-ui-page=room] .members.show{top:var(--ui-bar)}
 body.ui-ready[data-ui-page=dashboard]>main{margin:24px auto}
 body.ui-ready[data-ui-page=dashboard] .apps{grid-template-columns:1fr}
 body.ui-ready[data-ui-page=dashboard] .app-card{min-height:130px}
 body.ui-ready[data-ui-page=music-library]>.app-header{padding-left:12px;padding-right:12px}
 body.ui-ready[data-ui-page=music-library]>.app-header .header-actions{overflow-x:auto;flex-wrap:nowrap;min-width:0}
 body.ui-ready[data-ui-page=solar]>.topbar{padding:0 16px}
 body.ui-ready[data-ui-page=solar]>#breadcrumbs{left:16px;right:16px;overflow:auto;white-space:nowrap}
 body.ui-ready[data-ui-page=solar]>.chapter{top:calc(var(--ui-bar) + 106px);left:20px;max-width:180px}
 body.ui-ready[data-ui-page=solar]>.chapter h1{font-size:26px;margin:12px 0}
 body.ui-ready[data-ui-page=solar]>footer{left:12px;right:12px;bottom:20px}
 body.ui-ready[data-ui-page=solar]>footer .location-readout{display:none}
 body.ui-ready[data-ui-page=solar]>footer .travel{max-width:100%;overflow:auto}
 body.ui-ready[data-ui-page=solar]>footer .travel button{white-space:nowrap;padding:10px 8px}
}
body.ui-ready[data-ui-page=time-shop]>.intro{top:var(--ui-bar);z-index:60}
/* Theme modules retain content, while the global frame owns navigation/settings. */
body.ui-ready[data-ui-page=home] #app :is(.ink-nav,.hud){display:none}
body.ui-ready[data-ui-page=home] #app :is(#modeBtn,.ink-mode){display:none}
@media(max-width:640px){body.ui-ready[data-ui-page=music-library].ui-embedded{--music-shell-bar:calc(56px + env(safe-area-inset-top))}}
@media(max-width:700px){body.ui-ready[data-ui-page=music-library] .navigation{top:calc(var(--ui-bar) + var(--music-shell-bar,0px) + 56px)}}
/* Theme-aware music surfaces; scene images and player state remain untouched. */
body.ui-ready[data-ui-page=music-library] :is(.glass,.modal,.drawer){background:color-mix(in srgb,var(--surface) calc(var(--panel-opacity,.85)*100%),transparent);border-color:var(--border);color:var(--text)}
/* The lyric glass lives in :before and fades independently; the host never paints a frame. */
body.ui-ready[data-ui-page=music-library].lyrics-view .content{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.ui-ready[data-ui-page=music-library] :is(.navbtn,.empty strong,.library-heading h1,.now-card h2,.track-title){color:var(--text)}
body.ui-ready[data-ui-page=music-library] :is(.nav-caption,.table-heading,.empty,.now-card p,.eyebrow,.track-duration,.track-artist){color:var(--muted)}
body.ui-ready[data-ui-page=music-library] .navbtn.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 3px 0 var(--accent)}
body.ui-ready[data-ui-page=music-library] .accent{background:var(--accent)!important;color:var(--accent-fg)!important}
body.ui-ready[data-ui-page=music-library] .app-header button{background:var(--surface);border-color:var(--border);color:var(--text)}
body.ui-ready[data-ui-page=music-library] .toolbar :is(button,input){background:var(--surface);color:var(--text);border-color:var(--border)}
body.ui-ready[data-ui-page=music-shell] :is(#player,#queuePanel){background:color-mix(in srgb,var(--surface) calc(var(--panel-opacity,.85)*100%),transparent);color:var(--text);border-color:var(--border)}
body.ui-ready[data-ui-page=music-shell] :is(.meta span,.timeline span,.queue-info span,#queuePanel small){color:var(--muted)}
body.ui-ready[data-ui-page=music-shell] .primary{background:var(--accent);color:var(--accent-fg)}
body.ui-ready[data-ui-page=login] #app .topbar{display:none}
.ui-sidebar-close,.ui-sidebar-scrim{display:none}
@media(max-width:700px){
 body.ui-ready[data-ui-page=chat] .ui-sidebar-close{display:block;min-height:44px;width:100%;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}
 body.ui-ready[data-ui-page=chat]>.ui-sidebar-scrim:not([hidden]){display:block;position:fixed;inset:var(--ui-bar) 0 0;z-index:19;border:0;background:#03091b70}
 body.ui-ready[data-ui-page=chat]>aside{z-index:20;max-width:85vw}
}
body.ui-ready[data-ui-page=music-library] :is(#count,#bgContext,.track .artist,.track .album,.track .genre){color:var(--muted)}
body.ui-ready[data-ui-page=chat]>aside.hidden{display:none}
body.ui-ready[data-ui-page=music-library] :is(.song span,.cell){color:var(--muted)}
body.ui-ready[data-ui-page=music-library] .track.playing .song b{color:var(--accent)}
