body { font-size: 16px; line-height: 1.65; }
button, input, select, textarea { font-size: 16px; }
.eyebrow { font-size: 12px; letter-spacing: 1.5px; }
.login-panel p, .login-panel label, .login-features, .art-copy p { font-size: 16px; }
.fineprint { font-size: 14px !important; }
.art-footer { font-size: 12px; }
.brand span, .status { font-size: 14px; }
.ghost { font-size: 15px; padding: 10px 14px; min-height: 42px; }
.topbar { height: auto; min-height: 78px; padding-top: 14px; padding-bottom: 14px; gap: 12px; }
.top-actions { flex-wrap: wrap; }
.room-grid { grid-template-columns: minmax(0, 1fr) 360px; }
h2 { font-size: 19px; }
h2 span { font-size: 14px; }
.library-heading { flex-wrap: wrap; }
.section-heading h1 { font-size: 25px; }
.sync-pill { font-size: 13px; padding: 7px 12px; }
.movie-details, .movie-meta, .library-note, .player-help { font-size: 14px; line-height: 1.8; }
.movie-title { font-size: 16px; }
.movie .choose { font-size: 14px; }
.library #search, .chat-form input { font-size: 16px; }
.library-options { font-size: 14px; }
.test-toggle input { width: 16px; height: 16px; }
.empty-player h2 { font-size: 22px; }
.empty-player p, .empty-library { font-size: 15px; }
.player-controls { min-height: 66px; height: 66px; }
.player-controls button { font-size: 22px; min-width: 32px; min-height: 36px; }
.player-controls #subtitle { font-size: 14px; padding: 5px; }
.player-controls span { font-size: 13px; }
.player-controls select { font-size: 14px; padding: 6px; }
.player-wrap:fullscreen video { height: calc(100% - 66px); }
.room-tools-info { font-size: 14px; }
.room-tool-actions .primary, .room-tool-actions .ghost { font-size: 15px; padding: 10px 13px; }
.user { font-size: 16px; flex-wrap: wrap; }
.avatar { width: 36px; height: 36px; font-size: 16px; }
.user small { font-size: 14px; white-space: normal; text-align: right; }
.transfer-host { font-size: 14px; padding: 5px 9px; min-height: 32px; }
.voice-controls { flex-wrap: wrap; }
.voice-controls .primary { font-size: 16px; padding: 11px 14px; min-height: 46px; }
.small, .muted.small { font-size: 14px; }
.chat-heading span { font-size: 13px; }
.message small, .message.system { font-size: 14px; }
.message p { font-size: 16px; line-height: 1.8; }
.chat-form button { width: 44px; min-height: 44px; }
.reactions button { font-size: 21px; min-width: 44px; min-height: 44px; }
.room-footer { font-size: 12px; letter-spacing: 0.5px; }
.toast { font-size: 15px; }
.subtitle-panel label { font-size: 14px; }
.subtitle-settings select, .subtitle-settings input, .subtitle-search-form select, .subtitle-query-label input, .subtitle-search-form .primary, .subtitle-result strong { font-size: 16px; }
.subtitle-result span, .subtitle-result button, .subtitle-upload input[type="file"], .subtitle-upload span { font-size: 14px; }
.voice-mode-label, .voice-settings label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; margin: 12px 0; min-width: 0; }
.voice-mode-label select, .voice-settings select { width: 100%; min-width: 0; padding: 10px; font-size: 16px; }
.voice-mode-label select:disabled { opacity: 0.6; }
.voice-settings { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 10px; }
.voice-settings summary { cursor: pointer; font-size: 16px; padding: 6px 0; }
.voice-settings .voice-option { flex-direction: row; align-items: flex-start; }
.voice-option input { width: 17px; height: 17px; margin: 4px 0 0; flex: none; accent-color: var(--accent); }
.voice-settings input[type="range"] { width: 100%; }
.voice-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.voice-actions .ghost { flex: 1; }
.voice-local-meter { margin: 12px 0; }
.voice-local-meter span { display: block; font-size: 14px; color: var(--muted); }
.voice-local-meter meter { display: block; width: 100%; height: 18px; margin-top: 5px; }
#voice-ptt, #voice-unlock { width: 100%; padding: 13px; margin-top: 12px; font-size: 16px; }
#voice-ptt { touch-action: none; user-select: none; }
#voice-ptt[aria-pressed="true"] { background: var(--green); color: var(--bg); }
#voice-peers { display: flex; flex-direction: column; gap: 12px; }
.voice-peer { border: 1px solid var(--line); border-radius: 8px; padding: 12px; margin-top: 12px; min-width: 0; }
.voice-peer strong { display: block; font-size: 16px; overflow-wrap: anywhere; }
.voice-peer strong::before { content: ''; display: inline-block; height: 8px; width: 8px; border-radius: 50%; background: var(--muted); margin-right: 8px; }
.voice-peer.speaking strong::before { background: var(--green); box-shadow: 0 0 0 3px #64ad7522; }
.voice-peer span { display: block; font-size: 14px; color: var(--muted); overflow-wrap: anywhere; }
.voice-peer meter { width: 100%; height: 14px; display: block; margin: 7px 0; }
.voice-peer label { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.voice-peer input { min-width: 0; flex: 1; width: 0; }
#voice-duck-status { font-size: 14px; color: var(--green); }

@media (max-width: 1120px) {
  .room-grid { grid-template-columns: minmax(0, 1fr) 320px; }
  .player-controls { gap: 7px; padding: 0 9px; }
  .player-controls #volume { display: none; }
}
@media (max-width: 850px) {
  .room-grid { grid-template-columns: minmax(0, 1fr); }
  .social-column { padding-top: 0; }
}
@media (max-width: 760px) {
  .topbar { flex-wrap: wrap; padding: 14px 16px; }
  .top-actions { width: 100%; gap: 8px; }
  .top-actions .ghost { font-size: 14px; padding: 8px 10px; }
  .brand { font-size: 24px; }
  .status { font-size: 14px; }
  .section-heading { flex-wrap: wrap; }
  .section-heading h1 { font-size: 21px; }
  .sync-pill { font-size: 13px; }
  .movie-meta, .movie .choose { font-size: 14px; }
  .users { display: flex; flex-direction: column; }
  .room-tools-info { flex-wrap: wrap; }
  .room-footer { flex-wrap: wrap; gap: 6px; font-size: 12px; }
  .login-panel p, .login-panel label, .art-copy p { font-size: 16px; }
  .empty-player h2 { font-size: 18px; }
  .empty-player p { font-size: 14px; }
  .player-controls { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto 34px 34px; gap: 5px; height: auto; min-height: 94px; padding: 9px; }
  .player-controls #play { grid-row: 1; grid-column: 1; }
  .player-controls #time { grid-row: 1; grid-column: 2; font-size: 12px; }
  .player-controls #rate { grid-row: 1; grid-column: 3; font-size: 14px; max-width: 66px; }
  .player-controls #subtitle { grid-row: 1; grid-column: 4; }
  .player-controls #fullscreen { grid-row: 1; grid-column: 5; }
  .player-controls #seek { grid-row: 2; grid-column: 1 / -1; width: 100%; min-height: 20px; margin: 0; }
  .player-controls #sound, .player-controls #volume { display: none; }
  .player-wrap:fullscreen video { height: calc(100% - 94px); }
  .chat { max-height: 680px; }
}

@media (max-width: 480px) {
  .movie { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 10px; align-items: start; }
  .movie-icon.movie-poster { width: 64px; height: 46px; }
  .movie-text { grid-column: 2; grid-row: 1 / 3; }
  .movie .choose { grid-column: 1; grid-row: 2; white-space: normal; }
  .movie-title { white-space: normal; overflow-wrap: anywhere; }
}
