/*
  responsive.css
  Final responsive override layer for mobile, tablet, desktop consistency.
*/

:root {
  --page-gutter: clamp(0.75rem, 2vw, 1.4rem);
  --section-radius: clamp(14px, 1.8vw, 24px);
}

.main-layout {
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
}

.main-content {
  width: min(100%, var(--content-max-width));
  margin-inline: auto;
}

/* Keep floating controls above fixed footer/navigation overlays */
.open-sidebar-btn {
  z-index: 1700 !important;
  bottom: calc(var(--footer-height) + 16px + env(safe-area-inset-bottom, 0px)) !important;
}

.sidebar {
  z-index: 1680 !important;
}

/* ---------- Tablet landscape and down ---------- */
@media (max-width: 1200px) {
  .navbar .container {
    padding: 0.58rem 0.68rem 0.64rem !important;
    gap: 0.5rem !important;
  }

  .navbar .brand-wordmark-main {
    font-size: clamp(1.04rem, 2.2vw, 1.24rem) !important;
  }

  .navbar .brand-wordmark-sub {
    font-size: 0.56rem !important;
    letter-spacing: 0.11em !important;
  }

  .navbar .navbar-player-shell {
    padding: 0.6rem !important;
    border-radius: 14px !important;
  }

  .navbar .player-transport-row {
    grid-template-columns: auto minmax(160px, 1fr) auto !important;
    gap: 0.48rem !important;
  }

  .navbar #waveform {
    height: 60px !important;
    border-radius: 12px !important;
  }

  .navbar .transport-btn,
  .navbar .icon-btn,
  .navbar .dropbtn,
  .navbar .auth-action-btn {
    min-height: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    font-size: 0.76rem !important;
  }

  .results-page .results-layout {
    grid-template-columns: 1fr !important;
  }

  .results-page .drag-drop-zone {
    position: static !important;
    top: auto !important;
  }

  .projects-page .projects-hero,
  .projects-page .projects-controls {
    grid-template-columns: 1fr !important;
  }

  .about-hero,
  .contact-layout {
    grid-template-columns: 1fr !important;
  }
}

/* ---------- Tablet portrait ---------- */
@media (max-width: 980px) {
  :root {
    --page-gutter: clamp(0.68rem, 2.1vw, 1rem);
  }

  .main-layout {
    padding-top: calc(var(--navbar-height) + 0.6rem) !important;
    padding-bottom: calc(var(--space-2) + var(--footer-height) + env(safe-area-inset-bottom, 0px)) !important;
  }

  .navbar .container {
    padding: 0.52rem 0.6rem 0.56rem !important;
  }

  .navbar .navbar-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .navbar .navbar-nav .nav-main-link {
    min-height: 40px !important;
    font-size: 0.75rem !important;
    padding: 0.42rem 0.54rem !important;
  }

  .navbar .status-pill,
  .navbar .now-playing-chip {
    font-size: 0.67rem !important;
    padding: 0.34rem 0.54rem !important;
  }

  .navbar #currentSongName {
    max-width: 220px !important;
  }

  .index-panels,
  .contact-layout,
  .about-hero,
  .about-grid {
    grid-template-columns: 1fr !important;
  }

  .index-hero,
  .search-panel,
  .value-panel,
  .results-page .results-headbar,
  .results-page .results-controls,
  .projects-page .projects-hero,
  .projects-page .projects-controls,
  .auth-main,
  .auth-card,
  .about-hero,
  .about-panel,
  .about-blueprint,
  .about-cta,
  .contact-hero,
  .contact-form-panel,
  .contact-info-panel {
    border-radius: 16px !important;
    padding: 0.9rem !important;
  }

  .results-page .results-controls {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }

  .results-page .controls-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem !important;
  }

  .results-page .clear-filter-btn,
  .results-page .near-rhyme-toggle {
    width: 100% !important;
  }

  .projects-page .projects-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  }

  .auth-main {
    width: 100% !important;
  }

  .auth-card {
    width: 100% !important;
  }
}

