/* 影视站主样式（原 base.html 内联样式，2026-11-10 拆分为独立文件以便 CDN 托管） */
  :root{
    --bg:#F2F7FE; --card:#FFFFFF; --line:#DCE9F7; --ink:#0B1526; --body:#3D4E68;
    --sub:#71839E; --faint:#9DB2CC; --chip:#EAF2FD; --stat:#FFFFFF;
    --accent:#2563EB; --accent2:#38BDF8; --accent-d:#1D4ED8; --navy:#0A1628;
    --grad:linear-gradient(135deg,#2563EB,#38BDF8);
    --shadow:0 8px 28px rgba(37,99,235,.08);
  }
  * { box-sizing:border-box; }
  body { margin:0; font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; color:var(--ink);
    background-color:var(--bg);
    background-image:linear-gradient(rgba(37,99,235,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.05) 1px,transparent 1px);
    background-size:30px 30px; }
  a { color:inherit; text-decoration:none; }
  header { position:sticky; top:0; z-index:20; background:rgba(244,248,254,.88); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
  .bar { max-width:1180px; margin:0 auto; padding:12px 20px; display:flex; gap:14px; align-items:center; }
  .logo { display:flex; align-items:center; gap:10px; font-size:20px; font-weight:800; letter-spacing:.5px; flex:none; white-space:nowrap; }
  .bar nav a { white-space:nowrap; }
  .logo .mark { width:34px; height:34px; border-radius:12px; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; flex:none; }
  .logo .logoimg { height:36px; width:auto; max-width:180px; object-fit:contain; border-radius:9px; flex:none; }
  .bar nav { margin-left:auto; display:flex; gap:22px; font-size:15px; color:var(--body); align-items:center; }
  .bar nav a:hover { color:var(--accent); }
  .bar nav a.wuye-btn { background:var(--navy); color:#fff; padding:8px 16px; border-radius:999px; font-weight:700; font-size:14px; }
  .bar nav a.wuye-btn:hover { background:var(--grad); color:#fff; }
  main { max-width:1180px; margin:0 auto; padding:0 20px 40px; }
  /* hero */
  .hero { position:relative; margin-top:26px; border-radius:28px; padding:38px 40px 34px; color:#fff;
    background:radial-gradient(560px 300px at 88% -10%, rgba(255,255,255,.30), rgba(255,255,255,0) 60%),
               radial-gradient(460px 260px at 6% 118%, rgba(56,189,248,.38), rgba(56,189,248,0) 62%),
               linear-gradient(120deg,#0B2A5B 0%, #2563EB 55%, #38BDF8 135%);
    box-shadow:0 18px 44px rgba(37,99,235,.22); }
  .eyebrow { display:inline-block; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.38); color:#fff; font-weight:700; font-size:13px; letter-spacing:2px; padding:5px 14px; border-radius:999px; }
  .hero h1 { font-size:44px; font-weight:800; line-height:1.2; margin:16px 0 10px; letter-spacing:-.5px; max-width:700px; }
  .hero p { color:rgba(255,255,255,.85); font-size:17px; line-height:1.7; margin:0; max-width:640px; }
  .hero .searchbar { margin-top:24px; margin-right:250px; border:0; box-shadow:0 12px 30px rgba(11,21,38,.20); }
  .mascot-hero { position:absolute; right:30px; bottom:-30px; height:360px; z-index:3; pointer-events:none; filter:drop-shadow(0 12px 18px rgba(11,21,38,.28)); }
  /* search */
  .searchbar { margin-top:26px; background:var(--card); border:1px solid var(--line); border-radius:28px; padding:10px; box-shadow:var(--shadow); }
  .searchbar form { display:flex; gap:10px; }
  .searchbar select, .searchbar input { background:#F2F7FE; border:1px solid var(--line); border-radius:999px; padding:12px 18px; font-size:15px; color:var(--ink); outline:none; }
  .searchbar select { flex:none; }
  .searchbar input { flex:1; min-width:0; }
  .searchbar input:focus, .searchbar select:focus { border-color:var(--accent); }
  .searchbar button { background:var(--grad); color:#fff; border:0; border-radius:999px; padding:12px 30px; font-size:15px; font-weight:700; cursor:pointer; flex:none; }
  .searchbar button:hover { filter:brightness(1.08); }
  /* stat cards */
  .stats { display:grid; grid-template-columns:repeat(auto-fill,minmax(158px,1fr)); gap:12px; margin-top:26px; }
  .stat { background:var(--stat); border:1px solid var(--line); border-radius:20px; padding:15px 18px; display:flex; align-items:baseline; gap:8px; min-width:0; box-shadow:0 4px 16px rgba(37,99,235,.05); }
  .stat b { font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .stat span { color:var(--accent); font-weight:700; font-size:15px; white-space:nowrap; }
  .stat.today { background:#E9F9F1; border-color:#BDEEDD; }
  .stat.today span { color:#00A870; }
  .stat.on { background:var(--grad); border-color:transparent; box-shadow:0 10px 24px rgba(37,99,235,.28); }
  .stat.on b { color:#fff; }
  .stat.on span { color:rgba(255,255,255,.88); }
  /* filter panel */
  .panel { background:var(--card); border:1px solid var(--line); border-radius:24px; padding:14px 26px 20px; margin-top:26px; box-shadow:var(--shadow); }
  .panel h3 { font-size:17px; margin:10px 0 4px; }
  .frow { display:flex; gap:14px; padding:8px 0; }
  .flabel { width:46px; flex:none; font-weight:700; font-size:15px; padding-top:8px; }
  .fchips { display:flex; flex-wrap:wrap; gap:8px; }
  .chip { background:var(--chip); border:1px solid transparent; border-radius:999px; padding:7px 15px; font-size:14px; color:var(--body); }
  .chip:hover { border-color:var(--accent); color:var(--accent); background:#fff; }
  .chip.on { background:var(--grad); border-color:transparent; color:#fff; font-weight:700; }
  /* results */
  .reshead { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:32px 0 16px; }
  .reshead h2 { font-size:27px; font-weight:800; margin:0; }
  .reshead .cnt { color:var(--sub); font-size:15px; white-space:nowrap; }
  .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(168px,1fr)); gap:18px; }
  .vcard { background:var(--card); border:1px solid var(--line); border-radius:24px; padding:10px; display:block; box-shadow:0 4px 18px rgba(37,99,235,.05); transition:transform .15s ease, box-shadow .15s ease; }
  .vcard:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(37,99,235,.14); }
  .poster { position:relative; aspect-ratio:3/4; border-radius:17px; overflow:hidden; background:var(--chip); }
  .poster img { width:100%; height:100%; object-fit:cover; display:block; }
  .bdg-cat { position:absolute; left:8px; top:8px; background:var(--grad); color:#fff; font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; max-width:calc(100% - 16px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .bdg-rmk { position:absolute; left:8px; bottom:8px; background:rgba(10,22,40,.72); color:#fff; font-size:11px; padding:3px 9px; border-radius:999px; max-width:calc(100% - 16px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .vcard .nm { margin:10px 2px 0; font-size:16px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .vcard .mt { margin:4px 2px 2px; font-size:13px; color:var(--sub); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .empty { color:var(--sub); padding:34px 0; text-align:center; font-size:15px; }
  /* pager */
  .pager { display:flex; gap:8px; justify-content:center; align-items:center; margin-top:36px; flex-wrap:wrap; }
  .nf-wrap { max-width:640px; margin:96px auto 84px; padding:0 18px; }
  .nf { position:relative; background:var(--card); border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); padding:54px 34px 42px; text-align:center; }
  .nf-code { font-size:84px; font-weight:800; line-height:1; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:2px; }
  .nf h2 { margin:16px 0 10px; font-size:24px; color:var(--ink); }
  .nf p { margin:0 auto 28px; color:var(--sub); line-height:1.7; }
  .nf-path { font-family:ui-monospace, Menlo, Consolas, monospace; font-size:12.5px; background:var(--chip); border-radius:8px; padding:2px 8px; color:var(--body); word-break:break-all; }
  .nf-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
  .nf-btns a { text-decoration:none; padding:11px 28px; border-radius:999px; font-weight:600; }
  .nf-btns .go { background:var(--grad); color:#fff; box-shadow:0 8px 18px rgba(37,99,235,.28); }
  .nf-btns .alt { background:var(--chip); color:var(--accent-d); }
  .nf-mascot { position:absolute; right:24px; top:-62px; height:116px; }
  .pager a, .pager span { background:var(--card); border:1px solid var(--line); padding:9px 17px; border-radius:999px; font-size:14px; }
  .pager a:hover { border-color:var(--accent); color:var(--accent); }
  .pager .on { background:var(--grad); border-color:transparent; color:#fff; font-weight:700; }
  .pager-jump { display:inline-flex; gap:8px; align-items:center; margin:0; }
  .pager-jump .pj-in { width:78px; background:var(--card); border:1px solid var(--line); padding:9px 10px; border-radius:999px; font-size:14px; text-align:center; color:var(--ink); outline:none; -moz-appearance:textfield; appearance:textfield; }
  .pager-jump .pj-in::-webkit-outer-spin-button, .pager-jump .pj-in::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
  .pager-jump .pj-in:focus { border-color:var(--accent); }
  .pager-jump .pj-btn { background:var(--grad); color:#fff; border:none; padding:9px 17px; border-radius:999px; font-size:14px; font-weight:700; cursor:pointer; }
  .muted { color:var(--sub); }
  footer { background:var(--navy); margin-top:185px; }
  .fin { max-width:1180px; margin:0 auto; padding:30px 20px 0; position:relative; color:#A9BCD9; font-size:13px; line-height:1.9; display:flex; gap:24px; align-items:flex-end; }
  .fin-main { flex:1; min-width:0; padding-bottom:38px; }
  .fin b { color:#fff; font-size:14px; }
  .fin nav { display:flex; gap:18px; margin:4px 0 8px; }
  .fin nav a:hover { color:#7FB3FF; }
  .fin-mascot { width:340px; display:block; position:absolute; right:20px; bottom:100%; }
  /* detail & play */
  .dcard { background:var(--card); border:1px solid var(--line); border-radius:24px; padding:26px; margin-top:26px; box-shadow:var(--shadow); }
  .dwrap { display:flex; gap:26px; flex-wrap:wrap; }
  .dposter { width:228px; flex:none; }
  .dposter img { width:100%; border-radius:17px; display:block; aspect-ratio:3/4; object-fit:cover; background:var(--chip); }
  .dmeta { flex:1; min-width:260px; }
  .dmeta h1 { margin:0 0 14px; font-size:28px; font-weight:800; line-height:1.3; }
  .dmeta .row { display:flex; gap:10px; margin:7px 0; font-size:14px; line-height:1.7; color:var(--body); }
  .dmeta .row b { color:var(--faint); font-weight:400; width:42px; flex:none; }
  .dmeta .catlink { background:var(--chip); border:1px solid transparent; border-radius:999px; padding:2px 12px; font-size:13px; }
  .dmeta .catlink:hover { border-color:var(--accent); color:var(--accent); background:#fff; }
  .blurb { margin-top:14px; color:var(--body); line-height:1.9; font-size:15px; }
  .srcblk { margin-top:28px; }
  .srcblk h3 { font-size:17px; margin:0 0 12px; padding-left:11px; border-left:4px solid var(--accent); line-height:1.2; }
  .eps { display:flex; flex-wrap:wrap; gap:8px; }
  .eps a { background:var(--chip); border:1px solid transparent; padding:8px 15px; border-radius:999px; font-size:14px; color:var(--body); }
  .eps a:hover { border-color:var(--accent); color:var(--accent); background:#fff; }
  .eps a.on { background:var(--grad); border-color:transparent; color:#fff; font-weight:700; }
  .content { margin-top:26px; background:var(--card); border:1px solid var(--line); border-radius:24px; padding:24px 26px; color:var(--body); line-height:1.9; font-size:15px; box-shadow:var(--shadow); }
  .pwrap { margin-top:26px; background:#000; border-radius:20px; overflow:hidden; border:1px solid var(--line); }
  .pwrap video { width:100%; max-height:74vh; display:block; background:#000; }
  .ptitle { font-size:21px; font-weight:800; margin:20px 0 2px; line-height:1.4; }
  .ptitle .muted { font-weight:400; font-size:16px; }
  .cmts { margin-top:32px; }
  .cmts h3 { font-size:17px; margin:0 0 12px; padding-left:11px; border-left:4px solid var(--accent); line-height:1.2; }
  .cmts-card { background:var(--card); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); padding:18px 20px 8px; }
  #waline { --waline-theme-color:#2563EB; --waline-active-color:#1D4ED8; --waline-border-color:#DCE9F7; --waline-info-bg-color:#F2F7FE; --waline-info-color:#71839E; }
  @media (max-width:640px){
    .hero { padding:26px 20px 22px; border-radius:24px; }
    .hero h1 { font-size:29px; padding-right:64px; }
    .hero p { font-size:15px; }
    .hero .searchbar { margin-right:0; margin-top:18px; }
    .mascot-hero { height:156px; right:8px; bottom:auto; top:-14px; }
    .stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
    .stat { padding:11px 12px; border-radius:16px; flex-direction:column; align-items:flex-start; gap:1px; }
    .stat b { font-size:14px; }
    .stat span { font-size:12px; }
    .grid { grid-template-columns:repeat(auto-fill,minmax(142px,1fr)); gap:12px; }
    .panel { padding:10px 16px 14px; }
    .searchbar select { max-width:98px; }
    .searchbar button { padding:12px 16px; }
    .dcard { padding:18px; }
    .dposter { width:150px; }
    .dmeta h1 { font-size:22px; }
    .nf-wrap { margin:72px auto 64px; }
    .nf { padding:46px 20px 34px; }
    .nf-code { font-size:60px; }
    .nf-mascot { height:88px; top:-48px; right:12px; }
    .bar nav { gap:14px; font-size:14px; }
    .fin-mascot { width:240px; }
    .fin { padding-top:22px; }
    footer { margin-top:135px; }
  }
