
  :root { --indigo:#4038C7; --marigold:#FFAD1F; --cream:#FFF7EC; --ink:#1A1633; --mute:#6B6890; --line:#E4E1F5; }
  * { box-sizing:border-box; } body { font-family:-apple-system,'Segoe UI',Roboto,sans-serif; background:#F7F5FF; color:var(--ink); margin:0; }
  .top { background:var(--indigo); padding:14px 16px; } .top a { color:var(--cream); text-decoration:none; font-weight:800; letter-spacing:1px; font-size:18px; }
  .top a span { color:var(--marigold); }
  .wrap { max-width:680px; margin:0 auto; padding:20px 16px 40px; }
  .head { display:grid; grid-template-columns:140px 1fr; gap:16px; }
  .poster { width:140px; border-radius:12px; display:block; }
  h1 { font-size:24px; margin:0 0 6px; } .meta { color:var(--mute); font-size:14px; margin-bottom:10px; }
  .rating { color:var(--indigo); font-weight:800; font-size:18px; display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
  .cdot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
  .ctag { font-size:11px; font-weight:700; letter-spacing:.3px; text-transform:uppercase; padding:2px 8px; border-radius:10px; }
  .cvotes { color:var(--mute); font-weight:400; font-size:13px; }
  .cbar { flex-basis:100%; height:4px; background:#EEE9DC; border-radius:2px; overflow:hidden; margin-top:2px; }
  .cbar i { display:block; height:100%; border-radius:2px; }
  .rating-solid .cdot, .rating-solid .cbar i { background:#2E9E5B; } .rating-solid .ctag { background:rgba(46,158,91,.13); color:#237A45; }
  .rating-early .cdot, .rating-early .cbar i { background:#E39A1C; } .rating-early .ctag { background:rgba(227,154,28,.15); color:#B87910; }
  .rating-few { color:var(--mute); font-weight:600; font-size:15px; } .rating-few .cdot, .rating-few .cbar i { background:#C4BEDA; } .rating-few .ctag { display:none; }
  .verdict { display:inline-block; background:rgba(64,56,199,.08); color:var(--indigo); font-weight:700; font-size:13px; padding:6px 14px; border-radius:999px; margin-top:8px; }
  /* FilmyChill Score (lib/fcscore.js) */
  @font-face { font-family:'Anton'; src:url('/fonts/anton-latin.woff2') format('woff2'); font-display:swap; }
  .fcsb { margin:18px 0 6px; padding:18px; background:#fff; border-radius:18px; box-shadow:0 4px 18px rgba(64,56,199,.08); }
  .fcsb-label { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; color:#8A5800; }
  .fcsb-label svg { width:15px; height:15px; fill:none; stroke:#A66B00; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
  .fcsb-verdict { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; margin-top:12px; }
  .fcsb-m { display:block; width:56px; height:35px; flex-shrink:0; }
  .fcsb-stamp { display:inline-block; padding:8px 14px; border-radius:10px; font-family:'Anton',sans-serif; font-size:28px; line-height:1; letter-spacing:.4px; text-transform:uppercase; white-space:nowrap; }
  @media (max-width: 420px) { .fcsb-m { width:48px; height:30px; } .fcsb-stamp { font-size:24px; padding:7px 12px; } }
  .fcsb-must { background:var(--indigo); color:#fff; } .fcsb-worth { background:var(--marigold); color:var(--ink); }
  .fcsb-skip { border:2px solid var(--ink); color:var(--ink); padding:6px 12px; }
  .fcsb-early { background:#F4F1EA; color:var(--mute); }
  .fcsb-why { font-size:15.5px; line-height:1.55; margin:12px 0 0; }
  .fcsb-rows { margin-top:14px; padding-top:12px; border-top:1px solid #EFE6D6; display:grid; gap:10px; }
  .fcsb-row { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; }
  .fcsb-row small { display:block; color:var(--mute); font-size:12px; margin-top:2px; }
  .fcsb-tag { font-size:12px; font-weight:700; padding:4px 10px; border-radius:999px; background:#EAE8FA; color:var(--indigo); white-space:nowrap; }
  .fcsb-tag.none { background:#F4F1EA; color:#5A5470; }
  .fcsb-conf { font-size:12px; font-weight:700; letter-spacing:.3px; color:#5A5470; background:#F4F1EA; border-radius:999px; padding:5px 11px; white-space:nowrap; }
  .fcvote { margin:12px 0 4px; background:#fff; border:1px solid #E6E0D2; border-radius:14px; padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
  .fcvote-q { font-size:14px; font-weight:600; } .fcvote-q small { display:block; font-weight:400; font-size:12px; color:var(--mute); margin-top:2px; }
  .fcvote-b { display:flex; gap:8px; flex-wrap:wrap; }
  .fcvote-b button { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:8px 14px; font:700 13px/1 Inter,system-ui,sans-serif; border:1.5px solid #D9D4F2; background:#fff; color:var(--ink); cursor:pointer; }
  .fcvote-b button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .fcvote-b button.on { background:var(--indigo); border-color:var(--indigo); color:#fff; } .fcvote-b button[disabled] { opacity:.6; cursor:wait; }
  .fcvote-done { flex-basis:100%; font-size:13px; color:var(--ink); }
  .fcsb-note { font-size:13px; color:var(--mute); line-height:1.5; margin:8px 0 0; }
  .fit { margin:18px 0 4px; border-left:3px solid var(--indigo); padding:2px 0 2px 16px; }
  .fit dl { margin:0; }
  .fit dt { font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--indigo); margin-top:12px; }
  .fit dt:first-child { margin-top:0; }
  .fit dd { margin:3px 0 0; font-size:15px; line-height:1.5; }
  .fit dt.skip { color:#9a3412; }
  h2 { font-size:16px; margin:24px 0 8px; } p { line-height:1.65; font-size:15px; margin:0; }
  .pill { display:inline-block; background:#fff; border:1px solid var(--line); border-radius:999px; padding:6px 12px; font-size:13px; margin:0 6px 6px 0; }
  .frame { position:relative; padding-top:56.25%; border-radius:12px; overflow:hidden; background:#000; margin-top:8px; }
  .frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
  .btn { display:inline-block; background:var(--indigo); color:#fff; font-weight:700; font-size:14px; padding:11px 20px; border-radius:10px; text-decoration:none; margin-top:20px; }
  footer { color:var(--mute); font-size:12px; text-align:center; padding:24px 16px; line-height:1.7; }
  .vprose { font-size:15px; line-height:1.7; margin-top:8px; }
  .answer { font-size:16px; line-height:1.6; margin:14px 0 6px; padding:12px 14px; background:#fff;
            border:1px solid #E7DFD0; border-left:3px solid var(--indigo); border-radius:0 8px 8px 0; }
  .fcdata { font-size:14px; line-height:1.6; margin-top:10px; padding:10px 12px; border-radius:8px;
            background:rgba(64,56,199,.07); border-left:3px solid var(--indigo); }
  /* Fit line: same weight as body copy, warm card so it reads as the site's own voice
     rather than another metadata row. */
  .whywatch { font-size:15px; line-height:1.7; background:var(--bg); border-left:3px solid var(--marigold);
              padding:12px 14px; border-radius:0 10px 10px 0; margin-top:8px; }
  /* Skip block: deliberately quieter than the fit line — muted rule, no fill, smaller type.
     It is the counterweight to everything above it, not a warning banner. Shouting would
     make it read as a content advisory; it is a preference mismatch, which is calmer. */
  .skipif { margin-top:14px; padding:12px 14px; border-left:3px solid var(--mute);
            border-radius:0 10px 10px 0; background:rgba(0,0,0,.02); }
  .skipif h3 { font-size:13px; letter-spacing:.02em; text-transform:uppercase; color:var(--mute);
               margin:0 0 8px; font-weight:700; }
  .skipif ul { margin:0; padding-left:18px; }
  .skipif li { font-size:14.5px; line-height:1.65; margin:4px 0; }
  .take { font-size:14.5px; font-weight:600; color:var(--indigo); line-height:1.6; margin-top:10px; }
  .tsrc { color:var(--mute); font-weight:400; font-size:12px; }
  .hook { font-size:13.5px; color:var(--mute); font-style:italic; margin-top:8px; }
  .cast-strip { display:flex; gap:14px; overflow-x:auto; padding:4px 0 8px; }
  .cast-card { flex:0 0 84px; text-align:center; }
  .cast-card img { width:72px; height:72px; border-radius:50%; object-fit:cover; background:var(--line); display:block; margin:0 auto; }
  .cast-name { font-size:12px; font-weight:700; margin-top:6px; line-height:1.3; }
  .cast-role { font-size:11px; color:var(--mute); line-height:1.3; margin-top:1px; }
  .tcounter { color:var(--marigold-dk, #A66B00); font-weight:700; }
  .gtk { width:100%; border-collapse:collapse; margin-top:8px; }
  .gtk td { padding:9px 0; border-top:1px solid var(--line); font-size:14px; vertical-align:top; }
  .gtk td:first-child { color:var(--mute); width:46%; }
  .gtk td:last-child { font-weight:600; text-align:right; }
  .simgrid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-top:8px; }
  .simcard { display:block; background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; text-decoration:none; color:var(--ink); }
  .simcard img { width:100%; aspect-ratio:2/3; object-fit:cover; display:block; background:var(--line); }
  .simcard .st { font-size:12.5px; font-weight:700; padding:8px 8px 2px; line-height:1.25; }
  .simcard .sm { font-size:11px; color:var(--mute); padding:0 8px 8px; }
  .faq { margin-top:8px; }
  .faq details { border-top:1px solid var(--line); padding:10px 0; }
  .faq summary { font-size:14.5px; font-weight:700; cursor:pointer; list-style:none; }
  .faq summary::-webkit-details-marker { display:none; }
  .faq summary::after { content:"+"; float:right; color:var(--indigo); font-weight:700; }
  .faq details[open] summary::after { content:"–"; }
  .faq .fa { font-size:14px; line-height:1.6; color:var(--mute); margin-top:8px; }
  @media (max-width:420px){ .head { grid-template-columns:110px 1fr; } .poster { width:110px; } h1 { font-size:20px; } }
