/* roulang page: index */
:root {
      --ink: #2B2028;
      --plum: #5A3B52;
      --terracotta: #C97863;
      --sand: #E9DDCF;
      --sage: #788072;
      --paper: #F7F2EB;
      --surface: #FFFDF9;
      --muted: #766B70;
      --line: rgba(66, 47, 57, .14);
      --shadow: 0 16px 42px rgba(61, 41, 49, .10), 0 3px 10px rgba(61, 41, 49, .05);
      --shadow-hover: 0 22px 48px rgba(61, 41, 49, .16), 0 5px 14px rgba(61, 41, 49, .08);
      --radius-xl: 32px;
      --radius-lg: 22px;
      --radius-md: 16px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: "PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      line-height: 1.8;
      overflow-x: hidden;
    }
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: .26;
      z-index: -1;
      background-image: radial-gradient(rgba(76, 54, 61, .12) .7px, transparent .7px);
      background-size: 8px 8px;
      mask-image: linear-gradient(to bottom, black, transparent 75%);
    }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    button { cursor: pointer; }
    img { max-width: 100%; display: block; }
    ::selection { background: rgba(201,120,99,.27); color: var(--ink); }
    :focus-visible { outline: 3px solid rgba(120,128,114,.72); outline-offset: 3px; }
    .container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
    .serif { font-family: "Songti SC","STSong","Noto Serif SC",serif; }
    .eyebrow {
      display: inline-flex; align-items: center; gap: 8px; color: var(--plum);
      font-size: 12px; font-weight: 700; letter-spacing: .16em;
    }
    .eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--terracotta); }
    .section-pad { padding: 104px 0; }
    .section-title { font: 700 clamp(30px, 3.3vw, 43px)/1.25 "Songti SC","STSong",serif; letter-spacing: -.035em; }
    .section-copy { margin-top: 16px; max-width: 680px; color: var(--muted); font-size: 16px; line-height: 1.9; }

    .site-header { position: fixed; z-index: 50; top: 22px; width: 100%; }
    .nav-shell {
      min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 22px;
      padding: 9px 10px 9px 20px; border: 1px solid rgba(255,255,255,.52);
      border-radius: 999px; background: rgba(255,253,249,.72); backdrop-filter: blur(14px);
      transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
    .site-header.is-scrolled .nav-shell {
      background: rgba(255,253,249,.95); border-color: rgba(81,55,68,.12); box-shadow: var(--shadow);
    }
    .brand { display: flex; align-items: center; min-width: max-content; font-family: "Songti SC","STSong",serif; font-weight: 800; font-size: 19px; letter-spacing: -.04em; }
    .brand-mark {
      display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 9px;
      border-radius: 50%; background: var(--plum); color: var(--surface); font-size: 14px; font-family: sans-serif;
    }
    .nav-links { display: flex; align-items: center; gap: 5px; }
    .nav-links a {
      position: relative; padding: 9px 14px; border-radius: 999px; color: #5E5358; font-size: 14px; transition: color .2s, background .2s;
    }
    .nav-links a:hover, .nav-links a.active { color: var(--plum); background: rgba(233,221,207,.7); }
    .nav-links a.active::after { content:""; position:absolute; left: 16px; right:16px; bottom: 5px; height:1px; background:var(--terracotta); }
    .nav-actions { display: flex; align-items: center; gap: 9px; }
    .age-badge { display: inline-flex; align-items: center; padding: 5px 8px; border: 1px solid rgba(120,128,114,.34); border-radius: 999px; color: #566052; font-size: 11px; font-weight: 700; white-space: nowrap; }
    .nav-cta, .btn-primary {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px;
      padding: 0 18px; border: 1px solid var(--plum); border-radius: 999px; background: var(--plum); color: var(--surface);
      font-size: 14px; font-weight: 700; transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .nav-cta:hover, .btn-primary:hover { transform: translateY(-2px); background: #432b3e; box-shadow: 0 10px 20px rgba(90,59,82,.20); }
    .btn-secondary {
      display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; color: var(--plum); font-size: 14px; font-weight: 700;
    }
    .btn-secondary span { border-bottom: 1px solid rgba(90,59,82,.38); transition: border-color .2s ease; }
    .btn-secondary:hover span { border-color: var(--terracotta); }
    .btn-arrow { transition: transform .2s ease; }
    .btn-primary:hover .btn-arrow, .btn-secondary:hover .btn-arrow { transform: translateX(4px); }
    .menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; color: var(--plum); background: var(--surface); }
    .mobile-panel { display:none; }

    .hero { position: relative; min-height: 820px; padding: 155px 0 82px; overflow: hidden; }
    .hero::before {
      content:""; position:absolute; width: 640px; height: 640px; border-radius: 50%; right: -180px; top: 70px;
      background: rgba(201,120,99,.16); filter: blur(3px);
    }
    .hero-grid { position: relative; display: grid; grid-template-columns: 4.6fr 7.4fr; align-items: center; gap: 48px; }
    .hero h1 { margin: 17px 0 18px; max-width: 560px; font: 800 clamp(46px, 5.5vw, 69px)/1.12 "Songti SC","STSong",serif; letter-spacing: -.065em; }
    .hero-lead { max-width: 535px; color: #62565C; font-size: 16px; line-height: 2; }
    .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap: 18px; margin-top: 29px; }
    .hero-note { margin-top: 24px; display:flex; align-items:center; gap:9px; color: #6b7366; font-size: 12px; }
    .dot { width: 7px; height:7px; border-radius:50%; background:var(--sage); box-shadow:0 0 0 4px rgba(120,128,114,.14); }
    .coupon-stage { position: relative; min-height: 530px; }
    .coupon-main {
      position:absolute; inset: 28px 36px 10px 68px; overflow:hidden; border: 1px solid rgba(255,255,255,.72); border-radius: 34px;
      background: var(--plum); box-shadow: 20px 25px 0 rgba(233,221,207,.85), var(--shadow);
    }
    .coupon-main::after {
      content:""; position:absolute; inset:0; opacity:.43; background: radial-gradient(circle at 70% 24%, rgba(233,221,207,.55), transparent 20%), radial-gradient(circle at 30% 78%, rgba(201,120,99,.58), transparent 28%), linear-gradient(122deg, transparent 30%, rgba(255,255,255,.09) 30.3%, transparent 30.8%);
    }
    .coupon-topline { position:absolute; z-index:1; inset:34px 34px auto; display:flex; align-items:center; justify-content:space-between; color:#F5EDE5; font-size:12px; letter-spacing:.12em; }
    .coupon-center { position:absolute; z-index:1; inset: 122px 42px auto; color:var(--surface); }
    .coupon-center strong { display:block; font: 800 56px/1 "Songti SC","STSong",serif; letter-spacing:-.07em; }
    .coupon-center p { max-width:260px; margin:17px 0 0; color:#E9DDCF; font-size:14px; line-height:1.8; }
    .coupon-bottom { position:absolute; z-index:1; right:30px; bottom:31px; left:30px; display:flex; align-items:end; justify-content:space-between; border-top:1px dashed rgba(255,255,255,.36); padding-top:21px; color:#F5EDE5; }
    .coupon-bottom small { color:#d9c9bb; font-size:11px; }
    .coupon-code { font-family:monospace; letter-spacing:.12em; font-size:12px; }
    .side-ticket {
      position:absolute; z-index:3; left:0; top:106px; width:135px; padding:19px 17px; border:1px solid rgba(90,59,82,.13); border-radius:20px;
      background:var(--surface); box-shadow:var(--shadow); transform:rotate(-5deg);
    }
    .side-ticket b { display:block; color:var(--plum); font-size:25px; line-height:1; }
    .side-ticket span { display:block; margin-top:8px; color:var(--muted); font-size:11px; line-height:1.55; }
    .stamp {
      position:absolute; z-index:3; right:7px; top:0; display:grid; place-items:center; width:104px; height:104px; border:1px solid rgba(90,59,82,.23);
      border-radius:50%; background:var(--sand); color:var(--plum); text-align:center; transform:rotate(10deg);
    }
    .stamp b { display:block; font-size:21px; line-height:1; }
    .stamp span { display:block; margin-top:4px; font-size:10px; letter-spacing:.08em; }
    .hero-scroll { position:absolute; bottom:25px; left:50%; display:flex; align-items:center; gap:10px; color:#85797b; font-size:12px; transform:translateX(-50%); }
    .hero-scroll::after { content:""; width:46px; height:1px; background:var(--terracotta); }

    .pain-strip { border-top:1px solid var(--line); padding-top:31px; margin-top:58px; }
    .pain-grid { display:grid; grid-template-columns: 150px 1fr; gap: 32px; }
    .pain-grid > p { margin:0; color:var(--plum); font-size:13px; font-weight:700; }
    .pain-list { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
    .pain-item { position:relative; padding-left:37px; color:#5F5459; font-size:14px; line-height:1.65; }
    .pain-item::before { content:attr(data-num); position:absolute; left:0; top:0; display:grid; place-items:center; width:24px; height:24px; border:1px solid rgba(201,120,99,.65); border-radius:50%; color:var(--terracotta); font-size:10px; font-weight:800; }

    .solution-section { background:#EDE4D8; position:relative; }
    .solution-layout { display:grid; grid-template-columns:minmax(0, 1fr) 288px; gap:32px; margin-top:42px; }
    .guide-panel { padding:28px; border:1px solid rgba(90,59,82,.13); border-radius:var(--radius-xl); background:var(--surface); box-shadow:var(--shadow); }
    .filter-row { display:flex; gap:9px; overflow:auto; padding-bottom:6px; scrollbar-width:none; }
    .filter-row::-webkit-scrollbar { display:none; }
    .filter-chip { min-height:37px; padding:0 14px; border:1px solid #ded0c4; border-radius:999px; color:var(--plum); background:#f5eee7; font-size:13px; font-weight:700; white-space:nowrap; transition:.2s ease; }
    .filter-chip:hover { border-color:var(--terracotta); background:#f9f2ed; }
    .filter-chip.active, .filter-chip:active { border-color:var(--plum); background:var(--plum); color:var(--surface); }
    .guide-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:26px 0 17px; }
    .guide-head h3 { margin:0; font:700 22px/1.35 "Songti SC","STSong",serif; }
    .update-status { display:inline-flex; align-items:center; gap:6px; color:#5d6758; font-size:12px; white-space:nowrap; }
    .guide-items { border-top:1px solid var(--line); }
    .guide-item { display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:16px; padding:17px 0; border-bottom:1px solid var(--line); transition:padding .2s, background .2s; }
    .guide-item:hover { padding-inline:11px; background:#fbf7f1; }
    .guide-thumb { height:48px; border-radius:12px; background:linear-gradient(135deg,#d6beb5,#846276); }
    .guide-thumb.two { background:linear-gradient(135deg,#d2cfbd,#788072); }
    .guide-thumb.three { background:linear-gradient(135deg,#e3c6b7,#a56d67); }
    .guide-item b { display:block; font-size:15px; }
    .guide-item span { display:block; color:var(--muted); font-size:12px; }
    .guide-item em { color:var(--terracotta); font-style:normal; font-size:18px; transition:transform .2s; }
    .guide-item:hover em { transform:translateX(4px); }
    .guide-side { display:flex; flex-direction:column; gap:16px; }
    .side-card { padding:23px; border-radius:var(--radius-lg); background:rgba(255,253,249,.7); border:1px solid rgba(90,59,82,.12); }
    .side-card h3 { margin:0 0 12px; font:700 20px/1.35 "Songti SC","STSong",serif; }
    .side-card ul { list-style:none; padding:0; margin:0; }
    .side-card li { display:flex; gap:9px; padding:8px 0; border-bottom:1px solid rgba(90,59,82,.1); color:#64585D; font-size:13px; line-height:1.65; }
    .side-card li:last-child { border-bottom:0; }
    .side-card li::before { content:""; flex:0 0 6px; height:6px; margin-top:8px; border-radius:50%; background:var(--terracotta); }

    .result-section { background:var(--ink); color:var(--surface); overflow:hidden; }
    .result-layout { display:grid; grid-template-columns: .85fr 1.15fr; gap:68px; align-items:start; }
    .result-section .eyebrow { color:#E9DDCF; }
    .result-section .section-title { color:#fffaf3; }
    .result-section .section-copy { color:#d7cac7; }
    .metrics { margin-top:42px; border-top:1px solid rgba(255,255,255,.2); }
    .metric { display:grid; grid-template-columns:95px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.17); }
    .metric strong { color:#E2A08A; font:800 35px/1 "Songti SC","STSong",serif; }
    .metric span { color:#e7deda; font-size:14px; }
    .preview-track { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; padding-top:16px; }
    .preview-card { overflow:hidden; min-height:245px; padding:21px; border:1px solid rgba(255,255,255,.17); border-radius:22px; background:rgba(255,255,255,.07); transition:transform .22s, background .22s; }
    .preview-card:hover { transform:translateY(-4px); background:rgba(255,255,255,.11); }
    .preview-card.tall { min-height:336px; background:linear-gradient(160deg,rgba(201,120,99,.42),rgba(90,59,82,.3)); }
    .preview-card:last-child { margin-top:42px; }
    .preview-label { display:inline-flex; padding:4px 9px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:#eedfd5; font-size:11px; }
    .preview-card h3 { margin:72px 0 9px; color:#fffaf3; font:700 23px/1.35 "Songti SC","STSong",serif; }
    .preview-card p { margin:0; color:#e1d4d1; font-size:13px; line-height:1.8; }
    .preview-meta { display:flex; justify-content:space-between; margin-top:18px; color:#c9b8b5; font-size:11px; }

    .timeline-section { background:var(--surface); }
    .timeline-grid { display:grid; grid-template-columns: .7fr 1.3fr; gap:70px; align-items:start; }
    .timeline { border-left:1px solid rgba(201,120,99,.55); margin-top:4px; padding-left:31px; }
    .timeline-item { position:relative; padding:0 0 27px; }
    .timeline-item::before { content:""; position:absolute; left:-36px; top:8px; width:9px; height:9px; border:2px solid var(--surface); border-radius:50%; background:var(--terracotta); box-shadow:0 0 0 1px var(--terracotta); }
    .timeline-item time { color:var(--terracotta); font-size:12px; font-weight:800; letter-spacing:.08em; }
    .timeline-item h3 { margin:4px 0 5px; font-size:16px; }
    .timeline-item p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
    .changelog { border-top:1px solid var(--line); }
    .change-row { display:grid; grid-template-columns:110px 1fr auto; gap:18px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); }
    .change-row time { color:var(--sage); font-size:12px; font-weight:700; }
    .change-row b { font-size:15px; }
    .change-row span { color:var(--muted); font-size:13px; }
    .change-row i { color:var(--terracotta); font-style:normal; }

    .feedback-section { padding-bottom:104px; background:#F3ECE3; }
    .feedback-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:56px; align-items:center; margin-top:44px; }
    .feedback-art { position:relative; min-height:380px; overflow:hidden; border-radius:var(--radius-xl); background:linear-gradient(145deg,#876579 0%,#c7846d 47%,#e7d4c1 47%,#b4aea1 100%); }
    .feedback-art::before { content:""; position:absolute; width:290px; height:290px; left:60px; top:45px; border:1px solid rgba(255,255,255,.48); border-radius:50%; }
    .feedback-art::after { content:""; position:absolute; left:0; right:0; bottom:0; height:40%; background:linear-gradient(transparent,rgba(43,32,40,.46)); }
    .feedback-art span { position:absolute; z-index:2; bottom:28px; left:30px; color:#fffaf3; font:700 27px/1.35 "Songti SC","STSong",serif; }
    .notes { position:relative; min-height:380px; }
    .note { position:absolute; padding:25px; border:1px solid rgba(90,59,82,.13); border-radius:19px; background:var(--surface); box-shadow:var(--shadow); transition:transform .22s; }
    .note:hover { transform:translateY(-4px) rotate(0deg); }
    .note-main { left:0; top:0; width:79%; }
    .note-small-a { right:0; top:177px; width:52%; transform:rotate(3deg); }
    .note-small-b { left:11%; bottom:0; width:55%; transform:rotate(-2deg); }
    .quote { margin:0; color:#4D4047; font:700 17px/1.85 "Songti SC","STSong",serif; }
    .quote::before { content:"“"; color:var(--terracotta); font-size:38px; line-height:0; vertical-align:-13px; margin-right:5px; }
    .note-meta { display:flex; align-items:center; gap:10px; margin-top:17px; color:var(--muted); font-size:11px; }
    .avatar { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--sand); color:var(--plum); font-size:10px; font-weight:800; }
    .feedback-disclaimer { margin-top:27px; color:#887b7d; font-size:12px; }

    .news-section { background:var(--surface); }
    .news-layout { display:grid; grid-template-columns:1.2fr .8fr; gap:64px; margin-top:40px; }
    .news-list { border-top:1px solid var(--line); }
    .news-item { display:grid; grid-template-columns:90px 1fr auto; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); transition:padding .2s, background .2s; }
    .news-item:hover { padding-inline:12px; background:#fbf6ef; }
    .news-item time { color:var(--sage); font-size:12px; font-weight:700; }
    .news-item h3 { margin:0 0 3px; font-size:16px; }
    .news-item p { margin:0; color:var(--muted); font-size:13px; }
    .news-item span { color:var(--terracotta); font-size:20px; }
    .notice-board { padding:28px; border-radius:var(--radius-xl); background:var(--plum); color:#fffaf3; }
    .notice-board h3 { margin:0; font:700 26px/1.3 "Songti SC","STSong",serif; }
    .notice-board p { color:#e3d5d2; font-size:14px; line-height:1.9; }
    .notice-board a { display:inline-flex; align-items:center; gap:8px; margin-top:10px; color:#f2c4b2; font-size:14px; font-weight:700; border-bottom:1px solid rgba(242,196,178,.55); }

    .cta-section { padding:94px 0; background:var(--paper); }
    .cta-panel { display:grid; grid-template-columns:1fr .88fr; gap:42px; align-items:center; padding:52px; border-radius:34px; background:var(--terracotta); color:#fffaf5; }
    .cta-panel .eyebrow { color:#fff3e9; }
    .cta-panel .eyebrow::before { background:#fff3e9; }
    .cta-panel h2 { margin:15px 0; font:800 clamp(31px,3.3vw,43px)/1.25 "Songti SC","STSong",serif; letter-spacing:-.04em; }
    .cta-panel p { max-width:580px; margin:0; color:#fff0e8; font-size:15px; line-height:1.9; }
    .cta-form { display:grid; gap:12px; }
    .cta-form label { color:#fff5ef; font-size:13px; font-weight:700; }
    .form-row { display:flex; gap:10px; }
    .form-row input { width:100%; min-width:0; height:50px; padding:0 16px; border:1px solid rgba(255,255,255,.62); border-radius:14px; background:#fffaf6; color:var(--ink); outline:0; }
    .form-row input:focus { border-color:var(--sage); box-shadow:0 0 0 3px rgba(120,128,114,.28); }
    .form-row button { min-width:116px; border:1px solid var(--ink); border-radius:14px; background:var(--ink); color:#fffaf6; font-weight:700; transition:transform .2s, background .2s; }
    .form-row button:hover { transform:translateY(-2px); background:#422e3c; }
    .form-help { margin:0; color:#ffeadf; font-size:12px; line-height:1.65; }
    .form-message { min-height:20px; margin:0; color:#fff7d9; font-size:12px; }

    .site-footer { padding:62px 0 26px; background:#252B27; color:#ece4db; }
    .footer-grid { display:grid; grid-template-columns:1.25fr .7fr .85fr; gap:44px; padding-bottom:43px; }
    .footer-brand { font:700 24px/1.3 "Songti SC","STSong",serif; }
    .footer-copy { max-width:340px; margin:14px 0 0; color:#bcbab0; font-size:13px; line-height:1.9; }
    .footer-heading { margin:5px 0 14px; color:#f4ede5; font-size:13px; font-weight:800; letter-spacing:.1em; }
    .footer-links { display:grid; gap:8px; }
    .footer-links a { color:#c6c3ba; font-size:13px; transition:color .2s, transform .2s; }
    .footer-links a:hover { color:#e7b4a0; transform:translateX(3px); }
    .legal-box { padding:17px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(255,255,255,.05); color:#c9c8bd; font-size:12px; line-height:1.8; }
    .footer-bottom { display:flex; justify-content:space-between; gap:15px; padding-top:21px; border-top:1px solid rgba(255,255,255,.13); color:#979b93; font-size:12px; }

    @media (max-width: 1024px) {
      .nav-links { gap:0; }
      .nav-links a { padding-inline:9px; }
      .age-badge { display:none; }
      .hero-grid { grid-template-columns:1fr 1fr; gap:24px; }
      .coupon-main { inset:37px 13px 10px 35px; }
      .result-layout, .timeline-grid { gap:42px; }
    }
    @media (max-width: 768px) {
      .container { width:min(100% - 28px, 1180px); }
      .site-header { top:14px; }
      .nav-shell { min-height:58px; padding:7px 8px 7px 15px; }
      .brand { font-size:17px; }
      .brand-mark { width:27px; height:27px; }
      .nav-links, .nav-actions .nav-cta { display:none; }
      .menu-toggle { display:inline-grid; place-items:center; }
      .mobile-panel { margin-top:9px; padding:8px 16px; border:1px solid rgba(90,59,82,.13); border-radius:22px; background:rgba(255,253,249,.98); box-shadow:var(--shadow); }
      .mobile-panel.open { display:block; }
      .mobile-panel a { display:flex; align-items:center; min-height:48px; border-bottom:1px solid var(--line); color:var(--plum); font-size:14px; font-weight:700; }
      .mobile-panel a:last-child { border-bottom:0; }
      .hero { min-height:auto; padding:130px 0 54px; }
      .hero-grid, .result-layout, .timeline-grid, .feedback-grid, .news-layout, .cta-panel { grid-template-columns:1fr; }
      .hero h1 { max-width:630px; font-size:clamp(39px, 10vw, 56px); }
      .coupon-stage { min-height:430px; margin-top:13px; }
      .coupon-main { inset:37px 16px 5px 40px; }
      .pain-grid { grid-template-columns:1fr; gap:16px; }
      .pain-list { grid-template-columns:1fr; gap:14px; }
      .solution-layout { grid-template-columns:1fr; }
      .guide-side { display:grid; grid-template-columns:1fr 1fr; }
      .preview-track { max-width:570px; }
      .notes { min-height:420px; }
      .feedback-art { min-height:290px; }
      .cta-panel { padding:35px 27px; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .footer-grid > :first-child { grid-column:1 / -1; }
    }
    @media (max-width: 520px) {
      .section-pad { padding:68px 0; }
      .section-title { font-size:31px; }
      .hero-lead { font-size:15px; }
      .coupon-stage { min-height:372px; }
      .coupon-main { inset:33px 4px 0 22px; border-radius:25px; }
      .coupon-center { inset:100px 28px auto; }
      .coupon-center strong { font-size:43px; }
      .side-ticket { top:75px; width:105px; padding:14px 12px; }
      .side-ticket b { font-size:20px; }
      .stamp { width:78px; height:78px; }
      .stamp b { font-size:17px; }
      .coupon-bottom { right:22px; left:22px; bottom:20px; }
      .guide-panel { padding:19px; }
      .guide-item { grid-template-columns:43px 1fr auto; gap:11px; }
      .guide-thumb { height:40px; }
      .guide-side { grid-template-columns:1fr; }
      .metric { grid-template-columns:77px 1fr; }
      .preview-track { grid-template-columns:1fr; }
      .preview-card:last-child { margin-top:0; }
      .change-row { grid-template-columns:76px 1fr auto; gap:10px; }
      .change-row span { display:none; }
      .notes { min-height:452px; }
      .note-main { width:94%; }
      .note-small-a { top:204px; width:62%; }
      .note-small-b { width:65%; }
      .news-item { grid-template-columns:57px 1fr auto; gap:11px; }
      .news-item p { display:none; }
      .form-row { flex-direction:column; }
      .form-row button { min-height:49px; }
      .footer-grid { grid-template-columns:1fr; gap:27px; }
      .footer-grid > :first-child { grid-column:auto; }
      .footer-bottom { flex-direction:column; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
    }

/* roulang page: category1 */
:root{
      --ink:#2B2028;
      --plum:#5A3B52;
      --plum-dark:#432B3E;
      --terracotta:#C97863;
      --sand:#E9DDCF;
      --sage:#788072;
      --paper:#F7F2EB;
      --surface:#FFFDF9;
      --muted:#766B70;
      --line:rgba(66,47,57,.14);
      --shadow:0 16px 42px rgba(61,41,49,.10),0 3px 10px rgba(61,41,49,.05);
      --shadow-hover:0 22px 48px rgba(61,41,49,.16),0 5px 14px rgba(61,41,49,.08);
      --radius-xl:32px;
      --radius-lg:22px;
      --radius-md:16px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:var(--paper);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      line-height:1.8;
      overflow-x:hidden;
    }
    body::before{
      content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.25;
      background-image:radial-gradient(rgba(76,54,61,.12) .7px,transparent .7px);
      background-size:8px 8px;
      mask-image:linear-gradient(to bottom,black,transparent 75%);
    }
    a{color:inherit;text-decoration:none}
    button,input,select{font:inherit}
    button{cursor:pointer}
    img{max-width:100%;display:block}
    .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
    .site-header{position:fixed;z-index:50;top:22px;width:100%}
    .nav-shell{
      min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:22px;
      padding:9px 10px 9px 20px;border:1px solid rgba(255,255,255,.52);border-radius:999px;
      background:rgba(255,253,249,.72);backdrop-filter:blur(14px);
      transition:.25s ease;
    }
    .site-header.is-scrolled .nav-shell{background:rgba(255,253,249,.95);border-color:var(--line);box-shadow:var(--shadow)}
    .brand{display:flex;align-items:center;min-width:max-content;font-family:"Songti SC","STSong",serif;font-weight:800;font-size:19px;letter-spacing:-.04em}
    .brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:9px;border-radius:50%;background:var(--plum);color:var(--surface);font-size:14px;font-family:sans-serif}
    .nav-links{display:flex;align-items:center;gap:5px}
    .nav-links a{position:relative;padding:9px 14px;border-radius:999px;color:#5E5358;font-size:14px;transition:.2s}
    .nav-links a:hover,.nav-links a.active{color:var(--plum);background:rgba(233,221,207,.7)}
    .nav-links a.active::after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:1px;background:var(--terracotta)}
    .nav-actions{display:flex;align-items:center;gap:9px}
    .age-badge{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid rgba(120,128,114,.34);border-radius:999px;color:#566052;font-size:11px;font-weight:700;white-space:nowrap}
    .nav-cta,.btn-primary{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;
      border:1px solid var(--plum);border-radius:999px;background:var(--plum);color:var(--surface);
      font-size:14px;font-weight:700;transition:.2s ease;
    }
    .nav-cta:hover,.btn-primary:hover{transform:translateY(-2px);background:var(--plum-dark);box-shadow:0 10px 20px rgba(90,59,82,.2)}
    .btn-secondary{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--plum);font-size:14px;font-weight:700}
    .btn-secondary span{border-bottom:1px solid rgba(90,59,82,.38)}
    .btn-secondary:hover span{border-color:var(--terracotta)}
    .btn-arrow{transition:transform .2s}
    .btn-primary:hover .btn-arrow,.btn-secondary:hover .btn-arrow{transform:translateX(4px)}
    .menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--plum);background:var(--surface)}
    .mobile-panel{display:none}
    .page-hero{padding:156px 0 72px;background:var(--paper)}
    .crumbs{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;margin-bottom:24px}
    .crumbs a:hover{color:var(--plum)}
    .crumbs strong{color:var(--terracotta);font-weight:600}
    .hero-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--plum);font-size:12px;font-weight:700;letter-spacing:.16em}
    .eyebrow::before{content:"";width:22px;height:1px;background:var(--terracotta)}
    h1,h2,h3{font-family:"Songti SC","STSong","Noto Serif SC",serif}
    h1{margin:17px 0 18px;font-size:clamp(40px,5.2vw,64px);line-height:1.18;letter-spacing:-.06em}
    .hero-description{max-width:700px;color:#62565c;font-size:16px;line-height:2}
    .hero-side{padding:24px;border-left:1px solid var(--line)}
    .status-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
    .status-dot{display:inline-flex;align-items:center;gap:7px;color:var(--sage);font-weight:700}
    .status-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage)}
    .switcher{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
    .switcher a,.filter-chip{
      min-height:40px;display:inline-flex;align-items:center;padding:0 15px;border:1px solid var(--line);
      border-radius:999px;background:rgba(255,253,249,.75);color:var(--muted);font-size:13px;transition:.2s
    }
    .switcher a:hover,.switcher a.active,.filter-chip:hover,.filter-chip.active{background:var(--plum);border-color:var(--plum);color:var(--surface)}
    .feature-section{padding:22px 0 105px}
    .feature-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:24px;align-items:stretch}
    .feature-card,.small-entry,.content-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:.25s ease}
    .feature-card:hover,.small-entry:hover,.content-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:rgba(201,120,99,.55)}
    .feature-visual{height:350px;position:relative;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:#684d5e}
    .feature-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(233,221,207,.7),transparent 17%),linear-gradient(125deg,transparent 38%,rgba(201,120,99,.7) 38.3%,transparent 39%),radial-gradient(circle at 25% 75%,rgba(43,32,40,.8),transparent 35%)}
    .feature-visual::after{content:"精选导览";position:absolute;right:28px;bottom:22px;color:rgba(255,253,249,.72);font:34px "Songti SC",serif;letter-spacing:.1em}
    .feature-body{padding:28px 30px 30px}
    .tag{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--sand);color:var(--plum);font-size:12px;font-weight:700}
    .feature-body h2{margin:14px 0 8px;font-size:30px;line-height:1.35}
    .feature-body p,.content-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.85}
    .card-meta{display:flex;justify-content:space-between;gap:12px;margin-top:20px;color:var(--muted);font-size:12px}
    .card-meta a{color:var(--plum);font-weight:700}
    .reading-queue{display:flex;flex-direction:column;gap:14px}
    .queue-title{margin:0 0 2px;font-size:18px}
    .small-entry{padding:20px;display:grid;grid-template-columns:66px 1fr;gap:15px;align-items:center;box-shadow:none}
    .mini-visual{height:78px;border-radius:12px;background:linear-gradient(145deg,#755568,#d49a86);position:relative;overflow:hidden}
    .mini-visual::after{content:"";position:absolute;inset:14px 10px;border:1px solid rgba(255,255,255,.5);border-radius:50%}
    .small-entry h3{margin:0 0 4px;font-size:17px;line-height:1.4}
    .small-entry p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
    .filter-section{padding:88px 0;background:#efe6dc}
    .section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}
    .section-heading h2{margin:0;font-size:38px;line-height:1.3;letter-spacing:-.04em}
    .section-heading p{max-width:530px;margin:0;color:var(--muted);font-size:15px}
    .filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px;border:1px solid rgba(90,59,82,.15);border-radius:var(--radius-md);background:rgba(255,253,249,.65)}
    .filter-label{font-size:13px;font-weight:700;color:var(--plum);margin-right:3px}
    .sort-select{margin-left:auto;min-height:40px;border:1px solid var(--line);border-radius:999px;padding:0 14px;color:var(--muted);background:var(--surface);outline:none}
    .sort-select:focus,.filter-chip:focus,.btn-primary:focus,.nav-cta:focus,.nav-links a:focus{outline:3px solid rgba(201,120,99,.35);outline-offset:3px}
    .content-section{padding:105px 0}
    .content-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:24px}
    .content-card{overflow:hidden}
    .content-card.large{grid-row:span 2}
    .content-visual{height:190px;background:linear-gradient(135deg,#4d3948,#c97863);position:relative}
    .content-card.large .content-visual{height:280px}
    .content-visual::after{content:"";position:absolute;inset:20px;border:1px solid rgba(255,253,249,.42);border-radius:50% 18% 50% 18%;transform:rotate(-12deg)}
    .content-body{padding:22px 24px}
    .content-body h3{margin:12px 0 7px;font-size:21px;line-height:1.4}
    .content-card.large .content-body h3{font-size:27px}
    .outline-cta{margin-top:38px;padding:28px 32px;border:1px solid rgba(90,59,82,.18);border-radius:var(--radius-lg);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:20px}
    .outline-cta h3{margin:0 0 4px;font-size:23px}
    .outline-cta p{margin:0;color:var(--muted);font-size:14px}
    .faq-section{padding:0 0 105px}
    .faq-list{max-width:820px;border-top:1px solid var(--line)}
    details{border-bottom:1px solid var(--line);padding:20px 0}
    summary{cursor:pointer;list-style:none;font-weight:700;display:flex;justify-content:space-between;gap:20px}
    summary::-webkit-details-marker{display:none}
    summary::after{content:"＋";color:var(--terracotta);font-size:20px;line-height:1}
    details[open] summary::after{content:"－"}
    details p{margin:12px 35px 0 0;color:var(--muted);font-size:14px;line-height:1.9}
    .site-footer{padding:65px 0 22px;background:#30262d;color:#f7f2eb}
    .footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:60px}
    .footer-brand{font:800 25px "Songti SC",serif}
    .footer-copy{max-width:380px;margin:14px 0 0;color:#cfc3c4;font-size:14px;line-height:1.9}
    .footer-heading{margin:0 0 12px;color:#e8c6b8;font-size:13px;font-weight:700}
    .footer-links{display:grid;gap:7px;color:#d6ccce;font-size:14px}
    .footer-links a:hover{color:#fff}
    .legal-box{padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;color:#cfc3c4;font-size:13px;line-height:1.8}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:48px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);color:#bdb1b4;font-size:12px}
    .footer-bottom a:hover{color:#fff}
    @media(max-width:1024px){
      .hero-layout{gap:35px}.feature-grid,.content-grid{grid-template-columns:1fr}
      .reading-queue{display:grid;grid-template-columns:repeat(3,1fr)}
      .content-card.large{grid-row:auto}
      .footer-grid{gap:30px}
    }
    @media(max-width:768px){
      .site-header{top:12px}.container{width:min(100% - 28px,680px)}
      .nav-shell{padding-left:14px}.nav-links,.nav-actions .age-badge,.nav-actions .nav-cta{display:none}
      .menu-toggle{display:block}
      .mobile-panel{margin-top:8px;padding:10px 16px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}
      .mobile-panel.open{display:grid}.mobile-panel a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:14px}.mobile-panel a:last-child{border:0}
      .page-hero{padding-top:125px;padding-bottom:54px}.hero-layout{display:block}
      .hero-side{margin-top:34px;padding:20px 0;border-left:0;border-top:1px solid var(--line)}
      .feature-section,.content-section{padding:65px 0}.filter-section{padding:60px 0}.faq-section{padding-bottom:65px}
      .reading-queue{display:flex}.feature-visual,.content-card.large .content-visual{height:245px}
      .section-heading{display:block}.section-heading h2{font-size:31px;margin-bottom:12px}
      .sort-select{margin-left:0}.outline-cta{display:block;padding:24px;margin-top:28px}.outline-cta .btn-primary{margin-top:18px}
      .footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:8px}
    }
    @media(max-width:520px){
      h1{font-size:40px}.hero-description{font-size:15px}.feature-body{padding:22px}.feature-body h2{font-size:25px}
      .content-body{padding:19px}.content-card.large .content-body h3{font-size:23px}.filter-bar{align-items:flex-start}
      .filter-label{width:100%}.filter-chip{min-height:38px;padding:0 12px}.status-row{display:block}.status-dot{margin-top:7px}
    }
    @media(prefers-reduced-motion:reduce){
      *,*:before,*:after{scroll-behavior:auto!important;transition:none!important}
    }

/* roulang page: category2 */
:root {
      --ink:#2B2028;
      --plum:#5A3B52;
      --plum-dark:#392733;
      --terracotta:#C97863;
      --sand:#E9DDCF;
      --sage:#788072;
      --sage-soft:#E4E8DF;
      --paper:#F7F2EB;
      --surface:#FFFDF9;
      --muted:#766B70;
      --line:rgba(66,47,57,.14);
      --shadow:0 16px 42px rgba(61,41,49,.10),0 3px 10px rgba(61,41,49,.05);
      --shadow-hover:0 22px 48px rgba(61,41,49,.16),0 5px 14px rgba(61,41,49,.08);
      --radius-xl:32px;
      --radius-lg:22px;
      --radius-md:16px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;color:var(--ink);background:var(--paper);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      line-height:1.8;overflow-x:hidden;
    }
    body::before{
      content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.24;
      background-image:radial-gradient(rgba(76,54,61,.13) .7px,transparent .7px);
      background-size:8px 8px;mask-image:linear-gradient(to bottom,black,transparent 76%);
    }
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    button{cursor:pointer}
    img{max-width:100%;display:block}
    .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
    .site-header{position:fixed;z-index:50;top:22px;width:100%}
    .nav-shell{
      min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:22px;
      padding:9px 10px 9px 20px;border:1px solid rgba(255,255,255,.52);
      border-radius:999px;background:rgba(255,253,249,.76);backdrop-filter:blur(14px);
      transition:.25s ease;
    }
    .site-header.is-scrolled .nav-shell{
      background:rgba(255,253,249,.96);border-color:var(--line);box-shadow:var(--shadow)
    }
    .brand{
      display:flex;align-items:center;min-width:max-content;font-family:"Songti SC","STSong",serif;
      font-weight:800;font-size:19px;letter-spacing:-.04em
    }
    .brand-mark{
      display:inline-grid;place-items:center;width:30px;height:30px;margin-right:9px;border-radius:50%;
      background:var(--plum);color:var(--surface);font-size:14px;font-family:sans-serif
    }
    .nav-links{display:flex;align-items:center;gap:5px}
    .nav-links a{
      position:relative;padding:9px 14px;border-radius:999px;color:#5e5358;font-size:14px;transition:.2s
    }
    .nav-links a:hover,.nav-links a.active{color:var(--plum);background:rgba(233,221,207,.72)}
    .nav-links a.active::after{
      content:"";position:absolute;left:16px;right:16px;bottom:5px;height:1px;background:var(--terracotta)
    }
    .nav-actions{display:flex;align-items:center;gap:9px}
    .age-badge{
      display:inline-flex;align-items:center;padding:5px 8px;border:1px solid rgba(120,128,114,.34);
      border-radius:999px;color:#566052;font-size:11px;font-weight:700;white-space:nowrap
    }
    .nav-cta,.btn-primary{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;
      padding:0 18px;border:1px solid var(--plum);border-radius:999px;background:var(--plum);
      color:var(--surface);font-size:14px;font-weight:700;transition:.2s ease
    }
    .nav-cta:hover,.btn-primary:hover{transform:translateY(-2px);background:#432b3e;box-shadow:0 10px 20px rgba(90,59,82,.2)}
    .btn-secondary{
      display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--plum);font-size:14px;font-weight:700
    }
    .btn-secondary span{border-bottom:1px solid rgba(90,59,82,.38)}
    .btn-secondary:hover span{border-color:var(--terracotta)}
    .btn-arrow{transition:transform .2s ease}
    .btn-primary:hover .btn-arrow,.btn-secondary:hover .btn-arrow{transform:translateX(4px)}
    .menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--plum);background:var(--surface)}
    .mobile-panel{display:none}
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;color:var(--plum);font-size:12px;
      font-weight:700;letter-spacing:.16em
    }
    .eyebrow::before{content:"";width:22px;height:1px;background:var(--terracotta)}
    .section-pad{padding:104px 0}
    .section-title{font:700 clamp(30px,3.3vw,43px)/1.25 "Songti SC","STSong",serif;letter-spacing:-.035em}
    .section-copy{margin-top:16px;max-width:700px;color:var(--muted);font-size:16px;line-height:1.9}
    .index-hero{
      position:relative;padding:166px 0 72px;background:var(--plum-dark);color:var(--surface);overflow:hidden
    }
    .index-hero::before{
      content:"";position:absolute;inset:0;opacity:.3;
      background-image:radial-gradient(rgba(255,253,249,.16) .7px,transparent .7px);
      background-size:9px 9px
    }
    .index-hero::after{
      content:"";position:absolute;width:520px;height:520px;right:-180px;top:40px;border:1px solid rgba(233,221,207,.2);
      border-radius:50%;box-shadow:0 0 0 34px rgba(233,221,207,.04),0 0 0 72px rgba(233,221,207,.035)
    }
    .hero-inner{position:relative;z-index:1}
    .breadcrumbs{display:flex;gap:9px;align-items:center;color:rgba(255,253,249,.64);font-size:13px;margin-bottom:28px}
    .breadcrumbs a:hover{color:var(--surface)}
    .index-hero .eyebrow{color:var(--sand)}
    .index-hero h1{
      max-width:820px;margin:15px 0 17px;font:800 clamp(40px,6vw,68px)/1.15 "Songti SC","STSong",serif;letter-spacing:-.06em
    }
    .hero-description{max-width:730px;color:rgba(255,253,249,.78);font-size:16px;line-height:2}
    .hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
    .meta-pill{
      display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid rgba(255,253,249,.23);
      border-radius:999px;color:rgba(255,253,249,.82);font-size:13px
    }
    .hero-buttons{display:flex;gap:18px;align-items:center;margin-top:30px}
    .index-hero .btn-primary{background:var(--terracotta);border-color:var(--terracotta)}
    .index-hero .btn-primary:hover{background:#b56452}
    .index-hero .btn-secondary{color:var(--sand)}
    .topic-section{padding:86px 0 104px}
    .topic-layout{display:grid;grid-template-columns:2.7fr 9.3fr;gap:46px;align-items:start}
    .topic-aside{position:sticky;top:108px}
    .topic-aside h2{font:700 27px/1.35 "Songti SC","STSong",serif;margin:13px 0}
    .topic-aside p{color:var(--muted);font-size:14px;line-height:1.9}
    .topic-nav{margin-top:28px;border-left:1px solid var(--line)}
    .topic-nav a{
      display:flex;align-items:center;justify-content:space-between;padding:12px 15px;color:var(--muted);
      font-size:14px;border-left:2px solid transparent;transition:.2s
    }
    .topic-nav a:hover,.topic-nav a.active{color:var(--plum);background:rgba(233,221,207,.55);border-left-color:var(--terracotta)}
    .topic-nav a span{font-size:11px;color:var(--sage)}
    .list-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:4px}
    .list-head h2{font:700 30px/1.3 "Songti SC","STSong",serif;margin:0}
    .list-head p{margin:0;color:var(--muted);font-size:13px}
    .archive-list{border-top:1px solid var(--line)}
    .archive-item{
      position:relative;display:grid;grid-template-columns:52px 1fr 158px 28px;gap:20px;align-items:center;
      padding:25px 18px;border-bottom:1px solid var(--line);transition:.22s ease
    }
    .archive-item::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;background:transparent;transition:.2s}
    .archive-item:hover{background:rgba(233,221,207,.45);transform:translateX(4px)}
    .archive-item:hover::before{background:var(--terracotta)}
    .archive-number{font:700 20px/1 "Songti SC","STSong",serif;color:var(--terracotta)}
    .archive-content h3{margin:8px 0 5px;font-size:18px;line-height:1.45}
    .archive-content p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
    .tag{
      display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;
      background:var(--sand);color:var(--plum);font-size:11px;font-weight:700
    }
    .archive-status{text-align:right;color:var(--muted);font-size:12px;line-height:1.8}
    .archive-cover{height:76px;border-radius:13px;background:linear-gradient(135deg,#715469,#c78976 58%,#e6d3c4);position:relative;overflow:hidden}
    .archive-cover::after{content:"";position:absolute;width:100px;height:150px;right:-20px;top:-30px;border:1px solid rgba(255,255,255,.4);border-radius:50%;transform:rotate(25deg)}
    .archive-arrow{font-size:22px;color:var(--plum);transition:.2s}
    .archive-item:hover .archive-arrow{transform:translateX(4px);color:var(--terracotta)}
    .notice-strip{
      display:flex;align-items:center;justify-content:space-between;gap:25px;margin:42px 0 0;padding:23px 25px;
      background:var(--sage-soft);border:1px solid rgba(120,128,114,.25);border-radius:var(--radius-lg)
    }
    .notice-title{display:flex;align-items:center;gap:12px;font-weight:700;color:#4f594d}
    .notice-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--sage);border-radius:50%;color:var(--sage)}
    .notice-strip p{margin:0;color:#5d665a;font-size:13px;line-height:1.8}
    .explore-section{padding:0 0 104px}
    .explore-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}
    .explore-head h2{font:700 34px/1.3 "Songti SC","STSong",serif;margin:0}
    .explore-head p{max-width:410px;margin:0;color:var(--muted);font-size:14px}
    .mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:180px 180px;gap:16px}
    .mosaic-card{
      position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:22px;color:var(--surface);
      display:flex;align-items:end;background:var(--plum)
    }
    .mosaic-card::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(90,59,82,.2),rgba(43,32,40,.8))}
    .mosaic-card::after{content:"";position:absolute;width:180px;height:180px;right:-55px;top:-60px;border:1px solid rgba(255,255,255,.24);border-radius:50%}
    .mosaic-card:first-child{grid-row:span 2;background:#66495c}
    .mosaic-card:nth-child(2){background:#ad776c}
    .mosaic-card:nth-child(3){background:#7b8173}
    .mosaic-card:nth-child(4){grid-column:2 / span 2;background:#8e6c77}
    .mosaic-text{position:relative;z-index:1}
    .mosaic-text h3{margin:8px 0 2px;font:700 23px/1.35 "Songti SC","STSong",serif}
    .mosaic-text p{margin:0;color:rgba(255,253,249,.76);font-size:13px}
    .subscribe-section{padding:0 0 110px}
    .subscribe-box{
      display:flex;align-items:center;justify-content:space-between;gap:38px;padding:36px 42px;
      border:1px solid rgba(90,59,82,.27);border-radius:var(--radius-xl);background:var(--surface)
    }
    .subscribe-box h2{margin:0 0 7px;font:700 28px/1.35 "Songti SC","STSong",serif}
    .subscribe-box p{margin:0;max-width:560px;color:var(--muted);font-size:14px}
    .subscribe-form{display:flex;gap:9px;min-width:390px}
    .subscribe-form input{
      min-width:0;flex:1;height:46px;padding:0 15px;border:1px solid var(--line);border-radius:999px;
      color:var(--ink);background:var(--paper);outline:none;font-size:14px
    }
    .subscribe-form input:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(120,128,114,.16)}
    .subscribe-form button{border:0}
    .form-note{margin-top:9px!important;font-size:11px!important;color:var(--sage)!important}
    .site-footer{padding:65px 0 25px;background:#30252d;color:rgba(255,253,249,.78)}
    .footer-grid{display:grid;grid-template-columns:1.6fr .8fr 1.15fr;gap:70px}
    .footer-brand{color:var(--surface);font:800 23px/1.3 "Songti SC","STSong",serif}
    .footer-copy{max-width:390px;margin:15px 0 0;color:rgba(255,253,249,.58);font-size:13px;line-height:1.9}
    .footer-heading{margin:0 0 15px;color:var(--sand);font-size:13px;font-weight:700}
    .footer-links{display:grid;gap:8px;color:rgba(255,253,249,.62);font-size:13px}
    .footer-links a:hover,.footer-bottom a:hover{color:var(--terracotta)}
    .legal-box{padding:15px 17px;border:1px solid rgba(233,221,207,.18);border-radius:14px;color:rgba(255,253,249,.58);font-size:12px;line-height:1.8}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-top:20px;border-top:1px solid rgba(233,221,207,.15);color:rgba(255,253,249,.42);font-size:12px}
    :focus-visible{outline:3px solid rgba(201,120,99,.48);outline-offset:3px}
    @media (max-width:1024px){
      .nav-links{display:none}.menu-toggle{display:block}
      .mobile-panel{display:none;margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}
      .mobile-panel.open{display:grid}
      .mobile-panel a{padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px}
      .mobile-panel a:last-child{border-bottom:0;color:var(--plum);font-weight:700}
      .topic-layout{grid-template-columns:1fr;gap:32px}.topic-aside{position:static}
      .topic-nav{display:flex;overflow:auto;border-left:0;border-bottom:1px solid var(--line);margin-top:15px}
      .topic-nav a{min-width:max-content;border-left:0;border-bottom:2px solid transparent}
      .topic-nav a:hover,.topic-nav a.active{border-left:0;border-bottom-color:var(--terracotta)}
      .footer-grid{gap:35px}
    }
    @media (max-width:768px){
      .container{width:min(100% - 30px,620px)}
      .site-header{top:15px}.nav-shell{min-height:60px;padding-left:15px}.brand{font-size:16px}
      .nav-cta{display:none}.age-badge{font-size:10px}.index-hero{padding:135px 0 60px}
      .index-hero h1{font-size:42px}.topic-section{padding:65px 0 75px}
      .archive-item{grid-template-columns:34px 1fr 28px;gap:12px;padding:21px 8px}
      .archive-cover{display:none}.archive-status{grid-column:2;text-align:left;margin-top:3px}
      .notice-strip{display:block}.notice-strip p{margin:12px 0 0 46px}
      .explore-section,.subscribe-section{padding-bottom:75px}
      .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:180px 150px 150px}
      .mosaic-card:first-child{grid-row:span 2}.mosaic-card:nth-child(4){grid-column:1 / span 2}
      .subscribe-box{display:block;padding:28px 23px}.subscribe-form{min-width:0;margin-top:22px}
      .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1 / span 2}
      .footer-bottom{display:block}.footer-bottom a{display:inline-block;margin-top:8px}
    }
    @media (max-width:520px){
      .age-badge{display:none}.index-hero h1{font-size:36px}.hero-buttons{gap:12px}
      .hero-buttons .btn-primary{padding:0 15px}.hero-description{font-size:15px}
      .list-head{display:block}.list-head p{margin-top:8px}
      .mosaic{display:flex;flex-direction:column}.mosaic-card{min-height:150px}.mosaic-card:first-child{min-height:230px}
      .subscribe-form{display:block}.subscribe-form button{width:100%;margin-top:9px}
      .footer-grid{display:block}.footer-grid>div{margin-bottom:30px}
    }
    @media (prefers-reduced-motion:reduce){
      *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
    }
