/* One shared reading scale. Video cues, artwork and scene animation are untouched. */
:root { --ui-control-size:max(16px,1rem); --ui-detail-size:max(14px,.875rem); }

/* Older page styles use smaller, highly specific control sizes. Keep this floor
   in one place so a mobile breakpoint cannot quietly shrink a primary action. */
body :is(.lounge-shell,.cinema,.auth-dialog,.community-dialog,.yuan-wallpaper-dialog,#detail-dialog,#media-dialog,#close-dialog) :is(button,a,input,select,textarea,label),
body.scene :is(.scene-controls,.entry-actions,.guest-nav,#home,.landing) :is(button,input) {
  font-size:var(--ui-control-size)!important;
  line-height:1.5;
}
body :is(.lounge-shell,.cinema,.auth-dialog,.community-dialog,.yuan-wallpaper-dialog,#detail-dialog,#media-dialog,#close-dialog) :is(button,input,select,textarea),
body.scene :is(.scene-controls,.entry-actions,.guest-nav,#home,.landing) button {
  min-height:44px;
}
body :is(.lounge-shell,.cinema,.auth-dialog,.community-dialog,.yuan-wallpaper-dialog,#detail-dialog,#media-dialog,#close-dialog) button {
  white-space:normal;
}
body :is(.auth-dialog,.community-dialog,.yuan-wallpaper-dialog) { font-size:var(--ui-control-size); }
body :is(.auth-dialog,.community-dialog) label { font-weight:500; }
body :is(.lounge-shell,.cinema,.auth-dialog,.community-dialog,.yuan-wallpaper-dialog,#detail-dialog,#media-dialog,#close-dialog) :is(.primary,.community-primary,.submit) {
  font-size:max(17px,1.0625rem)!important;
  min-height:48px;
}
body :is(.dialog-close,.community-close,.cinema-search-clear) { font-size:24px!important; }
body .lounge-shell .return-icon { flex-shrink:0; }
body .lounge-shell #video-rooms-count { font-size:var(--ui-control-size)!important; min-width:24px; height:24px; }
body .account-dialog #logout { color:#eeeeee; }
body :is(.community-status,.community-hint,.cinema-status,.message,.error,.subtle,.empty-state,.overview,.toast) {
  font-size:var(--ui-control-size);
  line-height:1.65;
}
body :is(.community-status,.community-hint,.subtle,.cinema-foot):empty { display:none; }
body .auth-dialog :is(.error,#formError),
body.lounge-page .community-main :is(.community-status,.community-hint),
body .lounge-shell :is(.cinema-status,.cinema-result-empty),
body.room-page :is(.message,.subtle,.player-empty p,.stream-error p,.seek-feedback),
body[data-lounge-page=private] :is(.message,.subtle,.overview,.empty-state,.gate p),
body .yuan-wallpaper-dialog :is(.yuan-wallpaper-status,.yuan-wallpaper-local,#yuan-wallpaper-constraints) {
  font-size:var(--ui-control-size);
  line-height:1.65;
}
body .lounge-shell :is(.film-meta,.film-history,.film-remarks,.cinema-count,.room-card-host,.room-card-film,.room-card-footer,.room-card-badge),
body.room-page :is(.room-meta,.player-heading,.timeline,.member-role,.comment-author,.comment-time),
body .yuan-wallpaper-dialog :is(.yuan-wallpaper-preview span,.yuan-wallpaper-local span),
body #detail-dialog :is(.film-meta,.episode-meta),
body :is(#video-rooms-count,#cinema-rooms-count,#member-count) {
  font-size:var(--ui-detail-size)!important;
  line-height:1.6;
}
body .lounge-shell :is(.film-name,.film-name strong),
body.room-page :is(.member,.comment-text),
body #detail-dialog .episode-name { font-size:var(--ui-control-size); line-height:1.6; }
body .lounge-shell .lounge-sidebar :is(a,button) { gap:10px; }
body .lounge-sidebar .lounge-nav-label {
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;border:0;
}
body .lounge-sidebar .lounge-nav-module { padding-block:6px; }
body .lounge-sidebar .lounge-brand { margin-bottom:16px; }
body.lounge-page :is(.video-header,.site-header) { justify-content:flex-end; min-height:72px; }
body.lounge-page .video-header .avatar { margin-left:auto; }
body .lounge-cinema .cinema-search { width:100%; }
body .lounge-cinema .cinema-search input { padding-block:12px; }
body .lounge-cinema .cinema-search button { min-width:60px; flex-shrink:0; white-space:nowrap!important; }
body .lounge-cinema .cinema-search-clear { right:64px; }
body .lounge-cinema .cinema-nav { flex-wrap:wrap; overflow:visible; gap:6px; }
body .lounge-cinema .cinema-source-note:empty { display:none; }
body .lounge-cinema .cinema-hero-copy { padding:24px; }
body .lounge-cinema .cinema-hero h2 { margin:0 0 14px; }
body .lounge-cinema .cinema-hero p { font-size:var(--ui-control-size); }
body .lounge-cinema .cinema-actions { flex-wrap:wrap; gap:10px; }
body .lounge-cinema .cinema-section-title { flex-wrap:wrap; gap:10px; }
body .lounge-cinema .cinema-section-title h2 { font-size:22px; line-height:1.4; }
body .lounge-cinema .cinema-count { max-width:100%; }
body .lounge-cinema .cinema-continue-grid .film { min-width:0; }
body .lounge-cinema .cinema-continue-grid :is(.film-name,.film-name strong) { overflow-wrap:anywhere; }
body .lounge-cinema .film-name { min-width:0; }
body .lounge-cinema .film-name strong { min-width:0; flex:1; }
body .lounge-cinema .film-name .film-save { margin:0; }
body .lounge-cinema .cinema-lines { flex-wrap:wrap; overflow:visible; }
body .lounge-cinema .cinema-lines button { flex:0 1 auto; }
body .lounge-cinema .cinema-detail-meta { font-size:var(--ui-detail-size)!important; line-height:1.6; }
body :is(.cinema-poster-placeholder,.poster-placeholder) { font-size:var(--ui-control-size); letter-spacing:0; overflow-wrap:anywhere; }
body .cinema :is(.detail-label,.cinema-meta,.detail-meta,.cinema-description,.detail-description) { font-size:var(--ui-control-size); }
body .cinema :is(.cinema-recent-head,.cinema-search-more,.cinema-pager,.cinema-episodes h4,.cinema-player-title strong,.cinema-player-message,.cinema-progress-status,.cinema-line-note,.cinema-quality-status) {
  font-size:var(--ui-control-size); line-height:1.6;
}
body .cinema :is(.cinema-result-head span,.cinema-player-title span) { font-size:var(--ui-detail-size); }

/* Functional headings replace promotional copy; reclaim the empty space. */
body.lounge-page .rooms-page-heading { align-items:center; gap:20px; margin-bottom:24px; }
body.lounge-page .community-main h1 { font-size:30px; margin:0; line-height:1.4; }
body.lounge-page .rooms-toolbar h2 { font-size:22px; }
body.lounge-page .community-room-list { margin-top:20px; }
body.lounge-page .community-main .community-room h3 { font-size:20px; }
body.lounge-page .community-main :is(.room-card-host,.room-card-film,.room-card-badge) { font-size:var(--ui-detail-size)!important; }
body.lounge-page .community-main .room-card-footer { font-size:var(--ui-detail-size)!important; }
body.lounge-page .create-layout { display:block; max-width:640px; }
body.lounge-page .create-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0; margin-bottom:24px; }
body.lounge-page .create-welcome h1 { font:600 30px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; margin:0; letter-spacing:0; }
body.lounge-page .create-portrait { margin:0; flex-shrink:0; }
body.lounge-page #create-avatar { width:72px; height:72px; margin:0; }
body.lounge-page #create-avatar .yuan-avatar { width:60px; height:60px; }
body.lounge-page .create-form-card { margin:0; padding:28px; }
body.lounge-page .create-main .community-back { margin-bottom:24px; }
body.lounge-page #room-create .community-primary { margin-top:12px; }
body.lounge-page #main .intro { padding:0 0 24px; margin:0; }
body.lounge-page #main .intro h1 { font-size:30px; margin:0; }
body.lounge-page #main .login-panel { gap:20px; }
body.lounge-page #main .login-copy h2 { font-size:24px; margin:0; }
body.lounge-page #library .library-heading h2 { font-size:24px; }
body.lounge-page #library .library-heading { margin:24px 0 18px; }
body #detail-dialog .detail-toolbar { justify-content:flex-end; }
body #detail-dialog :is(.player-heading,.section-heading,.version-controls) { flex-wrap:wrap; }
body #detail-dialog .help-link { display:inline-flex; align-items:center; min-height:44px; }
body #detail-dialog .player-heading strong { font-size:var(--ui-control-size); }
body #detail-dialog .compat-timeline { font-size:var(--ui-detail-size); }
body .auth-dialog h2 { margin-bottom:24px; }
body .auth-dialog .dialog-brand { font-size:16px; }
body.room-page .room-heading { margin-bottom:20px; }
body.room-page .room-heading h1 { font-size:28px; line-height:1.4; }
body.room-page .player-empty h2 { font-size:22px; }
body.room-page .player-empty p:empty { display:none; }
body.room-page .section-heading h2 { font-size:20px; }
body.room-page .host-footer { justify-content:flex-end; }
body.room-page .chat-empty { font-size:16px; }
body.room-page :is(.gate p,.current-episode,.small-dialog p,.now-playing .eyebrow,.comment p) { font-size:var(--ui-control-size); line-height:1.6; }
body.room-page :is(.comment-heading,.comment-heading time) { font-size:var(--ui-detail-size); }
body.room-page #media-dialog .film-result :is(strong,.poster) { font-size:var(--ui-control-size); line-height:1.6; }
body.room-page #media-dialog .film-result small { font-size:var(--ui-detail-size); line-height:1.6; }
body.room-page .local-controls { gap:6px; }
body.room-page .local-controls input { flex-shrink:0; min-width:44px; }
body .yuan-wallpaper-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
body .yuan-wallpaper-dialog .yuan-wallpaper-status:empty { display:none; }
body.scene > .garden-header { justify-content:flex-end; }
body.scene #gardenScene .tv-hint { font-size:var(--ui-control-size); }
body.scene .scene-hint { display:none; }
body.scene .scene-controls button { min-width:44px; }
body.scene .searchbar button { min-width:44px; width:44px; }
body.scene .landing .explore { font-size:16px; }

@media(max-width:760px) {
  body .lounge-sidebar .lounge-brand { margin:0 0 4px; }
  body .lounge-sidebar .lounge-sidebar-footer { gap:6px; padding:0; }
  body .lounge-sidebar-footer [data-wallpaper-open] { width:auto; padding:10px; gap:0; }
  body .lounge-sidebar-footer [data-wallpaper-open] .lounge-icon { display:none; }
  body .lounge-sidebar .lounge-primary-nav { gap:4px; }
  body .lounge-sidebar .lounge-primary-nav :is(a,button) { padding:10px 6px; gap:6px; justify-content:center; }
  body .lounge-sidebar .lounge-library-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; gap:2px; }
  body .lounge-sidebar .lounge-library-links :is(a,button) { width:auto; min-width:0; padding:10px 2px; justify-content:center; white-space:normal; text-align:center; }
  body .lounge-library-links .lounge-icon { display:none; }
  body.lounge-page :is(.community-main,#main) { padding:24px 18px; }
  body.lounge-page :is(.video-header,.site-header) { padding:10px 18px; min-height:64px; }
  body.lounge-page .rooms-page-heading { align-items:flex-start; flex-direction:column; gap:16px; }
  body.lounge-page .rooms-toolbar h2 { font-size:20px; }
  body.lounge-page .create-welcome { gap:12px; }
  body.lounge-page .create-welcome h1 { font-size:26px; }
  body.lounge-page #create-avatar { width:56px; height:56px; }
  body.lounge-page #create-avatar .yuan-avatar { width:48px; height:48px; }
  body.lounge-page .create-form-card { padding:20px; }
  body .lounge-cinema .cinema-section-title h2 { font-size:20px; }
  body .lounge-cinema .cinema-hero-copy { padding:20px; }
  body .lounge-cinema .cinema-search-tools { min-width:0; }
  body .lounge-cinema .cinema-sources label { flex-wrap:wrap; }
  body .lounge-cinema .cinema-sources select { max-width:100%; }
  body.room-page .room-header-nav { flex-wrap:wrap; }
  body.room-page .local-controls { width:100%; margin-left:0; }
  body.room-page .local-controls input { width:72px; }
  body.room-page .control-row { gap:10px; }
  body.room-page .player-heading { gap:8px; }
  body.room-page .player-empty { padding:16px; }
}
