/* Discovery and personal navigation. */
.site-shell { --accent:#c4b5fd; --accent-strong:#ddd6fe; --accent-deep:#7c3aed; --accent-soft:rgba(167,139,250,.12); --accent-glow:rgba(139,92,246,.15); --bg:#0d0e16; --surface:#171925; --surface-2:#202333; --line:#2b2e40; }
.site-shell .btn--primary { background:#c4b5fd; color:#171126; box-shadow:none; }
.site-shell .btn--primary:hover { background:#ddd6fe; }
.site-shell .brand__mark { background:#c4b5fd; color:#171126; box-shadow:none; }
.site-shell .container { max-width:1420px; }
.side-nav { display:none; }
.home-intro,.page-intro { padding:26px 0 20px; }
.home-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.home-intro h1 { font-size:clamp(1.6rem,2.5vw,2.2rem); margin:0; }
.eyebrow { color:var(--accent); text-transform:uppercase; letter-spacing:.13em; font-size:.7rem; font-weight:700; margin-bottom:9px; }
.spotlight { position:relative; isolation:isolate; overflow:hidden; min-height:380px; border-radius:22px; border:1px solid var(--line); display:flex; align-items:center; background:#161a2a; }
.spotlight__backdrop { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; z-index:-3; }
.spotlight__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,13,23,.96) 0%,rgba(12,13,23,.76) 50%,rgba(12,13,23,.18) 100%),linear-gradient(0deg,rgba(12,13,23,.65),transparent); z-index:-2; }
.spotlight__body { padding:38px; width:74%; max-width:740px; }
.spotlight__body h2 { font-size:clamp(1.75rem,3.4vw,3rem); line-height:1.12; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.spotlight__description { color:#d4d6e4; font-size:.93rem; max-width:510px; margin:20px 0 24px; }
.spotlight__poster { margin:24px 34px 24px auto; width:clamp(130px,17vw,200px); flex-shrink:0; transform:rotate(3deg); border-radius:14px; overflow:hidden; box-shadow:0 20px 55px #0009; }
.spotlight__poster img { width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; display:block; }
.rail { margin-top:32px; }
.rail__head { align-items:center; }
.rail__head h2 { font-size:1.35rem; }
.rail__head-text p { max-width:720px; font-size:.8rem; color:var(--text-muted); }
.discovery-card { flex:0 0 var(--rail-card); width:var(--rail-card); min-width:0; }
.discovery-card__poster { display:block; aspect-ratio:2/3; position:relative; border-radius:12px; overflow:hidden; background:var(--surface); }
.discovery-card__poster img { width:100%; height:100%; object-fit:cover; transition:transform .2s; }
.discovery-card:hover .discovery-card__poster img { transform:scale(1.035); }
.discovery-card__rank { position:absolute; bottom:9px; left:10px; background:#0d0e16dd; border:1px solid #ffffff22; padding:2px 9px; border-radius:7px; font-size:1.15rem; font-weight:800; color:#fff; }
.discovery-card h3 { font-size:.9rem; line-height:1.45; margin:10px 0 5px; }
.discovery-card h3 a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.6em; }
.discovery-card p { margin-bottom:4px; font-size:.74rem; }
.rating-sources { display:flex; flex-direction:column; gap:3px; }
.ranking-note { padding:12px 16px; border-left:2px solid var(--accent); background:var(--surface); border-radius:0 8px 8px 0; }
.history-track { display:flex; overflow-x:auto; gap:14px; padding:2px 0 8px; }
.history-card { display:flex; flex:0 0 280px; gap:14px; align-items:center; padding:10px; background:var(--surface); border:1px solid var(--line); border-radius:12px; }
.history-card img { width:65px; height:88px; object-fit:cover; border-radius:7px; }
.history-card strong { font-size:.9rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.history-card small { display:block; margin-top:7px; font-size:.73rem; color:var(--text-muted); }
.history-empty { display:flex; gap:16px; align-items:center; padding:18px 22px; border:1px dashed #3a3d51; border-radius:12px; background:linear-gradient(110deg,#1e1a2b66,#141620); }
.history-empty>span { font-size:2rem; color:var(--accent); }
.history-empty p { color:var(--text-muted); font-size:.82rem; margin:3px 0 0; }
.history-empty .btn { margin-left:auto; flex-shrink:0; }
.community-invite { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:24px; background:linear-gradient(125deg,#29213b,#171925); border-radius:14px; border:1px solid var(--line); }
.community-invite p { margin:0; font-size:.88rem; }
.community-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,380px); gap:26px; margin-top:24px; align-items:start; }
.community-layout:has(.empty) { align-items:stretch; }
.community-layout:has(.empty)>section { min-width:0; }
.community-layout:has(.empty) .empty { height:100%; margin:0; display:flex; flex-direction:column; justify-content:center; padding:24px; }
.community-layout .community-compose { margin:0; }
.community-compose>.btn { margin-top:4px; }
.community-tabs .chip[aria-current] { background:var(--accent-soft); border-color:var(--accent); color:var(--accent); }
.genre-filter { max-width:380px; margin:8px 0 12px; }
.genre-gallery { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; margin-bottom:34px; }
.genre-tile { position:relative; overflow:hidden; isolation:isolate; min-height:210px; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; padding:22px; background:linear-gradient(135deg,#302343,#192332); }
.genre-tile:nth-child(3n+2) { background:linear-gradient(135deg,#1c4141,#181e34); }
.genre-tile:nth-child(3n) { background:linear-gradient(135deg,#452735,#222137); }
.genre-tile__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 30%; z-index:-3; opacity:.72; transition:transform .25s; }
.genre-tile__shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(0deg,#0c0d17fc 0%,#12131de6 34%,#0d0e1640 100%); }
.genre-tile__arrow { position:absolute; right:16px; top:16px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; border:1px solid #ffffff40; background:#11121c70; font-size:1.1rem; }
.genre-tile .genre-card__name { font-size:1.2rem; color:#fff; }
.genre-tile .genre-card__count { color:#d4c9f3; margin:3px 0 8px; }
.genre-tile__description { font-size:.76rem; line-height:1.5; color:#c1c4d5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.9em; }
.genre-tile:hover .genre-tile__image { transform:scale(1.05); }
.registration-fields .help { font-size:.68rem; }
.auth-dialog:has([data-register-form]) .auth-lede { margin-bottom:10px; }
.auth-dialog:has([data-register-form]) .auth-tabs { margin-bottom:12px; }
.auth-dialog:has([data-register-form]) .field { margin-bottom:10px; }
.auth-dialog:has([data-register-form]) .auth-foot { margin-top:10px; }
.community-post { border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:22px; margin-bottom:18px; }
.community-post h2 { font-size:1.25rem; margin-top:14px; }
.community-post details { margin-bottom:18px; }
.community-post summary { color:var(--accent); cursor:pointer; padding:10px 0; }
.user-copy { white-space:pre-wrap; overflow-wrap:anywhere; }
.recommendation-pair { padding:12px; background:var(--accent-soft); border-radius:8px; }
.check-row { display:flex; gap:9px; align-items:center; font-size:.82rem; margin-bottom:12px; }
.policy-page { max-width:780px; margin:36px auto; padding:30px; border:1px solid var(--line); background:var(--surface); border-radius:18px; }
.detail-hero { position:relative; isolation:isolate; overflow:hidden; border-radius:18px; border:1px solid var(--line); background:linear-gradient(120deg,#201b30,#121722); margin-bottom:24px; }
.detail-hero__backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-3; opacity:.6; }
.detail-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,#0c0d17e8 0%,#0c0d17cc 50%,#0c0d1770 100%),linear-gradient(0deg,#0c0d17e8,transparent); }
.detail-hero .detail__head { grid-template-columns:180px minmax(0,1fr); gap:28px; padding:30px; margin:0; align-items:center; }
.detail-hero .detail__cover { width:180px; height:auto; max-height:300px; aspect-ratio:auto; object-fit:contain; }
.detail-hero h1 { font-size:clamp(1.65rem,3vw,2.4rem); }
.detail-hero .detail__head-body>p.dim { margin:0 0 10px; font-size:.8rem; }
.detail-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:14px 0; }
.detail-actions form { margin:0; }
.detail-actions .btn--ghost { background:#171824cc; border-color:#ffffff40; }
.detail-hero__synopsis { max-width:800px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:14px 0 4px; color:#d5d6e3; font-size:.86rem; line-height:1.65; }
.detail-hero__more { display:inline-block; margin-bottom:14px; }
.detail-hero__meta { font-size:.8rem; margin:0; gap:5px 14px; }
.detail-hero__meta dt { color:#bab5ca; }
.detail-synopsis { white-space:pre-line; max-width:1000px; line-height:1.8; }
.detail-hero__synopsis { display:block; overflow:visible; white-space:pre-line; margin-bottom:12px; }
.detail-hero__synopsis.synopsis--collapsed { display:-webkit-box; overflow:hidden; -webkit-line-clamp:3; }
.detail-summary-toggle { display:block; padding:0; margin:0 0 14px; background:none; border:0; color:var(--accent); cursor:pointer; font:inherit; font-size:.8rem; }
.cast-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:14px; }
.cast-pair { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:10px; overflow:hidden; min-width:0; background:var(--surface-2); }
.cast-pair__side { min-width:0; min-height:92px; display:flex; align-items:center; gap:10px; padding:12px; }
.cast-pair__side img { width:56px; height:56px; flex-shrink:0; object-fit:cover; object-position:center 20%; border-radius:8px; border:1px solid #ffffff18; }
.cast-pair__side>div { min-width:0; }
.cast-pair__side strong { display:block; color:var(--text); font-size:.78rem; overflow-wrap:anywhere; line-height:1.4; }
.cast-pair__side small { display:block; color:#c4c0d5; font-size:.65rem; margin-top:5px; }
.cast-pair__actor { flex-direction:row-reverse; text-align:right; }
@media(max-width:500px) {
  .cast-pair__side { padding:10px 8px; gap:8px; min-height:88px; }
  .cast-pair__side img { width:44px; height:44px; border-radius:7px; }
  .cast-pair__side strong { font-size:.73rem; }
  .cast-pair__side small { font-size:.59rem; }
}
.cast-more { margin-top:18px; }
[data-cast-status]:empty { display:none; }
.cast-grid+.cast-grid,[data-cast-batch] [data-cast-batch] { margin-top:14px; }
.related-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr)); gap:18px; }
.related-card { min-width:0; display:flex; flex-direction:column; gap:10px; }
.related-card img { width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; border-radius:10px; }
.related-card strong { font-size:.85rem; line-height:1.5; }
.related-card:hover strong { color:var(--accent); }
.character-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.character-credit { display:flex; flex-direction:column; gap:5px; padding:14px 16px; border:1px solid var(--line); background:var(--surface-2); border-radius:10px; }
@media(max-width:700px) {
  .detail-hero .detail__head { padding:20px; grid-template-columns:minmax(0,1fr); gap:18px; }
  .detail-hero .detail__cover { width:100px; max-height:150px; }
  .detail-hero__synopsis.synopsis--collapsed { -webkit-line-clamp:2; }
  .detail-hero .detail__head-body h1 { margin-bottom:8px; }
  .detail-hero .detail__badges { gap:5px; margin-bottom:10px; }
  .detail-hero .badge { font-size:.6rem; }
  .detail-actions .btn { padding:10px 12px; font-size:.8rem; min-height:42px; }
}
.policy-page h1 { font-size:2.35rem; }
.policy-page h2 { padding-top:14px; font-size:1.25rem; }
.policy-page p { line-height:1.85; }
.policy-summary { font-size:1.15rem; color:#d6d7e7; }
.policy-contents { display:flex; flex-wrap:wrap; gap:10px 20px; margin:24px 0; padding:18px 0; border-block:1px solid var(--line); font-size:.85rem; }
.auth-dialog { color:var(--text); background:radial-gradient(ellipse at 100% 0%,#33234555,transparent 60%),#14151f; border:1px solid #4a405d; border-radius:20px; padding:30px; width:min(460px,calc(100vw - 28px)); max-width:none; max-height:none; overflow:visible; box-shadow:0 30px 100px #0009; }
.auth-dialog::backdrop { background:#06070bdd; backdrop-filter:blur(5px); }
.auth-dialog .auth { margin:0; padding:0; max-width:none; border:0; background:none; box-shadow:none; }
.auth-dialog h1 { font-size:1.8rem; margin-right:18px; }
.auth-close { position:absolute; top:10px; right:10px; background:none; border:0; color:var(--text-muted); font-size:1.7rem; width:38px; height:38px; cursor:pointer; border-radius:8px; }
.auth-close:hover { background:var(--surface-2); color:var(--text); }
.auth-lede { font-size:.82rem; margin:8px 0 20px; }
.auth-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin-bottom:20px; }
.auth-tabs a { font-size:.85rem; color:var(--text-muted); padding:8px 0; }
.auth-tabs a[aria-current] { color:var(--accent); border-bottom:2px solid var(--accent); }
.auth-fragment .field { margin-bottom:14px; }
.auth-fragment label { font-size:.8rem; }
.auth-fragment .help { font-size:.7rem; margin:4px 0 0; }
.auth-fragment .input { min-height:46px; }
.auth-fragment .form>.btn { width:100%; }
.password-field { position:relative; }
.password-field input { padding-right:60px; }
.password-field button { position:absolute; right:8px; top:50%; transform:translateY(-50%); background:none; border:0; color:var(--text-muted); padding:8px; cursor:pointer; font-size:.75rem; }
.auth-foot { margin:16px 0 0; font-size:.73rem; }
.auth-form-status:empty { display:none; }
.auth-form-status { margin:8px 0 0; }
.register-actions { display:flex; gap:10px; }
.register-actions .btn--primary { flex:1; }
.modal-open { overflow:hidden; }
.auth-loading { padding:40px 0; text-align:center; }
[hidden] { display:none!important; }
@media(min-width:1150px) {
  .site-shell { padding-left:182px; }
  .site-shell .site-header { margin-left:-182px; }
  .site-shell .site-header__inner { max-width:none; grid-template-columns:160px minmax(240px,1fr) auto; grid-template-areas:"brand search account"; gap:16px; }
  .site-shell .site-header__panel .site-nav { display:none; }
  .site-shell .header-search { max-width:520px; }
  .side-nav { display:flex; flex-direction:column; position:fixed; left:0; top:var(--header-h); bottom:0; width:182px; padding:26px 12px 20px; border-right:1px solid var(--line-soft); background:#10111a; overflow-y:auto; }
  .side-nav__caption { font-size:.6rem; letter-spacing:.12em; color:var(--text-dim); padding:14px 12px 8px; }
  .side-nav a { display:flex; gap:12px; padding:10px 12px; border-radius:9px; font-size:.79rem; color:var(--text-muted); }
  .side-nav a span { width:20px; font-size:1.2rem; line-height:1.2; text-align:center; }
  .side-nav a:hover,.side-nav a[aria-current] { background:var(--accent-soft); color:var(--accent); }
  .side-nav__note { margin-top:auto; padding:24px 12px 0; font-size:.72rem; color:var(--text-dim); }
}
@media(max-width:700px) {
  .home-intro>.chip { display:none; }
  .spotlight { min-height:360px; }
  .spotlight__body { padding:24px; width:100%; }
  .spotlight__poster { display:none; }
  .spotlight__body h2 { font-size:1.8rem; }
  .spotlight__shade { background:linear-gradient(90deg,#0c0d17e8,#0c0d1777),linear-gradient(0deg,#0c0d17ee,transparent); }
  .spotlight__description { font-size:.82rem; }
  .community-layout { grid-template-columns:1fr; }
  .community-compose { order:-1; }
  .community-invite,.history-empty { flex-wrap:wrap; }
  .history-empty .btn { margin:0; }
  .history-empty>div { flex:1; min-width:190px; }
  .rail__head h2 { font-size:1.15rem; }
  .policy-page { padding:22px; margin:24px 0; }
  .policy-page h1 { font-size:1.8rem; }
  .auth-dialog { padding:24px; }
}
@media(min-height:571px) and (max-height:740px) {
  .auth-dialog:has([data-register-form]) { padding:18px 24px; }
  .auth-dialog:has([data-register-form]) .auth-eyebrow,
  .auth-dialog:has([data-register-form]) .auth-lede { display:none; }
  .auth-dialog:has([data-register-form]) h1 { font-size:1.3rem; margin-bottom:6px; }
  .auth-dialog:has([data-register-form]) .registration-fields:first-of-type .help { display:none; }
  .auth-dialog:has([data-register-form]) .field { margin-bottom:8px; }
  .auth-dialog:has([data-register-form]) .input { min-height:40px; padding-block:7px; }
}
@media(max-height:570px) {
  .auth-dialog { padding:14px 24px; }
  .auth-dialog .auth-eyebrow,.auth-dialog .auth-lede { display:none; }
  .auth-dialog h1 { font-size:1.3rem; margin-bottom:4px; }
  .auth-dialog .auth-tabs { margin-bottom:8px; }
  .auth-dialog .field { margin-bottom:6px; }
  .auth-dialog .input { min-height:38px; padding-block:6px; }
  .auth-dialog .help { display:none; }
  .auth-dialog .auth-foot { margin-top:8px; font-size:.65rem; }
  .auth-dialog .btn { min-height:38px; padding-block:6px; }
  .auth-dialog .alert { font-size:.7rem; padding:6px; margin-bottom:8px; }
  .auth-dialog:has([data-register-form]) { width:min(660px,calc(100vw - 28px)); }
  .auth-dialog [data-register-form] { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
  .auth-dialog .registration-fields { display:contents; }
  .auth-dialog [data-register-form]>.alert,.auth-dialog .register-actions,.auth-dialog .auth-form-status { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { .discovery-card__poster img { transition:none; } }

/* Keep playback controls inside the first screen without distorting the video. */
.series-heading { display:flex; gap:16px; align-items:center; justify-content:space-between; }
.series-heading h2 { font-size:1.4rem; margin:0; }
.series-heading .eyebrow { margin-bottom:5px; }
.series-group-heading { font-size:.95rem; margin:22px 0 12px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.series-group-heading span { color:var(--text-dim); font-size:.72rem; font-weight:400; }
.series-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:12px; }
.series-card { display:flex; align-items:center; gap:12px; min-width:0; padding:10px; background:var(--surface-2); border:1px solid var(--line); border-radius:12px; color:var(--text); transition:border-color .15s; }
.series-card:hover { border-color:var(--accent); }
.series-card--current { border-color:var(--accent); background:var(--accent-soft); }
.series-card img { width:52px; height:74px; flex-shrink:0; border-radius:6px; object-fit:cover; }
.series-card>div { flex:1; min-width:0; }
.series-card strong { display:block; font-size:.81rem; line-height:1.45; overflow-wrap:anywhere; }
.series-card small { display:block; font-size:.67rem; color:var(--text-muted); margin-top:5px; }
.series-card__label { color:var(--accent); font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; display:block; margin-bottom:4px; }
.series-card__arrow { color:var(--accent); padding-right:4px; }
.series-more { margin-top:14px; }
.series-more summary { cursor:pointer; color:var(--accent); padding:12px; border:1px solid var(--line); border-radius:8px; font-size:.8rem; }
.series-more[open] summary { margin-bottom:12px; }
.watch-breadcrumb { margin-top:10px; margin-bottom:8px; }
.watch-layout { margin-top:8px; }
.watch-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 16px; margin-bottom:12px; }
.watch-heading .watch-title { font-size:clamp(1.25rem,2vw,1.7rem); line-height:1.25; margin:0; }
.watch-heading .watch-sub { margin:0; font-size:.8rem; }
.watch-layout__main { min-width:0; }
.playback-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin-top:16px; }
.playback-preferences { display:flex; flex-wrap:wrap; gap:8px 14px; }
.playback-toggle { display:inline-flex; align-items:center; gap:7px; cursor:pointer; font-size:.75rem; color:var(--text-muted); padding-block:6px; }
.playback-toggle input { appearance:none; width:28px; height:16px; margin:0; border:1px solid var(--line); border-radius:20px; background:var(--surface-2); cursor:pointer; position:relative; flex-shrink:0; }
.playback-toggle input::after { content:''; width:10px; height:10px; border-radius:50%; background:var(--text-dim); position:absolute; top:2px; left:2px; transition:transform .15s; }
.playback-toggle input:checked { background:var(--accent); border-color:var(--accent); }
.playback-toggle input:checked::after { background:#171126; transform:translateX(12px); }
.playback-toggle input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.playback-toggle:has(input:checked) { color:var(--text); }
.watch-layout__main .player:not(.player--absent) { width:100%; margin-inline:auto; }
@media(min-width:700px) and (min-height:500px) {
  .watch-layout__main .player:not(.player--absent) { max-width:calc((100svh - 230px) * 1.77778); }
}
.watch-layout__side .watch-episodes { padding:16px; }
.watch-episodes .episode-browser__heading { margin-bottom:12px; }
.watch-episodes .episode-browser__controls { gap:8px; margin-bottom:12px; }
.watch-episodes .episode-browser__controls .input,.watch-episodes .episode-browser__controls .select { min-height:40px; padding-block:8px; }
.watch-episodes .episode-grid { max-height:clamp(160px,calc(100svh - 360px),460px); scrollbar-width:thin; }
.episode-browser__coverage { margin:0 0 10px; font-size:.75rem; }
.watch-episodes>p { margin:12px 0 0; }
.watch-discovery { margin-top:28px; }
.episode-discussion { scroll-margin-top:120px; }
.discussion-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.discussion-heading h2 { margin:0 0 8px; font-size:1.4rem; }
.discussion-heading .eyebrow { margin-bottom:5px; }
.discussion-signin { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
.discussion-signin p { margin:0; font-size:.85rem; }
.discussion-empty { padding:24px 0 8px; color:var(--text-muted); font-size:.85rem; }
.comment-composer { padding:16px; background:var(--surface-2); border:1px solid var(--line); border-radius:12px; }
.comment-composer>label { display:block; margin-bottom:8px; font-size:.85rem; font-weight:600; }
.comment-composer textarea { display:block; width:100%; min-height:96px; resize:vertical; border:1px solid var(--line); border-radius:8px; padding:12px; color:var(--text); background:var(--bg); font:inherit; font-size:.85rem; }
.comment-composer__actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; }
.comment-spoiler { display:flex; align-items:center; gap:8px; font-size:.8rem; }
.comment-spoiler input { accent-color:var(--accent); }
.episode-comment { padding:20px 0; border-bottom:1px solid var(--line); }
.episode-comment__byline { display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:.85rem; }
.episode-comment__byline time { color:var(--text-dim); font-size:.72rem; }
.episode-comment__body,.comment-spoiler-body p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.88rem; margin:12px 0; }
.comment-spoiler-body { margin-top:12px; padding:12px 16px; border-radius:8px; background:var(--surface-2); }
.comment-spoiler-body summary { cursor:pointer; color:var(--accent); font-size:.8rem; }
.episode-comment__actions { display:flex; gap:16px; align-items:center; margin-top:12px; }
.episode-comment__actions form { margin:0; }
.episode-discussion[aria-busy=true] { opacity:.8; }
@media(max-width:699px) {
  .discussion-signin { align-items:flex-start; flex-direction:column; }
  .comment-composer { padding:12px; }
  .comment-composer__actions { flex-wrap:wrap; }
}
