.listening-toolbar { flex: 0 0 auto; padding: 12px 20px; border-bottom: 1px solid var(--app-line); }
.listening-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 4px; border: 0; border-radius: 8px; background: var(--app-soft); }
.listening-mode label { position: relative; min-width: 0; cursor: pointer; }
.listening-mode input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.listening-mode span { display: grid; place-items: center; min-height: 40px; border-radius: 6px; font-size: 14px; font-weight: 700; color: var(--app-muted); }
.listening-mode input:checked + span { background: var(--app-raised); color: var(--app-text); box-shadow: inset 0 0 0 1px var(--accent); }
.listening-mode input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.content-panel > .tab-panel { flex: 1 1 auto; min-height: 0; }
.app-topbar, .home-hero, .home-search-wrap, .home-section-head, .chip-row { flex-shrink: 0; }
.chip-row { min-height: 42px; }
.home-hero h1 { font-size: 32px; line-height: 1.15; }
.home-hero { margin-bottom: 8px; }
.home-search-wrap { margin-top: 14px; }
.home-section-head { margin-top: 18px; }
.app-status { flex: 0 0 auto; margin: 0; padding: 10px 20px; font-size: 13px; color: var(--app-text); background: var(--app-soft); }
.app-status[hidden] { display: none; }
.app-status.is-error { color: #e77077; }
@media (max-width: 900px) {
    .listening-toolbar { padding: calc(10px + env(safe-area-inset-top)) 18px 10px; }
    .content-panel > .tab-panel { height: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .visualizer span { animation: none !important; }
}
body[data-page-hidden='true'] .visualizer span { animation-play-state: paused !important; }
