:root{--vh-ink:#171b18;--vh-surface:#222823;--vh-bone:#f3f0e8;--vh-silt:#b3b9ad;--vh-clay:#f2a77b;--white:var(--vh-bone);--green:#3fa66b;--brown:#8b5a2b;--black:var(--vh-ink);--panel:var(--vh-surface);--line:#2f3530;--muted:var(--vh-silt);--accent:var(--vh-clay)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--black);color:var(--white);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100%}body{-webkit-font-smoothing:antialiased}a{text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}.shell{width:100%;max-width:640px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:0 16px}.topbar{justify-content:space-between;padding:14px 0 10px;position:-webkit-sticky;position:sticky;top:0;background:rgba(23,27,24,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;border-bottom:1px solid var(--line)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;color:var(--white);font-weight:800;letter-spacing:-.02em;text-transform:none;font-size:17px}.brand:hover{text-decoration:none}.brand-mark{width:28px;height:28px;border-radius:7px;display:block;flex-shrink:0;object-fit:cover;background:var(--vh-clay)}a{color:var(--vh-clay)}.primary-btn,button[type=submit]{background:var(--vh-clay);color:var(--vh-ink);border:none}.nav-links{display:flex;gap:12px;font-size:14px}.nav-links a{color:var(--white)}main{flex:1 1;padding:16px 0 32px}.site-footer{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding:16px 0 28px;line-height:1.45}h1{font-size:22px;margin:0 0 8px}h2{font-size:16px;margin:20px 0 10px;color:var(--white)}.lede{color:var(--muted);font-size:14px;margin:0 0 16px}.filters{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;-webkit-overflow-scrolling:touch}.chip{border:1px solid var(--line);background:#181818;color:var(--white);border-radius:999px;padding:6px 12px;font-size:13px;white-space:nowrap;cursor:pointer}.chip.active{background:var(--vh-clay);color:var(--vh-ink);border-color:var(--vh-clay);font-weight:700}.show-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (min-width:520px){.show-grid{grid-template-columns:1fr 1fr 1fr}}.show-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--white);display:flex;flex-direction:column}.show-card:hover{text-decoration:none;border-color:#3a3a3a}.show-card img{width:100%;aspect-ratio:1;object-fit:cover;background:#000;display:block}.show-card .meta{padding:8px 10px 10px}.show-card .title{font-size:13px;font-weight:650;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.show-card .author{color:var(--muted);font-size:11px;margin-top:2px}.belt-row{display:flex;align-items:center;gap:6px;margin-top:6px}.belt-bar{height:8px;width:42px;border-radius:2px;display:inline-block}.belt-bar.white{background:var(--white)}.belt-bar.green{background:var(--green)}.belt-bar.brown{background:var(--brown)}.belt-bar.black{background:#000;border:1px solid #555}.belt-label{font-size:11px;color:var(--muted);text-transform:capitalize}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:12px 0 14px}.tabs a{color:var(--muted);padding:8px 12px;font-size:14px;border-bottom:2px solid transparent}.tabs a.active{color:var(--white);border-color:var(--green);font-weight:650;text-decoration:none}.ep-list{display:flex;flex-direction:column;gap:8px}.ep-row{display:grid;grid-template-columns:56px 1fr auto;grid-gap:10px;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;color:var(--white)}.ep-row:hover{text-decoration:none}.ep-row img{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#000}.ep-row h3{margin:0;font-size:14px;line-height:1.3}.ep-row .sub{color:var(--muted);font-size:12px;margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--vh-clay);color:var(--vh-ink);border:none;border-radius:999px;padding:10px 16px;font-weight:700;cursor:pointer}.btn,.btn:hover{text-decoration:none}.btn:hover{filter:brightness(1.05)}.btn.secondary{background:transparent;color:var(--white);border:1px solid var(--line)}.btn.brown{background:var(--brown);color:var(--white)}.btn.danger{background:#3a2020;color:#f2c4c4}.btn:disabled{opacity:.45;cursor:not-allowed}.player{background:var(--vh-surface);border:1px solid var(--line);border-radius:16px;padding:16px}.lede-sub,.player{margin-bottom:16px}.lede-sub{font-size:13px;margin-top:-8px;line-height:1.4}.discussion h2{margin-top:8px}.listen-gate{background:var(--vh-surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}.listen-gate-lead{margin:0;font-size:15px;line-height:1.4;color:var(--vh-bone);font-weight:600}.listen-card{background:var(--vh-surface);border:1px solid var(--line);border-radius:12px;padding:14px}.listen-card-top{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:10px;font-weight:600}.listen-progress{position:relative;height:10px;overflow:visible;background:#2a2f2b}.listen-progress,.listen-progress>span{border-radius:999px}.gate-mark{position:absolute;top:-3px;width:2px;height:16px;background:var(--vh-bone);transform:translateX(-50%);border-radius:1px;pointer-events:none;display:block}.player .art{width:100%;max-width:280px;margin:0 auto 12px;display:block;border-radius:12px;aspect-ratio:1;object-fit:cover;background:#000}.player h1{text-align:center;font-size:18px}.player .show-link{display:block;text-align:center;color:var(--muted);font-size:13px;margin-bottom:12px}.controls{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0}.controls button{background:#222;border:1px solid var(--line);color:var(--white);border-radius:999px;min-width:52px;height:44px;cursor:pointer}.controls .play{width:64px;height:64px;background:var(--green);color:#0b0b0b;font-weight:800;border:0;font-size:16px}.seek{width:100%;accent-color:var(--green);height:6px}.times{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:4px}.rates{display:flex;justify-content:center;gap:8px;margin-top:10px}.rates button{background:#1b1b1b;border:1px solid var(--line);border-radius:8px;padding:4px 10px;cursor:pointer}.rates button.on{border-color:var(--green);color:var(--green)}.banner{background:#1e2a20;border:1px solid var(--green);color:var(--white);border-radius:10px;margin:12px 0}.banner,.gate{padding:12px;font-size:14px}.gate{color:var(--muted);border:1px dashed var(--line);border-radius:10px}.comment{border-bottom:1px solid var(--line);padding:12px 0}.comment .who{font-size:13px;font-weight:650}.comment .when{color:var(--muted);font-size:12px;margin-left:6px}.comment .body{margin:6px 0;white-space:pre-wrap;font-size:15px}.votes{display:flex;gap:8px;font-size:13px}.votes button{background:#1b1b1b;border:1px solid var(--line);border-radius:8px;padding:4px 8px;cursor:pointer}.votes button.mine{border-color:var(--green);color:var(--green)}form.stack{display:flex;flex-direction:column;gap:10px;max-width:400px}form.stack input,form.stack textarea{background:#181818;border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}.err{color:#e07a7a;font-size:13px}.show-hero{display:grid;grid-template-columns:88px 1fr;grid-gap:12px;gap:12px;align-items:center}.show-hero img{width:88px;height:88px;border-radius:10px;object-fit:cover}.muted{color:var(--muted)}.progress-bar{height:3px;background:#2a2a2a;border-radius:2px;margin-top:6px;overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--vh-clay)}.me-list{display:flex;flex-direction:column;gap:8px}.me-row{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;color:var(--white)}.me-row img{width:48px;height:48px;border-radius:6px;object-fit:cover}@media (max-width:390px){.shell{padding:0 12px}}.controls button.play{background:var(--vh-clay);color:var(--vh-ink);border:none;font-weight:800}.controls button.on,.rates button.on{background:var(--vh-clay);color:var(--vh-ink);border-color:var(--vh-clay)}.verified-badge{color:var(--vh-clay);font-size:12px;font-weight:600;opacity:.9}