:root{color-scheme:light;--ink:#202c29;--muted:#69736d;--paper:#fafbf8;--line:#e1e6de;--green:#22634b;--lime:#d8ef9b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--green);text-decoration:underline}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);border-radius:8px;background:white;padding:7px 13px;color:var(--ink)}button:hover{background:#eef3e8}button:disabled{opacity:.45;cursor:default}input,select{min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px;background:white;color:var(--ink)}:focus-visible{outline:3px solid #68a98b;outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;padding:10px;z-index:10}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1280px;padding:24px 44px;margin:auto;border-bottom:1px solid var(--line)}.brand{font-size:27px;font-weight:800;letter-spacing:-1px}.brand span{color:var(--green)}nav{display:flex;align-items:center;flex-wrap:wrap;gap:24px;font-size:13px}nav button{font-size:12px}main{max-width:1180px;margin:auto;padding:40px 32px 210px}.page-intro{display:flex;justify-content:space-between;align-items:center;padding:0 0 35px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green)}h1{font-size:clamp(26px,3.8vw,42px);letter-spacing:-1.4px;line-height:1.25;margin:14px 0}h2{line-height:1.4}.muted{color:var(--muted);font-size:13px}.intro-mark{font-size:62px;letter-spacing:-22px;margin-right:30px;color:var(--green);transform:rotate(-15deg)}.library{display:grid;grid-template-columns:270px minmax(0,1fr);gap:64px}.shows select{display:block;width:100%;margin:10px 0 22px;font-size:13px}.cover{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--green);color:var(--lime);font-size:85px;letter-spacing:-25px;box-shadow:0 10px 26px #202c2910}.cover img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.shows h2{font-size:22px;margin-bottom:6px}.show-description{color:#56605b;font-size:14px;white-space:pre-line}.source-note{font-size:11px;color:var(--muted);margin-top:24px}.text-link{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:4px}.episode-heading{display:flex;align-items:center;gap:15px}.episode-heading h2{font-size:22px;margin:0}.episode-heading button{margin-left:auto;font-size:12px}.filters{display:flex;gap:12px;margin:20px 0}.search{display:flex;align-items:center;border:1px solid var(--line);background:white;border-radius:8px;flex:1;min-width:0;padding-left:14px}.search span{font-size:24px;color:var(--muted)}.search input{width:100%;border:0;background:transparent;font-size:13px}.filters select{font-size:12px;max-width:130px}.episode{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;padding:23px 0;border-bottom:1px solid var(--line)}.episode:first-child{border-top:1px solid var(--line)}.episode.is-playing{background:#edf4e780;box-shadow:-12px 0 0 #edf4e780,12px 0 0 #edf4e780}.episode-play{width:40px;height:40px;border-radius:50%;padding:0;background:#eaf0e2;color:var(--green);border:0;margin-top:5px}.episode.is-playing .episode-play{background:var(--green);color:white}.episode h3{font-size:16px;line-height:1.65;margin:5px 0 8px;font-weight:650;overflow-wrap:anywhere}.episode-meta{font-size:10px;letter-spacing:.8px;color:var(--muted)}.episode p{font-size:13px;color:var(--muted);margin:0}.episode details{font-size:12px;color:var(--green);margin-top:10px}.episode summary{cursor:pointer}.episode details p{padding-top:8px;white-space:pre-line}.player{position:fixed;bottom:0;left:0;right:0;background:#fffefbf5;backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:18px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,1fr) auto;gap:26px;align-items:center;z-index:5;box-shadow:0 -6px 30px #202c2905}.now-playing{display:flex;align-items:center;gap:14px;min-width:0}.now-playing>div{min-width:0}.player-art{display:grid;place-items:center;flex-shrink:0;background:var(--green);border-radius:9px;width:54px;height:54px;color:var(--lime);font-size:22px;letter-spacing:-6px}.now-playing strong{display:block;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.now-playing .muted{display:block;font-size:10px}.now-playing .eyebrow{font-size:8px;letter-spacing:1.5px}.player-buttons{display:flex;align-items:center;justify-content:center;gap:24px}.player-buttons button{border:0;background:transparent;font-size:12px;padding:3px}.player-buttons .play-main{background:var(--ink);border-radius:50%;color:white;width:38px;height:38px;font-size:14px}.timeline{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin-top:8px;font-variant-numeric:tabular-nums}.timeline input{width:100%;height:4px;padding:0;accent-color:var(--green)}.player-options label{display:grid;font-size:10px;color:var(--muted);gap:4px}.player-options select{padding:4px 8px;font-size:12px}#player-error{grid-column:1/-1;font-size:12px;color:#9c392c;margin:0}#status{font-size:13px;color:var(--muted)}.admin-intro{max-width:760px}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:40px}.source-card{padding:22px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.source-card h3{margin:0 0 8px}.source-card p{overflow-wrap:anywhere;font-size:12px;color:var(--muted)}.source-card .badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:12px;background:#edf3e7;color:var(--green);margin-right:12px}form.source-card label{display:block;margin-top:14px;font-size:13px}form.source-card input:not([type=checkbox]){width:100%;margin-top:6px}form.source-card input[type=checkbox]{margin-right:8px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.primary{background:var(--green);color:white}.primary:hover{background:#174c38}#preview-result{white-space:pre-line;font-size:13px}#admin-status{color:#805c27}.admin-main{padding-bottom:80px}
@media(max-width:850px){.site-header{padding:20px 24px}nav{gap:16px}.library{grid-template-columns:220px minmax(0,1fr);gap:32px}.player{grid-template-columns:minmax(0,1fr) minmax(210px,1fr);gap:15px}.player-options{grid-column:2;justify-self:end;grid-row:1}.transport{grid-column:1/-1}.player-buttons{position:absolute;right:125px;top:24px}.timeline{margin-top:0}.now-playing{padding-right:0}.now-playing strong{max-width:calc(100vw - 290px)}}
@media(max-width:600px){.site-header{padding:16px 20px;align-items:flex-start;gap:14px}.brand{font-size:23px}nav{gap:12px;font-size:11px;justify-content:flex-end}nav button{padding:4px 8px}.intro-mark{display:none}main{padding:26px 22px 240px}.page-intro{padding-bottom:20px}.page-intro .muted{font-size:12px}h1{letter-spacing:-.7px}.library{display:block}.shows{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 18px;margin-bottom:32px}.shows>label{grid-column:1/-1}.shows select{grid-column:1/-1;margin-bottom:18px}.cover{grid-column:1;grid-row:3/6;width:96px;border-radius:10px;font-size:40px;letter-spacing:-10px}.shows h2{grid-column:2;font-size:18px;margin:0}.shows #show-author{grid-column:2;margin:6px 0}.show-description{grid-column:1/-1;font-size:12px;margin:15px 0 8px}.text-link{grid-column:2;grid-row:5;justify-self:start}.source-note{grid-column:1/-1;margin:10px 0 0}.episode{gap:12px;padding:19px 0;grid-template-columns:35px minmax(0,1fr)}.episode-play{width:33px;height:33px}.episode h3{font-size:15px}.episode p{font-size:12px}.filters{gap:8px}.filters select{max-width:110px;padding:8px}.player{padding:14px 20px 18px;gap:14px;grid-template-columns:minmax(0,1fr) auto}.now-playing strong{max-width:none}.now-playing{grid-column:1/-1;padding-right:0}.player-art{width:40px;height:40px}.transport{grid-column:1/-1;grid-row:3}.player-buttons{position:static;gap:30px;margin-bottom:10px}.player-options{grid-column:2;grid-row:3;align-self:start;z-index:1}.player-options label>span{display:none}.timeline{margin-top:0}.admin-layout{display:block}.admin-main{padding-bottom:50px}}
