/* roulang page: index */
:root {
      --bg: #11100f;
      --bg-soft: #1a1716;
      --bg-panel: #211d1b;
      --paper: #f4efe8;
      --paper-2: #e9dfd3;
      --text: #fff8ef;
      --text-dark: #201b18;
      --muted: #b9aea3;
      --muted-dark: #6b5f56;
      --line: rgba(255, 248, 239, .14);
      --line-dark: rgba(32, 27, 24, .14);
      --brand: #ff734f;
      --brand-2: #2ed3c6;
      --accent: #ffd166;
      --ok: #63d471;
      --warn: #ffb84d;
      --danger: #ff5c77;
      --radius: 8px;
      --radius-sm: 4px;
      --shadow: 0 18px 48px rgba(0, 0, 0, .28);
      --shadow-soft: 0 10px 28px rgba(0, 0, 0, .18);
      --container: 1220px;
      --ease: 180ms ease;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.75;
      color: var(--text);
      background: var(--bg);
      letter-spacing: 0;
      overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; transition: color var(--ease), border-color var(--ease), background var(--ease), transform var(--ease); }
    a:hover, a:focus { color: var(--accent); }
    img { max-width: 100%; display: block; }
    button, input, select, textarea { font: inherit; }
    button, .button { cursor: pointer; }
    :focus-visible {
      outline: 3px solid rgba(46, 211, 198, .75);
      outline-offset: 3px;
    }

    .site-wrap {
      min-height: 100vh;
      background:
        linear-gradient(180deg, rgba(244,239,232,.03), transparent 28rem),
        var(--bg);
    }
    .container {
      width: min(100% - 40px, var(--container));
      margin-inline: auto;
    }
    .section {
      padding: 84px 0;
      position: relative;
    }
    .section.compact { padding: 58px 0; }
    .section.light {
      background: var(--paper);
      color: var(--text-dark);
    }
    .section.band {
      background: var(--bg-soft);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 28px;
    }
    .section-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 10px;
      color: var(--brand-2);
      font-size: 14px;
      font-weight: 700;
    }
    .section-kicker::before {
      content: "";
      width: 28px;
      height: 2px;
      background: currentColor;
    }
    h1, h2, h3, h4, p { margin-top: 0; }
    h1, h2, h3 {
      letter-spacing: 0;
      line-height: 1.18;
      font-weight: 850;
    }
    h1 { font-size: 46px; max-width: 860px; }
    h2 { font-size: 34px; margin-bottom: 12px; }
    h3 { font-size: 21px; margin-bottom: 10px; }
    p { color: var(--muted); }
    .light p { color: var(--muted-dark); }
    .lead {
      font-size: 18px;
      max-width: 780px;
      line-height: 1.85;
    }

    .top-strip {
      background: var(--paper);
      color: var(--text-dark);
      border-bottom: 1px solid rgba(32, 27, 24, .1);
      font-size: 13px;
    }
    .top-strip .container {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }
    .top-strip .status {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-weight: 700;
    }
    .status-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--ok);
      box-shadow: 0 0 0 4px rgba(99, 212, 113, .16);
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(17, 16, 15, .88);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--line);
    }
    .nav-bar {
      min-height: 72px;
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 26px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-height: 44px;
      font-weight: 900;
      color: var(--text);
      white-space: nowrap;
    }
    .brand-mark {
      width: 34px;
      height: 34px;
      border-radius: 7px;
      background:
        linear-gradient(135deg, var(--brand), var(--accent));
      position: relative;
      box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 10px 22px rgba(255,115,79,.22);
    }
    .brand-mark::after {
      content: "";
      position: absolute;
      inset: 8px;
      border: 2px solid rgba(17,16,15,.72);
      border-left-color: transparent;
      transform: rotate(45deg);
    }
    .brand-text {
      font-size: 18px;
      line-height: 1.1;
    }
    .nav-center {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
    .nav-link {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      padding: 0 14px;
      border-radius: var(--radius-sm);
      color: var(--muted);
      font-size: 15px;
      font-weight: 700;
      border: 1px solid transparent;
    }
    .nav-link:hover {
      color: var(--text);
      background: rgba(255,255,255,.06);
      border-color: rgba(255,255,255,.08);
    }
    .nav-link.active {
      color: var(--accent);
      background: rgba(255, 209, 102, .1);
      border-color: rgba(255, 209, 102, .24);
    }
    .nav-actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
    }
    .search-box {
      width: 230px;
      min-height: 42px;
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      background: rgba(255,255,255,.05);
      color: var(--muted);
      transition: border-color var(--ease), background var(--ease), box-shadow var(--ease);
    }
    .search-box:hover,
    .search-box:focus-within {
      border-color: rgba(46, 211, 198, .55);
      background: rgba(255,255,255,.08);
      box-shadow: 0 0 0 3px rgba(46, 211, 198, .1);
    }
    .search-box input {
      width: 100%;
      border: 0;
      outline: 0;
      background: transparent;
      color: var(--text);
      font-size: 14px;
      min-width: 0;
    }
    .search-box input::placeholder { color: rgba(255,248,239,.5); }
    .icon {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      display: inline-block;
    }
    .btn {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 0 18px;
      border-radius: var(--radius-sm);
      border: 1px solid transparent;
      font-weight: 800;
      color: var(--text);
      background: rgba(255,255,255,.07);
      box-shadow: none;
      line-height: 1;
      white-space: nowrap;
      transition: transform var(--ease), background var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);
    }
    .btn:hover {
      transform: translateY(-1px);
      color: var(--text);
      background: rgba(255,255,255,.12);
      border-color: rgba(255,255,255,.14);
    }
    .btn.primary {
      color: #19110e;
      background: var(--brand);
      border-color: rgba(255,255,255,.1);
      box-shadow: 0 12px 28px rgba(255, 115, 79, .24);
    }
    .btn.primary:hover {
      color: #19110e;
      background: #ff8768;
      box-shadow: 0 16px 34px rgba(255, 115, 79, .32);
    }
    .btn.secondary {
      color: var(--text);
      background: transparent;
      border-color: rgba(255,248,239,.24);
    }
    .btn.secondary:hover { border-color: var(--brand-2); color: var(--brand-2); }
    .btn.dark {
      color: var(--text);
      background: var(--text-dark);
      border-color: var(--text-dark);
    }
    .btn.dark:hover { background: #332b25; color: var(--text); }
    .menu-toggle {
      display: none;
      width: 44px;
      height: 44px;
      align-items: center;
      justify-content: center;
      padding: 0;
    }

    .off-canvas {
      background: var(--bg);
      color: var(--text);
      padding: 20px;
    }
    .mobile-menu-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 22px;
    }
    .mobile-nav {
      display: grid;
      gap: 10px;
      margin: 22px 0;
    }
    .mobile-nav .nav-link {
      justify-content: flex-start;
      width: 100%;
      border-color: var(--line);
      background: rgba(255,255,255,.04);
    }

    .hero {
      min-height: 520px;
      padding: 38px 0 54px;
      background:
        linear-gradient(90deg, rgba(17,16,15,.92) 0%, rgba(17,16,15,.62) 52%, rgba(17,16,15,.86) 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 92px),
        linear-gradient(135deg, #2d211c 0%, #11100f 42%, #18211f 100%);
      position: relative;
      overflow: hidden;
      border-bottom: 1px solid var(--line);
    }
    .hero::before {
      content: "";
      position: absolute;
      inset: 40px 0 auto 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(255,115,79,.86), rgba(46,211,198,.7), transparent);
      box-shadow: 0 0 24px rgba(255,115,79,.35);
    }
    .hero-stage {
      position: absolute;
      right: max(24px, calc((100vw - var(--container)) / 2));
      top: 82px;
      width: min(48vw, 560px);
      height: 340px;
      border: 1px solid rgba(255,255,255,.16);
      background:
        linear-gradient(180deg, rgba(255,248,239,.12), rgba(255,248,239,.04)),
        #171412;
      box-shadow: var(--shadow);
      transform: perspective(900px) rotateY(-7deg);
      overflow: hidden;
    }
    .hero-stage::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 0 8%, rgba(46,211,198,.14) 8% 9%, transparent 9% 100%),
        repeating-linear-gradient(0deg, transparent 0 36px, rgba(255,255,255,.05) 36px 37px);
      opacity: .8;
    }
    .stage-bar {
      position: absolute;
      left: 22px;
      top: 22px;
      right: 22px;
      height: 36px;
      display: flex;
      align-items: center;
      gap: 8px;
      border-bottom: 1px solid rgba(255,255,255,.14);
      color: rgba(255,248,239,.72);
      font-size: 13px;
      font-weight: 700;
    }
    .stage-grid {
      position: absolute;
      left: 22px;
      right: 22px;
      bottom: 24px;
      top: 76px;
      display: grid;
      grid-template-columns: 1.25fr .75fr;
      gap: 14px;
    }
    .stage-block {
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.06);
      padding: 16px;
      position: relative;
    }
    .stage-block strong {
      display: block;
      color: var(--accent);
      font-size: 32px;
      line-height: 1.1;
      margin-bottom: 10px;
    }
    .stage-line {
      height: 8px;
      background: rgba(255,255,255,.13);
      margin-top: 12px;
    }
    .stage-line:nth-child(3) { width: 78%; }
    .stage-line:nth-child(4) { width: 54%; background: rgba(46,211,198,.45); }
    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 760px;
      padding-top: 50px;
    }
    .hero-badge-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 18px;
    }
    .badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 28px;
      padding: 3px 9px;
      border-radius: var(--radius-sm);
      border: 1px solid var(--line);
      color: var(--text);
      background: rgba(255,255,255,.07);
      font-size: 13px;
      font-weight: 800;
      line-height: 1.2;
    }
    .badge.open { color: #14221d; background: var(--ok); border-color: var(--ok); }
    .badge.update { color: #201707; background: var(--accent); border-color: var(--accent); }
    .badge.info { color: #071f1d; background: var(--brand-2); border-color: var(--brand-2); }
    .badge.warn { color: #24160a; background: var(--warn); border-color: var(--warn); }
    .hero h1 {
      margin-bottom: 18px;
      text-wrap: balance;
    }
    .hero .lead {
      margin-bottom: 24px;
      color: rgba(255,248,239,.78);
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
      margin-bottom: 28px;
    }
    .hero-data {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }
    .data-pill {
      min-width: 142px;
      padding: 12px 14px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.06);
      border-radius: var(--radius-sm);
    }
    .data-pill strong {
      display: block;
      color: var(--accent);
      font-size: 22px;
      line-height: 1.1;
      margin-bottom: 4px;
    }
    .data-pill span {
      color: rgba(255,248,239,.68);
      font-size: 13px;
      font-weight: 700;
    }

    .coupon-track {
      display: flex;
      gap: 16px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      padding: 6px 0 18px;
      scrollbar-color: var(--brand) rgba(255,255,255,.08);
    }
    .coupon-track::-webkit-scrollbar { height: 8px; }
    .coupon-track::-webkit-scrollbar-thumb { background: var(--brand); border-radius: 8px; }
    .coupon-card {
      flex: 0 0 330px;
      min-height: 210px;
      scroll-snap-align: start;
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
      border-radius: var(--radius);
      padding: 20px;
      position: relative;
      overflow: hidden;
      transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease);
    }
    .coupon-card::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 5px;
      background: var(--brand);
    }
    .coupon-card:nth-child(2)::before { background: var(--brand-2); }
    .coupon-card:nth-child(3)::before { background: var(--accent); }
    .coupon-card:nth-child(4)::before { background: var(--ok); }
    .coupon-card:hover {
      transform: translateY(-3px);
      border-color: rgba(255,115,79,.45);
      box-shadow: var(--shadow-soft);
    }
    .coupon-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 18px;
    }
    .coupon-no {
      color: rgba(255,248,239,.34);
      font-size: 30px;
      font-weight: 900;
      line-height: 1;
    }
    .coupon-card p { min-height: 56px; margin-bottom: 18px; }
    .card-action {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: var(--accent);
      font-size: 14px;
      font-weight: 900;
    }

    .rules-grid {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 28px;
      align-items: stretch;
    }
    .rule-panel {
      border: 1px solid var(--line-dark);
      background: #fffaf2;
      border-radius: var(--radius);
      padding: 26px;
      box-shadow: 0 12px 26px rgba(32,27,24,.08);
    }
    .rule-list {
      list-style: none;
      padding: 0;
      margin: 18px 0 0;
      display: grid;
      gap: 14px;
    }
    .rule-list li {
      display: grid;
      grid-template-columns: 34px 1fr;
      gap: 12px;
      align-items: start;
      padding: 14px;
      border: 1px solid rgba(32,27,24,.1);
      background: rgba(32,27,24,.03);
      border-radius: var(--radius-sm);
    }
    .rule-list b {
      width: 34px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--text-dark);
      color: var(--accent);
      border-radius: var(--radius-sm);
    }
    .rule-list strong { display: block; margin-bottom: 2px; color: var(--text-dark); }
    .rule-list span { color: var(--muted-dark); font-size: 14px; }
    .compare-box {
      border: 1px solid var(--line-dark);
      background: var(--text-dark);
      color: var(--text);
      border-radius: var(--radius);
      padding: 26px;
      position: relative;
      overflow: hidden;
    }
    .compare-box::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--brand), var(--brand-2), var(--accent));
    }
    .compare-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 16px;
      align-items: center;
      padding: 16px 0;
      border-bottom: 1px solid var(--line);
    }
    .compare-row:last-child { border-bottom: 0; }
    .compare-row strong { color: var(--text); }
    .compare-row span { color: var(--muted); font-size: 14px; }

    .news-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
      gap: 28px;
      align-items: start;
    }
    .news-list {
      border-top: 1px solid var(--line);
    }
    .news-item {
      display: grid;
      grid-template-columns: 110px 1fr auto;
      gap: 18px;
      align-items: center;
      padding: 18px 0;
      border-bottom: 1px solid var(--line);
    }
    .news-date {
      color: var(--brand-2);
      font-size: 14px;
      font-weight: 900;
    }
    .news-item h3 {
      font-size: 18px;
      margin-bottom: 4px;
    }
    .news-item p {
      margin-bottom: 0;
      font-size: 14px;
    }
    .arrow {
      width: 38px;
      height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      color: var(--accent);
    }
    .news-item:hover .arrow {
      border-color: var(--accent);
      background: rgba(255,209,102,.1);
    }
    .recommend-panel {
      border: 1px solid rgba(255,115,79,.35);
      background:
        linear-gradient(180deg, rgba(255,115,79,.14), rgba(255,255,255,.04));
      border-radius: var(--radius);
      padding: 24px;
      box-shadow: var(--shadow-soft);
    }
    .progress-line {
      height: 8px;
      background: rgba(255,255,255,.1);
      border-radius: 20px;
      overflow: hidden;
      margin: 18px 0;
    }
    .progress-line span {
      display: block;
      width: 78%;
      height: 100%;
      background: linear-gradient(90deg, var(--brand), var(--accent));
    }

    .spotlight-grid {
      display: grid;
      grid-template-columns: 1.4fr .8fr .8fr;
      grid-auto-rows: minmax(170px, auto);
      gap: 16px;
    }
    .spot-card {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.055);
      border-radius: var(--radius);
      padding: 22px;
      position: relative;
      overflow: hidden;
      transition: transform var(--ease), border-color var(--ease);
    }
    .spot-card:hover {
      transform: translateY(-2px);
      border-color: rgba(46,211,198,.48);
    }
    .spot-card.feature {
      grid-row: span 2;
      background:
        linear-gradient(180deg, rgba(46,211,198,.13), rgba(255,255,255,.05));
    }
    .spot-card .big-no {
      position: absolute;
      right: 18px;
      bottom: 4px;
      color: rgba(255,248,239,.08);
      font-size: 74px;
      line-height: 1;
      font-weight: 950;
    }

    .stage-showcase {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 30px;
      align-items: center;
    }
    .screen-frame {
      border: 1px solid var(--line);
      background: #171412;
      border-radius: var(--radius);
      padding: 16px;
      box-shadow: var(--shadow);
      position: relative;
      overflow: hidden;
    }
    .screen-toolbar {
      height: 34px;
      display: flex;
      align-items: center;
      gap: 7px;
      border-bottom: 1px solid var(--line);
      margin-bottom: 16px;
    }
    .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--brand); }
    .dot:nth-child(2) { background: var(--accent); }
    .dot:nth-child(3) { background: var(--brand-2); }
    .screen-body {
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 14px;
      min-height: 290px;
    }
    .screen-side,
    .screen-main {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.05);
      border-radius: var(--radius-sm);
      padding: 12px;
    }
    .screen-nav-line,
    .screen-content-line {
      height: 12px;
      background: rgba(255,255,255,.14);
      margin-bottom: 12px;
      border-radius: 1px;
    }
    .screen-nav-line.active { background: var(--brand); }
    .screen-content-line:nth-child(2) { width: 86%; }
    .screen-content-line:nth-child(3) { width: 62%; background: rgba(46,211,198,.45); }
    .mini-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      margin-top: 22px;
    }
    .mini-cell {
      min-height: 72px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.06);
      border-radius: var(--radius-sm);
      padding: 10px;
    }

    .reviews {
      display: grid;
      grid-template-columns: 310px 1fr;
      gap: 28px;
      align-items: start;
    }
    .score-box {
      border: 1px solid var(--line-dark);
      background: #fffaf2;
      border-radius: var(--radius);
      padding: 26px;
    }
    .score {
      font-size: 58px;
      line-height: 1;
      font-weight: 950;
      color: var(--text-dark);
      margin-bottom: 8px;
    }
    .review-list {
      display: grid;
      gap: 14px;
    }
    .review-card {
      border: 1px solid var(--line-dark);
      background: #fffaf2;
      border-radius: var(--radius);
      padding: 20px;
    }
    .review-card p { margin-bottom: 12px; }
    .review-meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      color: var(--muted-dark);
      font-size: 14px;
      font-weight: 700;
    }

    .faq-wrap {
      max-width: 920px;
      margin-inline: auto;
    }
    .accordion {
      background: transparent;
      border: 0;
    }
    .accordion-item {
      margin-bottom: 10px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      overflow: hidden;
      background: rgba(255,255,255,.045);
    }
    .accordion-title {
      padding: 18px 52px 18px 20px;
      color: var(--text);
      border: 0;
      font-size: 17px;
      font-weight: 850;
      line-height: 1.45;
      background: transparent;
    }
    .accordion-title:hover,
    .accordion-title:focus {
      background: rgba(255,255,255,.06);
      color: var(--accent);
    }
    .accordion-title::before {
      right: 20px;
      color: var(--brand-2);
      font-size: 24px;
      margin-top: -14px;
    }
    .accordion-content {
      border: 0;
      border-top: 1px solid var(--line);
      background: rgba(17,16,15,.6);
      color: var(--muted);
      padding: 18px 20px 20px;
      line-height: 1.85;
    }

    .final-cta {
      padding: 64px 0;
      background:
        linear-gradient(90deg, rgba(255,115,79,.18), rgba(46,211,198,.12)),
        var(--text-dark);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      position: relative;
      overflow: hidden;
    }
    .final-cta::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 18px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,209,102,.8), transparent);
    }
    .cta-inner {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 24px;
      align-items: center;
      position: relative;
      z-index: 1;
    }
    .cta-inner h2 { margin-bottom: 10px; }
    .cta-inner p { margin-bottom: 0; max-width: 720px; }

    .site-footer {
      padding: 54px 0 26px;
      background: #0d0c0b;
      border-top: 1px solid var(--line);
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr .8fr .8fr;
      gap: 28px;
      margin-bottom: 32px;
    }
    .footer-brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 14px;
      font-weight: 900;
      font-size: 18px;
    }
    .footer-col h3 {
      font-size: 16px;
      margin-bottom: 14px;
      color: var(--text);
    }
    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 9px;
    }
    .footer-links a {
      color: var(--muted);
      font-size: 14px;
    }
    .footer-links a:hover { color: var(--accent); }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      padding-top: 22px;
      border-top: 1px solid var(--line);
      color: rgba(255,248,239,.5);
      font-size: 13px;
    }

    .empty-state,
    .form-note {
      border: 1px dashed var(--line);
      border-radius: var(--radius);
      padding: 18px;
      color: var(--muted);
      background: rgba(255,255,255,.035);
    }
    .filter-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }
    .filter-chip {
      min-height: 36px;
      display: inline-flex;
      align-items: center;
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      color: var(--muted);
      background: rgba(255,255,255,.045);
      font-size: 14px;
      font-weight: 800;
    }
    .filter-chip:hover,
    .filter-chip.active {
      color: #15100d;
      background: var(--accent);
      border-color: var(--accent);
    }

    @media (max-width: 1023px) {
      .container { width: min(100% - 32px, var(--container)); }
      h1 { font-size: 38px; }
      h2 { font-size: 29px; }
      .nav-bar {
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .nav-center { display: none; }
      .menu-toggle { display: inline-flex; }
      .search-box { width: 190px; }
      .hero-stage {
        opacity: .42;
        right: 16px;
        width: 52vw;
        transform: none;
      }
      .hero-content { max-width: 680px; }
      .rules-grid,
      .news-layout,
      .stage-showcase,
      .reviews,
      .cta-inner {
        grid-template-columns: 1fr;
      }
      .spotlight-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .spot-card.feature { grid-row: auto; grid-column: span 2; }
      .footer-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 640px) {
      body { font-size: 15px; }
      .container { width: min(100% - 32px, var(--container)); }
      .section { padding: 58px 0; }
      .section.compact { padding: 44px 0; }
      .top-strip .container {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding: 8px 0;
        gap: 4px;
      }
      .nav-bar { min-height: 64px; }
      .brand-text { font-size: 16px; }
      .nav-actions .search-box,
      .nav-actions .btn:not(.primary),
      .nav-actions .btn.primary { display: none; }
      .hero {
        min-height: auto;
        padding: 28px 0 40px;
      }
      .hero-stage {
        position: relative;
        inset: auto;
        width: 100%;
        height: 210px;
        margin-top: 24px;
        opacity: 1;
      }
      .hero-content { padding-top: 28px; }
      h1 { font-size: 32px; }
      h2 { font-size: 25px; }
      .lead { font-size: 16px; }
      .hero-actions { align-items: stretch; }
      .hero-actions .btn { width: 100%; }
      .hero-data { display: grid; grid-template-columns: 1fr; }
      .coupon-card { flex-basis: 84%; }
      .section-head {
        display: block;
      }
      .news-item {
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .arrow { display: none; }
      .spotlight-grid,
      .mini-grid,
      .screen-body {
        grid-template-columns: 1fr;
      }
      .spot-card.feature { grid-column: auto; }
      .footer-grid {
        grid-template-columns: 1fr;
      }
      .footer-bottom {
        flex-direction: column;
      }
      .cta-inner .btn {
        width: 100%;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
      }
    }

/* roulang page: category2 */
:root{
      --ink:#19161c;
      --night:#211b24;
      --night-2:#302632;
      --paper:#f6f2ed;
      --paper-2:#ebe4de;
      --white:#fffdf9;
      --muted:#837980;
      --line:rgba(42,31,44,.14);
      --coral:#ef765b;
      --coral-dark:#d95943;
      --cyan:#58d0c5;
      --yellow:#f2c86b;
      --violet:#8562a7;
      --shadow:0 18px 45px rgba(25,17,27,.12);
      --radius:6px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8}
    a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
    img{display:block;max-width:100%;height:auto}
    button,input,select{font:inherit}
    button,.button{cursor:pointer}
    :focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
    .container{width:min(1200px,calc(100% - 48px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(33,27,36,.96);border-bottom:1px solid rgba(255,255,255,.1);color:#fff}
    .nav-shell{height:78px;display:flex;align-items:center;gap:28px}
    .brand{display:flex;align-items:center;gap:10px;min-width:224px;font-weight:800;font-size:18px;letter-spacing:0}
    .brand-mark{width:28px;height:28px;display:inline-block;background:var(--coral);border-radius:5px;position:relative;box-shadow:7px 7px 0 var(--cyan)}
    .brand-mark:after{content:"";position:absolute;left:8px;top:8px;width:12px;height:12px;border:2px solid var(--night);border-radius:50%}
    .nav-center{display:flex;align-items:center;gap:5px;flex:1}
    .nav-link{padding:9px 13px;color:#cfc6d0;border-bottom:2px solid transparent;font-size:14px;white-space:nowrap}
    .nav-link:hover,.nav-link.active{color:#fff;border-bottom-color:var(--coral)}
    .nav-tools{display:flex;align-items:center;gap:10px}
    .search-box{display:flex;align-items:center;width:178px;height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);border-radius:4px}
    .search-box span{color:var(--cyan);margin-right:7px}
    .search-box input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:13px}
    .search-box input::placeholder{color:#aaa0ab}
    .entry-link,.start-button,.hero-actions a,.cta-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:4px;font-weight:700;font-size:14px}
    .entry-link{border:1px solid rgba(255,255,255,.25);color:#fff}
    .entry-link:hover{border-color:var(--cyan);color:var(--cyan)}
    .start-button,.primary-button{background:var(--coral);color:#21171d;box-shadow:0 8px 20px rgba(239,118,91,.2)}
    .start-button:hover,.primary-button:hover{background:#ff8a6d;transform:translateY(-2px)}
    .mobile-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;height:44px;width:44px;border-radius:4px}
    .page-band{background:var(--night);color:#fff;padding:72px 0 84px;position:relative;overflow:hidden}
    .page-band:after{content:"";position:absolute;right:7%;top:0;width:240px;height:100%;border-left:1px solid rgba(88,208,197,.22);border-right:1px solid rgba(239,118,91,.18);transform:skewX(-16deg)}
    .breadcrumb{display:flex;gap:10px;align-items:center;color:#bcb1be;font-size:13px;margin-bottom:28px}
    .breadcrumb a:hover{color:var(--cyan)}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:1px}
    .eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
    h1,h2,h3,p{margin-top:0}
    h1{max-width:760px;margin:14px 0 20px;font-size:clamp(38px,5vw,68px);line-height:1.14;letter-spacing:0;font-weight:850}
    .page-lead{max-width:680px;color:#d7ccd5;font-size:18px;line-height:1.85;margin-bottom:30px}
    .band-meta{display:flex;gap:12px;flex-wrap:wrap}
    .status-badge,.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:3px;font-size:12px;font-weight:700;line-height:1.4}
    .status-badge{background:rgba(88,208,197,.15);border:1px solid rgba(88,208,197,.42);color:var(--cyan)}
    .status-badge:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}
    .status-badge.warm{background:rgba(242,200,107,.14);border-color:rgba(242,200,107,.4);color:var(--yellow)}
    .rules-section{padding:88px 0}
    .section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
    .section-heading h2{font-size:34px;line-height:1.25;margin:8px 0 0;font-weight:800}
    .section-heading p{max-width:470px;color:var(--muted);margin:0}
    .rules-layout{display:grid;grid-template-columns:3fr 9fr;gap:32px;align-items:start}
    .filter-panel{position:sticky;top:104px;background:var(--night);color:#fff;padding:25px;border-radius:var(--radius);box-shadow:var(--shadow)}
    .filter-panel h3{font-size:18px;margin-bottom:18px}
    .filter-label{display:block;color:#cfc2ce;font-size:13px;margin:18px 0 7px}
    .filter-panel select,.filter-panel input{width:100%;height:44px;border:1px solid rgba(255,255,255,.18);background:var(--night-2);color:#fff;border-radius:3px;padding:0 11px}
    .filter-note{font-size:12px;color:#afa3ae;line-height:1.6;margin:18px 0 0}
    .reset-button{width:100%;margin-top:18px;min-height:42px;background:transparent;color:var(--cyan);border:1px solid rgba(88,208,197,.45);border-radius:3px}
    .reset-button:hover{background:rgba(88,208,197,.1)}
    .rule-list{display:grid;gap:14px}
    .rule-item{display:grid;grid-template-columns:68px 1fr auto;gap:20px;align-items:center;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--coral);padding:22px 24px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
    .rule-item:hover{transform:translateX(4px);box-shadow:var(--shadow);border-color:rgba(239,118,91,.5)}
    .rule-number{font-size:28px;font-weight:850;color:var(--violet);line-height:1}
    .rule-item h3{font-size:19px;margin:0 0 5px}
    .rule-item p{font-size:14px;color:var(--muted);margin:0;line-height:1.7}
    .rule-side{text-align:right;min-width:100px}
    .tag{background:var(--paper-2);color:#5b4a5f;margin-bottom:8px}
    .rule-side a{display:block;font-size:13px;color:var(--coral-dark);font-weight:800}
    .rule-side a:hover{color:var(--violet)}
    .compare-section{background:var(--paper-2);padding:84px 0}
    .compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .compare-item{background:var(--white);padding:28px;border-top:3px solid var(--violet)}
    .compare-item.good{border-top-color:var(--cyan)}
    .compare-item h3{font-size:20px;margin-bottom:13px}
    .compare-item ul{list-style:none;margin:0;padding:0}
    .compare-item li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid var(--line);font-size:14px}
    .compare-item li:last-child{border-bottom:0}
    .compare-item li:before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;background:var(--coral);border-radius:1px;transform:rotate(45deg)}
    .compare-item.good li:before{background:var(--cyan)}
    .steps-section{padding:88px 0}
    .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
    .step{padding:25px 22px 0 0;border-right:1px solid var(--line);margin-right:22px}
    .step:last-child{border-right:0;margin-right:0}
    .step-index{color:var(--coral-dark);font-size:13px;font-weight:850}
    .step h3{font-size:18px;margin:8px 0 7px}
    .step p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
    .faq-section{background:var(--night);color:#fff;padding:84px 0}
    .faq-section .section-heading p{color:#bdb1bc}
    .accordion{margin:0;background:transparent}
    .accordion-item{border:0;border-bottom:1px solid rgba(255,255,255,.15);background:transparent}
    .accordion-title{padding:22px 38px 22px 0;color:#fff;font-size:17px;font-weight:700;background:transparent;border:0;position:relative}
    .accordion-title:hover{color:var(--cyan);background:transparent}
    .accordion-title:before{right:4px;color:var(--coral);font-size:22px}
    .accordion-content{background:transparent;border:0;color:#c9bec8;padding:0 40px 22px 0;font-size:14px;line-height:1.8}
    .cta-section{padding:76px 0;background:var(--coral);color:var(--ink)}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
    .cta-inner h2{font-size:34px;line-height:1.3;margin:7px 0 10px}
    .cta-inner p{margin:0;max-width:580px;color:#58333a}
    .cta-actions{display:flex;gap:10px;flex-shrink:0}
    .cta-actions .primary-button{background:var(--night);color:#fff}
    .cta-actions .primary-button:hover{background:#3a2d3c}
    .secondary-button{border:1px solid rgba(33,27,36,.45);color:var(--ink)}
    .secondary-button:hover{background:rgba(255,255,255,.22)}
    .site-footer{background:#161218;color:#fff;padding:58px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:42px;padding-bottom:45px}
    .footer-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;margin-bottom:15px}
    .footer-brand .brand-mark{transform:scale(.82);transform-origin:left center;margin-right:-3px}
    .footer-col p{color:#a99fa9;font-size:14px;max-width:280px;line-height:1.8}
    .footer-col h3{font-size:14px;margin-bottom:16px;color:#fff}
    .footer-links{list-style:none;margin:0;padding:0}
    .footer-links li{margin-bottom:8px}
    .footer-links a{color:#a99fa9;font-size:13px}
    .footer-links a:hover{color:var(--cyan)}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:21px;display:flex;justify-content:space-between;gap:20px;color:#827883;font-size:12px}
    @media(max-width:1023px){
      .nav-shell{gap:14px}.brand{min-width:auto}.nav-center{gap:0}.nav-link{padding:9px 8px;font-size:13px}.search-box{width:145px}
      .rules-layout{grid-template-columns:1fr}.filter-panel{position:static}.filter-panel form{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}.filter-panel h3,.filter-note,.reset-button{grid-column:1/-1}.filter-label{margin-top:10px}
      .steps{grid-template-columns:repeat(2,1fr);gap:18px}.step{border-right:0;margin:0;border-bottom:1px solid var(--line);padding-bottom:18px}
    }
    @media(max-width:767px){
      .container{width:min(100% - 36px,600px)}.nav-shell{height:68px}.nav-center,.nav-tools .entry-link{display:none}.mobile-toggle{display:block;margin-left:auto}.nav-tools{order:2}.brand{font-size:16px}
      .page-band{padding:48px 0 56px}.page-band:after{right:-50px}.breadcrumb{margin-bottom:20px}h1{font-size:42px}.page-lead{font-size:16px}
      .rules-section,.steps-section{padding:60px 0}.compare-section,.faq-section{padding:60px 0}.section-heading{display:block}.section-heading h2{font-size:29px}.section-heading p{margin-top:14px}
      .filter-panel form{display:block}.filter-label{margin-top:16px}.rule-item{grid-template-columns:42px 1fr;gap:14px;padding:18px}.rule-side{grid-column:2;text-align:left}.rule-side .tag{margin-bottom:5px}
      .compare-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}
      .cta-inner{display:block}.cta-inner h2{font-size:29px}.cta-actions{margin-top:24px;flex-wrap:wrap}.cta-actions a{flex:1}
      .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid .footer-col:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:7px}
    }
    @media(max-width:420px){.container{width:calc(100% - 32px)}h1{font-size:36px}.footer-grid{grid-template-columns:1fr}.footer-grid .footer-col:first-child{grid-column:auto}.cta-actions a{flex-basis:100%}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category1 */
:root {
            --ink: #17151b;
            --night: #211b27;
            --night-2: #2d2434;
            --paper: #f7f4ef;
            --paper-2: #eeebe5;
            --white: #fffdf9;
            --muted: #766f79;
            --line: #dcd5d0;
            --coral: #f4775f;
            --coral-deep: #dc5e4e;
            --cyan: #8ce1d2;
            --lime: #d3e88a;
            --shadow: 0 18px 45px rgba(27, 20, 31, .12);
            --radius: 7px;
            --max: 1220px;
        }
        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            color: var(--ink);
            background: var(--paper);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            font-size: 16px;
            line-height: 1.8;
        }
        a { color: inherit; text-decoration: none; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
        a:hover { color: var(--coral-deep); }
        img { max-width: 100%; display: block; }
        button, input, select { font: inherit; }
        button { cursor: pointer; }
        :focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
        .container { max-width: var(--max); margin: 0 auto; padding-left: 24px; padding-right: 24px; }
        .site-header {
            position: sticky;
            z-index: 20;
            top: 0;
            background: rgba(247,244,239,.94);
            border-bottom: 1px solid var(--line);
            backdrop-filter: blur(12px);
        }
        .nav-shell {
            min-height: 76px;
            display: flex;
            align-items: center;
            gap: 28px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            flex: 0 0 auto;
            font-size: 20px;
            font-weight: 800;
            letter-spacing: 0;
        }
        .brand-mark {
            width: 17px;
            height: 17px;
            display: inline-block;
            background: var(--coral);
            border-radius: 3px;
            box-shadow: 7px 5px 0 var(--cyan);
        }
        .nav-center { display: flex; align-items: center; gap: 4px; margin-right: auto; }
        .nav-link { padding: 10px 13px; color: #625a65; font-size: 14px; font-weight: 700; border-bottom: 2px solid transparent; }
        .nav-link:hover, .nav-link.active { color: var(--ink); border-bottom-color: var(--coral); }
        .nav-actions { display: flex; align-items: center; gap: 10px; }
        .search-box { position: relative; }
        .search-box input {
            width: 188px;
            height: 42px;
            padding: 0 13px 0 38px;
            border: 1px solid var(--line);
            border-radius: 4px;
            background: var(--white);
            box-shadow: none;
            margin: 0;
        }
        .search-box input:focus { border-color: var(--coral); box-shadow: 0 0 0 3px rgba(244,119,95,.14); }
        .search-icon { position: absolute; left: 13px; top: 8px; color: var(--muted); font-size: 18px; }
        .button {
            min-height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            padding: 8px 17px;
            border-radius: 4px;
            font-size: 14px;
            font-weight: 800;
            line-height: 1.2;
            border: 1px solid transparent;
            transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
        }
        .button:hover { transform: translateY(-2px); }
        .button.ghost { color: var(--ink); border-color: var(--line); background: transparent; }
        .button.ghost:hover { background: var(--white); border-color: var(--coral); }
        .button.primary { color: var(--white); background: var(--coral); box-shadow: 0 8px 20px rgba(220,94,78,.23); }
        .button.primary:hover { background: var(--coral-deep); box-shadow: 0 11px 24px rgba(220,94,78,.3); }
        .menu-toggle { display: none; border: 1px solid var(--line); background: var(--white); width: 44px; height: 42px; border-radius: 4px; font-size: 20px; }
        .page-hero {
            position: relative;
            overflow: hidden;
            color: var(--white);
            background: var(--night);
            padding: 66px 0 76px;
        }
        .page-hero::after {
            content: "";
            position: absolute;
            right: 7%;
            top: 28px;
            width: 250px;
            height: 250px;
            border: 1px solid rgba(140,225,210,.35);
            border-radius: 50%;
            box-shadow: 0 0 0 22px rgba(140,225,210,.04), 0 0 0 45px rgba(244,119,95,.035);
        }
        .hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(290px, 5fr); gap: 60px; align-items: end; }
        .eyebrow, .section-kicker {
            color: var(--coral);
            font-size: 12px;
            font-weight: 900;
            letter-spacing: 1.5px;
            text-transform: uppercase;
        }
        .page-hero h1 { max-width: 760px; margin: 16px 0 16px; font-size: 52px; line-height: 1.15; font-weight: 850; letter-spacing: 0; }
        .page-hero h1 em { color: var(--cyan); font-style: normal; }
        .page-hero p { max-width: 680px; margin: 0; color: #d4cbd5; font-size: 18px; }
        .hero-aside { border-left: 2px solid var(--coral); padding-left: 24px; }
        .hero-aside strong { display: block; font-size: 36px; line-height: 1.15; color: var(--lime); }
        .hero-aside span { color: #c2b8c4; font-size: 14px; }
        .crumbs { padding: 20px 0 0; color: var(--muted); font-size: 13px; }
        .crumbs a { text-decoration: underline; text-underline-offset: 3px; }
        .content-section { padding: 76px 0; }
        .section-heading { display: flex; justify-content: space-between; gap: 25px; align-items: end; margin-bottom: 30px; }
        .section-heading h2 { margin: 7px 0 0; font-size: 32px; line-height: 1.25; letter-spacing: 0; }
        .section-heading p { max-width: 450px; margin: 0; color: var(--muted); }
        .query-layout { display: grid; grid-template-columns: 3fr 9fr; gap: 34px; align-items: start; }
        .filter-panel { padding: 24px; background: var(--night); color: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); }
        .filter-panel h3 { margin: 0 0 17px; font-size: 20px; }
        .filter-panel label { display: block; margin-bottom: 8px; color: #d6cdd7; font-size: 13px; font-weight: 700; }
        .filter-panel input, .filter-panel select {
            height: 44px;
            margin: 0 0 18px;
            border: 1px solid #554a5b;
            border-radius: 3px;
            color: var(--white);
            background: #332a39;
            box-shadow: none;
        }
        .filter-panel input::placeholder { color: #9b90a1; }
        .filter-panel select option { color: var(--ink); }
        .filter-note { padding-top: 15px; border-top: 1px solid #554a5b; color: #aaa0ad; font-size: 13px; line-height: 1.65; }
        .result-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; color: var(--muted); font-size: 13px; }
        .result-top strong { color: var(--ink); font-size: 15px; }
        .entry-list { display: grid; gap: 14px; }
        .entry-item {
            display: grid;
            grid-template-columns: 62px minmax(0, 1fr) auto;
            gap: 18px;
            align-items: center;
            padding: 21px 22px;
            background: var(--white);
            border: 1px solid var(--line);
            border-left: 4px solid var(--cyan);
            border-radius: var(--radius);
            transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
        }
        .entry-item:hover { transform: translateX(4px); border-color: var(--coral); box-shadow: 0 12px 28px rgba(35,26,36,.08); }
        .entry-number { color: var(--coral-deep); font-size: 25px; font-weight: 900; }
        .entry-title { margin: 0 0 4px; font-size: 19px; line-height: 1.35; }
        .entry-desc { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
        .entry-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
        .tag, .status { display: inline-flex; align-items: center; min-height: 25px; padding: 2px 8px; border-radius: 3px; font-size: 12px; font-weight: 800; line-height: 1.3; }
        .tag { color: #635b66; background: var(--paper-2); }
        .status { color: #3b684e; background: #e2f2dc; }
        .status.pending { color: #9b5b23; background: #fff0d7; }
        .entry-action { white-space: nowrap; color: var(--coral-deep); font-weight: 800; font-size: 14px; }
        .entry-action::after { content: " →"; }
        .info-band { background: var(--paper-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
        .signal-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 0; }
        .signal { padding: 30px 28px; border-right: 1px solid var(--line); }
        .signal:first-child { padding-left: 0; }
        .signal:last-child { border-right: 0; }
        .signal b { display: block; margin-bottom: 5px; font-size: 24px; color: var(--night); }
        .signal span { color: var(--muted); font-size: 14px; }
        .rules-section { background: var(--white); }
        .rules-layout { display: grid; grid-template-columns: 5fr 7fr; gap: 70px; align-items: start; }
        .rules-layout h2 { margin: 7px 0 15px; font-size: 34px; line-height: 1.25; }
        .rules-layout > div > p { color: var(--muted); }
        .steps { margin: 0; padding: 0; list-style: none; }
        .steps li { display: grid; grid-template-columns: 38px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid var(--line); }
        .step-no { color: var(--coral-deep); font-size: 15px; font-weight: 900; }
        .steps strong { display: block; font-size: 16px; }
        .steps span { display: block; color: var(--muted); font-size: 14px; }
        .faq-section { background: var(--paper); }
        .accordion { margin: 0; background: transparent; }
        .accordion-item { margin-bottom: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
        .accordion-title { padding: 18px 22px; border: 0; color: var(--ink); font-size: 16px; font-weight: 800; }
        .accordion-title:hover { background: #fff8f3; color: var(--coral-deep); }
        .accordion-content { padding: 0 22px 20px; border: 0; color: var(--muted); font-size: 15px; }
        .accordion-content p { margin-bottom: 0; }
        .cta-band { padding: 70px 0; color: var(--white); background: var(--coral-deep); }
        .cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
        .cta-inner h2 { margin: 0 0 8px; font-size: 32px; line-height: 1.25; }
        .cta-inner p { margin: 0; color: #ffe3dc; }
        .cta-band .button { color: var(--ink); background: var(--lime); box-shadow: none; }
        .cta-band .button:hover { background: #e2f3aa; }
        .site-footer { padding: 58px 0 24px; color: #d8ced9; background: var(--night); }
        .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 36px; }
        .footer-brand { display: flex; align-items: center; gap: 10px; color: var(--white); font-weight: 800; font-size: 18px; }
        .footer-col p { max-width: 290px; margin: 16px 0 0; color: #a99dab; font-size: 14px; }
        .footer-col h3 { margin: 0 0 14px; color: var(--white); font-size: 14px; }
        .footer-links { margin: 0; padding: 0; list-style: none; }
        .footer-links li { margin: 7px 0; font-size: 13px; color: #bcb1c0; }
        .footer-links a:hover { color: var(--cyan); }
        .footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 48px; padding-top: 20px; border-top: 1px solid #443849; color: #958b9a; font-size: 12px; }
        .no-result { display: none; padding: 30px; text-align: center; color: var(--muted); background: var(--white); border: 1px dashed var(--line); }
        @media (max-width: 1023px) {
            .nav-shell { gap: 14px; }
            .nav-center { gap: 0; }
            .nav-link { padding-left: 8px; padding-right: 8px; font-size: 13px; }
            .search-box input { width: 150px; }
            .page-hero h1 { font-size: 44px; }
            .query-layout { grid-template-columns: 1fr; }
            .filter-panel { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; align-items: end; }
            .filter-panel h3, .filter-note { grid-column: 1 / -1; }
            .filter-panel input, .filter-panel select { margin-bottom: 0; }
        }
        @media (max-width: 767px) {
            .container { padding-left: 18px; padding-right: 18px; }
            .nav-shell { min-height: 68px; }
            .nav-center { display: none; }
            .nav-actions { margin-left: auto; }
            .nav-actions .ghost { display: none; }
            .search-box { display: none; }
            .menu-toggle { display: block; }
            .page-hero { padding: 47px 0 55px; }
            .hero-grid { grid-template-columns: 1fr; gap: 30px; }
            .page-hero h1 { font-size: 38px; }
            .page-hero p { font-size: 16px; }
            .page-hero::after { right: -80px; top: 90px; }
            .content-section { padding: 56px 0; }
            .section-heading, .cta-inner { display: block; }
            .section-heading h2 { font-size: 28px; margin-bottom: 12px; }
            .section-heading p { font-size: 14px; }
            .filter-panel { display: block; }
            .filter-panel input, .filter-panel select { margin-bottom: 17px; }
            .entry-item { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 18px 15px; }
            .entry-action { grid-column: 2; }
            .entry-title { font-size: 17px; }
            .signal-grid { grid-template-columns: 1fr; }
            .signal, .signal:first-child { padding: 21px 0; border-right: 0; border-bottom: 1px solid var(--line); }
            .signal:last-child { border-bottom: 0; }
            .rules-layout { grid-template-columns: 1fr; gap: 30px; }
            .rules-layout h2 { font-size: 28px; }
            .cta-inner .button { margin-top: 24px; width: 100%; }
            .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 18px; }
            .footer-grid .footer-col:first-child { grid-column: 1 / -1; }
            .footer-bottom { display: block; }
            .footer-bottom span { display: block; margin-bottom: 8px; }
        }
        @media (max-width: 520px) {
            .brand { font-size: 17px; }
            .brand-mark { width: 14px; height: 14px; }
            .page-hero h1 { font-size: 32px; }
            .hero-aside strong { font-size: 30px; }
            .footer-grid { grid-template-columns: 1fr; }
            .footer-grid .footer-col:first-child { grid-column: auto; }
        }
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
        }