/* ---------- Phone ---------- */
@media (max-width: 760px) {
  :root {
    --page-gutter: 0.62rem;
  }

  .main-layout {
    padding-top: calc(var(--navbar-height) + 0.42rem) !important;
  }

  .navbar {
    border-bottom-width: 1px !important;
  }

  .navbar .container {
    padding: 0.45rem 0.5rem 0.48rem !important;
    gap: 0.42rem !important;
  }

  .navbar .navbar-top-row {
    gap: 0.46rem !important;
  }

  .navbar .brand-zone {
    gap: 0.46rem !important;
  }

  .navbar .brand-logo-shell {
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
  }

  .navbar .brand-logo {
    width: 24px !important;
    height: 24px !important;
  }

  .navbar .brand-wordmark-main {
    font-size: 1rem !important;
    letter-spacing: 0.005em !important;
  }

  .navbar .brand-wordmark-sub {
    display: none !important;
  }

  .navbar .navbar-toggle {
    display: inline-flex !important;
    width: 38px !important;
    height: 36px !important;
    border-radius: 10px !important;
  }

  .navbar .navbar-right {
    margin-top: 0.18rem !important;
    border-radius: 12px !important;
  }

  .navbar .navbar-right.open {
    max-height: min(74dvh, 640px) !important;
    overflow-y: auto !important;
    padding: 0.58rem !important;
  }

  .navbar .navbar-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.34rem !important;
    padding: 0.18rem !important;
  }

  .navbar .dropbtn,
  .navbar .icon-btn,
  .navbar .auth-action-btn,
  .navbar .transport-btn {
    min-height: 36px !important;
    height: 36px !important;
    font-size: 0.73rem !important;
    padding-inline: 0.58rem !important;
  }

  .navbar .audio-upload-btn {
    width: 36px !important;
    min-width: 36px !important;
  }

  .navbar .audio-upload-label {
    display: none !important;
  }

  .navbar .auth-nav {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.36rem !important;
  }

  .navbar .auth-user-label {
    grid-column: 1 / -1;
    max-width: 100% !important;
    font-size: 0.7rem !important;
  }

  .navbar .navbar-player-shell {
    border-radius: 12px !important;
    padding: 0.5rem !important;
    gap: 0.5rem !important;
  }

  .navbar .player-shell-head {
    gap: 0.46rem !important;
  }

  .navbar .player-shell-kicker {
    font-size: 0.56rem !important;
  }

  .navbar .player-shell-toggle {
    min-height: 32px !important;
    height: 32px !important;
    padding-inline: 0.56rem !important;
  }

  .navbar .player-transport-row {
    grid-template-columns: 1fr !important;
    gap: 0.46rem !important;
  }

  .navbar .audio-controls-left,
  .navbar .audio-controls-right {
    justify-content: center !important;
  }

  .navbar #waveform {
    height: 54px !important;
    border-radius: 11px !important;
  }

  .navbar .player-status-row {
    gap: 0.3rem !important;
  }

  .navbar .status-pill,
  .navbar .now-playing-chip {
    font-size: 0.64rem !important;
    padding: 0.3rem 0.5rem !important;
  }

  .navbar #currentSongName {
    max-width: 180px !important;
  }

  .modal {
    padding: 0.58rem !important;
  }

  .modal-content {
    width: min(100%, 100vw - 0.8rem) !important;
    max-height: calc(100dvh - 1rem) !important;
    border-radius: 14px !important;
    padding: 1rem 0.85rem !important;
  }

  .studio-grid {
    grid-template-columns: 1fr !important;
  }

  .sidebar {
    top: calc(var(--navbar-height) + 0.3rem) !important;
    left: 0.4rem !important;
    width: calc(100vw - 0.8rem) !important;
    height: calc(100dvh - var(--navbar-height) - var(--footer-height) - 1rem) !important;
    border-radius: 14px !important;
  }

  .open-sidebar-btn {
    right: 10px !important;
    bottom: calc(var(--footer-height) + 12px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .index-hero,
  .search-panel,
  .value-panel,
  .results-page,
  .projects-page,
  .about-page,
  .contact-page,
  .auth-main {
    padding-left: 0.72rem !important;
    padding-right: 0.72rem !important;
  }

  .results-page .headbar-right {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .results-page .controls-actions {
    grid-template-columns: 1fr !important;
  }

  .results-page .results-container,
  .results-page .results-layout,
  .results-page .drag-drop-zone {
    gap: 0.62rem !important;
  }

  .projects-page .hero-right {
    justify-items: start !important;
  }

  .projects-page .hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100%;
  }

  .projects-page .projects-grid {
    grid-template-columns: 1fr !important;
  }

  .contact-form .btn-submit {
    width: 100% !important;
    min-width: 0 !important;
  }

  .site-footer {
    padding-inline: 0.58rem !important;
  }

  .site-footer__inner {
    justify-content: center !important;
    gap: 0.52rem 0.62rem !important;
  }

  .site-footer__brand {
    width: 100%;
    justify-content: center;
  }

  .site-footer__copy-block {
    text-align: center;
  }

  .site-footer__meta {
    font-size: 0.72rem !important;
  }

  .footer-seo-links {
    justify-content: center !important;
  }

  .footer-seo-links a {
    font-size: 0.64rem !important;
    padding-inline: 0.56rem !important;
  }
}

/* ---------- Small phones ---------- */
@media (max-width: 520px) {
  .navbar .navbar-nav {
    grid-template-columns: 1fr !important;
  }

  .navbar .navbar-nav .nav-main-link {
    min-height: 38px !important;
    font-size: 0.72rem !important;
  }

  .navbar .auth-nav {
    grid-template-columns: 1fr !important;
  }

  .navbar .status-pill:nth-child(n + 5) {
    display: none !important;
  }

  .navbar #currentSongName {
    max-width: 136px !important;
  }

  .site-footer__title {
    font-size: 0.66rem !important;
  }

  .site-footer__meta {
    font-size: 0.68rem !important;
  }

  .footer-seo-links a {
    min-height: 1.56rem !important;
    padding: 0.15rem 0.48rem !important;
  }

  .results-page .headbar-right {
    grid-template-columns: 1fr !important;
  }

  .about-page,
  .contact-page,
  .projects-page,
  .results-page,
  .auth-main {
    width: 100% !important;
    margin-inline: auto !important;
  }
}

