/* roulang page: index */
:root {
      --paper: #f8f5ef;
      --paper-deep: #efe8dc;
      --surface: #fffdf9;
      --ink: #211e1b;
      --ink-soft: #514a43;
      --muted: #82786e;
      --line: #e5ddd1;
      --gold: #c77a35;
      --gold-bright: #e6a24c;
      --gold-pale: #f7ead8;
      --berry: #7f2938;
      --berry-dark: #511d29;
      --dark: #211d1b;
      --dark-soft: #342d29;
      --sage: #657766;
      --radius-sm: 8px;
      --radius-md: 14px;
      --radius-lg: 22px;
      --shadow-soft: 0 8px 24px rgba(45, 34, 23, .07);
      --shadow-card: 0 14px 34px rgba(45, 34, 23, .10);
      --container: 1160px;
      --ease: 180ms ease;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 92px; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
      font-size: 16px;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button { color: inherit; font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button:focus-visible, a:focus-visible, summary:focus-visible {
      outline: 3px solid rgba(199, 122, 53, .55);
      outline-offset: 3px;
    }
    ::selection { color: var(--dark); background: #f0c78f; }

    .container {
      width: min(var(--container), calc(100% - 48px));
      margin-inline: auto;
    }
    .section {
      padding: 88px 0;
      border-top: 1px solid rgba(81, 65, 48, .08);
    }
    .section--paper { background: var(--paper); }
    .section--white { background: var(--surface); }
    .section--soft { background: var(--paper-deep); }
    .section--dark {
      color: #fbf6ee;
      background: var(--dark);
      border-color: rgba(255,255,255,.08);
    }
    .section-heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 28px;
      margin-bottom: 32px;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin: 0 0 10px;
      color: var(--berry);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0;
    }
    .eyebrow::before {
      width: 22px;
      height: 2px;
      background: var(--gold);
      content: "";
    }
    h1, h2, h3, p { margin-top: 0; }
    h1, h2, h3 { line-height: 1.25; }
    h2 {
      margin-bottom: 0;
      font-size: 32px;
      font-weight: 800;
      letter-spacing: 0;
    }
    .section-intro {
      max-width: 520px;
      margin: 0;
      color: var(--muted);
      font-size: 14px;
    }
    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--berry);
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
      transition: color var(--ease), gap var(--ease);
    }
    .text-link::after { content: "→"; }
    .text-link:hover { gap: 12px; color: var(--gold); }

    .site-header {
      position: sticky;
      z-index: 50;
      top: 0;
      background: rgba(248, 245, 239, .96);
      border-bottom: 1px solid var(--line);
      transition: box-shadow var(--ease), background var(--ease);
      backdrop-filter: blur(12px);
    }
    .site-header.is-scrolled { box-shadow: 0 7px 24px rgba(39, 29, 20, .08); }
    .nav-shell {
      min-height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .brand {
      display: inline-flex;
      flex: 0 0 auto;
      align-items: center;
      gap: 11px;
      color: var(--ink);
      font-size: 18px;
      font-weight: 850;
      white-space: nowrap;
    }
    .brand-mark {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      color: #fff9f0;
      background: var(--berry);
      border-radius: 10px;
      font-size: 14px;
      font-weight: 900;
      box-shadow: inset 0 -3px 0 rgba(0,0,0,.13);
    }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 34px;
      margin-left: auto;
    }
    .nav-links a {
      position: relative;
      padding: 8px 0;
      color: var(--ink-soft);
      font-size: 14px;
      font-weight: 700;
      transition: color var(--ease);
    }
    .nav-links a::after {
      position: absolute;
      right: 0;
      bottom: 2px;
      left: 0;
      height: 2px;
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform var(--ease);
      content: "";
    }
    .nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--berry); }
    .nav-links a:hover::after, .nav-links a[aria-current="page"]::after { transform: scaleX(1); }
    .nav-actions { display: flex; align-items: center; gap: 10px; }
    .menu-toggle {
      width: 44px;
      height: 44px;
      display: none;
      place-items: center;
      padding: 0;
      color: var(--ink);
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 10px;
      cursor: pointer;
    }
    .menu-toggle span, .menu-toggle span::before, .menu-toggle span::after {
      width: 18px;
      height: 2px;
      display: block;
      position: relative;
      background: currentColor;
      transition: transform var(--ease);
      content: "";
    }
    .menu-toggle span::before { position: absolute; top: -6px; }
    .menu-toggle span::after { position: absolute; top: 6px; }
    .menu-toggle[aria-expanded="true"] span { background: transparent; }
    .menu-toggle[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

    .button {
      min-height: 46px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 11px 19px;
      border: 1px solid transparent;
      border-radius: 9px;
      font-size: 14px;
      font-weight: 800;
      line-height: 1.2;
      cursor: pointer;
      transition: transform var(--ease), box-shadow var(--ease), background var(--ease), border-color var(--ease), color var(--ease);
    }
    .button:hover { transform: translateY(-2px); }
    .button:active { transform: translateY(0); }
    .button--gold {
      color: #241a12;
      background: var(--gold-bright);
      box-shadow: 0 5px 14px rgba(199, 122, 53, .19);
    }
    .button--gold:hover { background: #efb66e; box-shadow: 0 9px 20px rgba(199, 122, 53, .24); }
    .button--berry { color: #fff9f2; background: var(--berry); }
    .button--berry:hover { background: #96394b; }
    .button--outline {
      color: var(--ink);
      background: transparent;
      border-color: var(--line);
    }
    .button--outline:hover { background: #fffaf2; border-color: #c9b8a2; }
    .button[disabled], .button.is-disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }

    .hero {
      position: relative;
      overflow: hidden;
      padding: 64px 0 70px;
      background:
        radial-gradient(ellipse at 84% 4%, rgba(230,162,76,.16), transparent 35%),
        linear-gradient(135deg, #fbf7f0 0%, #f5ede0 100%);
    }
    .hero::after {
      position: absolute;
      right: -104px;
      bottom: -155px;
      width: 380px;
      height: 380px;
      border: 1px solid rgba(127,41,56,.12);
      border-radius: 50%;
      box-shadow: 0 0 0 34px rgba(127,41,56,.025), 0 0 0 72px rgba(127,41,56,.02);
      content: "";
      pointer-events: none;
    }
    .hero-content { position: relative; z-index: 1; max-width: 820px; }
    .hero-status {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 19px;
      padding: 7px 11px;
      color: var(--berry);
      background: rgba(255,253,249,.78);
      border: 1px solid #e8d8c4;
      border-radius: 6px;
      font-size: 12px;
      font-weight: 800;
    }
    .status-dot {
      width: 7px;
      height: 7px;
      display: inline-block;
      background: var(--sage);
      border-radius: 50%;
      box-shadow: 0 0 0 4px rgba(101,119,102,.12);
    }
    .hero h1 {
      max-width: 760px;
      margin-bottom: 15px;
      font-size: 50px;
      font-weight: 900;
      letter-spacing: 0;
    }
    .hero h1 span { color: var(--berry); }
    .hero-subtitle {
      margin-bottom: 13px;
      color: var(--ink-soft);
      font-size: 19px;
      font-weight: 750;
    }
    .hero-copy {
      max-width: 670px;
      margin-bottom: 26px;
      color: #665d54;
      font-size: 15px;
    }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
    .hero-matrix {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 10px;
      margin-top: 46px;
      padding-top: 24px;
      border-top: 1px solid rgba(81,65,48,.15);
    }
    .matrix-item {
      min-height: 72px;
      display: flex;
      align-items: center;
      gap: 11px;
      padding: 12px;
      background: rgba(255,253,249,.68);
      border: 1px solid rgba(139,112,81,.16);
      border-radius: 10px;
    }
    .matrix-icon {
      width: 36px;
      height: 36px;
      flex: 0 0 36px;
      display: grid;
      place-items: center;
      color: var(--berry);
      background: var(--gold-pale);
      border-radius: 9px;
      font-size: 16px;
      font-weight: 900;
    }
    .matrix-item strong { display: block; font-size: 13px; line-height: 1.3; }
    .matrix-item small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }

    .feature-strip {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
      margin-bottom: 30px;
      overflow: hidden;
      background: #f4eadb;
      border: 1px solid #e6d6c0;
      border-radius: var(--radius-md);
    }
    .feature-item {
      min-height: 82px;
      display: flex;
      align-items: center;
      gap: 13px;
      padding: 15px 20px;
    }
    .feature-item + .feature-item { border-left: 1px solid #e2d0b7; }
    .feature-number {
      color: var(--berry);
      font-size: 24px;
      font-weight: 900;
      line-height: 1;
    }
    .feature-item strong { display: block; font-size: 14px; }
    .feature-item span:last-child { display: block; color: var(--muted); font-size: 12px; }

    .latest-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 22px 18px;
    }
    .media-card {
      min-width: 0;
      overflow: hidden;
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
      transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
    }
    .media-card:hover {
      transform: translateY(-4px);
      border-color: #d8b98f;
      box-shadow: var(--shadow-card);
    }
    .poster {
      position: relative;
      overflow: hidden;
      aspect-ratio: 3 / 4;
      background: #eadfcf;
    }
    .poster::after {
      position: absolute;
      inset: 50% 0 0;
      background: linear-gradient(transparent, rgba(24,19,16,.28));
      content: "";
      pointer-events: none;
    }
    .poster img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 360ms ease;
    }
    .media-card:hover .poster img { transform: scale(1.035); }
    .poster.is-fallback { display: grid; place-items: center; }
    .poster.is-fallback::before {
      color: rgba(127,41,56,.65);
      font-size: 30px;
      font-weight: 900;
      content: "糖心";
    }
    .badge {
      display: inline-flex;
      align-items: center;
      min-height: 25px;
      padding: 4px 8px;
      color: var(--berry);
      background: #fff7eb;
      border: 1px solid rgba(127,41,56,.12);
      border-radius: 5px;
      font-size: 11px;
      font-weight: 850;
      line-height: 1.1;
    }
    .poster .badge { position: absolute; z-index: 1; top: 11px; left: 11px; }
    .card-body { padding: 14px 14px 15px; }
    .card-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 7px;
      color: var(--muted);
      font-size: 11px;
    }
    .rating { color: #a96822; font-weight: 900; white-space: nowrap; }
    .media-card h3 {
      display: -webkit-box;
      min-height: 23px;
      margin-bottom: 5px;
      overflow: hidden;
      color: var(--ink);
      font-size: 16px;
      font-weight: 800;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 1;
    }
    .card-note {
      display: -webkit-box;
      min-height: 40px;
      margin-bottom: 0;
      overflow: hidden;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.65;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    .recommend-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
      gap: 24px;
      align-items: stretch;
    }
    .feature-pick {
      position: relative;
      min-height: 440px;
      overflow: hidden;
      color: #fff8ee;
      background: var(--berry-dark);
      border-radius: var(--radius-lg);
    }
    .feature-pick .poster { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
    .feature-pick .poster::after {
      inset: 25% 0 0;
      background: linear-gradient(0deg, rgba(25,18,17,.88), rgba(25,18,17,.05));
    }
    .feature-pick .poster img { height: 100%; }
    .feature-pick-copy {
      position: absolute;
      z-index: 2;
      right: 25px;
      bottom: 25px;
      left: 25px;
    }
    .feature-pick-copy h3 { margin: 13px 0 8px; font-size: 27px; }
    .feature-pick-copy p { max-width: 460px; margin-bottom: 13px; color: #f3e8db; font-size: 13px; }
    .feature-pick-meta { display: flex; gap: 9px; align-items: center; color: #f2c985; font-size: 12px; font-weight: 800; }
    .recommend-list { display: grid; grid-template-rows: repeat(5, minmax(0, 1fr)); gap: 10px; }
    .recommend-row {
      min-width: 0;
      display: grid;
      grid-template-columns: 76px minmax(0,1fr) auto;
      align-items: center;
      gap: 14px;
      padding: 10px;
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 11px;
      transition: border-color var(--ease), transform var(--ease), box-shadow var(--ease);
    }
    .recommend-row:hover { transform: translateX(3px); border-color: #d9bd98; box-shadow: var(--shadow-soft); }
    .recommend-thumb {
      width: 76px;
      height: 72px;
      overflow: hidden;
      background: var(--paper-deep);
      border-radius: 7px;
    }
    .recommend-thumb img { width: 100%; height: 100%; object-fit: cover; }
    .recommend-row h3 { margin: 0 0 4px; font-size: 14px; }
    .recommend-row p { margin: 0; color: var(--muted); font-size: 11px; }
    .recommend-score { color: #a96822; font-size: 13px; font-weight: 900; white-space: nowrap; }

    .news-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
      gap: 28px;
    }
    .news-lead {
      display: grid;
      grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
      overflow: hidden;
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
    }
    .news-lead-image { min-height: 310px; background: var(--paper-deep); }
    .news-lead-image img { width: 100%; height: 100%; object-fit: cover; }
    .news-lead-copy { align-self: center; padding: 25px; }
    .news-lead-copy h3 { margin: 13px 0 9px; font-size: 22px; }
    .news-lead-copy p { margin: 0; color: var(--muted); font-size: 13px; }
    .news-list { display: grid; gap: 0; }
    .news-row {
      display: grid;
      grid-template-columns: 80px minmax(0,1fr);
      gap: 14px;
      align-items: center;
      padding: 13px 0;
      border-bottom: 1px solid var(--line);
    }
    .news-row:first-child { padding-top: 0; }
    .news-thumb { width: 80px; height: 66px; overflow: hidden; background: var(--paper-deep); border-radius: 7px; }
    .news-thumb img { width: 100%; height: 100%; object-fit: cover; }
    .news-row h3 { margin: 0 0 4px; font-size: 14px; line-height: 1.4; }
    .news-row time { color: var(--muted); font-size: 11px; }

    .share-band {
      display: grid;
      grid-template-columns: minmax(0,1fr) auto;
      align-items: center;
      gap: 24px;
      padding: 27px 30px;
      background: #f4eadb;
      border: 1px solid #e6d6c0;
      border-left: 5px solid var(--gold);
      border-radius: var(--radius-md);
    }
    .share-band h2 { margin-bottom: 6px; font-size: 23px; }
    .share-band p { max-width: 650px; margin: 0; color: var(--muted); font-size: 13px; }
    .share-actions { display: flex; gap: 10px; }
    .favorite-button.is-saved { color: #fff8ee; background: var(--berry); border-color: var(--berry); }
    .share-feedback { min-height: 20px; margin: 9px 0 0; color: var(--sage); font-size: 12px; }

    .channel-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0,1fr));
      gap: 12px;
    }
    .channel-card {
      position: relative;
      min-height: 205px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      overflow: hidden;
      padding: 18px;
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 12px;
      transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease);
    }
    .channel-card:hover { transform: translateY(-3px); border-color: #d7b78e; box-shadow: var(--shadow-soft); }
    .channel-card::after {
      position: absolute;
      right: -22px;
      bottom: -35px;
      width: 105px;
      height: 105px;
      border: 1px solid rgba(127,41,56,.12);
      border-radius: 50%;
      box-shadow: 0 0 0 13px rgba(127,41,56,.035);
      content: "";
    }
    .channel-index { color: var(--gold); font-size: 12px; font-weight: 900; }
    .channel-card h3 { margin: 14px 0 7px; font-size: 18px; }
    .channel-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
    .channel-arrow { align-self: flex-end; color: var(--berry); font-size: 20px; font-weight: 800; }

    .taste-layout {
      display: grid;
      grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
      gap: 34px;
      align-items: center;
    }
    .taste-stamp {
      min-height: 210px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 28px;
      color: #fff8ee;
      background: var(--berry-dark);
      border-radius: var(--radius-lg);
    }
    .taste-stamp strong { color: var(--gold-bright); font-size: 40px; line-height: 1; }
    .taste-stamp span { margin-top: 12px; font-size: 17px; font-weight: 800; }
    .taste-stamp p { margin: 8px 0 0; color: #e8d8cc; font-size: 13px; }
    .taste-content h2 { margin-bottom: 12px; }
    .taste-content > p { max-width: 560px; margin-bottom: 18px; color: var(--muted); font-size: 14px; }
    .taste-tags { display: flex; flex-wrap: wrap; gap: 9px; }
    .taste-tag {
      padding: 8px 12px;
      color: var(--berry-dark);
      background: var(--gold-pale);
      border: 1px solid #ead8bf;
      border-radius: 6px;
      font-size: 12px;
      font-weight: 750;
    }

    .ranking-layout {
      display: grid;
      grid-template-columns: minmax(0,1fr) 260px;
      gap: 34px;
      align-items: start;
    }
    .ranking-list { display: grid; }
    .rank-row {
      min-height: 60px;
      display: grid;
      grid-template-columns: 44px minmax(0,1fr) 112px 62px 72px;
      align-items: center;
      gap: 13px;
      padding: 10px 12px;
      border-bottom: 1px solid rgba(255,255,255,.11);
      transition: background var(--ease);
    }
    .rank-row:hover { background: rgba(255,255,255,.055); }
    .rank-number { color: #c4b8a9; font-size: 18px; font-weight: 900; text-align: center; }
    .rank-row:nth-child(-n+3) .rank-number { color: var(--gold-bright); font-size: 22px; }
    .rank-title { min-width: 0; font-weight: 800; }
    .rank-title small { display: block; margin-top: 2px; color: #bdb2a6; font-size: 11px; font-weight: 500; }
    .rank-heat { color: #d9b27d; font-size: 12px; }
    .rank-score { color: #f1c97f; font-size: 13px; font-weight: 900; }
    .rank-category { justify-self: end; color: #e7d5bd; font-size: 11px; }
    .ranking-note {
      padding: 22px;
      background: var(--dark-soft);
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 12px;
    }
    .ranking-note .eyebrow { color: var(--gold-bright); }
    .ranking-note h3 { margin: 0 0 10px; font-size: 20px; }
    .ranking-note p { margin: 0; color: #c9beb2; font-size: 13px; }
    .ranking-note .note-line { height: 1px; margin: 18px 0; background: rgba(255,255,255,.14); }
    .ranking-note small { color: #d8c7b2; font-size: 11px; }

    .scene-panel {
      position: relative;
      min-height: 420px;
      display: flex;
      align-items: end;
      overflow: hidden;
      padding: 36px;
      color: #fff8ee;
      background: var(--berry-dark);
      border-radius: var(--radius-lg);
    }
    .scene-panel::before {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(27,19,18,.87) 0%, rgba(27,19,18,.65) 48%, rgba(27,19,18,.18) 100%),
        url("/assets/images/ed49055fecf81efd.jpg") center 42% / cover no-repeat;
      content: "";
    }
    .scene-content { position: relative; z-index: 1; max-width: 570px; }
    .scene-content .eyebrow { color: var(--gold-bright); }
    .scene-content h2 { margin: 0 0 13px; font-size: 34px; }
    .scene-content p { margin-bottom: 18px; color: #eee2d4; font-size: 14px; }
    .scene-tags { display: flex; flex-wrap: wrap; gap: 8px; }
    .scene-tags span {
      padding: 6px 10px;
      color: #fff4e5;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.25);
      border-radius: 5px;
      font-size: 11px;
    }

    .compare-list { display: grid; gap: 10px; }
    .compare-row {
      display: grid;
      grid-template-columns: 180px minmax(0,1fr) minmax(0,1fr);
      gap: 16px;
      align-items: center;
      padding: 17px 20px;
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 10px;
    }
    .compare-label { color: var(--berry); font-size: 13px; font-weight: 900; }
    .compare-cell { color: var(--ink-soft); font-size: 13px; }
    .compare-cell strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: 13px; }
    .compare-head {
      display: grid;
      grid-template-columns: 180px minmax(0,1fr) minmax(0,1fr);
      gap: 16px;
      padding: 0 20px 8px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
    }

    .topic-rail {
      display: grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 12px;
    }
    .topic-item {
      min-height: 130px;
      padding: 18px;
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 10px;
      transition: background var(--ease), border-color var(--ease), transform var(--ease);
    }
    .topic-item:hover { transform: translateY(-2px); background: #fffaf1; border-color: #d7b78e; }
    .topic-item span { color: var(--gold); font-size: 11px; font-weight: 900; }
    .topic-item h3 { margin: 8px 0 5px; font-size: 15px; }
    .topic-item p { margin: 0; color: var(--muted); font-size: 12px; }

    .faq-list { display: grid; gap: 10px; max-width: 880px; }
    .faq-item {
      overflow: hidden;
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 10px;
      transition: border-color var(--ease), box-shadow var(--ease);
    }
    .faq-item[open] { border-color: #d8bd9a; box-shadow: var(--shadow-soft); }
    .faq-item summary {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      min-height: 62px;
      padding: 16px 20px;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      list-style: none;
    }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after {
      flex: 0 0 auto;
      color: var(--berry);
      font-size: 20px;
      font-weight: 500;
      content: "+";
      transition: transform var(--ease);
    }
    .faq-item[open] summary::after { transform: rotate(45deg); }
    .faq-answer { padding: 0 20px 18px; color: var(--muted); font-size: 13px; }

    .assurance-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 0;
      overflow: hidden;
      background: #f2e8d8;
      border: 1px solid #e4d3bc;
      border-radius: var(--radius-md);
    }
    .assurance-item {
      display: flex;
      align-items: center;
      gap: 12px;
      min-height: 92px;
      padding: 17px;
    }
    .assurance-item + .assurance-item { border-left: 1px solid #dfccb2; }
    .assurance-icon {
      width: 36px;
      height: 36px;
      flex: 0 0 36px;
      display: grid;
      place-items: center;
      color: var(--berry);
      background: #fffaf2;
      border-radius: 50%;
      font-size: 15px;
      font-weight: 900;
    }
    .assurance-item strong { display: block; font-size: 13px; }
    .assurance-item small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }

    .closing {
      padding: 44px 0 92px;
      background: var(--paper);
    }
    .closing-panel {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 25px;
      padding: 26px 30px;
      background: var(--berry-dark);
      border-radius: var(--radius-md);
      color: #fff8ee;
    }
    .closing-panel h2 { margin: 0 0 5px; color: #fff8ee; font-size: 22px; }
    .closing-panel p { margin: 0; color: #e4d4c6; font-size: 13px; }

    .site-footer {
      padding: 58px 0 25px;
      color: #eee5d9;
      background: #211d1b;
      border-top: 3px solid var(--gold);
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.4fr repeat(3, minmax(0,1fr));
      gap: 34px;
      padding-bottom: 34px;
    }
    .footer-brand .brand { color: #fff8ee; }
    .footer-brand p { max-width: 270px; margin: 15px 0 0; color: #bfb4a8; font-size: 12px; }
    .footer-column h3 { margin: 4px 0 14px; color: var(--gold-bright); font-size: 13px; }
    .footer-column a, .footer-column span {
      display: block;
      width: fit-content;
      margin: 8px 0;
      color: #c9bfb4;
      font-size: 12px;
      transition: color var(--ease);
    }
    .footer-column a:hover { color: #fff8ee; }
    .copyright {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      padding-top: 18px;
      color: #a99f95;
      border-top: 1px solid rgba(255,255,255,.12);
      font-size: 11px;
    }

    .sticky-cta {
      position: fixed;
      z-index: 40;
      right: 18px;
      bottom: 18px;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 9px 10px 9px 16px;
      color: #fff8ee;
      background: rgba(33,29,27,.96);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 11px;
      box-shadow: 0 10px 30px rgba(25,19,15,.22);
      backdrop-filter: blur(10px);
    }
    .sticky-cta span { font-size: 12px; font-weight: 750; }
    .sticky-cta .button { min-height: 40px; padding: 9px 14px; }

    @media (max-width: 1200px) {
      :root { --container: 1040px; }
      .latest-grid { gap: 18px 14px; }
      .channel-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    }
    @media (max-width: 992px) {
      .section { padding: 72px 0; }
      .nav-shell { gap: 16px; }
      .nav-links { gap: 22px; }
      .hero h1 { font-size: 44px; }
      .latest-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
      .recommend-layout, .news-layout { grid-template-columns: 1fr; }
      .feature-pick { min-height: 390px; }
      .recommend-list { grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: none; }
      .ranking-layout { grid-template-columns: minmax(0,1fr) 220px; gap: 20px; }
      .footer-grid { grid-template-columns: 1.2fr repeat(3, minmax(0,1fr)); gap: 22px; }
    }
    @media (max-width: 768px) {
      .container { width: min(100% - 36px, var(--container)); }
      .section { padding: 60px 0; }
      .nav-shell { min-height: 68px; }
      .brand { font-size: 16px; }
      .brand-mark { width: 39px; height: 39px; }
      .menu-toggle { display: grid; }
      .nav-actions .button { display: none; }
      .nav-links {
        position: absolute;
        top: calc(100% + 1px);
        right: 0;
        left: 0;
        display: none;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 8px 18px 16px;
        background: var(--paper);
        border-bottom: 1px solid var(--line);
        box-shadow: 0 14px 20px rgba(39,29,20,.08);
      }
      .nav-links.is-open { display: flex; flex-direction: column; }
      .nav-links a { padding: 13px 4px; border-bottom: 1px solid rgba(81,65,48,.09); }
      .nav-links a::after { display: none; }
      .hero { padding: 48px 0 50px; }
      .hero h1 { font-size: 38px; }
      .hero-subtitle { font-size: 17px; }
      .hero-matrix { grid-template-columns: repeat(3, minmax(0,1fr)); }
      .section-heading { align-items: start; flex-direction: column; gap: 12px; margin-bottom: 25px; }
      h2 { font-size: 28px; }
      .latest-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 12px; }
      .card-body { padding: 11px; }
      .media-card h3 { font-size: 14px; }
      .feature-strip { grid-template-columns: 1fr; }
      .feature-item { min-height: 68px; padding: 12px 16px; }
      .feature-item + .feature-item { border-top: 1px solid #e2d0b7; border-left: 0; }
      .recommend-list { grid-template-columns: 1fr; }
      .news-lead { grid-template-columns: 1fr; }
      .news-lead-image { min-height: 240px; }
      .channel-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .channel-card { min-height: 180px; padding: 15px; }
      .taste-layout { grid-template-columns: 1fr; gap: 24px; }
      .taste-stamp { min-height: 170px; }
      .ranking-layout { grid-template-columns: 1fr; }
      .ranking-note { order: -1; }
      .rank-row { grid-template-columns: 34px minmax(0,1fr) 78px 52px; gap: 8px; padding-inline: 6px; }
      .rank-category { display: none; }
      .rank-heat { font-size: 11px; }
      .scene-panel { min-height: 360px; padding: 25px; }
      .scene-content h2 { font-size: 29px; }
      .compare-head, .compare-row { grid-template-columns: 112px minmax(0,1fr) minmax(0,1fr); gap: 10px; padding-inline: 12px; }
      .compare-cell { font-size: 12px; }
      .topic-rail { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .assurance-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .assurance-item:nth-child(3) { border-left: 0; border-top: 1px solid #dfccb2; }
      .assurance-item:nth-child(4) { border-top: 1px solid #dfccb2; }
      .closing-panel { align-items: flex-start; flex-direction: column; padding: 24px; }
      .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .footer-brand { grid-column: 1 / -1; }
      .sticky-cta { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); left: 12px; justify-content: space-between; }
      .closing { padding-bottom: 92px; }
    }
    @media (max-width: 576px) {
      .container { width: calc(100% - 30px); }
      .hero { padding-top: 40px; }
      .hero h1 { font-size: 33px; }
      .hero-copy { font-size: 14px; }
      .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
      .hero-actions .button { min-height: 48px; padding-inline: 10px; }
      .hero-matrix { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 32px; }
      .matrix-item { min-height: 64px; padding: 9px; }
      .matrix-icon { width: 32px; height: 32px; flex-basis: 32px; }
      .latest-grid { gap: 11px 9px; }
      .poster .badge { top: 8px; left: 8px; }
      .card-meta { font-size: 10px; }
      .card-note { font-size: 11px; }
      .recommend-row { grid-template-columns: 66px minmax(0,1fr) auto; gap: 10px; }
      .recommend-thumb { width: 66px; height: 64px; }
      .feature-pick { min-height: 340px; }
      .feature-pick-copy { right: 18px; bottom: 18px; left: 18px; }
      .feature-pick-copy h3 { font-size: 23px; }
      .channel-grid { gap: 9px; }
      .channel-card { min-height: 176px; padding: 13px; }
      .channel-card h3 { font-size: 16px; }
      .channel-card p { font-size: 11px; }
      .news-row { grid-template-columns: 68px minmax(0,1fr); gap: 10px; }
      .news-thumb { width: 68px; height: 58px; }
      .share-band { grid-template-columns: 1fr; padding: 21px; }
      .share-actions { flex-wrap: wrap; }
      .share-actions .button { flex: 1; }
      .rank-row { grid-template-columns: 30px minmax(0,1fr) 68px 45px; font-size: 12px; }
      .rank-title small { font-size: 10px; }
      .rank-score { font-size: 12px; }
      .scene-panel { min-height: 370px; padding: 20px; }
      .scene-panel::before {
        background:
          linear-gradient(0deg, rgba(27,19,18,.88), rgba(27,19,18,.38)),
          url("/assets/images/ed49055fecf81efd.jpg") center / cover no-repeat;
      }
      .scene-content h2 { font-size: 26px; }
      .compare-head, .compare-row { grid-template-columns: 1fr 1fr; }
      .compare-head span:first-child, .compare-label { grid-column: 1 / -1; }
      .compare-head span:first-child { display: none; }
      .compare-row { gap: 9px 12px; }
      .topic-rail { grid-template-columns: 1fr 1fr; gap: 9px; }
      .topic-item { min-height: 135px; padding: 14px; }
      .assurance-item { min-height: 82px; gap: 8px; padding: 11px; }
      .assurance-icon { width: 30px; height: 30px; flex-basis: 30px; font-size: 13px; }
      .assurance-item strong { font-size: 12px; }
      .assurance-item small { font-size: 10px; }
      .footer-grid { gap: 20px 14px; }
      .copyright { flex-direction: column; gap: 4px; }
      .sticky-cta span { max-width: 150px; font-size: 11px; }
      .sticky-cta .button { min-height: 42px; }
    }
    @media (max-width: 360px) {
      .brand { gap: 8px; font-size: 14px; }
      .brand-mark { width: 36px; height: 36px; font-size: 12px; }
      .hero h1 { font-size: 30px; }
      .hero-actions { grid-template-columns: 1fr; }
      .matrix-item { gap: 7px; }
      .matrix-item strong { font-size: 12px; }
      .channel-grid, .topic-rail { grid-template-columns: 1fr; }
      .channel-card { min-height: 145px; }
      .rank-row { grid-template-columns: 25px minmax(0,1fr) 58px 42px; gap: 5px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
    }

/* roulang page: category1 */
:root {
      --paper:#f8f5ef;--paper-deep:#efe8dc;--surface:#fffdf9;--ink:#211e1b;
      --ink-soft:#514a43;--muted:#82786e;--line:#e5ddd1;--gold:#c77a35;
      --gold-bright:#e6a24c;--gold-pale:#f7ead8;--berry:#7f2938;
      --berry-dark:#511d29;--dark:#211d1b;--dark-soft:#342d29;--sage:#657766;
      --radius-sm:8px;--radius-md:14px;--radius-lg:22px;
      --shadow-soft:0 8px 24px rgba(45,34,23,.07);--shadow-card:0 14px 34px rgba(45,34,23,.10);
      --container:1040px;--ease:180ms ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:92px}
    body{margin:0;color:var(--ink);background:var(--paper);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
    img{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button{color:inherit;font:inherit}
    a,button{-webkit-tap-highlight-color:transparent}
    a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid rgba(199,122,53,.55);outline-offset:3px}
    .container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
    .site-header{position:sticky;z-index:50;top:0;background:rgba(248,245,239,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);transition:box-shadow var(--ease)}
    .site-header.is-scrolled{box-shadow:0 7px 24px rgba(39,29,20,.08)}
    .nav-shell{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-size:18px;font-weight:850;white-space:nowrap}
    .brand-mark{width:42px;height:42px;display:grid;place-items:center;color:#fff9f0;background:var(--berry);border-radius:10px;font-size:14px;font-weight:900;box-shadow:inset 0 -3px 0 rgba(0,0,0,.13)}
    .nav-links{display:flex;align-items:center;gap:34px;margin-left:auto}
    .nav-links a{position:relative;padding:8px 0;color:var(--ink-soft);font-size:14px;font-weight:700;transition:color var(--ease)}
    .nav-links a::after{position:absolute;right:0;bottom:2px;left:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--ease);content:""}
    .nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--berry)}
    .nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
    .nav-actions{display:flex;align-items:center;gap:10px}
    .button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 19px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:800;line-height:1.2;cursor:pointer;transition:transform var(--ease),box-shadow var(--ease),background var(--ease),border-color var(--ease),color var(--ease)}
    .button:hover{transform:translateY(-2px)}
    .button:active{transform:translateY(0)}
    .button--gold{color:#241a12;background:var(--gold-bright);box-shadow:0 5px 14px rgba(199,122,53,.19)}
    .button--gold:hover{background:#efb66e;box-shadow:0 9px 20px rgba(199,122,53,.24)}
    .button--berry{color:#fff9f2;background:var(--berry)}
    .button--berry:hover{background:#96394b}
    .button--outline{color:var(--ink);background:transparent;border-color:var(--line)}
    .button--outline:hover{background:var(--surface);border-color:var(--gold)}
    .menu-toggle{width:44px;height:44px;display:none;place-items:center;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;cursor:pointer}
    .menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{width:18px;height:2px;display:block;position:relative;background:currentColor;transition:transform var(--ease);content:""}
    .menu-toggle span::before{position:absolute;top:-6px}.menu-toggle span::after{position:absolute;top:6px}
    .menu-toggle[aria-expanded="true"] span{background:transparent}
    .menu-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
    .menu-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
    .section{padding:76px 0;border-top:1px solid rgba(81,65,48,.08)}
    .section--paper{background:var(--paper)}.section--white{background:var(--surface)}.section--soft{background:var(--paper-deep)}.section--dark{color:#fbf6ee;background:var(--dark);border-color:rgba(255,255,255,.08)}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 10px;color:var(--berry);font-size:12px;font-weight:800}
    .eyebrow::before{width:22px;height:2px;background:var(--gold);content:""}
    h1,h2,h3,p{margin-top:0}
    h1,h2,h3{line-height:1.25}
    .category-head{padding:48px 0 36px;background:var(--surface);border-bottom:1px solid var(--line)}
    .head-grid{display:grid;grid-template-columns:1fr 290px;align-items:center;gap:44px}
    .category-head h1{max-width:620px;margin:0 0 12px;font-size:42px;font-weight:900}
    .category-head h1 span{color:var(--berry)}
    .lead{max-width:620px;margin:0;color:var(--ink-soft);font-size:16px}
    .head-art{height:174px;position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--paper-deep)}
    .head-art img{width:100%;height:100%;object-fit:cover}
    .head-art::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,30,27,.08),rgba(33,30,27,.3));content:""}
    .section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
    .section-heading h2{margin:0;font-size:27px;font-weight:850}
    .section-intro{max-width:500px;margin:0;color:var(--muted);font-size:14px}
    .filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
    .filter-chip{min-height:40px;display:inline-flex;align-items:center;padding:8px 15px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:7px;font-size:13px;font-weight:750;transition:all var(--ease)}
    .filter-chip:hover,.filter-chip[aria-pressed="true"]{color:#fff;background:var(--berry);border-color:var(--berry)}
    .catalog-list{display:grid;gap:14px}
    .catalog-item{display:grid;grid-template-columns:154px minmax(0,1fr) auto;align-items:center;gap:22px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
    .catalog-item:hover{transform:translateY(-2px);border-color:#d9b58e;box-shadow:var(--shadow-soft)}
    .poster{aspect-ratio:16/10;overflow:hidden;position:relative;border-radius:9px;background:var(--paper-deep)}
    .poster img{width:100%;height:100%;object-fit:cover;transition:transform 260ms ease}
    .catalog-item:hover .poster img{transform:scale(1.035)}
    .poster-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px}
    .item-meta{min-width:0}
    .item-topline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:7px}
    .badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;color:var(--berry);background:#f5e8e5;border-radius:5px;font-size:11px;font-weight:850}
    .badge--gold{color:#81501f;background:var(--gold-pale)}
    .badge--sage{color:#4f6550;background:#e9eee7}
    .item-meta h3{margin:0 0 6px;font-size:19px;font-weight:850}
    .item-meta p{max-width:600px;margin:0;color:var(--muted);font-size:13px}
    .item-stats{min-width:92px;text-align:right}
    .rating{display:block;color:var(--gold);font-size:18px;font-weight:900}
    .item-stats small{color:var(--muted);font-size:12px}
    .more-row{display:flex;justify-content:center;margin-top:26px}
    .timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
    .timeline-item{position:relative;padding:22px 22px 0 0}
    .timeline-item::before{position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--gold);border:2px solid var(--surface);border-radius:50%;content:""}
    .timeline-item time{color:var(--berry);font-size:12px;font-weight:850}
    .timeline-item h3{margin:7px 0 4px;font-size:16px}
    .timeline-item p{margin:0;color:var(--muted);font-size:13px}
    .popular-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:stretch}
    .feature-pick{min-height:250px;position:relative;display:flex;align-items:end;overflow:hidden;padding:25px;color:white;border-radius:var(--radius-md);background:var(--dark)}
    .feature-pick img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.64}
    .feature-pick::after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,19,17,.85),rgba(25,19,17,.03) 85%);content:""}
    .feature-copy{position:relative;z-index:1}
    .feature-copy h3{margin:12px 0 5px;font-size:24px}
    .feature-copy p{margin:0;color:rgba(255,255,255,.78);font-size:13px}
    .popular-list{display:grid;align-content:center;gap:0}
    .popular-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
    .popular-row:first-child{border-top:1px solid var(--line)}
    .rank{color:var(--berry);font-size:19px;font-weight:900}
    .popular-row strong{font-size:14px}.popular-row small{color:var(--muted);font-size:12px}
    .tip-band{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;padding:24px 28px;background:var(--gold-pale);border-left:4px solid var(--gold);border-radius:var(--radius-sm)}
    .tip-band h2{margin:0;font-size:20px}.tip-band p{margin:0;color:var(--ink-soft);font-size:14px}
    .news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .news-item{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);transition:transform var(--ease),box-shadow var(--ease)}
    .news-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
    .news-image{aspect-ratio:16/9;overflow:hidden;background:var(--paper-deep)}
    .news-image img{width:100%;height:100%;object-fit:cover}
    .news-copy{padding:17px}
    .news-copy time{color:var(--muted);font-size:12px}
    .news-copy h3{margin:7px 0 0;font-size:15px;line-height:1.5}
    .faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .faq-list details{padding:17px 19px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}
    .faq-list summary{position:relative;padding-right:24px;cursor:pointer;list-style:none;font-weight:800}
    .faq-list summary::-webkit-details-marker{display:none}
    .faq-list summary::after{position:absolute;right:0;color:var(--berry);content:"+"}
    .faq-list details[open] summary::after{content:"−"}
    .faq-list details p{margin:12px 0 0;color:var(--muted);font-size:14px}
    .closing-band{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 28px;color:#fff8ef;background:var(--berry-dark);border-radius:var(--radius-md)}
    .closing-band h2{margin:0 0 4px;font-size:21px}
    .closing-band p{margin:0;color:rgba(255,248,239,.75);font-size:14px}
    .site-footer{padding:54px 0 20px;color:#f8f1e7;background:var(--dark)}
    .footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:36px;padding-bottom:38px}
    .footer-brand .brand{color:#fff8ef}
    .footer-brand p{max-width:250px;margin:15px 0 0;color:#c8bdb1;font-size:13px}
    .footer-column{display:grid;align-content:start;gap:9px}
    .footer-column h3{margin:0 0 5px;color:#e7a15a;font-size:14px}
    .footer-column a{width:max-content;max-width:100%;color:#d3c9b9;font-size:13px;transition:color var(--ease)}
    .footer-column a:hover{color:var(--gold-bright)}
    .copyright{display:flex;justify-content:space-between;gap:20px;padding-top:18px;color:#a99d91;border-top:1px solid rgba(255,255,255,.12);font-size:12px}
    .fixed-cta{position:fixed;z-index:40;right:24px;bottom:22px;left:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:var(--container);margin:auto;padding:14px 18px 14px 22px;color:#fff8ef;background:rgba(81,29,41,.97);border:1px solid rgba(230,162,76,.38);border-radius:14px;box-shadow:0 14px 35px rgba(38,22,18,.2)}
    .fixed-cta strong{font-size:14px}.fixed-cta span{margin-left:12px;color:#e7d6c8;font-size:12px}
    .fixed-cta .button{min-height:40px;padding:9px 16px}
    @media (max-width:992px){
      .head-grid{grid-template-columns:1fr 240px;gap:26px}.category-head h1{font-size:36px}
      .popular-layout{grid-template-columns:1fr}.news-list{grid-template-columns:repeat(3,1fr)}
      .footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:22px}
    }
    @media (max-width:768px){
      .container{width:min(var(--container),calc(100% - 32px))}
      .nav-shell{min-height:68px}.nav-links{position:absolute;top:68px;right:16px;left:16px;display:none;align-items:stretch;flex-direction:column;gap:0;margin:0;padding:9px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-card)}
      .nav-links.is-open{display:flex}.nav-links a{padding:12px 3px;border-bottom:1px solid var(--line)}.nav-links a:last-child{border-bottom:0}
      .nav-actions .button{display:none}.menu-toggle{display:grid}
      .category-head{padding:38px 0 30px}.head-grid{grid-template-columns:1fr}.head-art{height:135px}
      .section{padding:58px 0}.section-heading{display:block;margin-bottom:22px}.section-intro{margin-top:9px}
      .catalog-item{grid-template-columns:118px minmax(0,1fr);gap:15px}.item-stats{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px}.item-stats .rating{font-size:16px}
      .timeline{grid-template-columns:1fr;gap:22px}.timeline-item{padding:0 0 0 20px;border-left:1px solid var(--line)}.timeline-item::before{top:5px;left:-5px}
      .news-list{grid-template-columns:1fr}.faq-list{grid-template-columns:1fr}
      .tip-band{grid-template-columns:1fr;gap:8px;padding:20px}.closing-band{align-items:flex-start;flex-direction:column}
      .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
      .copyright{align-items:flex-start;flex-direction:column;gap:5px}.fixed-cta{right:10px;bottom:10px;left:10px;padding:12px 13px}.fixed-cta span{display:none}
    }
    @media (max-width:520px){
      .brand{font-size:16px}.brand-mark{width:38px;height:38px;font-size:13px}
      .category-head h1{font-size:30px}.lead{font-size:14px}
      .catalog-item{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:10px}.poster{aspect-ratio:3/4}.item-meta h3{font-size:15px}.item-meta p{font-size:12px;line-height:1.5}.item-topline{gap:5px;margin-bottom:4px}
      .item-stats{grid-column:2}.filter-row{gap:7px}.filter-chip{min-height:38px;padding:7px 11px;font-size:12px}
      .feature-pick{min-height:220px}.popular-row{padding:12px 0}.tip-band h2{font-size:18px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:26px 16px}.footer-column h3{font-size:13px}
      .fixed-cta{border-radius:10px}.fixed-cta strong{font-size:13px}.fixed-cta .button{min-height:42px;padding:9px 12px}
    }
