:root {
  --bg:#f7f4ec; --paper:#fffdf7; --ink:#303b34; --muted:#817b6e; --line:#e5decf;
  --accent:#44755a; --accent-dark:#315841; --accent-soft:#e2ebdc; --dash:#d1c5ab;
  font-family:"PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif; color-scheme:light;
}
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font-size:15px; line-height:1.7; }
body::before { content:"";position:fixed;inset:0;z-index:-1;opacity:.18;background-image:linear-gradient(#74674312 1px,transparent 1px),linear-gradient(90deg,#74674312 1px,transparent 1px);background-size:24px 24px; }
button,input,select { font:inherit; }
button { cursor:pointer; }button:disabled { cursor:default;opacity:.5; }
a { color:inherit;text-decoration:none; }a:hover { color:var(--accent); }
svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--accent);outline-offset:4px; }
[hidden] { display:none!important; }::selection { background:var(--accent-soft); }
h1,h2,h3,p { margin-top:0; }h1,h2,h3 { line-height:1.4; }button,a,input,select { -webkit-tap-highlight-color:transparent; }
.app { width:min(92vw,1240px);margin:auto; }
.site-header { display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px;border-bottom:1px dashed var(--dash); }
.brand { display:flex;align-items:center;gap:13px;font-weight:600;font-size:16px;letter-spacing:.025em; }
.brand small { display:block;color:var(--muted);font:10px Georgia,serif;letter-spacing:.19em;margin-top:3px; }
.brand-mark { display:grid;place-items:center;width:42px;height:42px;background:var(--paper);border:1px dashed var(--dash);border-radius:11px 4px 12px 4px;transform:rotate(-5deg);font:23px "Songti SC",serif;color:var(--accent); }
.site-header nav { display:flex;gap:22px;font-size:13px; }
.site-header nav a[aria-current] { color:var(--accent);font-weight:600; }
.header-actions { display:flex;align-items:center;gap:24px;min-width:0; }
.account-panel { position:relative;flex-shrink:0;z-index:30;font-size:12px; }
.account-panel summary { cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:var(--paper);white-space:nowrap; }
.account-panel summary::-webkit-details-marker { display:none; }.account-panel[open] summary { color:var(--accent);border-color:var(--accent); }
#account-label { max-width:120px;overflow:hidden;text-overflow:ellipsis; }
.account-menu { position:absolute;right:0;top:calc(100% + 12px);width:min(330px,88vw);padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 30px #25362518; }
.account-menu h2 { font-size:17px;margin-bottom:10px;overflow-wrap:anywhere; }.account-menu .status { margin:0 0 14px; }.account-actions { display:flex;align-items:center;gap:14px; }.account-note { font-size:11px;color:var(--muted);margin:14px 0 0;line-height:1.8; }.account-import { display:block;margin-top:16px; }
.service-notice { display:flex;align-items:center;gap:18px;padding:12px 16px;margin-top:18px;border:1px solid var(--dash);border-radius:7px;background:var(--paper);font-size:12px; }.service-notice p { margin:0;flex:1; }.service-notice button { flex-shrink:0; }
.library-sync-note { margin:-10px 0 20px; }
@media (max-width:820px) { .header-actions { gap:12px; }.site-header nav { gap:14px; } }
@media (max-width:600px) { .header-actions nav { display:none; }.account-panel summary { padding:5px 8px;font-size:11px; }#account-label { max-width:85px; }.service-notice { align-items:flex-start;gap:10px; } }
.station-bar { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0 20px; }
.station-name { font:600 23px "Songti SC",Georgia,serif;letter-spacing:.06em; }
.station-name span { font:13px system-ui;color:var(--accent);margin-right:8px; }
.search-form { display:flex;align-items:center;width:360px;max-width:50%;background:var(--paper);border:1px solid var(--line);border-radius:9px; }
.search-form:focus-within { border-color:var(--accent); }
.search-form input { flex:1;min-width:0;border:0;outline:0;background:none;color:var(--ink);padding:10px 14px;font-size:13px; }
.search-form button { display:grid;place-items:center;background:none;border:0;padding:9px 12px;color:var(--accent); }
.station-nav { display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);font-size:14px;overflow:auto;white-space:nowrap;scrollbar-width:none; }
.station-nav a { padding:0 2px 13px;border-bottom:2px solid transparent; }
.station-nav a[aria-current] { color:var(--accent);border-color:var(--accent);font-weight:600; }
.station-nav a:last-child { margin-left:auto; }
.station-nav span { font-size:11px;color:var(--muted);margin-left:3px; }
.browsing .site-header { min-height:72px; }.browsing .station-bar { padding:16px 0 12px; }
.browsing main { padding-top:20px; }#catalog-page .eyebrow { display:none; }
#catalog-page .page-heading { margin:0 0 12px; }#category-note { margin:0 0 12px;font-size:11px; }
main { padding:26px 0 40px;min-height:65vh; }
.eyebrow { font-size:10px;letter-spacing:.18em;color:var(--muted);margin-bottom:8px; }
.hero { display:grid;grid-template-columns:minmax(0,1fr) 340px;position:relative;overflow:hidden;background:#294c3b;color:#f5f3e5;border-radius:10px;min-height:370px;box-shadow:0 12px 30px #2536250c; }
.hero::before { content:"";position:absolute;width:500px;height:500px;right:-100px;top:-100px;border:1px solid #f3f5d41c;border-radius:50%;pointer-events:none; }
.hero::after { content:"";position:absolute;width:560px;height:560px;right:-130px;top:-130px;border:1px solid #f3f5d410;border-radius:50%;pointer-events:none; }
.hero-copy { position:relative;z-index:1;padding:34px 40px; }
.hero .eyebrow { color:#cfdbc1;font-size:11px; }
.hero h1 { font:500 44px "Songti SC",Georgia,serif;line-height:1.4;letter-spacing:.045em;margin:20px 0 10px; }
.hero-meta { font-size:12px;color:#d6ddc5;margin-bottom:17px; }
.hero-description { font-size:13px;line-height:1.9;color:#cbd5cb;max-width:590px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:23px; }
.hero-actions { display:flex;gap:12px; }
.button { display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 22px;background:var(--accent);border:1px solid var(--accent);border-radius:7px;color:#fffdf6;font-size:13px;font-weight:500;transition:background .15s; }
.button:hover { background:var(--accent-dark);color:#fffdf6; }
.button.ghost { background:transparent;color:var(--accent);border-color:var(--dash); }
.button.ghost:hover { background:var(--accent-soft); }
.button.small { min-height:33px;padding:4px 12px; }
.button.cream { background:#ede5c6;border-color:#ede5c6;color:#294c3b; }
.button.cream:hover { background:#fff1cb; }
.button.outline { background:none;border-color:#a9bc9d85;color:#e9eddb; }
.hero-picks { display:flex;gap:8px;flex-wrap:wrap;margin-top:26px; }
.hero-picks button { color:#b7c9b7;background:transparent;border:0;border-bottom:2px solid #e6ebd02b;padding:7px 9px;font-size:11px; }
.hero-picks button.active { color:#f4e9c3;border-color:#e9d8a6; }
.hero-art { position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:26px 44px 26px 20px; }
.hero-art img { width:220px;max-width:100%;height:310px;object-fit:cover;border:6px solid #f8f0d9;box-shadow:10px 10px 0 #d3d7ad14,0 12px 22px #101d2a60;transform:rotate(4deg); }
.hero-art .poster-fallback { position:static;max-width:230px;height:300px;background:#3e6149;color:#d7dfc0;border:1px solid #92a88155; }
.film-corner { position:absolute;right:28px;bottom:13px;color:#b9c6a1;font:italic 11px Georgia,serif;letter-spacing:.16em; }
.status { font-size:12px;color:var(--muted);margin:12px 0;min-height:0; }.status:empty { display:none; }.status.error { color:#a34f44; }
.home-feedback { display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px; }
.home-feedback .status { margin:12px 0 0; }
.home-feedback .text-button { min-height:44px; }
.hero-picks button { min-height:36px; }
.content-section { margin:34px 0 0; }.section-heading { display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:19px; }
.section-heading h2 { font-size:21px;font-weight:600;margin:0; }.section-heading .eyebrow { margin-bottom:5px; }.section-heading>a { color:var(--accent);font-size:12px;white-space:nowrap; }
.secondary { font-size:12px;color:var(--muted); }.cards { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 20px; }
.movie-card { min-width:0; }.poster-button { position:relative;display:block;overflow:hidden;width:100%;aspect-ratio:2/3;border-radius:5px;background:#e8e1d1;box-shadow:0 4px 10px #3b372109; }
.poster-button img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s; }.poster-button:hover img { transform:scale(1.04); }
.poster-button::after { content:"";position:absolute;inset:0;background:linear-gradient(transparent 63%,#0d151ec9);pointer-events:none; }
.poster-fallback { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:15px;background:#dfe7d7;color:#687d61;font:24px "Songti SC",Georgia,serif;text-align:center; }
.card-badge { position:absolute;z-index:1;bottom:10px;left:11px;right:8px;color:#fffdf6;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.movie-card h3 { margin:10px 0 3px;font-size:14px;line-height:1.5;min-height:3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere; }
.card-meta { color:var(--muted);font-size:11px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.card-bottom { display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:29px; }
.card-bottom .secondary { font-size:10px; }.card-bottom button { background:none;border:0;font-size:23px;line-height:1;color:var(--muted);padding:1px 3px; }.card-bottom button.saved { color:#a86057; }
.progress-track { position:absolute;left:0;bottom:0;height:3px;width:100%;background:#ffffff50;z-index:2; }.progress-fill { display:block;height:100%;background:#d4e3ba; }
.continue-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }.continue-card { display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:11px;min-width:0; }
.continue-cover { position:relative;width:59px;height:80px;flex-shrink:0;overflow:hidden;border-radius:3px; }.continue-cover img { width:100%;height:100%;object-fit:cover; }.continue-cover .poster-fallback { font-size:14px;padding:5px; }
.continue-card>div:last-child { min-width:0; }.continue-card strong,.continue-card small,.continue-card span:not(.poster-fallback) { display:block; }.continue-card strong { font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.continue-card small { color:var(--muted);font-size:11px; }.continue-card span:not(.poster-fallback) { font-size:11px;color:var(--accent);margin-top:5px; }
.home-note { display:flex;align-items:center;gap:22px;margin-top:40px;padding:25px 30px;background:#edeedc;border:1px dashed var(--dash);border-radius:9px; }.home-note>span { font-size:30px;color:var(--accent); }.home-note strong { font-size:15px; }.home-note p { font-size:12px;color:var(--muted);margin:3px 0 0; }.home-note>a { margin-left:auto;white-space:nowrap; }
.page-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:7px 0 23px; }.page-heading h1 { font:600 30px "Songti SC",Georgia,serif;letter-spacing:.05em;margin:0; }.page-heading p:last-child { margin-bottom:0; }
.filter-panel { position:relative;background:var(--paper);padding:12px 16px;min-height:70px;border:1px solid var(--line);border-radius:8px;margin-bottom:18px; }
.filter-panel>.type-picks { border:0;margin:0;padding:0 100px 0 0;min-height:44px;align-items:center; }
.catalog-filters>summary { position:absolute;right:16px;top:12px;min-height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:6px;color:var(--accent);font-size:12px;cursor:pointer;list-style:none; }
.catalog-filters>summary::-webkit-details-marker { display:none; }.catalog-filters>summary::after { content:'⌄'; }.catalog-filters[open]>summary::after { content:'⌃'; }
.catalog-filters[open] { margin-top:12px;padding-top:16px;border-top:1px dashed var(--line); }
.filter-panel.search-filters { min-height:44px;padding:0;background:none;border:0; }
.search-filters>.catalog-filters>summary { position:static;width:max-content;margin-left:auto; }
.search-filters>.catalog-filters[open] { margin-top:0;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--paper); }
.search-filters>.catalog-filters[open]>.filters { margin-top:12px; }
.search-filters>.filter-summary { margin-top:10px; }
.filter-keyboard-hint { margin:10px 0;font-size:11px;color:var(--muted); }
.skeleton .poster { aspect-ratio:2/3;border-radius:5px;background:var(--line); }.skeleton-title,.skeleton-meta { border-radius:4px;background:var(--line);height:16px;margin-top:12px;width:85%; }.skeleton-meta { width:55%;height:10px;margin-top:10px; }
.type-picks { display:flex;gap:9px;flex-wrap:wrap;border-bottom:1px dashed var(--line);padding-bottom:16px;margin-bottom:16px; }
.type-picks button,.episode-ranges button { border:1px solid transparent;background:none;color:var(--muted);border-radius:6px;padding:5px 13px;font-size:12px; }
.type-picks button.active,.type-picks button:hover { background:var(--accent-soft);color:var(--accent); }
.filters { display:grid;gap:10px; }.filter-row { display:flex;align-items:start;gap:17px;min-width:0; }.filter-label { flex-shrink:0;font-size:12px;color:var(--muted);padding-top:8px;width:28px; }.filter-options { display:flex;flex-wrap:wrap;gap:6px;min-width:0; }
.filter-chip { border:1px solid transparent;background:none;color:var(--muted);font-size:12px;padding:6px 12px;border-radius:6px;min-height:34px;white-space:nowrap; }.filter-chip:hover { background:var(--paper);color:var(--accent);border-color:var(--line); }.filter-chip.active { background:var(--accent-soft);color:var(--accent);border-color:#b8cdb8;font-weight:600; }
.filter-summary { display:flex;align-items:center;gap:12px;border-top:1px dashed var(--line);margin-top:16px;padding-top:12px;min-height:43px; }.selected-filters { display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0; }.filter-hint { font-size:11px;color:var(--muted); }.selected-filter { font-size:11px;color:var(--accent);background:var(--accent-soft);border:0;border-radius:5px;padding:5px 9px; }.selected-filter:hover { background:#d6e3ce; }.filter-summary>.text-button { margin-left:auto;white-space:nowrap; }.filter-summary>.text-button:disabled { color:var(--muted);opacity:.5;cursor:default;text-decoration:none; }
select { color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12px;max-width:100%; }
.text-button { color:var(--accent);border:0;background:none;font-size:12px;padding:4px 0; }.text-button:hover { text-decoration:underline;text-underline-offset:3px; }
.search-sources { margin-top:17px;font-size:11px;color:var(--muted); }.search-sources summary,.source-settings summary,.video-details summary { cursor:pointer; }.search-sources p { margin:9px 0 0; }
.source-picks { display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:12px;font-size:12px; }.source-picks label,.watch-settings label { display:flex;align-items:center;gap:6px; }input[type=checkbox] { accent-color:var(--accent);width:14px;height:14px; }
.empty { border:1px dashed var(--dash);border-radius:8px;background:var(--paper);padding:42px 24px;text-align:center;margin-top:25px; }.empty>span { font-size:36px;color:var(--accent); }.empty h2 { font-size:19px;margin:8px 0; }.empty p { font-size:13px;color:var(--muted); }.empty .button { margin-top:12px; }
.load-more { display:flex;margin:30px auto 0; }.local-label { font-size:11px;color:var(--muted);border:1px dashed var(--dash);border-radius:6px;padding:5px 12px; }
.catalog-feedback { display:flex;align-items:center;flex-wrap:wrap;gap:0 16px;margin-bottom:20px; }.catalog-feedback>div { flex:1;min-width:0; }.catalog-feedback .status { margin:0 0 4px; }.catalog-feedback .secondary { font-size:11px;margin:0; }.catalog-feedback>button { flex-shrink:0; }.catalog-feedback progress { appearance:none;border:0;border-radius:3px;height:4px;width:100%;margin-top:10px;background:var(--line);overflow:hidden; }.catalog-feedback progress::-webkit-progress-bar { background:var(--line); }.catalog-feedback progress::-webkit-progress-value { background:var(--accent); }.catalog-feedback progress::-moz-progress-bar { background:var(--accent); }
.catalog-feedback>div { display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap; }.catalog-feedback .status { margin:0; }.catalog-feedback { margin-bottom:16px; }
.library-toolbar { display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--dash);margin-bottom:24px;padding-bottom:14px; }
.view-tabs { display:flex;gap:13px; }.view-tabs a { padding:7px 16px;font-size:13px;color:var(--muted);border-radius:6px; }.view-tabs a.active { color:var(--accent);background:var(--accent-soft); }.view-tabs span { font-size:11px;margin-left:4px; }
.saved-actions { display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:6px;margin-top:5px; }.saved-actions button { color:var(--muted); }
.favorite-tools { display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-bottom:22px; }.favorite-tools .type-picks { margin:0;padding:0;border:0; }.favorite-refresh { display:flex;align-items:center;gap:14px;margin-left:auto; }.favorite-tools .status { width:100%;margin:0;font-size:11px; }
.cards.watchlist-cards { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }.watchlist-card { display:flex;align-items:start;gap:20px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:8px;min-width:0; }.watchlist-poster { display:block;position:relative;width:105px;aspect-ratio:2/3;flex-shrink:0;overflow:hidden;border-radius:4px;background:var(--accent-soft); }.watchlist-poster img { width:100%;height:100%;object-fit:cover; }.watchlist-poster .poster-fallback { font-size:19px; }.watchlist-copy { flex:1;min-width:0; }.watchlist-heading { display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px; }.watchlist-heading h3 { font-size:17px;margin:0;overflow-wrap:anywhere; }.update-badge { color:var(--accent);background:var(--accent-soft);border-radius:4px;font-size:10px;white-space:nowrap;padding:2px 7px; }.watchlist-meta { font-size:11px;color:var(--muted);margin:4px 0 12px;overflow-wrap:anywhere; }.watchlist-availability { font-size:13px;font-weight:600;color:var(--accent);margin:0 0 3px; }.watchlist-progress { font-size:12px;margin:0 0 8px; }.watchlist-schedule { font-size:11px;color:var(--muted);margin:0 0 4px; }.watchlist-schedule a { color:var(--accent);margin-left:10px; }.watchlist-checked { font-size:10px;color:var(--muted);margin:0; }.watchlist-checked.error { color:#a86052; }.watchlist-actions { display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:14px; }.watchlist-actions>.text-button { font-size:11px; }.watchlist-actions>.text-button:last-child { margin-left:auto;color:var(--muted); }
.back-link { display:inline-block;color:var(--muted);font-size:12px;margin:0 0 20px; }
.detail-layout { display:grid;grid-template-columns:220px minmax(0,1fr);gap:38px;padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:9px; }
.detail-poster { aspect-ratio:2/3;position:relative;overflow:hidden;border-radius:5px;background:var(--accent-soft);align-self:start; }.detail-poster img { width:100%;height:100%;object-fit:cover;display:block; }
.detail-copy h1 { font:600 34px "Songti SC",Georgia,serif;margin:7px 0 14px; }.detail-meta { font-size:13px;color:var(--muted);margin-bottom:10px; }.detail-remarks { font-size:13px;color:var(--accent);margin-bottom:19px; }
.detail-updates { background:var(--accent-soft);border-radius:6px;padding:11px 14px;margin:0 0 14px;font-size:12px; }.detail-updates>div { display:flex;align-items:baseline;gap:16px; }.detail-updates>div+div { margin-top:6px; }.detail-updates dt { flex-shrink:0;width:84px;color:var(--muted); }.detail-updates dd { margin:0;min-width:0;overflow-wrap:anywhere; }.detail-updates strong { font-weight:600;color:var(--accent); }.schedule-credit { display:inline-block;margin-left:13px;color:var(--muted);font-size:11px; }.detail-updates a:hover { color:var(--accent);text-decoration:underline; }.schedule-note { font-size:11px;color:var(--muted);margin:-7px 0 16px; }
.detail-actions { display:flex;gap:12px;margin-bottom:14px; }.detail-facts { margin:19px 0 0;font-size:12px; }.detail-facts>div { display:flex;margin:7px 0;gap:16px; }.detail-facts dt { color:var(--muted);flex-shrink:0; }.detail-facts dd { margin:0;color:var(--ink);max-width:650px;overflow-wrap:anywhere; }
.full-credits summary { cursor:pointer; }.full-credits p { margin:8px 0;line-height:1.8; }
.description-section { padding:26px 0;border-bottom:1px dashed var(--dash); }.description-section h2 { font-size:19px;margin-bottom:13px; }.description-section p { font-size:14px;line-height:1.95;color:var(--muted);max-width:950px;white-space:pre-line;margin:0; }
.variant-buttons { display:flex;gap:8px;flex-wrap:wrap; }.variant-buttons button { border:1px solid var(--dash);background:var(--paper);color:var(--muted);border-radius:6px;padding:6px 12px;font-size:12px; }.variant-buttons button.active { border-color:var(--accent);background:var(--accent-soft);color:var(--accent); }
.episodes { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:400px;overflow:auto;padding:2px 3px 2px 0; }.episodes button { border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:7px 5px;font-size:12px;border-radius:6px;min-width:0;overflow-wrap:anywhere; }.episodes button.active,.episodes button:hover { background:var(--accent-soft);border-color:var(--accent);color:var(--accent); }
.detail-episodes { grid-template-columns:repeat(8,minmax(0,1fr));margin-top:20px;max-height:none; }.detail-episodes .all-episodes { grid-column:span 2;color:var(--accent); }
.watching { --bg:#172019;--paper:#202c23;--ink:#e6e9df;--muted:#a4ada0;--line:#344134;--dash:#485541;--accent:#b5cca1;--accent-dark:#7c9b68;--accent-soft:#384a32;color-scheme:dark; }
.watching .button:not(.ghost) { color:#1d2d20; }.watching .app { width:min(94vw,1440px); }.watching .brand-mark { background:#243426; }
.watching .site-header,.watching .station-bar,.watching .station-nav { display:none; }
.watching main { padding-top:20px; }
.watch-breadcrumbs { display:flex;align-items:center;gap:24px; }.watch-breadcrumbs a { font-size:12px;min-height:36px;display:flex;align-items:center; }
.player-heading>div { min-width:0; }.player-heading h1 { overflow-wrap:anywhere; }
.player-heading { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px; }.player-heading .back-link { margin-bottom:6px; }.player-heading h1 { font-size:24px;margin:0; }
.watch-layout { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:23px; }.screen-column { min-width:0; }.screen { position:relative;aspect-ratio:16/9;background:#090e0b;border-radius:6px;overflow:hidden; }.screen video { display:block;width:100%;height:100%;background:#090e0b;object-fit:contain; }
.portrait .screen { --portrait-height:min(74vh,780px,calc(100vh - 200px));width:min(100%,calc(var(--portrait-height) * var(--screen-ratio)));aspect-ratio:var(--screen-ratio);margin-inline:auto; }
@supports (height:100svh) { .portrait .screen { --portrait-height:min(74svh,780px,calc(100svh - 200px)); } }
.screen:fullscreen { width:100%;height:100%;aspect-ratio:auto;border-radius:0;margin:0; }
.fullscreen-exit { display:none; }.screen:fullscreen .fullscreen-exit { position:absolute;top:16px;right:16px;z-index:2;display:block;min-height:44px;border:1px solid #ffffff50;border-radius:6px;background:#172019d9;color:#fff;padding:8px 14px;font-size:13px; }
.playback-settings { border-bottom:1px solid var(--line);margin-top:12px;font-size:12px; }.playback-settings>summary { min-height:44px;cursor:pointer;display:flex;align-items:center;color:var(--muted); }.playback-settings>summary::after { content:'＋';margin-left:10px; }.playback-settings[open]>summary::after { content:'−'; }.playback-settings .watch-settings { border:0;padding:0 0 14px; }.mobile-player-action { display:none; }
.screen-message { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#d5dfcc;background:#101710cf;text-align:center;padding:25px;pointer-events:none;font-size:14px; }
.screen.resuming .screen-message { background:#101710; }
.playback-tools { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px;font-size:12px; }.playback-tools>strong { margin-right:auto; }.playback-tools label { display:flex;gap:8px;align-items:center; }
.playback-tools #quality-select { min-height:44px;max-width:190px; }.quality-status { display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:8px;font-size:11px;color:var(--muted); }.quality-status #quality-current { color:var(--ink); }.quality-status .text-button { min-height:44px;font-size:11px; }
.watch-settings { display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px; }.play-status { font-size:12px;color:var(--muted);margin:12px 0 0; }.keyboard-hint { font-size:10px;color:var(--muted);margin:9px 0; }
.episode-panel { min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:18px;align-self:start; }.episode-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px; }.episode-heading h2 { font-size:16px;margin:0; }
.line-label { display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin-top:13px; }.line-label select { max-width:170px; }
.episode-panel .secondary { margin:14px 0 11px; }.episode-ranges { display:flex;gap:5px;flex-wrap:wrap;margin-bottom:13px; }.episode-ranges button { padding:4px 9px;font-size:11px;border:1px solid var(--line); }.episode-ranges button.active { color:var(--accent);border-color:var(--accent); }
.video-details { margin-top:24px;font-size:13px; }.video-details p { color:var(--muted);max-width:950px;margin:13px 0; }
.fallback-status { font-size:12px;color:var(--accent);padding:10px 12px;background:var(--accent-soft);border-radius:5px;margin:12px 0 0;overflow-wrap:anywhere; }
.playback-feedback { display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px; }.playback-feedback .button,.playback-feedback a { min-height:44px;display:inline-flex;align-items:center; }
.playback-experience { margin-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted); }.playback-experience summary { min-height:44px;display:flex;align-items:center;cursor:pointer;gap:8px; }.playback-experience summary::after { content:'＋'; }.playback-experience[open] summary::after { content:'−'; }.experience-stats { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:8px 0 14px; }.experience-stats dt { margin:0 0 3px; }.experience-stats dd { margin:0;color:var(--ink);font-variant-numeric:tabular-nums; }.experience-note { margin:0;line-height:1.8; }.playback-experience .text-button { min-height:44px; }
footer { display:flex;align-items:start;justify-content:space-between;gap:30px;border-top:1px dashed var(--dash);padding:26px 0 30px;font-size:11px;color:var(--muted); }
footer strong { font:italic 14px "Songti SC",Georgia,serif;color:var(--ink); }footer p { margin:6px 0 0; }.source-settings { min-width:170px;text-align:right; }.source-info { text-align:left;display:grid;gap:9px;margin-top:13px;background:var(--paper);padding:14px;border:1px solid var(--line);border-radius:6px; }.source-info small { display:block; }.source-info strong { font:600 11px system-ui; }.source-note { max-width:360px;font-size:11px; }.source-settings .text-button { min-height:44px; }
.toast { position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#344e3c;color:#f3f5e9;padding:11px 19px;border-radius:8px;font-size:13px;box-shadow:0 5px 20px #0002;z-index:10; }
.toast-undo { margin-left:18px;background:none;color:#f0ddb0;border:0;border-bottom:1px solid currentColor;padding:0;font-size:12px; }
.unavailable-source { opacity:.55; }.unavailable-source span::after { content:"（此页不支持）";font-size:10px; }
.sr-only { position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap; }
@media (max-width:1100px) {
  .cards { grid-template-columns:repeat(5,minmax(0,1fr));gap:23px 17px; }.hero { grid-template-columns:minmax(0,1fr) 275px; }.hero-copy { padding:30px; }.hero-art { padding:25px; }.hero-art img { height:285px; }.hero h1 { font-size:38px; }.watch-layout { grid-template-columns:minmax(0,1fr) 265px; }
}
@media (max-width:820px) {
  .cards.watchlist-cards { grid-template-columns:1fr; }
  .cards { grid-template-columns:repeat(4,minmax(0,1fr));gap:21px 15px; }.hero { grid-template-columns:minmax(0,1fr) 220px; }.hero-copy { padding:27px; }.hero-art { padding:23px; }.hero-art img { height:250px; }.hero-picks { gap:5px;margin-top:19px; }.hero-picks button { padding:5px;font-size:10px; }.hero h1 { font-size:34px; }.continue-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.continue-cards> :nth-child(3) { display:none; }.watch-layout { grid-template-columns:1fr; }.episodes { grid-template-columns:repeat(6,minmax(0,1fr));max-height:250px; }.episode-panel { padding:19px; }.detail-layout { grid-template-columns:180px minmax(0,1fr);gap:24px; }.detail-copy h1 { font-size:28px; }.detail-episodes { grid-template-columns:repeat(6,minmax(0,1fr)); }.station-nav { gap:22px; }
}
@media (max-width:600px) {
  .watchlist-card { padding:15px;gap:15px; }.watchlist-poster { width:83px; }.watchlist-heading h3 { font-size:16px; }.watchlist-actions { gap:8px 12px; }.watchlist-actions .button { min-height:44px;font-size:12px; }.watchlist-actions>.text-button { min-height:36px;display:flex;align-items:center; }.watchlist-meta { margin-bottom:9px; }.favorite-tools { gap:12px; }.favorite-refresh { gap:10px; }.favorite-refresh .button { min-height:40px; }.favorite-tools .type-picks button { min-height:40px; }
  .app,.watching .app { width:92vw; }.site-header { min-height:82px;gap:12px; }.brand { font-size:13px;gap:8px; }.brand-mark { width:33px;height:33px;font-size:20px; }.brand small { font-size:8px; }.site-header nav { gap:14px;font-size:11px; }.site-header nav a:first-child { display:none; }
  .station-bar { padding:20px 0 17px;gap:12px; }.station-name { font-size:18px;white-space:nowrap; }.station-name span { display:none; }.search-form { max-width:58%;width:210px; }.search-form input { font-size:11px;padding:9px 10px; }.search-form button { padding:7px; }.station-nav { gap:21px;font-size:12px; }.station-nav a:last-child { margin-left:0; }.station-nav a { padding-bottom:11px; }
  main { padding:19px 0 27px; }.hero { grid-template-columns:minmax(0,1fr) 115px;min-height:325px; }.hero-copy { padding:23px 10px 23px 21px; }.hero h1 { font-size:32px;margin-top:16px; }.hero-description { font-size:11px;-webkit-line-clamp:3;line-height:1.8;margin-bottom:17px; }.hero-meta { font-size:10px;margin-bottom:12px; }.hero .eyebrow { font-size:9px; }.hero-art { padding:20px 17px 20px 0; }.hero-art img { height:155px;width:96px;border-width:3px; }.hero-art .poster-fallback { height:155px;font-size:18px; }.film-corner { font-size:8px;right:13px;bottom:26px; }.hero-actions { gap:7px; }.hero-actions .button { padding:6px 10px;font-size:11px;min-height:35px; }.hero-picks { margin-top:17px; }.hero-picks button { font-size:9px;padding:5px 4px; }.hero-picks button:nth-child(n+3) { display:none; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 12px; }.movie-card h3 { font-size:13px; }.card-bottom button { min-width:44px;min-height:44px; }.card-meta,.card-bottom .secondary { font-size:10px; }.card-badge { font-size:10px;left:7px;bottom:7px; }.poster-fallback { font-size:19px; }.section-heading h2 { font-size:18px; }.section-heading .secondary { font-size:10px;max-width:120px; }.section-heading { gap:10px;margin-bottom:15px; }.section-heading .eyebrow { font-size:8px; }.section-heading>a { font-size:11px; }.content-section { margin-top:28px; }
  .continue-cards { grid-template-columns:1fr;gap:10px; }.continue-cards> :nth-child(3) { display:flex; }.continue-cover { height:67px;width:49px; }.continue-card { padding:9px 11px; }.home-note { padding:20px;gap:14px;flex-wrap:wrap; }.home-note>span { font-size:24px; }.home-note strong { font-size:13px; }.home-note>div { flex:1; }.home-note>a { margin:0 0 0 38px; }
  .page-heading h1 { font-size:26px; }.page-heading { align-items:start; }.page-heading .local-label { max-width:105px;font-size:10px;padding:4px 8px; }.filter-panel { padding:15px; }.type-picks { gap:5px; }.type-picks button { padding:5px 9px;font-size:11px; }.filters { gap:6px; }.filter-row { gap:10px;align-items:center; }.filter-label { font-size:11px;padding-top:0; }.filter-options { flex:1;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:3px; }.filter-chip { flex-shrink:0;min-height:40px;font-size:11px;padding:6px 10px; }.filter-summary { align-items:start; }.filter-summary>.text-button { font-size:11px; }.selected-filter { min-height:32px; }.filter-hint { padding-top:5px; }.search-sources { font-size:10px; }.source-picks { gap:13px;font-size:11px; }.result-count { font-size:11px; }.view-tabs a { font-size:12px;padding:7px 12px; }
  .detail-layout { grid-template-columns:110px minmax(0,1fr);gap:18px 16px;padding:16px; }.detail-copy { display:contents; }.detail-heading { min-width:0;align-self:center; }.detail-body { grid-column:1/-1;min-width:0; }.detail-copy .eyebrow { font-size:8px; }.detail-copy h1 { font-size:25px;margin-top:4px;overflow-wrap:anywhere; }.detail-meta { font-size:12px; }.detail-remarks { font-size:12px;margin-bottom:0; }.detail-actions { gap:10px; }.detail-actions .button { min-height:44px;font-size:12px; }.detail-actions .button:first-child { flex:1; }.detail-facts { font-size:12px; }.detail-facts>div { gap:14px; }.detail-progress { font-size:11px; }.description-section p { font-size:13px; }.detail-episodes { grid-template-columns:repeat(4,minmax(0,1fr)); }.detail-page .section-heading { align-items:start; }
  .detail-updates { font-size:12px;padding:11px 12px; }.detail-updates>div { gap:12px; }.detail-updates dt { width:84px;font-size:11px; }.detail-updates dd { flex:1; }.schedule-credit { margin-left:10px;font-size:10px; }.schedule-note { font-size:10px; }.catalog-feedback .secondary { font-size:10px; }
  .player-heading h1 { font-size:21px; }.screen { border-radius:3px; }.playback-tools { gap:8px; }.playback-tools>strong { width:100%;margin:0; }.playback-tools label { margin-left:auto; }.watch-settings { gap:10px 18px; }.keyboard-hint { display:none; }.episode-panel { padding:16px; }.episodes { grid-template-columns:repeat(4,minmax(0,1fr)); }.watch-layout { gap:19px; }.episode-heading h2 { font-size:15px; }.variant-buttons button { padding:6px 9px; }.video-details { margin-top:19px; }
  footer { flex-direction:column;gap:18px;padding:22px 0; }.source-settings { width:100%;text-align:left; }.source-info { grid-template-columns:repeat(3,minmax(0,1fr));font-size:10px;padding:10px; }.source-info small { overflow-wrap:anywhere; }.saved-actions { gap:5px;flex-wrap:wrap; }.saved-actions .text-button { font-size:10px; }
}
@media (max-width:820px) {
  .mobile-player-action { display:inline-flex;align-items:center;justify-content:center;min-height:44px; }
  .playback-tools .button,.playback-tools select,.watch-settings label,.watch-settings .text-button,.variant-buttons button,.episodes button,.episode-ranges button,#favorite-current { min-height:44px; }
  .watch-breadcrumbs a { min-height:44px; }.episode-panel { scroll-margin-top:16px; }.episode-heading h2 { scroll-margin-top:20px; }
}
@media (max-width:600px) {
  .filter-panel { padding:12px; }.catalog-filters>summary { right:12px; }.filter-chip,.selected-filter,.filter-summary>.text-button,.filter-panel .type-picks button { min-height:44px; }
  .hero-picks button,.hero-picks button:nth-child(n+3) { display:block;min-height:44px; }
  .hero-actions .button { min-height:44px; }
  .player-heading { gap:12px;align-items:start;margin-bottom:14px; }.player-heading h1 { font-size:19px;line-height:1.5; }.watch-breadcrumbs { gap:18px; }.watching main { padding-top:10px; }.playback-tools label { margin-left:0; }.playback-tools>strong { font-size:12px; }
}
@media (max-width:380px) { .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.hero { grid-template-columns:1fr; }.hero-art { display:none; }.hero-copy { padding:24px; }.hero-description { max-width:280px; }.hero-picks button:nth-child(n+3) { display:block; } }
@media (prefers-reduced-motion:reduce) { * { transition:none!important;scroll-behavior:auto!important; } }
