:root{--bg:#0b0d10;--bg-raised:#14181d;--bg-overlay:#181d23;--text:#e8ecf1;--text-dim:#97a1ad;--accent:#4f9cf9;--danger:#f06a6a;--line:#232a32;--tabbar-h:56px;--mini-h:56px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);overscroll-behavior-y:none;margin:0;padding:0;font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif;font-size:16px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input{font:inherit}.shell{min-height:100dvh}.content{padding-bottom:calc(var(--tabbar-h) + var(--mini-h) + env(safe-area-inset-bottom) + 16px)}.view{padding:0 16px}.view-header{padding:14px 0 10px;padding-top:calc(14px + env(safe-area-inset-top));background:var(--bg);z-index:5;align-items:center;gap:12px;display:flex;position:sticky;top:0}.view-header h1{flex:1;margin:0;font-size:22px}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.icon-btn{min-width:44px;min-height:44px;color:var(--text-dim);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{background:var(--bg-raised)}.spinning svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.episode-list,.podcast-results,.show-list{margin:0;padding:0;list-style:none}.episode-row,.podcast-row{border-bottom:1px solid var(--line);align-items:center;gap:4px;display:flex}.row-main,.show-row{text-align:left;flex:1;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 0;display:flex}.podcast-row{gap:12px;padding:12px 0}.art{object-fit:cover;background:var(--bg-raised);border-radius:10px;flex-shrink:0}.art-fallback{background:linear-gradient(135deg,#1a2027,#232c36)}.row-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.row-sub{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.row-meta{color:var(--text-dim);font-size:12.5px}.row-progress{background:var(--line);border-radius:2px;height:3px;margin-top:3px;overflow:hidden}.row-progress span{background:var(--accent);height:100%;display:block}.row-action{min-width:44px;min-height:44px;color:var(--text-dim);justify-content:center;align-items:center;display:inline-flex}.row-action.done{color:var(--accent)}.is-played .row-title{color:var(--text-dim)}.load-more{width:100%;color:var(--accent);background:var(--bg-raised);border-radius:12px;margin:8px 0 20px;padding:14px;display:block}.empty,.muted{color:var(--text-dim);text-align:center;padding:24px 8px;line-height:1.5}.error{color:var(--danger);padding:8px}.error.small{padding:0;font-size:12.5px}.status{color:var(--text-dim);padding:12px 4px}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:22px 0 6px;font-size:13px}.search-form,.add-url-row{gap:8px;display:flex}.search-input-wrap{flex:1;min-width:0;display:flex;position:relative}.search-input-wrap input{width:100%;padding-right:42px}.search-clear{min-width:34px;min-height:34px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.search-form input,.add-url-row input,.login input{background:var(--bg-raised);border:1px solid var(--line);min-width:0;color:var(--text);border-radius:12px;outline:none;flex:1;padding:12px 14px}.search-form input:focus,.add-url-row input:focus,.login input:focus{border-color:var(--accent)}.search-form button,.add-url-row button,.login button[type=submit]{background:var(--accent);color:#06121f;border-radius:12px;min-height:44px;padding:0 18px;font-weight:600}.search-form button:disabled,.add-url-row button:disabled,.login button[type=submit]:disabled{opacity:.45}.subscribe-btn{background:var(--bg-raised);border:1px solid var(--accent);color:var(--accent);border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:13.5px;font-weight:600}.subscribe-btn.done{border-color:var(--line);color:var(--text-dim)}.show-hero{align-items:center;gap:14px;margin:6px 0 10px;display:flex}.show-hero-text{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.show-desc{color:var(--text-dim);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0 0 10px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.ghost-btn{text-align:left;background:var(--bg-raised);border-radius:12px;width:100%;margin:8px 0;padding:13px 14px;font-weight:500;display:block}.ghost-btn.danger{color:var(--danger)}.ghost-btn.small{width:auto;margin:0;padding:8px 14px;font-size:13.5px}.tabbar{height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20;background:#0d1014f5;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10.5px;display:flex}.tab.active{color:var(--accent)}.miniplayer{left:8px;right:8px;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 6px);height:var(--mini-h);background:var(--bg-overlay);border:1px solid var(--line);z-index:21;border-radius:14px;align-items:center;display:flex;position:fixed;overflow:hidden;box-shadow:0 6px 24px #00000080}.mini-main{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.mini-main .art{border-radius:8px}.mini-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.mini-toggle{min-width:52px;min-height:52px;color:var(--text);justify-content:center;align-items:center;display:inline-flex}.player-sheet,.settings-sheet{background:var(--bg);z-index:30;-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.sheet-header{padding:10px 12px 0;padding-top:calc(10px + env(safe-area-inset-top));background:var(--bg);z-index:2;align-items:center;gap:8px;display:flex;position:sticky;top:0}.sheet-show{text-align:center;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;overflow:hidden}.sheet-spacer{min-width:44px}.sheet-body{padding:8px 22px calc(40px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.sheet-art{justify-content:center;margin:14px 0 18px;display:flex}.sheet-art .art{border-radius:18px;box-shadow:0 10px 36px #0000008c}.sheet-title{text-align:center;margin:0 0 18px;font-size:18px;line-height:1.35}.scrubber{width:100%;accent-color:var(--accent);height:28px}.time-row{color:var(--text-dim);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12.5px;display:flex}.controls-row{justify-content:center;align-items:center;gap:34px;margin:18px 0 6px;display:flex}.skip{color:var(--text);position:relative}.skip-label{color:var(--text-dim);font-size:9px;position:absolute;bottom:2px}.play-big{background:var(--accent);color:#06121f;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;display:inline-flex}.speed-row{justify-content:center;gap:8px;margin:16px 0 4px;display:flex}.chip{border:1px solid var(--line);color:var(--text-dim);font-variant-numeric:tabular-nums;border-radius:999px;padding:7px 13px;font-size:13.5px}.chip.active{border-color:var(--accent);color:var(--accent);font-weight:700}.player-options{border-top:1px solid var(--line);margin-top:14px;padding-top:6px}.switch-row{justify-content:space-between;align-items:center;padding:12px 2px;font-size:15px;display:flex}.switch-row input{width:22px;height:22px;accent-color:var(--accent)}.notes{color:var(--text-dim);word-break:break-word;margin-top:14px;font-size:14.5px;line-height:1.6}.notes a{color:var(--accent)}.notes img{border-radius:10px;max-width:100%;height:auto}.settings-body{padding:8px 16px calc(40px + env(safe-area-inset-bottom))}.login{flex-direction:column;justify-content:center;max-width:420px;min-height:100dvh;margin:0 auto;padding:0 28px;display:flex}.login h1{margin:0 0 4px;font-size:34px}.login-hint{color:var(--text-dim);margin:0 0 22px}.login form{flex-direction:column;gap:10px;display:flex}
