:root { accent-color:#7c3aed; }
.settings-page.import-page { max-width:800px; }
.import-page [hidden] { display:none!important; }
.import-label { display:block; font-weight:600; margin:20px 0 8px; }
.import-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.import-items { list-style:none; padding:0; }
.import-items li { border-bottom:1px solid #80808030; }
.import-items label { display:flex; gap:12px; padding:14px 0; align-items:flex-start; }
.import-items input { margin-top:5px; flex-shrink:0; width:18px; height:18px; }
.import-items label>span { min-width:0; }
.import-items strong,.import-items span span { display:block; overflow-wrap:anywhere; }
.import-items span span { font-size:14px; color:var(--text-secondary); }
.import-items .import-status { margin-top:4px; }
.import-page #import-progress { overflow-wrap:anywhere; }
body { background-image:none; }
.app-sidebar { position:fixed; inset:0 auto 0 0; width:240px; padding:24px 16px; display:flex; flex-direction:column; gap:22px; background:rgb(var(--surface-elevated)); border-right:1px solid #80808030; z-index:40; overflow:auto; }
.app-sidebar nav { display:grid; gap:4px; }
.app-sidebar a,.app-sidebar button { text-align:left; padding:10px 12px; border-radius:8px; }
.app-sidebar a:hover { background:#80808018; }
.app-sidebar .brand { font-size:18px; font-weight:700; padding:0; }
.app-sidebar .account { margin-top:auto; }
.app-main { margin-left:240px; padding:28px 32px; max-width:1600px; }
.mobile-appbar,.mobile-bottom { display:none; }
.settings-page { max-width:960px; }
.settings-page h1,.settings-page>h2,.settings-page>h3 { font-size:24px; font-weight:650; margin:0 0 24px; }
.settings-page h4 { font-size:14px; margin:22px 0 8px; }
.setting-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 0; border-bottom:1px solid #80808022; min-height:58px; font-size:14px; }
.setting-row>.input,.setting-row>.select { width:22rem; max-width:58%; margin:0; }
.setting-control { display:flex; align-items:center; gap:10px; }
.setting-control input { width:7rem; }
.setting-switch { appearance:none; width:40px!important; height:24px!important; border-radius:20px; background:#737380; position:relative; cursor:pointer; flex-shrink:0; border:0; }
.setting-switch::after { content:''; position:absolute; width:18px; height:18px; top:3px; left:3px; border-radius:50%; background:white; transition:transform .15s; }
.setting-switch:checked { background:#7c3aed; }
.setting-switch:checked::after { transform:translateX(16px); }
:focus-visible { outline:2px solid #9b72f7; outline-offset:3px; }
.settings-page details { border-bottom:1px solid #80808030; padding:14px 0; }
.settings-page summary { cursor:pointer; font-weight:600; min-height:32px; }
.settings-page form>.btn-primary { margin-top:24px; }
.settings-page input[type=number] { max-width:8rem; }
.settings-page textarea { min-height:100px; }
.settings-page .definition-preview { font-size:14px; opacity:.8; margin-top:8px; max-width:75ch; }
.settings-page .save-status { min-height:24px; margin-top:12px; }
dialog { color:inherit; background:rgb(var(--surface-base)); width:min(650px, calc(100% - 24px)); max-height:85dvh; border:1px solid #80808050; border-radius:12px; padding:24px; overflow:auto; }
dialog::backdrop { background:#0008; }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.dialog-heading h2 { font-size:22px; font-weight:600; }
.dialog-heading button { min-width:44px; min-height:44px; }
.mobile-podcasts { display:none; }
.podcast-selection { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 16px; font-size:14px; }
.podcast-selection-icon { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; }
#ingestion-url { width:100%; margin-top:8px; }
#export-opml:disabled { opacity:.45; cursor:not-allowed; }
.settings-navigation { display:grid; gap:2px; padding-left:12px; font-size:14px; }
.settings-navigation a { padding:7px 12px; }
.settings-navigation a[aria-current=page] { color:var(--link); background:#7c3aed18; }
.settings-page .grid { gap:16px; }
@media(max-width:900px) {
 .app-sidebar { display:none; width:min(300px,85vw); background:var(--panel-bg,#181820); }
 html:not(.dark) .app-sidebar { background:#fff; }
 .app-sidebar[data-open] { display:flex; box-shadow:8px 0 30px #0006; }
 .app-main { margin:0; padding:18px 16px calc(88px + env(safe-area-inset-bottom)); }
 .mobile-appbar { display:flex; align-items:center; gap:18px; padding:8px 16px; border-bottom:1px solid #80808030; }
 .mobile-appbar button { min-height:44px; min-width:44px; }
 .mobile-bottom { position:fixed; bottom:0; left:0; right:0; display:flex; justify-content:space-around; padding:6px 4px calc(6px + env(safe-area-inset-bottom)); background:#181820; color:#eee; border-top:1px solid #80808040; z-index:30; }
 html:not(.dark) .mobile-bottom { background:#fff; color:#252530; }
 .mobile-bottom a,.mobile-bottom button { min-height:48px; display:flex; align-items:center; justify-content:center; font-size:12px; padding:4px 8px; }
 .setting-row { gap:12px; }
 .setting-row>.input,.setting-row>.select { width:55%; max-width:55%; }
 #podcast-table-container,#podcast-grid,#bulk-settings-form,#view-grid,#view-list,#view-art { display:none!important; }
 .mobile-podcasts { display:block; }
 .mobile-podcast { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #80808025; }
 .mobile-podcast img { width:48px; height:48px; object-fit:cover; border-radius:6px; }
 .mobile-podcast .podcast-title { flex:1; min-width:0; overflow-wrap:anywhere; font-size:15px; }
 .mobile-podcast .manage { width:44px; height:44px; display:grid; place-items:center; }
}
@media(max-width:480px) {
 .setting-row:has(>.input),.setting-row:has(>.select) { align-items:stretch; flex-direction:column; gap:8px; }
 .setting-row>.input,.setting-row>.select { width:100%; max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; } }

.mobile-podcast[hidden]{display:none;}

.app-sidebar .account { display:grid; gap:2px; }
@media(max-width:900px){#dashboard-library-region .flex:has(>#view-grid){display:none} #podcast-filter,#podcast-sort{max-width:calc(50% - 8px);flex:1} .settings-page table{display:block;overflow:auto} }

.sidebar-close { display:none; }
.app-sidebar nav>a[aria-current=page], .mobile-bottom a[aria-current=page] { background:#7c3aed18; font-weight:650; }
@media(max-width:900px) { .sidebar-close { display:block; min-height:44px; } }

.nav-icon { flex:none; }
.app-sidebar nav>a,.app-sidebar .account>a,.app-sidebar .account>button,.app-sidebar .btn-primary,.unified-feed-action { display:flex; align-items:center; gap:10px; }
.settings-links.desktop-collapsed { display:none; }
.settings-intro { max-width:72ch; margin:-10px 0 24px; font-size:14px; line-height:1.6; color:var(--text-secondary); }
.settings-page .settings-section-title,.settings-page legend { font-size:17px; font-weight:650; margin:22px 0 8px; }
.settings-help { font-size:13px; line-height:1.5; color:var(--text-secondary); margin:10px 0 18px; max-width:75ch; }
.setting-switch:disabled { opacity:.45; cursor:not-allowed; }
.setting-row:has(:disabled) { color:var(--text-secondary); }
.sidebar-backdrop { position:fixed; inset:0; background:#0007; z-index:39; }
.sidebar-backdrop[hidden] { display:none; }
@media(max-width:900px) {
 .app-sidebar .sidebar-primary { display:none; }
 .settings-links.desktop-collapsed { display:block; }
 .sidebar-close { align-self:flex-end; display:grid; place-items:center; width:44px; height:44px; }
 .mobile-bottom a { flex-direction:column; gap:3px; }
 .unified-feed-action { min-height:44px; flex:none; }
 #podcast-search { width:auto; min-width:100px; flex:1; }
}

.speech-control { width:22rem; max-width:58%; display:grid; gap:8px; }
.speech-control .input,.speech-control .select { width:100%; margin:0; }
.speech-control input[hidden] { display:none; }
@media(max-width:480px) { .setting-row:has(>.speech-control) { flex-direction:column; align-items:stretch; gap:8px; } .speech-control { width:100%; max-width:none; } }

.storage-paths { display:grid; grid-template-columns: minmax(7rem, auto) minmax(0,1fr); gap: .75rem 1rem; margin:1rem 0; }
.storage-paths dt { font-weight:600; }
.storage-paths dd, .storage-path { overflow-wrap:anywhere; }
.storage-error { color:var(--danger); font-weight:600; margin:.75rem 0; }
.storage-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.storage-cleanup { display:grid; gap:1rem; justify-items:start; }
.storage-cleanup label { display:flex; gap:.75rem; align-items:flex-start; }
.storage-cleanup input { margin-top:.3rem; }
#storage-progress { width:100%; accent-color:#7c3aed; }
.storage-actions [hidden] { display:none; }

.settings-section { margin-top: 1.5rem; }
.settings-section h2 { font-size: 1rem; font-weight: 650; margin-bottom: .75rem; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .5rem; }
.speech-control { display: flex; align-items: center; gap: .5rem; min-width: 0; flex-wrap: wrap; }
.speech-control .select,.speech-control .input { flex: 1; min-width: 120px; }
[data-autosize] { resize: none; overflow: hidden; transition: none; }
.podcast-settings-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
@media(max-width:1199px){.podcast-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.podcast-settings-grid{grid-template-columns:1fr;}}

.podcast-settings-compact .grid { gap: 1rem; }
.podcast-settings-compact .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: .75rem; }
.podcast-settings-compact label { font-size: .875rem; }
.podcast-settings-compact section { padding: .5rem 0; }
.podcast-settings-compact .input,.podcast-settings-compact .select { padding: .5rem .75rem; }
.podcast-settings-compact h4 { font-size: .95rem; }
#processing-settings [aria-expanded=true] svg { transform: rotate(180deg); }

.podcast-artwork { position: relative; }
.artwork-subscribe { position: absolute; right: .5rem; top: .5rem; z-index: 3; }
#podcast-operation-items { max-height: 55vh; overflow: auto; }

.credential-control { width:22rem; max-width:58%; }
.credential-control .input { width:100%; }
.credential-control .settings-help { margin:8px 0 0; }
.dialog-heading { flex-wrap:wrap; }
#podcast-operation-items .setting-row { flex-wrap:wrap; }
#podcast-operation-items .setting-row>span { flex-basis:100%; overflow-wrap:anywhere; }
@media(max-width:480px){.setting-row:has(>.credential-control){flex-direction:column;align-items:stretch}.credential-control{width:100%;max-width:none}}

.owner-control{display:flex;gap:8px;width:28rem;max-width:70%;align-items:center}.owner-control .select{min-width:0;flex:1}.owner-control button{flex:none}
@media(max-width:640px){.owner-setting{flex-direction:column;align-items:stretch}.owner-control{width:100%;max-width:none;flex-wrap:wrap}}

#podcast-grid:not([data-view="art"]) .artwork-subscribe{display:none}
.podcast-card:focus-within .podcast-overlay{opacity:1}

#upgrade-history-content h3,#upgrade-history-content h4{font-weight:650}#upgrade-history-content p,#upgrade-history-content details{margin-top:6px}#upgrade-history-content ul{list-style:disc;padding-left:20px}.migration-model{margin:12px 0;padding-bottom:12px;border-bottom:1px solid #80808030;overflow-wrap:anywhere}

/* Compact settings retain normal touch targets and stack on phones. */
.podcast-settings-grid .settings-section { min-width:0; margin-top:.75rem; }
.podcast-settings-grid .setting-row { min-height:44px; padding:8px 0; gap:12px; }
.podcast-settings-grid .setting-control input { width:5rem; }
.gpu-status dd { width:22rem; max-width:58%; overflow-wrap:anywhere; }
#timeline-prompts-form .dialog-heading { margin-bottom:4px; }
#timeline-prompts-form .dialog-heading h2 { margin:0; font-size:1rem; }
#timeline-prompts-form [data-autosize] { min-height:0; padding:8px 12px; display:block; }
@media(max-width:480px){.gpu-status .setting-row{align-items:flex-start;flex-direction:column;gap:4px}.gpu-status dd{width:100%;max-width:none}}


/* Podcast settings: tabs on desktop, a single accordion level on phones. */
.podcast-settings-tabs { display:none; }
.settings-enhanced .podcast-settings-tabs { display:flex; gap:8px; border-bottom:1px solid #80808030; margin-bottom:16px; }
.podcast-settings-tabs button { padding:10px 16px; min-height:44px; border-bottom:2px solid transparent; }
.podcast-settings-tabs [aria-selected=true] { color:var(--link); border-bottom-color:currentColor; }
.podcast-tab-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 32px; }
.podcast-tab-panel[hidden],#podcast-settings-workspace [hidden] { display:none!important; }
.podcast-setting-group { min-width:0; border-bottom:1px solid #80808030; padding:0 0 12px; }
.podcast-setting-group>summary { cursor:pointer; min-height:44px; padding:10px 0; font-weight:650; }
.podcast-setting-group>summary span { display:block; font-size:12px; font-weight:400; color:var(--text-secondary); margin-top:3px; }
.podcast-setting-group .setting-row { min-height:44px; padding:8px 0; gap:12px; }
.podcast-setting-group[data-group="3"],.podcast-setting-group[data-group="4"] { grid-column:1/-1; }
.podcast-setting-group textarea { margin-top:8px; }
.podcast-tab-panel[data-panel=downloads],.podcast-tab-panel[data-panel=manage] { grid-template-columns:1fr; }
.inherited-summary { display:none; }
.settings-enhanced .inherited-summary { display:block; padding:8px 0; }
.inherited-summary p { font-size:14px; line-height:1.6; margin-bottom:12px; }
.podcast-save-bar { position:sticky; bottom:12px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; background:rgb(var(--surface-elevated)); border-top:1px solid #80808030; z-index:5; }
.feed-replacement { margin:12px 0; }
.feed-replacement summary { cursor:pointer; min-height:44px; padding:10px 0; }
@media(max-width:700px){
 .settings-enhanced .podcast-settings-tabs{display:none}
 .podcast-tab-panel{display:block}
 .podcast-setting-group{padding:0}
 .podcast-setting-group .group-body{padding:0 0 16px}
 .podcast-save-bar{bottom:calc(72px + env(safe-area-inset-bottom));font-size:14px}
}

#podcast-settings-workspace [data-inheritance-group] { opacity:1; }

/* Visible desktop sections; only the mobile section headers disclose content. */
@media(min-width:701px){
 .podcast-tab-panel[data-panel=processing]{grid-template-columns:repeat(3,minmax(0,1fr))}
 .podcast-setting-group[data-group="3"]{grid-column:auto}
 .podcast-setting-group>summary{display:block;cursor:default;list-style:none}
 .podcast-setting-group>summary::-webkit-details-marker{display:none}
 .podcast-setting-group[data-group="4"]>summary{display:none}
}
.podcast-manage-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.podcast-manage-columns h3{font-size:1rem;font-weight:650;margin:0 0 12px}
.podcast-manage-columns .owner-setting,.podcast-manage-columns .owner-control{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;gap:8px}
.podcast-manage-columns .input{margin:0 0 8px}
.podcast-manage-columns .setting-row{flex-wrap:wrap}
.podcast-manage-columns .btn-secondary{max-width:100%;white-space:normal}
@media(max-width:700px){.podcast-manage-columns{grid-template-columns:1fr;gap:20px}}

@media(min-width:701px){.podcast-setting-group>summary span{display:none}}

.podcast-save-bar button:disabled{opacity:.45;cursor:not-allowed}
.podcast-manage-columns .owner-setting{padding-top:0}

.pause-notice { color: var(--caution); white-space: nowrap; }
.podcast-pause { display: inline-flex; vertical-align: middle; margin-inline-start: 6px; }
.feed-pause-form { margin-top: 24px; }
.stats-page { max-width: 960px; }
.stats-page h2 { font-size: 17px; font-weight: 650; margin: 28px 0 12px; }
.stats-selectors { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin: 24px 0 28px; }
.stats-selector { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px; border: 1px solid var(--control-border); border-radius: 12px; }
.stats-selector button { min-height: 44px; }
.stats-date { color: var(--text-secondary); font-size: 14px; font-weight: 400; }
.stats-widgets { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 12px 0 28px; }
.stats-widgets > div { background: var(--bg-surface-elevated); border: 1px solid var(--control-border); border-radius: 12px; padding: 20px; min-width: 0; }
.stats-widgets dt { color: var(--text-secondary); font-size: 14px; }
.stats-widgets dd { font-size: 24px; font-weight: 650; font-variant-numeric: tabular-nums; margin-top: 8px; overflow-wrap: anywhere; }
.stats-widgets small { font-size: 14px; font-weight: 400; }
.stats-resources { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 640px) {
  .stats-widgets { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .stats-widgets > div { padding: 16px; }
  .stats-selectors { align-items: stretch; }
  .stats-date { display: block; margin-top: 4px; }
}

.artwork-pause { position: absolute; top: 8px; left: 8px; z-index: 5; background: var(--bg-surface); padding: 6px; border-radius: 6px; }

.pause-status { display: inline-flex; align-items: center; gap: 4px; }

.list-actions { flex-wrap: wrap; min-width: 0; }
.episode-playback { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; width: 160px; max-width: 100%; }
.episode-playback[hidden], .episode-play [hidden] { display: none !important; }
.episode-playback input { width: 100%; height: 24px; margin: 0; accent-color: var(--primary-500); cursor: pointer; }
.episode-playback span { font-size: 12px; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.episode-playback [data-episode-error]:empty { display: none; }
.episode-play:focus-visible, .episode-download:focus-visible, .episode-playback input:focus-visible { outline: 2px solid var(--primary-500); outline-offset: 3px; }
#episodes-grid[data-view="list"] .episode-card > .episode-actions { height: auto !important; min-height: 52px; }
#episodes-grid[data-view="list"] .episode-playback { order: 4; width: 100%; padding-bottom: 4px; }
@media (max-width: 640px) {
  .episode-playback { width: 120px; }
  #episodes-grid .episode-card .list-actions .episode-play,
  #episodes-grid .episode-card .list-actions .episode-download { min-width: 44px !important; min-height: 44px !important; }
}
