html[data-podcast-gate="checking"] #transcript,
html[data-podcast-gate="checking"] .audio-dock,
html[data-podcast-gate="locked"] #transcript,
html[data-podcast-gate="locked"] .audio-dock { visibility: hidden; pointer-events: none; }
#gate-status { color: #5c6370; font-size: 14px; line-height: 1.6; }
#gate-status:empty { display: none; }
#gate-retry, .podcast-login-method { padding: 10px 0; border: 0; color: #175cd3; background: none; font: inherit; cursor: pointer; }
#gate-retry[hidden] { display: none; }
#podcast-login { max-width: 380px; margin: 24px 0; }
.podcast-login-form .login-pane { width: 100%; padding: 0; }
.podcast-login-form .login-pane h3 { margin: 0 0 16px; font-size: 17px; }
.podcast-login-form .login-sms-form, .podcast-login-form .login-cert-form { display: grid; gap: 14px; }
.podcast-login-form .login-field { display: flex; align-items: center; min-height: 48px; background: #f4f6f9; border: 1px solid #dce2e9; border-radius: 10px; }
.podcast-login-form .login-field:focus-within { outline: 2px solid #175cd3; outline-offset: 2px; }
.podcast-login-form .login-field--phone > span { padding: 0 12px; border-right: 1px solid #dce2e9; font-size: 15px; }
.podcast-login-form .login-field input { width: 100%; min-width: 0; padding: 12px; border: 0; background: transparent; font: inherit; font-size: 16px; outline: none; }
.podcast-login-form .login-sms-code-btn { flex-shrink: 0; padding: 12px; border: 0; background: none; color: #175cd3; font: inherit; font-size: 14px; }
.podcast-login-form button:disabled { opacity: .55; cursor: wait; }
.podcast-login-form .login-agreement { display: flex; gap: 8px; color: #5c6370; font-size: 13px; line-height: 1.7; }
.podcast-login-form .login-agreement input { flex-shrink: 0; width: 20px; height: 20px; margin: 1px 0; accent-color: #175cd3; }
.podcast-login-form .login-agreement a { color: #175cd3; }
.podcast-login-form .login-submit { min-height: 48px; border: 0; border-radius: 10px; background: #175cd3; color: white; font: inherit; font-weight: 600; cursor: pointer; }
.podcast-login-form .login-error, .podcast-login-form .login-field-error { margin: 0; color: #b42318; font-size: 14px; }
.podcast-login-form .login-qr-box { display: flex; justify-content: center; padding: 16px 0; }
.podcast-login-form .login-qr-caption { text-align: center; color: #5c6370; }
.podcast-login-form button:focus-visible, #gate-retry:focus-visible { outline: 2px solid #175cd3; outline-offset: 3px; }
@media (max-width: 720px) { #podcast-login { max-width: none; } }

.podcast-gate{max-width:760px;margin:0 auto;padding:112px 28px 64px}
.podcast-gate .episode-intro{padding:0 0 24px}
.podcast-gate .gate-access{margin:0 0 40px;padding:24px 0;border-top:1px solid var(--line,#e5e7eb);border-bottom:1px solid var(--line,#e5e7eb)}
.podcast-gate .gate-access h2{font-size:23px;line-height:1.4;margin:0 0 10px}
.podcast-gate .gate-access>p{font-size:15px;line-height:1.8}
.podcast-gate .episode-cover{margin:36px 0}
@media(max-width:720px){.podcast-gate{padding:90px 22px 36px}.podcast-gate .episode-intro h1{font-size:26px;line-height:1.45}.podcast-gate .gate-access{padding:20px 0}}