/* ---------- Mobile architecture pass (fundamental layout) ---------- */
@media (max-width: 900px) {
  body.nav-sheet-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .navbar {
    z-index: 2200 !important;
  }

  .navbar.is-mobile-menu-open::after {
    content: "";
    position: fixed;
    inset: var(--navbar-height) 0 0 0;
    background: rgba(8, 24, 36, 0.4);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 2190;
  }

  .navbar .container {
    padding: 0.44rem 0.5rem 0.52rem !important;
    gap: 0.42rem !important;
  }

  .navbar .navbar-top-row {
    grid-template-columns: 1fr !important;
    gap: 0.3rem !important;
    border-radius: 12px !important;
  }

  .navbar .brand-zone {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 0.5rem !important;
  }

  .navbar .navbar-right {
    position: fixed !important;
    left: 0.5rem !important;
    right: 0.5rem !important;
    top: calc(var(--navbar-height) + 0.34rem) !important;
    bottom: calc(var(--footer-height) + 0.5rem + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 0.62rem !important;
    border-radius: 14px !important;
    border: 1px solid rgba(140, 183, 208, 0.38) !important;
    background: linear-gradient(165deg, rgba(248, 252, 255, 0.92), rgba(234, 246, 253, 0.88)) !important;
    box-shadow: 0 22px 40px rgba(8, 30, 47, 0.2) !important;
    transform: translateY(10px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    max-height: none !important;
    overflow: auto !important;
    display: grid !important;
    align-content: start !important;
    gap: 0.56rem !important;
    z-index: 2201 !important;
    transition: opacity 180ms ease, transform 180ms ease !important;
  }

  .navbar .navbar-right.open {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .navbar .nav-main-cluster,
  .navbar .nav-utility-cluster,
  .navbar .auth-nav {
    width: 100% !important;
  }

  .navbar .nav-main-cluster {
    order: 1;
  }

  .navbar .nav-utility-cluster {
    order: 2;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    gap: 0.44rem !important;
  }

  .navbar .audio-tools {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.38rem !important;
    padding: 0.14rem !important;
  }

  .navbar .audio-tools .dropbtn {
    width: 100% !important;
    justify-content: space-between !important;
    padding-inline: 0.62rem !important;
    min-height: 38px !important;
    height: 38px !important;
  }

  .navbar .audio-tools .audio-upload-btn,
  .navbar .nav-utility-cluster > .icon-btn {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }

  .navbar .navbar-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.36rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .navbar .navbar-nav .nav-main-link {
    min-height: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 0.76rem !important;
    padding: 0 0.5rem !important;
    border: 1px solid rgba(137, 180, 206, 0.34) !important;
    background: rgba(248, 252, 255, 0.62) !important;
  }

  .navbar .navbar-nav .nav-main-link::after {
    left: 14px !important;
    right: 14px !important;
    bottom: 6px !important;
  }

  .navbar .auth-nav {
    order: 3;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.4rem !important;
    margin-left: 0 !important;
  }

  .navbar .auth-user-label {
    grid-column: 1 / -1;
    max-width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  .navbar .auth-action-btn {
    min-height: 38px !important;
    height: 38px !important;
    justify-content: center !important;
  }

  .navbar .navbar-player-shell {
    padding: 0.48rem !important;
    border-radius: 12px !important;
    gap: 0.42rem !important;
  }

  .navbar .player-transport-row {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "wave"
      "left"
      "right" !important;
    gap: 0.42rem !important;
  }

  .navbar .top-wave-container {
    grid-area: wave;
  }

  .navbar .audio-controls-left {
    grid-area: left;
  }

  .navbar .audio-controls-right {
    grid-area: right;
  }

  .navbar .audio-controls-left,
  .navbar .audio-controls-right {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 0.36rem !important;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .navbar .audio-controls-left::-webkit-scrollbar,
  .navbar .audio-controls-right::-webkit-scrollbar,
  .navbar .player-status-row::-webkit-scrollbar {
    display: none;
  }

  .navbar #waveform {
    height: 58px !important;
    border-radius: 10px !important;
  }

  .navbar .player-status-row {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 0.32rem !important;
    padding-bottom: 2px;
  }

  .navbar .status-pill,
  .navbar .now-playing-chip {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-size: 0.66rem !important;
    padding: 0.3rem 0.5rem !important;
  }

  html.dark-mode .navbar.is-mobile-menu-open::after {
    background: rgba(4, 14, 22, 0.52);
  }

  html.dark-mode .navbar .navbar-right {
    border-color: rgba(90, 154, 191, 0.48) !important;
    background: linear-gradient(165deg, rgba(9, 34, 51, 0.92), rgba(8, 30, 46, 0.9)) !important;
    box-shadow: 0 26px 44px rgba(0, 0, 0, 0.42) !important;
  }

  html.dark-mode .navbar .navbar-nav .nav-main-link {
    border-color: rgba(98, 165, 202, 0.38) !important;
    background: rgba(16, 57, 84, 0.68) !important;
  }
}

@media (max-width: 560px) {
  .navbar .navbar-right {
    left: 0.38rem !important;
    right: 0.38rem !important;
    padding: 0.52rem !important;
    border-radius: 12px !important;
  }

  .navbar .navbar-nav {
    grid-template-columns: 1fr !important;
  }

  .navbar .auth-nav {
    grid-template-columns: 1fr !important;
  }

  .navbar .player-shell-toggle .toggle-label,
  .navbar .player-shell-state {
    display: none !important;
  }
}

/* ---------- Mobile visual pass v2 (hierarchy + touch polish) ---------- */
@media (max-width: 900px) {
  .navbar .navbar-right {
    padding: 0.66rem !important;
  }

  .navbar .navbar-right::before {
    content: "";
    width: 44px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(133, 184, 214, 0.7), rgba(97, 170, 209, 0.7));
    justify-self: center;
    margin-top: 0.06rem;
    margin-bottom: 0.1rem;
  }

  .navbar .nav-main-cluster,
  .navbar .nav-utility-cluster,
  .navbar .auth-nav {
    position: relative;
    border: 1px solid rgba(138, 182, 207, 0.34) !important;
    border-radius: 12px !important;
    background: linear-gradient(165deg, rgba(252, 254, 255, 0.82), rgba(242, 250, 255, 0.7)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.78),
      0 6px 14px rgba(10, 42, 63, 0.09) !important;
    padding: 0.48rem !important;
  }

  .navbar .nav-main-cluster::before,
  .navbar .nav-utility-cluster::before,
  .navbar .auth-nav::before {
    display: block;
    margin: 0 0 0.34rem 0.08rem;
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.11em;
    font-weight: 800;
    color: rgba(34, 83, 113, 0.76);
  }

  .navbar .nav-main-cluster::before {
    content: "Navigate";
  }

  .navbar .nav-utility-cluster::before {
    content: "Tools";
    grid-column: 1 / -1;
  }

  .navbar .auth-nav::before {
    content: "Account";
    grid-column: 1 / -1;
  }

  .navbar .navbar-nav .nav-main-link {
    min-height: 42px !important;
    height: 42px !important;
    border-radius: 11px !important;
    border: 1px solid rgba(129, 176, 204, 0.36) !important;
    background: rgba(250, 253, 255, 0.72) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
  }

  .navbar .navbar-nav .nav-main-link:hover,
  .navbar .navbar-nav .nav-main-link.is-active,
  .navbar .navbar-nav .nav-main-link[aria-current="page"] {
    border-color: rgba(95, 160, 200, 0.56) !important;
  }

  .navbar .audio-tools,
  .navbar .auth-nav {
    gap: 0.4rem !important;
  }

  .navbar .audio-tools .dropbtn,
  .navbar .audio-tools .audio-upload-btn,
  .navbar .nav-utility-cluster > .icon-btn,
  .navbar .auth-action-btn {
    min-height: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
  }

  .navbar .audio-controls-left,
  .navbar .audio-controls-right,
  .navbar .player-status-row {
    scroll-snap-type: x mandatory;
  }

  .navbar .audio-controls-left > *,
  .navbar .audio-controls-right > *,
  .navbar .player-status-row > * {
    scroll-snap-align: start;
  }

  .navbar .audio-controls-left .transport-btn,
  .navbar .audio-controls-right .transport-btn {
    min-width: 40px !important;
    height: 40px !important;
  }

  .navbar .navbar-player-shell {
    border-radius: 13px !important;
    border: 1px solid rgba(128, 177, 204, 0.36) !important;
    background:
      radial-gradient(circle at 10% -74%, rgba(129, 208, 248, 0.22), transparent 56%),
      linear-gradient(166deg, rgba(236, 246, 254, 0.84), rgba(223, 237, 249, 0.78)) !important;
  }

  html.dark-mode .navbar .nav-main-cluster,
  html.dark-mode .navbar .nav-utility-cluster,
  html.dark-mode .navbar .auth-nav {
    border-color: rgba(89, 154, 191, 0.42) !important;
    background: linear-gradient(165deg, rgba(12, 41, 61, 0.82), rgba(10, 33, 49, 0.76)) !important;
    box-shadow:
      inset 0 1px 0 rgba(170, 221, 246, 0.1),
      0 8px 18px rgba(0, 0, 0, 0.28) !important;
  }

  html.dark-mode .navbar .nav-main-cluster::before,
  html.dark-mode .navbar .nav-utility-cluster::before,
  html.dark-mode .navbar .auth-nav::before {
    color: rgba(176, 214, 238, 0.8);
  }

  html.dark-mode .navbar .navbar-nav .nav-main-link {
    border-color: rgba(96, 165, 202, 0.42) !important;
    background: rgba(16, 57, 84, 0.7) !important;
  }

  html.dark-mode .navbar .navbar-player-shell {
    border-color: rgba(92, 158, 194, 0.46) !important;
    background:
      radial-gradient(circle at 10% -74%, rgba(113, 196, 241, 0.22), transparent 58%),
      linear-gradient(166deg, rgba(10, 43, 64, 0.88), rgba(9, 33, 49, 0.84)) !important;
  }
}

/* ---------- Mobile cleanup pass v3 (remove clutter) ---------- */
@media (max-width: 900px) {
  .navbar .container {
    padding: 0.34rem 0.46rem 0.44rem !important;
    gap: 0.28rem !important;
  }

  .navbar .navbar-top-row {
    border-radius: 11px !important;
    border: 1px solid rgba(139, 183, 208, 0.26) !important;
    background: linear-gradient(160deg, rgba(247, 252, 255, 0.82), rgba(236, 248, 255, 0.72)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.76),
      0 5px 12px rgba(10, 39, 59, 0.11) !important;
    padding: 0.16rem 0.18rem !important;
  }

  .navbar .brand-zone {
    gap: 0.38rem !important;
  }

  .navbar .brand-logo-shell {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
  }

  .navbar .brand-logo {
    width: 22px !important;
    height: 22px !important;
  }

  .navbar .brand-wordmark-main {
    font-size: 0.98rem !important;
    letter-spacing: 0.002em !important;
  }

  .navbar .navbar-toggle {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
  }

  .navbar .navbar-player-shell {
    border-radius: 11px !important;
    border: 1px solid rgba(136, 180, 206, 0.28) !important;
    background: linear-gradient(164deg, rgba(236, 247, 255, 0.8), rgba(224, 240, 250, 0.74)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.76),
      0 5px 14px rgba(9, 36, 55, 0.14) !important;
    padding: 0.32rem 0.4rem !important;
    gap: 0.24rem !important;
  }

  .navbar .player-shell-head {
    min-height: 30px !important;
    gap: 0.34rem !important;
    padding: 0 !important;
  }

  .navbar .player-shell-kicker {
    font-size: 0.57rem !important;
    letter-spacing: 0.1em !important;
    color: rgba(31, 79, 108, 0.9) !important;
  }

  .navbar .player-shell-toggle {
    width: 34px !important;
    min-width: 34px !important;
    height: 30px !important;
    min-height: 30px !important;
    border-radius: 9px !important;
    padding: 0 !important;
    justify-content: center !important;
    border: 1px solid rgba(121, 174, 207, 0.46) !important;
    background: rgba(233, 246, 255, 0.84) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
  }

  .navbar .player-shell-toggle i {
    font-size: 0.74rem !important;
  }

  .navbar .player-shell-toggle .toggle-label,
  .navbar .player-shell-state {
    display: none !important;
  }

  .navbar .navbar-player-shell.is-collapsed {
    padding: 0.28rem 0.36rem !important;
  }

  .navbar .navbar-player-shell.is-collapsed .player-shell-head {
    min-height: 28px !important;
  }

  .navbar .navbar-right {
    border-radius: 12px !important;
  }

  .navbar .nav-main-cluster,
  .navbar .nav-utility-cluster,
  .navbar .auth-nav {
    border-radius: 10px !important;
    padding: 0.4rem !important;
  }

  .navbar .nav-main-cluster::before,
  .navbar .nav-utility-cluster::before,
  .navbar .auth-nav::before {
    font-size: 0.56rem !important;
    margin-bottom: 0.28rem !important;
    opacity: 0.78;
  }

  .navbar .navbar-nav .nav-main-link {
    min-height: 38px !important;
    height: 38px !important;
  }

  html.dark-mode .navbar .navbar-top-row {
    border-color: rgba(87, 151, 188, 0.42) !important;
    background: linear-gradient(162deg, rgba(11, 38, 57, 0.86), rgba(9, 31, 47, 0.82)) !important;
    box-shadow:
      inset 0 1px 0 rgba(173, 222, 246, 0.1),
      0 6px 14px rgba(0, 0, 0, 0.32) !important;
  }

  html.dark-mode .navbar .navbar-player-shell {
    border-color: rgba(90, 156, 194, 0.42) !important;
    background: linear-gradient(165deg, rgba(11, 43, 63, 0.86), rgba(9, 34, 50, 0.82)) !important;
    box-shadow:
      inset 0 1px 0 rgba(173, 220, 245, 0.1),
      0 7px 16px rgba(0, 0, 0, 0.34) !important;
  }

  html.dark-mode .navbar .player-shell-kicker {
    color: rgba(184, 221, 244, 0.9) !important;
  }

  html.dark-mode .navbar .player-shell-toggle {
    border-color: rgba(102, 173, 211, 0.56) !important;
    background: rgba(18, 66, 96, 0.84) !important;
  }
}

/* ---------- Mobile final pass v4 (lean top shell + compact controls) ---------- */
@media (max-width: 1120px) {
  .navbar {
    border-bottom-color: rgba(117, 170, 202, 0.22) !important;
    box-shadow: 0 8px 16px rgba(8, 35, 53, 0.14) !important;
  }

  .navbar::before {
    opacity: 0.24 !important;
  }

  .navbar .container {
    padding: 0.34rem 0.5rem 0.44rem !important;
    gap: 0.32rem !important;
  }

  .navbar .navbar-top-row {
    padding: 0.16rem 0.18rem !important;
    border-radius: 12px !important;
    border: 1px solid rgba(135, 184, 211, 0.2) !important;
    background: rgba(243, 251, 255, 0.52) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
  }

  .navbar .navbar-nav,
  .navbar .audio-tools,
  .navbar .auth-nav {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .navbar .audio-tools {
    padding: 0 !important;
  }

  .navbar .dropbtn,
  .navbar .icon-btn,
  .navbar .audio-upload-btn,
  .navbar .auth-action-btn {
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 9px !important;
    border: 1px solid rgba(133, 181, 208, 0.28) !important;
    background: rgba(245, 252, 255, 0.48) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
  }

  .navbar .navbar-player-shell {
    border-radius: 12px !important;
    border: 1px solid rgba(132, 180, 208, 0.24) !important;
    background: rgba(230, 244, 253, 0.58) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
    padding: 0.3rem 0.4rem !important;
    gap: 0.22rem !important;
  }

  .navbar .player-shell-head {
    min-height: 28px !important;
    padding: 0 !important;
  }

  .navbar .player-shell-kicker {
    font-size: 0.56rem !important;
    letter-spacing: 0.095em !important;
  }

  .navbar .player-shell-toggle {
    width: 32px !important;
    min-width: 32px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    justify-content: center !important;
    gap: 0 !important;
    border: 1px solid rgba(123, 177, 208, 0.44) !important;
    background: rgba(231, 246, 255, 0.84) !important;
  }

  .navbar .player-shell-toggle i {
    font-size: 0.72rem !important;
  }

  .navbar .player-shell-toggle .toggle-label,
  .navbar .player-shell-state {
    display: none !important;
  }

  .navbar .navbar-player-shell.is-collapsed {
    padding: 0.24rem 0.34rem !important;
  }

  .navbar .navbar-player-shell.is-collapsed .player-shell-head {
    min-height: 26px !important;
  }

  html.dark-mode .navbar {
    border-bottom-color: rgba(87, 149, 186, 0.36) !important;
    box-shadow: 0 9px 18px rgba(0, 0, 0, 0.34) !important;
  }

  html.dark-mode .navbar .navbar-top-row {
    border-color: rgba(87, 151, 188, 0.34) !important;
    background: rgba(9, 36, 54, 0.72) !important;
    box-shadow: inset 0 1px 0 rgba(175, 222, 246, 0.11) !important;
  }

  html.dark-mode .navbar .dropbtn,
  html.dark-mode .navbar .icon-btn,
  html.dark-mode .navbar .audio-upload-btn,
  html.dark-mode .navbar .auth-action-btn {
    border-color: rgba(95, 165, 202, 0.42) !important;
    background: rgba(15, 55, 81, 0.66) !important;
    box-shadow: inset 0 1px 0 rgba(172, 220, 245, 0.1) !important;
  }

  html.dark-mode .navbar .navbar-player-shell {
    border-color: rgba(90, 157, 194, 0.38) !important;
    background: rgba(9, 39, 58, 0.78) !important;
    box-shadow: inset 0 1px 0 rgba(170, 220, 245, 0.1) !important;
  }

  html.dark-mode .navbar .player-shell-toggle {
    border-color: rgba(102, 173, 211, 0.56) !important;
    background: rgba(17, 65, 95, 0.86) !important;
  }
}

@media (max-width: 900px) {
  .navbar .navbar-right::before,
  .navbar .nav-main-cluster::before,
  .navbar .nav-utility-cluster::before,
  .navbar .auth-nav::before {
    display: none !important;
  }

  .navbar .nav-main-cluster,
  .navbar .nav-utility-cluster,
  .navbar .auth-nav {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .navbar .navbar-nav {
    gap: 0.28rem !important;
  }

  .navbar .navbar-nav .nav-main-link {
    min-height: 36px !important;
    height: 36px !important;
    border-radius: 9px !important;
    border: 1px solid rgba(134, 183, 210, 0.26) !important;
    background: rgba(246, 252, 255, 0.48) !important;
  }

  .navbar .nav-utility-cluster,
  .navbar .auth-nav {
    margin-top: 0.1rem !important;
  }

  html.dark-mode .navbar .navbar-nav .nav-main-link {
    border-color: rgba(93, 162, 200, 0.36) !important;
    background: rgba(14, 54, 80, 0.62) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .navbar,
  .navbar *,
  .modal,
  .modal-content,
  .project-card,
  .results-page * {
    animation: none !important;
    transition: none !important;
  }
}
