:root{font:15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111;background:#fff;--bg:#fff;--surface:#f2f2f7;--text:#111;--secondary:#74747b;--accent:#007aff;--line:#e5e5ea;--glass:rgba(248,248,250,.94)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;color:#f6f6f7;background:#000;--bg:#000;--surface:#1c1c1e;--text:#f6f6f7;--secondary:#a0a0a8;--accent:#0a84ff;--line:#38383a;--glass:rgba(30,30,32,.94)}}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);padding-bottom:125px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}.app{max-width:1240px;margin:auto;padding:0 24px}header{height:64px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--text);font-weight:700;font-size:19px;letter-spacing:-.03em}.brand small{font-size:10px;color:var(--secondary);letter-spacing:.05em;margin-left:5px}.brand-icon{color:var(--accent);font-size:22px;margin-right:4px}.header-right{display:flex;align-items:center;gap:10px}.muted,.hint{color:var(--secondary)}.subtle{background:transparent;color:var(--accent);border:0;padding:9px}.primary{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:13px 20px;font-weight:600}.login{max-width:440px;margin:10vh auto;padding:28px;border-radius:18px;background:var(--surface)}.login-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--bg);color:var(--accent);font-size:30px}.eyebrow{font-size:11px;letter-spacing:.09em;font-weight:700;color:var(--secondary);margin:24px 0 8px}.login h1,.library h1{font-size:34px;letter-spacing:-.04em;line-height:1.15;margin:0;font-weight:700}.login p:not(.eyebrow):not(.error){color:var(--secondary)}.login .primary#scan{width:100%;margin-top:16px}.divider{display:flex;align-items:center;gap:12px;color:var(--secondary);font-size:12px;margin:22px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}label{font-size:12px;font-weight:600;color:var(--secondary)}input:not([type=range]),select{border:0;border-radius:10px;padding:11px;background:var(--bg);color:var(--text);outline:none}input:focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent)}.code-row{display:flex;gap:8px;margin-top:7px}.code-row input{min-width:0;flex:1}.hint{font-size:12px;margin-top:20px}.error{color:#d14438;font-size:13px}.login video{width:100%;border-radius:12px;margin-top:12px}.library-heading{padding:23px 0 15px}.library-heading p{margin:5px 0 0;font-size:13px}.layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px}.layout aside{min-width:0}.layout aside input{width:100%;margin-bottom:12px;background:var(--surface)}.podcasts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.podcast-row{width:100%;border:0;text-align:left;background:transparent;padding:0;border-radius:9px;position:relative}.podcast-row img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:var(--surface)}.podcast-row.active img{outline:3px solid var(--accent);outline-offset:-3px}.podcast-row span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.podcast-row:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.detail{border-left:1px solid var(--line);min-height:480px;overflow:hidden}.library-back{display:none}.placeholder{text-align:center;padding:120px 20px;color:var(--secondary)}.placeholder span{font-size:40px}.placeholder h2{color:var(--text);font-size:20px}.show-head{display:flex;gap:18px;padding:12px 24px 24px;border-bottom:1px solid var(--line)}.show-head .art{width:120px;height:120px;object-fit:cover;border-radius:9px;background:var(--surface)}.show-head h2{font-size:25px;letter-spacing:-.025em;margin:8px 0}.show-head p{color:var(--secondary);margin:0;font-size:13px}.show-head .eyebrow{margin:0}.episode-list{padding:0 24px}.episode{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.episode strong{display:block;font-size:15px}.episode p{font-size:12px;color:var(--secondary);margin:6px 0}.episode button{width:38px;height:38px;border-radius:50%;background:var(--surface);color:var(--accent);border:0}.notice{padding:22px;color:var(--secondary)}.mini-player{position:fixed;z-index:4;bottom:72px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 24px));height:58px;display:flex;align-items:center;gap:8px;padding:5px 9px;background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:30px;box-shadow:0 4px 18px #0002}.mini-info{display:flex;align-items:center;gap:9px;min-width:0;flex:1;border:0;background:none;text-align:left}.mini-info img{width:39px;height:39px;object-fit:cover;border-radius:8px;background:var(--surface)}.mini-info span{min-width:0}.mini-info strong,.mini-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-info strong{font-size:13px}.mini-info small{font-size:12px;color:var(--secondary)}.mini-play{width:42px;height:42px;border:0;background:none;font-size:21px}.bottom-nav{position:fixed;z-index:3;bottom:0;left:50%;transform:translateX(-50%);width:min(560px,100%);height:65px;padding:6px 24px max(5px,env(safe-area-inset-bottom));display:flex;justify-content:space-around;background:var(--glass);backdrop-filter:blur(20px);border-radius:24px 24px 0 0}.bottom-nav button{border:0;background:none;font-size:10px;color:var(--secondary);min-width:70px}.bottom-nav button[aria-current]{color:var(--accent)}.bottom-nav span{display:block;font-size:23px;line-height:26px}.full-player,.option-dialog{border:0;padding:0;color:var(--text);background:transparent;max-width:none;max-height:none}.full-player::backdrop,.option-dialog::backdrop{background:#0007}.full-player{width:min(520px,100%);height:min(900px,100dvh);border-radius:18px;background:var(--bg);overflow:auto}.player-sheet{min-height:100%;display:flex;flex-direction:column}.sheet-header{height:58px;padding:8px 18px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;font-size:13px;font-weight:600;color:var(--secondary)}.sheet-header button{border:0;background:none;color:var(--secondary);font-size:32px;line-height:1}.full-content{display:flex;flex-direction:column;flex:1;padding:10px 24px 30px}.full-art-wrap{display:flex;align-items:center;justify-content:center;flex:1;min-height:160px;padding:12px}.full-art-wrap img{display:block;width:min(100%,340px,42vh);aspect-ratio:1;object-fit:cover;border-radius:10px;box-shadow:0 8px 20px #0003;background:var(--surface)}.full-info{text-align:center;margin:16px 8px 28px}.full-info strong,.full-info span{display:block}.full-info strong{font-size:19px;line-height:1.25}.full-info span{color:var(--secondary);font-size:14px;margin-top:5px}.player-main{width:100%;max-width:420px;margin:auto}.timeline input{width:100%;margin:0;accent-color:var(--accent);height:8px}.timeline-labels{display:flex;justify-content:space-between;color:var(--secondary);font-size:12px;margin-top:8px;font-variant-numeric:tabular-nums}.controls{display:flex;justify-content:space-around;align-items:center;margin-top:17px}.controls button{position:relative;width:72px;height:72px;background:none;border:0;color:var(--accent);font-size:42px}.controls button small{position:absolute;inset:30px 0 0;font-size:12px;font-weight:700}.controls .play{font-size:42px}.skip-icon{line-height:1}.player-options{display:grid;grid-template-columns:1fr 1fr;justify-items:center;margin-top:18px}.player-options button,.speed-option select{height:48px;min-width:64px;border:0;border-radius:14px;background:var(--surface);color:var(--text);font-weight:600;text-align:center}.player-options button{font-size:24px}.player-options button small{display:block;font-size:10px}.speed-option select{font-size:16px;appearance:none;padding:0 12px}.option-dialog{width:min(430px,calc(100% - 24px));border-radius:18px;background:var(--surface)}.option-sheet{padding:18px}.option-title{display:grid;grid-template-columns:70px 1fr 70px;align-items:center;text-align:center}.option-title button{border:0;background:none;color:var(--accent);text-align:left}.option-sheet p{color:var(--secondary);font-size:13px}.sleep-options,.settings-actions{display:grid;gap:1px;overflow:hidden;border-radius:12px}.sleep-options button,.settings-actions button{text-align:left;border:0;padding:14px 16px;background:var(--bg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){.app{padding:0 16px}header{height:54px}.header-right .muted{display:none}.library-heading{padding:20px 0 13px}.layout{display:block}.podcasts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail{display:none;border:0}.show-detail .layout aside{display:none}.show-detail .detail{display:block}.show-detail .library-heading{display:none}.library-back{display:block;border:0;background:none;color:var(--accent);font-size:24px;padding:9px 0}.library-back span{font-size:16px}.show-head{padding:4px 0 20px}.show-head .art{width:96px;height:96px}.show-head h2{font-size:22px}.episode-list{padding:0}.full-player{width:100%;height:100dvh;margin:0;border-radius:0}.full-content{padding:4px 18px max(26px,env(safe-area-inset-bottom))}.full-art-wrap img{width:min(100%,310px,39vh)}.login{margin:7vh auto;padding:25px 20px}}
/* Each episode is one large, accessible play target. */
.episode{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);cursor:pointer}.episode:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.episode-copy{min-width:0;display:block}.episode-copy strong,.episode-meta,.episode-status{display:block}.episode-meta,.episode-status{font-size:12px;color:var(--secondary);margin-top:5px}.episode-status{color:var(--accent)}.episode-progress{display:block;width:min(220px,100%);height:4px;margin-top:8px;background:var(--line);border-radius:4px;overflow:hidden}.episode-progress-fill{display:block;height:100%;background:var(--accent);border-radius:4px}.episode-play{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface);color:var(--accent);font-size:14px}
.settings-code{display:flex;gap:8px;margin-top:7px}.settings-code input{flex:1;min-width:0;font:13px ui-monospace,SFMono-Regular,monospace}.settings-code button{border:0;border-radius:10px;padding:0 14px;background:var(--bg);color:var(--accent);font-weight:600}.option-sheet .sync-private{font-size:12px;margin:7px 0 17px}
.pair-qr{width:min(200px,100%);margin:12px auto;background:#fff;border-radius:12px}.pair-qr svg{display:block;width:100%;height:auto}
