/* roulang page: index */
:root{
      --bg:#f5efe5;
      --bg-strong:#efe1cf;
      --panel:#fffaf1;
      --panel-2:#fff4e4;
      --ink:#231714;
      --muted:#6f5a4f;
      --soft:#9f8a7e;
      --brand:#8e1f12;
      --brand-2:#c8701c;
      --gold:#d5a33a;
      --jade:#2e7d67;
      --line:rgba(74,43,31,.14);
      --shadow:0 16px 34px rgba(64,29,16,.10);
      --shadow-strong:0 20px 44px rgba(82,27,11,.18);
      --r:10px;
      --r-sm:8px;
      --container:1180px;
      --gap:22px;
      --transition:180ms ease;
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
      background:
        linear-gradient(180deg, rgba(141,31,18,.06), rgba(141,31,18,0) 220px),
        radial-gradient(circle at top right, rgba(213,163,58,.12), transparent 28%),
        linear-gradient(180deg, var(--bg), #fff 110%);
      color:var(--ink);
      line-height:1.7;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    ::selection{background:rgba(142,31,18,.18)}
    .container{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }
    .skip{
      position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;
    }
    .skip:focus{left:16px;top:16px;width:auto;height:auto;z-index:50;background:#fff;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-sm)}
    .topbar{
      background:#1f1310;
      color:#f7eedd;
      font-size:13px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .topbar .container{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
      padding:9px 0;
    }
    .status-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#ffe7b8;
      white-space:nowrap;
    }
    .status-pill i{
      width:8px;height:8px;border-radius:50%;
      background:#f0b24a;display:inline-block;box-shadow:0 0 0 4px rgba(240,178,74,.16);
    }
    header{
      position:sticky;
      top:0;
      z-index:40;
      backdrop-filter:saturate(180%) blur(10px);
      background:rgba(245,239,229,.88);
      border-bottom:1px solid rgba(74,43,31,.10);
    }
    .nav-wrap{
      display:grid;
      grid-template-columns:auto minmax(280px,1fr) auto;
      gap:16px;
      align-items:center;
      padding:16px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      font-weight:800;
      letter-spacing:0;
    }
    .brand-mark{
      width:40px;height:40px;border-radius:10px;
      background:
        linear-gradient(145deg, #b83b27, #7f170f);
      display:grid;
      place-items:center;
      box-shadow:var(--shadow);
      color:#fff6e8;
      flex:none;
      position:relative;
      overflow:hidden;
    }
    .brand-mark::before{
      content:"";
      position:absolute;inset:-10px;
      background:linear-gradient(135deg, transparent 35%, rgba(255,255,255,.22) 36%, transparent 60%);
      transform:rotate(18deg);
    }
    .brand-mark span{
      position:relative;
      font-size:18px;
      line-height:1;
    }
    .brand strong{
      display:block;
      font-size:18px;
      color:var(--ink);
      line-height:1.15;
    }
    .brand em{
      display:block;
      font-style:normal;
      font-size:12px;
      color:var(--muted);
      margin-top:2px;
    }
    .searchbar{
      display:flex;
      align-items:center;
      gap:10px;
      background:#fff;
      border:1px solid rgba(74,43,31,.14);
      border-radius:999px;
      padding:10px 14px;
      box-shadow:0 6px 18px rgba(61,30,18,.06);
      transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition);
    }
    .searchbar:focus-within{
      border-color:rgba(142,31,18,.42);
      box-shadow:0 10px 24px rgba(142,31,18,.12);
      transform:translateY(-1px);
    }
    .searchbar svg{flex:none;color:var(--brand)}
    .searchbar input{
      border:0;
      outline:none;
      width:100%;
      background:transparent;
      color:var(--ink);
    }
    .searchbar input::placeholder{color:#9a8577}
    .search-actions{
      display:flex;
      gap:10px;
      align-items:center;
    }
    .btn{
      appearance:none;
      border:1px solid transparent;
      border-radius:999px;
      padding:11px 16px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      font-weight:700;
      transition:transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition), color var(--transition);
      white-space:nowrap;
    }
    .btn svg{width:16px;height:16px}
    .btn-primary{
      background:linear-gradient(135deg, var(--brand), #b53d24);
      color:#fff7ef;
      box-shadow:0 12px 24px rgba(142,31,18,.20);
    }
    .btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(142,31,18,.24)}
    .btn-secondary{
      background:#fff;
      border-color:rgba(74,43,31,.16);
      color:var(--ink);
    }
    .btn-secondary:hover{transform:translateY(-1px);border-color:rgba(142,31,18,.32);box-shadow:0 10px 22px rgba(61,30,18,.08)}
    nav{
      display:flex;
      align-items:center;
      gap:10px;
      justify-content:flex-end;
      flex-wrap:wrap;
    }
    .nav-link{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:10px 12px;
      border-radius:999px;
      color:var(--muted);
      font-weight:700;
      border:1px solid transparent;
      transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
    }
    .nav-link:hover{
      color:var(--brand);
      background:rgba(255,255,255,.72);
      border-color:rgba(142,31,18,.14);
      transform:translateY(-1px);
    }
    .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg, var(--brand), #b33a22);
      border-color:transparent;
      box-shadow:0 12px 20px rgba(142,31,18,.18);
    }
    .quick-tags{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin-top:12px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 10px;
      border-radius:999px;
      font-size:13px;
      border:1px solid rgba(74,43,31,.12);
      background:rgba(255,255,255,.65);
      color:var(--muted);
      transition:background var(--transition), transform var(--transition), border-color var(--transition);
    }
    .tag:hover{transform:translateY(-1px);border-color:rgba(142,31,18,.24);background:#fff}
    main{padding:22px 0 34px}
    section{
      margin:0 0 22px;
    }
    .hero{
      position:relative;
      overflow:hidden;
      border:1px solid rgba(74,43,31,.14);
      background:
        linear-gradient(135deg, rgba(142,31,18,.98), rgba(93,22,15,.97) 55%, rgba(36,21,18,.99)),
        linear-gradient(135deg, rgba(255,255,255,.1), transparent);
      color:#fff4e7;
      border-radius:18px;
      box-shadow:var(--shadow-strong);
    }
    .hero::before,
    .hero::after{
      content:"";
      position:absolute;
      inset:auto;
      pointer-events:none;
    }
    .hero::before{
      width:420px;height:420px;right:-160px;top:-140px;
      background:radial-gradient(circle, rgba(255,203,104,.18), transparent 63%);
    }
    .hero::after{
      left:-70px;bottom:-150px;width:380px;height:380px;
      background:radial-gradient(circle, rgba(255,255,255,.11), transparent 60%);
    }
    .hero-inner{
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
      gap:22px;
      align-items:stretch;
      padding:28px;
    }
    .hero-copy{
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:16px;
      min-width:0;
    }
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      width:fit-content;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      color:#ffe7be;
      font-size:13px;
      font-weight:700;
    }
    .kicker b{
      color:#fff;
      font-weight:800;
    }
    h1{
      margin:0;
      font-size:clamp(30px, 4vw, 54px);
      line-height:1.08;
      letter-spacing:0;
      color:#fffdf8;
      max-width:12em;
    }
    .hero p{
      margin:0;
      max-width:54em;
      color:rgba(255,244,231,.88);
      font-size:16px;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
      margin-top:4px;
    }
    .hero-metrics{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
    }
    .metric{
      min-width:150px;
      padding:12px 14px;
      border-radius:14px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.15);
      backdrop-filter:blur(6px);
    }
    .metric strong{
      display:block;
      font-size:20px;
      color:#fff7e8;
      line-height:1.1;
    }
    .metric span{
      display:block;
      margin-top:4px;
      font-size:13px;
      color:rgba(255,244,231,.82);
    }
    .hero-stage{
      background:linear-gradient(180deg, rgba(255,248,236,.16), rgba(255,255,255,.06));
      border:1px solid rgba(255,255,255,.14);
      border-radius:16px;
      padding:18px;
      display:grid;
      gap:14px;
      align-content:start;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .stage-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:12px;
    }
    .mini-card{
      background:rgba(255,248,238,.95);
      color:var(--ink);
      border-radius:14px;
      padding:13px;
      border:1px solid rgba(255,255,255,.7);
      box-shadow:0 10px 18px rgba(50,24,16,.11);
      min-height:112px;
    }
    .mini-card .label{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:12px;
      font-weight:800;
      color:var(--brand);
      text-transform:uppercase;
      letter-spacing:0;
    }
    .mini-card h3{
      margin:10px 0 8px;
      font-size:17px;
      line-height:1.2;
      color:var(--ink);
    }
    .mini-card p{
      margin:0;
      font-size:13px;
      color:var(--muted);
      line-height:1.6;
    }
    .mini-card.gold{
      background:linear-gradient(180deg, #fff8e8, #fff1cf);
      border-color:rgba(213,163,58,.26);
    }
    .mini-card.jade{
      background:linear-gradient(180deg, #eef9f4, #e2f3ec);
      border-color:rgba(46,125,103,.22);
    }
    .mini-card.red{
      background:linear-gradient(180deg, #fff2ef, #ffe7e2);
      border-color:rgba(142,31,18,.18);
    }
    .wheel{
      border-radius:16px;
      background:linear-gradient(180deg, rgba(255,247,236,.96), rgba(255,243,229,.90));
      border:1px solid rgba(255,255,255,.72);
      padding:14px;
      color:var(--ink);
    }
    .wheel-head{
      display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;
    }
    .wheel-head strong{font-size:15px}
    .wheel-head span{font-size:12px;color:var(--muted)}
    .wheel-graphic{
      aspect-ratio: 16 / 10;
      width:100%;
      border-radius:14px;
      background:
        radial-gradient(circle at center, rgba(142,31,18,.12), transparent 42%),
        linear-gradient(135deg, #fffdf7, #f4e4ce);
      border:1px solid rgba(74,43,31,.10);
      position:relative;
      overflow:hidden;
    }
    .wheel-graphic svg{
      width:100%;
      height:100%;
      display:block;
    }
    .section-title{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:14px;
    }
    .section-title h2{
      margin:0;
      font-size:24px;
      line-height:1.15;
      color:var(--ink);
    }
    .section-title p{
      margin:0;
      color:var(--muted);
      max-width:58ch;
      font-size:14px;
    }
    .band{
      border:1px solid rgba(74,43,31,.12);
      background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,248,240,.90));
      border-radius:18px;
      box-shadow:var(--shadow);
      padding:20px;
    }
    .band.red{
      background:linear-gradient(180deg, rgba(255,246,244,.96), rgba(255,235,231,.94));
    }
    .band.gold{
      background:linear-gradient(180deg, rgba(255,250,239,.98), rgba(255,245,219,.92));
    }
    .band.jade{
      background:linear-gradient(180deg, rgba(246,252,249,.98), rgba(232,245,240,.92));
    }
    .story-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0,1fr));
      gap:14px;
    }
    .story-card{
      grid-column:span 4;
      background:#fff;
      border:1px solid rgba(74,43,31,.12);
      border-radius:16px;
      padding:16px;
      box-shadow:0 10px 24px rgba(61,30,18,.06);
      min-height:180px;
      transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    }
    .story-card:hover{
      transform:translateY(-2px);
      border-color:rgba(142,31,18,.24);
      box-shadow:0 14px 26px rgba(61,30,18,.10);
    }
    .story-card .eyebrow{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:12px;
      font-size:13px;
      color:var(--muted);
    }
    .story-card .eyebrow b{
      color:var(--brand);
      font-weight:800;
    }
    .story-card h3{
      margin:0 0 10px;
      font-size:18px;
      line-height:1.25;
    }
    .story-card ul{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:8px;
      color:var(--muted);
      font-size:14px;
    }
    .story-card li{
      display:flex;
      gap:8px;
      align-items:flex-start;
    }
    .story-card li::before{
      content:"";
      width:8px;height:8px;border-radius:50%;
      background:var(--gold);
      margin-top:8px;
      flex:none;
      box-shadow:0 0 0 4px rgba(213,163,58,.12);
    }
    .featured{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:14px;
      align-items:stretch;
    }
    .featured-list{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
    }
    .feature-item{
      padding:16px;
      border-radius:16px;
      background:#fff;
      border:1px solid rgba(74,43,31,.12);
      box-shadow:0 10px 22px rgba(61,30,18,.06);
      min-height:168px;
    }
    .feature-item .tagline{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:var(--brand);
      font-size:12px;
      font-weight:800;
      margin-bottom:10px;
    }
    .feature-item h3{
      margin:0 0 10px;
      font-size:18px;
      line-height:1.25;
    }
    .feature-item p{
      margin:0;
      color:var(--muted);
      font-size:14px;
    }
    .feature-item .meta{
      margin-top:14px;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      padding:6px 9px;
      border-radius:999px;
      font-size:12px;
      background:rgba(142,31,18,.08);
      color:var(--brand);
      border:1px solid rgba(142,31,18,.12);
    }
    .scan-panel{
      border-radius:16px;
      background:linear-gradient(180deg, #241814, #120d0c);
      color:#f8ede0;
      border:1px solid rgba(255,255,255,.08);
      padding:18px;
      display:flex;
      flex-direction:column;
      gap:14px;
      box-shadow:var(--shadow-strong);
    }
    .scan-panel h3{
      margin:0;
      font-size:20px;
      color:#fff7ed;
    }
    .scan-panel p{
      margin:0;
      color:rgba(248,237,224,.82);
      font-size:14px;
    }
    .scan-list{
      display:grid;
      gap:10px;
    }
    .scan-row{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      padding:11px 12px;
      border-radius:12px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
    }
    .scan-row strong{font-size:14px}
    .scan-row span{font-size:12px;color:#d8c2a9}
    .timeline{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:14px;
    }
    .timeline-item{
      border-radius:16px;
      background:#fff;
      border:1px solid rgba(74,43,31,.12);
      padding:16px;
      box-shadow:0 8px 20px rgba(61,30,18,.06);
      position:relative;
    }
    .timeline-item::before{
      content:"";
      position:absolute;
      top:16px;
      left:16px;
      width:12px;height:12px;border-radius:50%;
      background:var(--brand);
      box-shadow:0 0 0 5px rgba(142,31,18,.12);
    }
    .timeline-item .step{
      padding-left:24px;
    }
    .timeline-item .step b{
      display:block;
      font-size:14px;
      color:var(--brand);
      margin-bottom:6px;
    }
    .timeline-item .step h3{
      margin:0 0 8px;
      font-size:17px;
    }
    .timeline-item .step p{
      margin:0;
      font-size:14px;
      color:var(--muted);
    }
    .proof-row{
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      align-items:stretch;
    }
    .proof{
      flex:1 1 220px;
      background:#fff;
      border:1px solid rgba(74,43,31,.12);
      border-radius:16px;
      padding:16px;
      box-shadow:0 10px 20px rgba(61,30,18,.06);
    }
    .proof strong{
      display:block;
      font-size:20px;
      color:var(--brand);
      line-height:1.1;
    }
    .proof span{
      display:block;
      margin-top:6px;
      color:var(--muted);
      font-size:13px;
    }
    .quote-strip{
      overflow:hidden;
      position:relative;
      border-radius:16px;
      border:1px solid rgba(74,43,31,.12);
      background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,246,239,.90));
      box-shadow:var(--shadow);
    }
    .quote-track{
      display:flex;
      gap:12px;
      padding:14px;
      overflow:auto;
      scroll-snap-type:x mandatory;
      scrollbar-width:none;
    }
    .quote-track::-webkit-scrollbar{display:none}
    .quote{
      flex:0 0 260px;
      scroll-snap-align:start;
      padding:14px;
      border-radius:14px;
      background:#fff;
      border:1px solid rgba(74,43,31,.12);
    }
    .quote .who{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      margin-bottom:8px;
      font-size:13px;
      color:var(--muted);
    }
    .quote .who b{color:var(--brand)}
    .quote p{
      margin:0;
      color:var(--ink);
      font-size:14px;
      line-height:1.7;
    }
    .cta-panel{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:14px;
      align-items:center;
      padding:22px;
      border-radius:18px;
      border:1px solid rgba(74,43,31,.12);
      background:
        linear-gradient(135deg, rgba(142,31,18,.95), rgba(74,25,16,.95)),
        linear-gradient(180deg, rgba(255,255,255,.08), transparent);
      color:#fff6ea;
      box-shadow:var(--shadow-strong);
    }
    .cta-panel h2{
      margin:0 0 10px;
      font-size:28px;
      line-height:1.16;
      color:#fffdf8;
    }
    .cta-panel p{
      margin:0;
      color:rgba(255,244,231,.86);
      max-width:52ch;
      font-size:15px;
    }
    .cta-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:16px;
    }
    .cta-actions .btn-secondary{
      background:transparent;
      color:#fff8ea;
      border-color:rgba(255,255,255,.22);
    }
    .cta-actions .btn-secondary:hover{
      background:rgba(255,255,255,.08);
      border-color:rgba(255,255,255,.36);
    }
    .cta-badge{
      display:grid;
      gap:10px;
      padding:18px;
      border-radius:16px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.14);
    }
    .cta-badge .row{
      display:flex;
      justify-content:space-between;
      gap:12px;
      padding:10px 0;
      border-bottom:1px solid rgba(255,255,255,.12);
    }
    .cta-badge .row:last-child{border-bottom:0;padding-bottom:0}
    .cta-badge .row span{color:rgba(255,244,231,.76);font-size:13px}
    .cta-badge .row b{color:#fff9ee}
    .content-list{
      display:grid;
      grid-template-columns:1fr 340px;
      gap:14px;
      align-items:start;
    }
    .list-wrap{
      display:grid;
      gap:12px;
    }
    .post-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:start;
      padding:15px;
      border-radius:16px;
      border:1px solid rgba(74,43,31,.12);
      background:#fff;
      box-shadow:0 10px 22px rgba(61,30,18,.05);
      transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    }
    .post-item:hover{
      transform:translateY(-2px);
      border-color:rgba(142,31,18,.24);
      box-shadow:0 14px 28px rgba(61,30,18,.09);
    }
    .post-dot{
      width:12px;height:12px;border-radius:50%;
      background:var(--gold);
      margin-top:8px;
      box-shadow:0 0 0 5px rgba(213,163,58,.12);
      flex:none;
    }
    .post-main h3{
      margin:0 0 8px;
      font-size:17px;
      line-height:1.35;
    }
    .post-main p{
      margin:0 0 10px;
      color:var(--muted);
      font-size:14px;
    }
    .post-meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      font-size:12px;
      color:var(--soft);
    }
    .post-meta .chip{
      padding:5px 8px;
    }
    .post-time{
      font-size:12px;
      color:var(--soft);
      white-space:nowrap;
    }
    .side-box{
      padding:16px;
      border-radius:16px;
      border:1px solid rgba(74,43,31,.12);
      background:linear-gradient(180deg, #fff, #fff7ef);
      box-shadow:0 10px 22px rgba(61,30,18,.05);
    }
    .side-box h3{
      margin:0 0 10px;
      font-size:18px;
    }
    .side-box p{
      margin:0 0 12px;
      color:var(--muted);
      font-size:14px;
    }
    .side-list{
      display:grid;
      gap:10px;
    }
    .side-list a{
      display:flex;
      justify-content:space-between;
      gap:12px;
      padding:11px 12px;
      border-radius:12px;
      background:#fff;
      border:1px solid rgba(74,43,31,.10);
      color:var(--ink);
      transition:transform var(--transition), border-color var(--transition), background var(--transition);
    }
    .side-list a:hover{
      transform:translateY(-1px);
      border-color:rgba(142,31,18,.24);
      background:#fffdfa;
    }
    .faq-list{
      display:grid;
      gap:12px;
    }
    .faq-item{
      border-radius:16px;
      overflow:hidden;
      border:1px solid rgba(74,43,31,.12);
      background:#fff;
      box-shadow:0 10px 22px rgba(61,30,18,.05);
    }
    .faq-q{
      width:100%;
      text-align:left;
      border:0;
      background:transparent;
      padding:16px 18px;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
      color:var(--ink);
      font-weight:800;
    }
    .faq-q span{
      font-size:16px;
      line-height:1.35;
    }
    .faq-q svg{
      color:var(--brand);
      flex:none;
      transition:transform var(--transition);
    }
    .faq-item.open .faq-q svg{transform:rotate(180deg)}
    .faq-a{
      display:none;
      padding:0 18px 16px;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .faq-item.open .faq-a{display:block}
    footer{
      margin-top:22px;
      border-top:1px solid rgba(74,43,31,.12);
      background:#1d1310;
      color:#f1e6d8;
    }
    .footer-inner{
      padding:26px 0;
      display:grid;
      gap:18px;
    }
    .footer-top{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:18px;
      align-items:start;
    }
    .footer-brand strong{
      font-size:18px;
      color:#fff8ef;
      display:block;
      margin-bottom:8px;
    }
    .footer-brand p{
      margin:0;
      color:rgba(241,230,216,.80);
      font-size:14px;
      max-width:58ch;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      justify-content:flex-end;
    }
    .footer-links a{
      color:#fff0dc;
      opacity:.88;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.08);
      transition:background var(--transition), transform var(--transition), opacity var(--transition);
    }
    .footer-links a:hover{
      background:rgba(255,255,255,.07);
      transform:translateY(-1px);
      opacity:1;
    }
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      padding-top:14px;
      border-top:1px solid rgba(255,255,255,.08);
      color:rgba(241,230,216,.72);
      font-size:13px;
    }
    .empty-state{
      padding:22px;
      border-radius:16px;
      border:1px dashed rgba(74,43,31,.22);
      background:rgba(255,255,255,.72);
      color:var(--muted);
      text-align:center;
    }
    .anchors{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:10px;
    }
    .anchors a{
      display:inline-flex;
      align-items:center;
      padding:8px 11px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      color:#fff6ea;
      border:1px solid rgba(255,255,255,.12);
      font-size:13px;
      transition:transform var(--transition), background var(--transition);
    }
    .anchors a:hover{transform:translateY(-1px);background:rgba(255,255,255,.12)}
    .anchor-dark a{
      background:#fff;
      color:var(--ink);
      border-color:rgba(74,43,31,.10);
    }
    .anchor-dark a:hover{background:#fffdf8}
    .icon{
      width:16px;height:16px;flex:none
    }
    .muted{color:var(--muted)}
    .small{font-size:13px}
    .sr-only{
      position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
    }
    :focus-visible{
      outline:3px solid rgba(213,163,58,.55);
      outline-offset:2px;
    }
    @media (max-width: 1080px){
      .nav-wrap{grid-template-columns:1fr;gap:12px}
      nav{justify-content:flex-start}
      .search-actions{justify-content:space-between}
      .hero-inner,.featured,.content-list,.cta-panel,.footer-top{grid-template-columns:1fr}
      .story-grid,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media (max-width: 820px){
      .hero-inner{padding:22px}
      .section-title{flex-direction:column;align-items:flex-start}
      .story-grid,.timeline,.featured-list{grid-template-columns:1fr}
      .content-list{grid-template-columns:1fr}
      .post-item{grid-template-columns:auto 1fr}
      .post-time{grid-column:2}
    }
    @media (max-width: 620px){
      .container{width:min(var(--container), calc(100% - 20px))}
      main{padding-top:16px}
      .topbar .container{flex-direction:column;align-items:flex-start}
      .brand strong{font-size:17px}
      .searchbar{border-radius:16px}
      .search-actions{width:100%;flex-wrap:wrap}
      .btn{width:auto}
      .hero-inner{padding:18px}
      .hero-actions,.cta-actions{width:100%}
      .hero-actions .btn,.cta-actions .btn{flex:1 1 140px}
      .hero-metrics{display:grid;grid-template-columns:1fr 1fr;width:100%}
      .metric{min-width:0}
      .stage-grid{grid-template-columns:1fr}
      .section-title h2{font-size:21px}
      h1{max-width:none}
      .cta-panel{padding:18px}
      .cta-panel h2{font-size:24px}
      .post-item{padding:13px}
      .quote{flex-basis:230px}
      .footer-links{justify-content:flex-start}
    }

/* roulang page: category1 */
:root{
      --bg:#0e0b09;
      --bg-soft:#17110d;
      --panel:#1f1712;
      --panel-2:#261d17;
      --card:#f7f1e8;
      --card-2:#fffaf2;
      --text:#1f1712;
      --muted:#6e5c50;
      --white:#fffaf2;
      --line:rgba(255,255,255,.08);
      --line-soft:rgba(31,23,18,.10);
      --primary:#c53f22;
      --primary-2:#e06a2e;
      --gold:#d7a23d;
      --gold-2:#f1c96a;
      --green:#2d7f66;
      --blue:#315d95;
      --shadow:0 18px 50px rgba(0,0,0,.22);
      --shadow-soft:0 10px 26px rgba(0,0,0,.14);
      --radius:14px;
      --radius-sm:10px;
      --radius-xs:8px;
      --container:1180px;
      --gap:24px;
      --transition:.22s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Segoe UI,Roboto,Helvetica,Arial,sans-serif;
      color:var(--white);
      background:
        radial-gradient(1200px 800px at 15% -10%, rgba(245,198,92,.18), transparent 55%),
        radial-gradient(900px 680px at 90% 0%, rgba(197,63,34,.20), transparent 55%),
        linear-gradient(180deg, #120d0a 0%, #0e0b09 18%, #110d0a 100%);
      line-height:1.7;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    ::selection{background:rgba(215,162,61,.28);color:#fff}
    .container{
      width:min(calc(100% - 32px),var(--container));
      margin:0 auto;
    }
    .sr-only{
      position:absolute!important;
      width:1px;height:1px;
      padding:0;margin:-1px;
      overflow:hidden;clip:rect(0,0,0,0);
      white-space:nowrap;border:0;
    }
    .top-strip{
      background:linear-gradient(90deg, rgba(215,162,61,.22), rgba(197,63,34,.22), rgba(45,127,102,.16));
      border-bottom:1px solid rgba(255,255,255,.08);
      font-size:13px;
      color:rgba(255,250,242,.86);
    }
    .top-strip .container{
      display:flex;
      justify-content:space-between;
      gap:16px;
      padding:10px 0;
      align-items:center;
      flex-wrap:wrap;
    }
    .chip-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.09);
      color:#fff6e9;
    }
    header{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter:blur(14px);
      background:rgba(14,11,9,.76);
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .nav-wrap{
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      gap:18px;
      align-items:center;
      padding:14px 0;
    }
    .brand{
      display:inline-flex;
      gap:12px;
      align-items:center;
      min-width:210px;
    }
    .brand strong{
      display:block;
      font-size:18px;
      letter-spacing:.5px;
      line-height:1.1;
    }
    .brand em{
      display:block;
      margin-top:3px;
      font-style:normal;
      font-size:12px;
      color:rgba(255,250,242,.68);
      line-height:1.2;
    }
    .brand-mark{
      width:44px;height:44px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background:
        linear-gradient(145deg, rgba(215,162,61,1), rgba(197,63,34,1));
      color:#fff;
      font-weight:800;
      box-shadow:0 10px 24px rgba(197,63,34,.30);
      position:relative;
      overflow:hidden;
    }
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:-1px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:12px;
    }
    .searchbar{
      display:flex;
      align-items:center;
      gap:10px;
      background:rgba(255,250,242,.96);
      border:1px solid rgba(255,255,255,.15);
      border-radius:999px;
      padding:10px 12px 10px 14px;
      box-shadow:var(--shadow-soft);
      min-width:0;
    }
    .searchbar .icon{
      width:18px;height:18px;
      color:var(--primary);
      flex:0 0 auto;
    }
    .searchbar input{
      border:0;
      outline:none;
      background:transparent;
      color:var(--text);
      min-width:0;
      width:100%;
      font-size:15px;
    }
    .searchbar input::placeholder{color:#8b7768}
    .btn{
      border:0;
      cursor:pointer;
      border-radius:999px;
      transition:transform var(--transition), background var(--transition), box-shadow var(--transition), border-color var(--transition);
      white-space:nowrap;
    }
    .btn:focus-visible,
    .nav-link:focus-visible,
    .tag:focus-visible,
    .footer-links a:focus-visible,
    .list-link:focus-visible,
    summary:focus-visible{
      outline:3px solid rgba(215,162,61,.45);
      outline-offset:2px;
    }
    .btn-primary{
      background:linear-gradient(135deg, var(--primary), var(--primary-2));
      color:#fff;
      padding:11px 18px;
      font-weight:700;
      box-shadow:0 10px 18px rgba(197,63,34,.22);
    }
    .btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 22px rgba(197,63,34,.28)}
    .btn-ghost{
      background:rgba(255,255,255,.06);
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      padding:11px 16px;
    }
    .btn-ghost:hover{transform:translateY(-1px);background:rgba(255,255,255,.1)}
    .quick-tags{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin-top:10px;
      justify-content:flex-end;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      color:rgba(255,250,242,.86);
      font-size:13px;
      transition:all var(--transition);
    }
    .tag:hover{background:rgba(255,255,255,.11);transform:translateY(-1px)}
    nav[aria-label="主导航"]{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .nav-link{
      padding:10px 14px;
      border-radius:999px;
      color:rgba(255,250,242,.82);
      background:transparent;
      border:1px solid transparent;
      transition:all var(--transition);
      font-size:14px;
    }
    .nav-link:hover{
      background:rgba(255,255,255,.06);
      border-color:rgba(255,255,255,.1);
      transform:translateY(-1px);
    }
    .nav-link.active{
      background:rgba(215,162,61,.16);
      border-color:rgba(215,162,61,.35);
      color:#fff7e7;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
    }
    .hero{
      padding:28px 0 8px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:22px;
      align-items:stretch;
    }
    .hero-main,
    .hero-side,
    .section-card{
      position:relative;
      overflow:hidden;
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      border:1px solid rgba(255,255,255,.08);
    }
    .hero-main{
      background:
        linear-gradient(145deg, rgba(31,23,18,.98), rgba(19,14,10,.96)),
        radial-gradient(1100px 500px at 50% 0%, rgba(215,162,61,.20), transparent 40%);
      padding:28px;
      min-height:540px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .hero-main::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(255,255,255,.06), transparent 18%, transparent 82%, rgba(255,255,255,.05));
      pointer-events:none;
    }
    .limit-bar{
      display:flex;
      gap:10px;
      align-items:center;
      flex-wrap:wrap;
      margin-bottom:18px;
      color:#fff4de;
    }
    .limit-badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 11px;
      border-radius:999px;
      background:rgba(197,63,34,.20);
      border:1px solid rgba(215,162,61,.22);
      color:#ffe9c4;
      font-size:13px;
      font-weight:700;
    }
    .limit-text{
      font-size:14px;
      color:rgba(255,250,242,.76);
    }
    .hero-copy{
      position:relative;
      z-index:1;
      max-width:620px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#ffd790;
      font-size:14px;
      font-weight:700;
      letter-spacing:.5px;
      text-transform:none;
      margin-bottom:12px;
    }
    .eyebrow::before{
      content:"";
      width:28px;height:1px;
      background:linear-gradient(90deg, transparent, #ffd790);
    }
    h1{
      margin:0;
      font-size:clamp(32px, 4.2vw, 58px);
      line-height:1.06;
      letter-spacing:-.02em;
    }
    .hero-copy p{
      margin:16px 0 0;
      font-size:16px;
      color:rgba(255,250,242,.78);
      max-width:58ch;
    }
    .hero-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:22px;
    }
    .hero-stats{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:26px;
      position:relative;
      z-index:1;
    }
    .stat{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      border-radius:var(--radius-sm);
      padding:14px 14px 12px;
    }
    .stat strong{
      display:block;
      font-size:26px;
      line-height:1.05;
      color:#fff;
      margin-bottom:4px;
    }
    .stat span{
      display:block;
      font-size:13px;
      color:rgba(255,250,242,.74);
    }
    .hero-visual{
      position:absolute;
      right:-18px;
      top:18px;
      width:min(360px, 40vw);
      height:calc(100% - 36px);
      border-radius:22px;
      background:
        linear-gradient(180deg, rgba(255,250,242,.08), rgba(255,250,242,.03)),
        radial-gradient(500px 240px at 50% 0%, rgba(215,162,61,.28), transparent 60%);
      border:1px solid rgba(255,255,255,.08);
      transform:rotate(0.5deg);
      overflow:hidden;
      display:flex;
      align-items:end;
      justify-content:center;
      padding:20px;
      pointer-events:none;
    }
    .zodiac-wheel{
      width:min(100%, 280px);
      aspect-ratio:1;
      border-radius:50%;
      position:relative;
      background:
        radial-gradient(circle at center, rgba(31,23,18,.88) 0 22%, rgba(255,255,255,.02) 22% 24%, transparent 24%),
        conic-gradient(from 0deg,
          rgba(215,162,61,.88),
          rgba(197,63,34,.88),
          rgba(45,127,102,.78),
          rgba(49,93,149,.82),
          rgba(215,162,61,.88));
      box-shadow:inset 0 0 0 10px rgba(255,250,242,.06), 0 22px 40px rgba(0,0,0,.28);
      display:grid;
      place-items:center;
    }
    .zodiac-wheel::before,
    .zodiac-wheel::after{
      content:"";
      position:absolute;
      inset:14px;
      border-radius:50%;
      border:1px dashed rgba(255,250,242,.28);
    }
    .zodiac-wheel::after{
      inset:54px;
      border-style:solid;
      border-color:rgba(255,250,242,.12);
    }
    .wheel-core{
      width:132px;
      height:132px;
      border-radius:50%;
      background:linear-gradient(145deg, rgba(31,23,18,.96), rgba(39,28,20,.9));
      border:1px solid rgba(255,250,242,.08);
      display:grid;
      place-items:center;
      text-align:center;
      padding:18px;
      box-shadow:inset 0 0 24px rgba(0,0,0,.22);
    }
    .wheel-core strong{
      display:block;
      font-size:20px;
      line-height:1.1;
      margin-bottom:6px;
    }
    .wheel-core span{
      display:block;
      font-size:12px;
      color:rgba(255,250,242,.72);
    }
    .hero-side{
      background:linear-gradient(180deg, rgba(247,241,232,.96), rgba(255,250,242,.96));
      color:var(--text);
      padding:22px;
      min-height:540px;
      display:flex;
      flex-direction:column;
      gap:16px;
    }
    .side-title{
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:12px;
      flex-wrap:wrap;
      margin-bottom:2px;
    }
    .side-title h2,
    .section-head h2{
      margin:0;
      font-size:22px;
      line-height:1.18;
      color:var(--text);
    }
    .side-title p,
    .section-head p{
      margin:0;
      color:var(--muted);
      font-size:14px;
    }
    .fragment-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .fragment{
      background:linear-gradient(180deg, #fffdf9, #f8f1e6);
      border:1px solid rgba(31,23,18,.08);
      border-radius:12px;
      padding:14px;
      min-height:138px;
      box-shadow:0 10px 20px rgba(31,23,18,.06);
      transition:transform var(--transition), box-shadow var(--transition);
    }
    .fragment:hover{transform:translateY(-2px);box-shadow:0 16px 24px rgba(31,23,18,.08)}
    .fragment .mini{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:12px;
      color:var(--primary);
      font-weight:700;
      margin-bottom:10px;
    }
    .fragment h3{
      margin:0 0 8px;
      font-size:16px;
      line-height:1.25;
      color:var(--text);
    }
    .fragment p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.65;
    }
    .fragment .meta{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin-top:12px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      padding:4px 8px;
      border-radius:999px;
      background:rgba(197,63,34,.08);
      color:var(--primary);
      font-size:12px;
      font-weight:700;
    }
    .badge.gold{background:rgba(215,162,61,.12);color:#9c6d12}
    .badge.green{background:rgba(45,127,102,.10);color:var(--green)}
    .badge.blue{background:rgba(49,93,149,.10);color:var(--blue)}
    .side-panel{
      background:linear-gradient(180deg, rgba(255,250,242,.92), rgba(247,241,232,.98));
      border-radius:12px;
      padding:16px;
      border:1px solid rgba(31,23,18,.08);
    }
    .side-panel h3{
      margin:0 0 10px;
      color:var(--text);
      font-size:17px;
    }
    .schedule{
      display:grid;
      gap:10px;
    }
    .schedule-item{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:flex-start;
      border-top:1px solid rgba(31,23,18,.08);
      padding-top:10px;
    }
    .schedule-item:first-child{border-top:0;padding-top:0}
    .schedule-item strong{
      display:block;
      color:var(--text);
      font-size:14px;
      margin-bottom:3px;
    }
    .schedule-item span{
      display:block;
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
    }
    .schedule-item em{
      font-style:normal;
      color:var(--primary);
      font-weight:800;
      font-size:13px;
      white-space:nowrap;
    }
    main{
      padding:22px 0 56px;
    }
    .section{
      margin-top:22px;
    }
    .section-card{
      background:linear-gradient(180deg, rgba(255,250,242,.97), rgba(247,241,232,.97));
      color:var(--text);
      padding:22px;
    }
    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:12px;
      margin-bottom:18px;
      flex-wrap:wrap;
    }
    .section-head .desc{
      max-width:720px;
    }
    .panel-grid{
      display:grid;
      grid-template-columns:repeat(12,minmax(0,1fr));
      gap:16px;
    }
    .card{
      background:linear-gradient(180deg, #fffdf9, #f8f1e6);
      border:1px solid rgba(31,23,18,.08);
      border-radius:12px;
      box-shadow:0 8px 18px rgba(31,23,18,.06);
      overflow:hidden;
    }
    .hot-card{
      grid-column:span 4;
      padding:18px;
      min-height:240px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .hot-card .top{
      display:flex;
      justify-content:space-between;
      gap:10px;
      align-items:flex-start;
    }
    .hot-card h3{
      margin:0;
      font-size:18px;
      line-height:1.22;
      color:var(--text);
    }
    .hot-card p{
      margin:10px 0 0;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .hot-card .score{
      width:54px;
      height:54px;
      border-radius:14px;
      background:linear-gradient(145deg, rgba(215,162,61,.95), rgba(197,63,34,.95));
      color:#fff;
      display:grid;
      place-items:center;
      font-weight:800;
      flex:0 0 auto;
      box-shadow:0 12px 20px rgba(197,63,34,.18);
    }
    .hot-card ul{
      margin:14px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:8px;
    }
    .hot-card li{
      display:flex;
      gap:8px;
      align-items:flex-start;
      color:var(--text);
      font-size:13px;
    }
    .dot{
      width:7px;height:7px;
      border-radius:50%;
      background:var(--gold);
      margin-top:.55em;
      flex:0 0 auto;
      box-shadow:0 0 0 3px rgba(215,162,61,.12);
    }
    .list-grid{
      grid-column:span 8;
      display:grid;
      gap:12px;
    }
    .list-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:center;
      padding:16px 18px;
      border-radius:12px;
      background:#fffdf9;
      border:1px solid rgba(31,23,18,.08);
      transition:transform var(--transition), box-shadow var(--transition);
    }
    .list-item:hover{
      transform:translateY(-2px);
      box-shadow:0 14px 22px rgba(31,23,18,.08);
    }
    .list-icon{
      width:42px;height:42px;
      border-radius:12px;
      display:grid;
      place-items:center;
      background:linear-gradient(145deg, rgba(197,63,34,.14), rgba(215,162,61,.16));
      color:var(--primary);
      font-weight:800;
    }
    .list-text h4{
      margin:0 0 5px;
      font-size:16px;
      line-height:1.25;
      color:var(--text);
    }
    .list-text p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .list-meta{
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap:8px;
      white-space:nowrap;
    }
    .time{
      color:var(--muted);
      font-size:12px;
    }
    .list-link{
      color:var(--primary);
      font-weight:700;
      font-size:13px;
    }
    .list-link:hover{text-decoration:underline}
    .social-section{
      background:linear-gradient(180deg, rgba(31,23,18,.98), rgba(23,17,13,.98));
      color:#fff;
      padding:22px;
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      border:1px solid rgba(255,255,255,.08);
    }
    .social-head{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:end;
      flex-wrap:wrap;
      margin-bottom:16px;
    }
    .social-head h2{
      margin:0;
      font-size:22px;
      line-height:1.18;
    }
    .social-head p{
      margin:0;
      color:rgba(255,250,242,.72);
      font-size:14px;
      max-width:700px;
    }
    .quote-row{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
    }
    .quote{
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.09);
      border-radius:12px;
      padding:16px;
      min-height:146px;
    }
    .quote .avatar{
      width:34px;height:34px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:linear-gradient(145deg, rgba(215,162,61,.92), rgba(197,63,34,.92));
      color:#fff;
      font-weight:800;
      margin-bottom:10px;
    }
    .quote p{
      margin:0;
      color:rgba(255,250,242,.86);
      font-size:14px;
      line-height:1.7;
    }
    .quote span{
      display:block;
      margin-top:10px;
      color:rgba(255,250,242,.58);
      font-size:12px;
    }
    .follow-section{
      background:
        linear-gradient(135deg, rgba(197,63,34,.98), rgba(215,162,61,.96));
      color:#fff;
      padding:24px;
      border-radius:var(--radius);
      box-shadow:0 20px 42px rgba(197,63,34,.20);
      border:1px solid rgba(255,255,255,.12);
    }
    .follow-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:18px;
      align-items:center;
    }
    .follow-grid h2{
      margin:0 0 10px;
      font-size:26px;
      line-height:1.15;
    }
    .follow-grid p{
      margin:0;
      color:rgba(255,250,242,.88);
      font-size:15px;
      max-width:60ch;
    }
    .follow-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .follow-actions .btn-primary{
      background:#fff;
      color:var(--primary);
      box-shadow:none;
    }
    .follow-actions .btn-primary:hover{background:#fff7eb}
    .follow-actions .btn-ghost{
      background:rgba(255,255,255,.12);
      border-color:rgba(255,255,255,.24);
      color:#fff;
    }
    .latest-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }
    .news-card{
      padding:18px;
      min-height:210px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .news-card .head{
      display:flex;
      justify-content:space-between;
      gap:10px;
      align-items:flex-start;
    }
    .news-card h3{
      margin:0;
      font-size:17px;
      line-height:1.28;
      color:var(--text);
    }
    .news-card p{
      margin:10px 0 0;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .news-card .footer{
      display:flex;
      justify-content:space-between;
      gap:10px;
      margin-top:14px;
      align-items:center;
    }
    .news-card .category{
      color:var(--primary);
      font-weight:700;
      font-size:12px;
    }
    .faq{
      display:grid;
      gap:12px;
    }
    details{
      background:#fffdf9;
      border:1px solid rgba(31,23,18,.08);
      border-radius:12px;
      box-shadow:0 8px 18px rgba(31,23,18,.05);
      overflow:hidden;
    }
    summary{
      list-style:none;
      cursor:pointer;
      padding:16px 18px;
      font-weight:700;
      color:var(--text);
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:center;
    }
    summary::-webkit-details-marker{display:none}
    summary::after{
      content:"+";
      font-size:20px;
      color:var(--primary);
      flex:0 0 auto;
    }
    details[open] summary::after{content:"–"}
    details .answer{
      padding:0 18px 18px;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .section-compact{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
    }
    .mini-panel{
      background:#fffdf9;
      border:1px solid rgba(31,23,18,.08);
      border-radius:12px;
      padding:18px;
      box-shadow:0 8px 18px rgba(31,23,18,.05);
    }
    .mini-panel h3{
      margin:0 0 10px;
      color:var(--text);
      font-size:18px;
    }
    .mini-list{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .mini-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }
    .mini-list .marker{
      width:20px;height:20px;
      border-radius:6px;
      background:rgba(197,63,34,.12);
      color:var(--primary);
      display:grid;
      place-items:center;
      font-size:12px;
      font-weight:800;
      flex:0 0 auto;
      margin-top:.18em;
    }
    footer{
      margin-top:28px;
      padding:18px 0 26px;
      color:rgba(255,250,242,.82);
      background:linear-gradient(180deg, rgba(14,11,9,0), rgba(14,11,9,.4));
      border-top:1px solid rgba(255,255,255,.08);
    }
    .footer-inner{
      padding-top:10px;
    }
    .footer-top{
      display:flex;
      justify-content:space-between;
      gap:22px;
      align-items:flex-start;
      flex-wrap:wrap;
      padding:12px 0 18px;
    }
    .footer-brand{
      max-width:640px;
    }
    .footer-brand strong{
      display:block;
      font-size:18px;
      margin-bottom:8px;
      color:#fff;
    }
    .footer-brand p{
      margin:0;
      color:rgba(255,250,242,.72);
      font-size:14px;
      line-height:1.8;
    }
    .footer-links{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .footer-links a{
      color:rgba(255,250,242,.82);
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      transition:all var(--transition);
      font-size:13px;
    }
    .footer-links a:hover{
      background:rgba(255,255,255,.08);
      transform:translateY(-1px);
    }
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      padding-top:14px;
      border-top:1px solid rgba(255,255,255,.08);
      color:rgba(255,250,242,.58);
      font-size:13px;
    }
    .section-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:12px;
      font-weight:800;
      letter-spacing:.4px;
      color:var(--primary);
      text-transform:uppercase;
      margin-bottom:10px;
    }
    .section-label::before{
      content:"";
      width:16px;height:16px;
      border-radius:5px;
      background:rgba(197,63,34,.12);
      border:1px solid rgba(197,63,34,.18);
    }
    .muted{
      color:var(--muted);
    }
    .divider{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(31,23,18,.12), transparent);
      margin:18px 0;
    }
    .empty-state{
      padding:18px;
      border:1px dashed rgba(31,23,18,.16);
      border-radius:12px;
      color:var(--muted);
      background:rgba(255,255,255,.55);
      text-align:center;
    }
    @media (max-width: 1080px){
      .nav-wrap{
        grid-template-columns:1fr;
      }
      nav[aria-label="主导航"]{
        justify-content:flex-start;
      }
      .hero-grid,
      .follow-grid,
      .section-compact,
      .latest-grid,
      .quote-row{
        grid-template-columns:1fr;
      }
      .hero-main{
        min-height:auto;
        padding-bottom:26px;
      }
      .hero-visual{
        position:relative;
        inset:auto;
        width:100%;
        height:auto;
        margin-top:22px;
        transform:none;
        padding:26px 18px;
      }
      .hero-stats,
      .fragment-grid{
        grid-template-columns:1fr 1fr;
      }
      .panel-grid{
        grid-template-columns:1fr;
      }
      .hot-card,
      .list-grid{
        grid-column:1 / -1;
      }
      .follow-actions{
        justify-content:flex-start;
      }
    }
    @media (max-width: 768px){
      .top-strip .container{
        padding:9px 0;
      }
      .searchbar{
        padding:9px 11px 9px 12px;
        border-radius:16px;
        flex-wrap:wrap;
      }
      .searchbar input{
        flex:1 1 180px;
      }
      .searchbar .btn-primary{
        width:100%;
      }
      .hero{
        padding-top:18px;
      }
      .hero-main,
      .hero-side,
      .section-card,
      .social-section,
      .follow-section{
        padding:18px;
      }
      h1{
        font-size:clamp(30px, 9vw, 42px);
      }
      .hero-stats,
      .fragment-grid,
      .latest-grid,
      .quote-row{
        grid-template-columns:1fr;
      }
      .list-item{
        grid-template-columns:1fr;
        align-items:flex-start;
      }
      .list-meta{
        align-items:flex-start;
      }
      .follow-grid{
        grid-template-columns:1fr;
      }
      .footer-top,
      .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
      }
    }
    @media (max-width: 520px){
      .container{
        width:min(calc(100% - 22px), var(--container));
      }
      .brand{
        min-width:0;
      }
      .brand strong{
        font-size:16px;
      }
      .brand em{
        font-size:11px;
      }
      .nav-link,
      .tag{
        font-size:12px;
      }
      .hero-copy p,
      .side-title p,
      .section-head p,
      .social-head p{
        font-size:13px;
      }
      .hero-actions,
      .quick-tags{
        width:100%;
      }
      .btn-primary,
      .btn-ghost{
        width:100%;
        justify-content:center;
      }
      summary{
        padding:14px 14px;
        font-size:14px;
      }
      .answer{
        padding:0 14px 14px;
      }
    }

/* roulang page: article */
:root{
      --bg:#f6efe6;
      --bg-2:#fff8f1;
      --panel:#ffffff;
      --panel-2:#fff3e5;
      --line:#e8d7c5;
      --text:#2b1d14;
      --muted:#6d5b4f;
      --gold:#c78a2b;
      --gold-2:#e3b55a;
      --red:#b93a2f;
      --red-2:#d85a42;
      --green:#2f7d57;
      --blue:#2d5b8f;
      --shadow:0 12px 30px rgba(68, 39, 22, .08);
      --shadow-2:0 18px 42px rgba(68, 39, 22, .12);
      --radius:14px;
      --radius-sm:10px;
      --radius-xs:8px;
      --container:1180px;
      --gap:24px;
      --speed:.22s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(215, 90, 66, .12), transparent 28%),
        radial-gradient(circle at top right, rgba(199, 138, 43, .12), transparent 24%),
        linear-gradient(180deg, #fffaf4 0%, var(--bg) 100%);
      line-height:1.7;
    }
    a{color:inherit;text-decoration:none;transition:all var(--speed)}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid rgba(199,138,43,.35); outline-offset:2px}
    .container{width:min(var(--container), calc(100% - 32px)); margin:0 auto}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:rect(0,0,0,0);white-space:nowrap;border:0}

    header{
      position:sticky;top:0;z-index:50;
      backdrop-filter:saturate(140%) blur(12px);
      background:rgba(255,248,241,.88);
      border-bottom:1px solid rgba(232,215,197,.8);
    }
    .nav-wrap{
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      gap:18px;
      align-items:center;
      padding:14px 0;
    }
    .brand{
      display:flex;align-items:center;gap:12px;min-width:0
    }
    .brand-mark{
      width:42px;height:42px;border-radius:12px;
      background:linear-gradient(145deg,var(--red),#8f241d);
      color:#fff;display:grid;place-items:center;
      font-weight:800;box-shadow:var(--shadow);
      flex:0 0 auto;
    }
    .brand-mark span{font-size:18px;line-height:1}
    .brand strong{
      display:block;font-size:17px;line-height:1.1;letter-spacing:.2px
    }
    .brand em{
      display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:4px
    }

    .searchbar{
      display:flex;align-items:center;gap:10px;
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:999px;
      padding:10px 12px;
      box-shadow:0 6px 18px rgba(68,39,22,.05);
    }
    .searchbar .icon{width:18px;height:18px;color:var(--gold);flex:0 0 auto}
    .searchbar input{
      border:0;outline:0;background:transparent;min-width:0;flex:1;
      color:var(--text);
    }
    .searchbar input::placeholder{color:#9a8b7e}
    .btn{
      border:0;border-radius:999px;
      padding:10px 16px;
      font-weight:700;
      transition:transform var(--speed), background var(--speed), box-shadow var(--speed), color var(--speed), border-color var(--speed);
    }
    .btn:hover{transform:translateY(-1px)}
    .btn-primary{
      background:linear-gradient(135deg,var(--red),var(--red-2));
      color:#fff;
      box-shadow:0 10px 22px rgba(185,58,47,.18);
    }
    .btn-primary:hover{box-shadow:0 14px 28px rgba(185,58,47,.24)}
    .btn-secondary{
      background:#fff;
      color:var(--text);
      border:1px solid var(--line);
    }
    .btn-secondary:hover{border-color:#d8bfa5;background:#fffaf4}

    .quick-tags{
      display:flex;flex-wrap:wrap;gap:8px;margin-top:10px
    }
    .tag{
      display:inline-flex;align-items:center;gap:6px;
      padding:6px 11px;border-radius:999px;
      background:rgba(255,255,255,.82);
      border:1px solid var(--line);
      color:var(--muted);
      font-size:12px;
    }
    .tag:hover{color:var(--red);border-color:#dfb9ab;background:#fff}
    nav[aria-label="主导航"]{
      display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap
    }
    .nav-link{
      padding:9px 12px;border-radius:999px;
      font-size:14px;color:var(--muted);
      border:1px solid transparent;
    }
    .nav-link:hover{
      color:var(--red);
      background:rgba(217,90,66,.08);
      border-color:rgba(217,90,66,.12);
    }
    .nav-link.active, .nav-link[aria-current="page"]{
      color:#fff;
      background:linear-gradient(135deg,var(--red),#8f241d);
      box-shadow:0 10px 22px rgba(185,58,47,.18);
    }

    .hero{
      padding:28px 0 18px;
    }
    .breadcrumb{
      display:flex;flex-wrap:wrap;gap:8px;
      color:var(--muted);font-size:13px;margin-bottom:14px
    }
    .breadcrumb a{color:var(--muted)}
    .breadcrumb a:hover{color:var(--red)}
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
      gap:22px;
      align-items:stretch;
    }
    .hero-main{
      background:
        linear-gradient(135deg, rgba(185,58,47,.96), rgba(143,36,29,.98)),
        linear-gradient(180deg, #bf4336, #8d261f);
      color:#fff;
      border-radius:calc(var(--radius) + 4px);
      padding:30px;
      box-shadow:var(--shadow-2);
      position:relative;
      overflow:hidden;
      min-height:280px;
    }
    .hero-main::before{
      content:"";
      position:absolute;inset:-40px -30px auto auto;
      width:180px;height:180px;border-radius:50%;
      background:rgba(255,255,255,.08);
      filter:blur(0);
    }
    .hero-main::after{
      content:"";
      position:absolute;inset:auto -38px -58px auto;
      width:240px;height:240px;border-radius:50%;
      background:rgba(255,214,146,.10);
    }
    .hero-kicker{
      display:inline-flex;align-items:center;gap:8px;
      padding:6px 12px;border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
      font-size:13px;font-weight:700;
      position:relative;z-index:1;
    }
    .hero h1{
      margin:16px 0 12px;
      font-size:clamp(30px, 4vw, 52px);
      line-height:1.12;
      letter-spacing:.2px;
      position:relative;z-index:1;
    }
    .hero-desc{
      margin:0;
      max-width:58ch;
      font-size:16px;
      color:rgba(255,255,255,.92);
      position:relative;z-index:1;
    }
    .hero-actions{
      display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;position:relative;z-index:1
    }
    .hero .btn-secondary{
      background:rgba(255,255,255,.12);
      color:#fff;border-color:rgba(255,255,255,.22)
    }
    .hero .btn-secondary:hover{background:rgba(255,255,255,.18)}
    .hero-meta{
      display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;position:relative;z-index:1
    }
    .meta-chip{
      padding:8px 12px;border-radius:999px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.16);
      font-size:13px;
    }

    .article-aside{
      display:grid;gap:16px
    }
    .cover-card, .info-card, .quote-card, .related-card{
      background:var(--panel);
      border:1px solid rgba(232,215,197,.9);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .cover-card{
      background:linear-gradient(180deg,#fff 0%, #fff8ef 100%);
    }
    .cover-visual{
      padding:18px;
      background:
        linear-gradient(135deg, rgba(199,138,43,.14), transparent 50%),
        linear-gradient(180deg, rgba(217,90,66,.10), rgba(255,255,255,0));
      border-bottom:1px solid rgba(232,215,197,.8);
      min-height:132px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .cover-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:12px;
      color:var(--muted);
      text-transform:none;
    }
    .cover-badge{
      align-self:flex-start;
      padding:6px 10px;border-radius:999px;
      background:#fff;
      border:1px solid rgba(232,215,197,.95);
      color:var(--red);
      font-size:12px;
      font-weight:700;
      box-shadow:0 8px 18px rgba(68,39,22,.06);
    }
    .cover-body{padding:18px}
    .cover-body h2{
      margin:0 0 8px;font-size:20px;line-height:1.25
    }
    .cover-body p{margin:0;color:var(--muted);font-size:14px}
    .stat-grid{
      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
      padding:18px;
    }
    .stat{
      background:var(--panel-2);
      border:1px solid rgba(232,215,197,.75);
      border-radius:12px;
      padding:12px;
    }
    .stat strong{
      display:block;font-size:18px;color:var(--red);line-height:1.1
    }
    .stat span{display:block;font-size:12px;color:var(--muted);margin-top:5px}
    .info-card{padding:18px}
    .info-card h3, .quote-card h3, .related-card h3{
      margin:0 0 12px;font-size:17px
    }
    .info-list{
      list-style:none;padding:0;margin:0;display:grid;gap:10px
    }
    .info-list li{
      display:flex;gap:10px;align-items:flex-start;
      padding:10px 0;border-top:1px dashed rgba(232,215,197,.9);
    }
    .info-list li:first-child{border-top:0;padding-top:0}
    .dot{
      width:9px;height:9px;border-radius:50%;background:var(--gold);margin-top:7px;flex:0 0 auto
    }
    .info-list p{margin:0;color:var(--muted);font-size:14px}
    .info-list strong{display:block;margin-bottom:2px}
    .quote-card{
      padding:18px;
      background:linear-gradient(180deg,#fff, #fff9f3);
    }
    .quote{
      margin:0;
      padding:14px 15px;
      border-left:4px solid var(--red);
      background:rgba(185,58,47,.05);
      border-radius:10px;
      color:#4f3a2f;
    }

    main{padding:6px 0 28px}
    .content-wrap{
      display:grid;
      grid-template-columns:minmax(0,1fr) 290px;
      gap:22px;
      align-items:start;
    }
    article{
      background:var(--panel);
      border:1px solid rgba(232,215,197,.9);
      border-radius:calc(var(--radius) + 2px);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .article-head{
      padding:22px 24px 16px;
      border-bottom:1px solid rgba(232,215,197,.7);
      background:
        linear-gradient(180deg, rgba(255,248,241,.95), #fff);
    }
    .article-kicker{
      display:flex;flex-wrap:wrap;gap:8px;align-items:center;
      color:var(--muted);font-size:13px
    }
    .pill{
      display:inline-flex;align-items:center;gap:6px;
      padding:5px 10px;
      border-radius:999px;
      background:rgba(185,58,47,.08);
      color:var(--red);
      border:1px solid rgba(185,58,47,.12);
      font-size:12px;
      font-weight:700;
    }
    .article-head h2{
      margin:12px 0 10px;
      font-size:clamp(26px, 3vw, 36px);
      line-height:1.2;
    }
    .article-summary{
      margin:0;
      color:var(--muted);
      max-width:72ch;
    }
    .article-meta{
      display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;color:var(--muted);font-size:13px
    }
    .article-meta span{
      padding:6px 10px;border-radius:999px;background:#fff;border:1px solid rgba(232,215,197,.9)
    }
    .article-body{
      padding:24px;
    }
    .article-body h3{
      margin:28px 0 12px;
      font-size:22px;
      line-height:1.25;
    }
    .article-body h4{
      margin:22px 0 10px;
      font-size:18px;
      line-height:1.3;
    }
    .article-body p{margin:0 0 16px;color:#3f3129}
    .article-body ul, .article-body ol{margin:0 0 18px 20px;padding:0}
    .article-body li{margin:8px 0}
    .article-body blockquote{
      margin:20px 0;
      padding:18px 18px 18px 20px;
      border-radius:12px;
      background:linear-gradient(180deg, #fff8ef, #fff);
      border:1px solid rgba(232,215,197,.9);
      border-left:4px solid var(--gold);
      color:#5b4738;
    }
    .notice{
      margin:20px 0;
      padding:16px 18px;
      border-radius:12px;
      background:rgba(47,125,87,.08);
      border:1px solid rgba(47,125,87,.14);
      color:#315444;
    }
    .divider{
      height:1px;background:linear-gradient(90deg, transparent, rgba(232,215,197,.95), transparent);
      margin:22px 0;
    }
    .article-body img{
      border-radius:14px;
      border:1px solid rgba(232,215,197,.9);
      box-shadow:0 10px 24px rgba(68,39,22,.08);
      margin:18px 0;
    }
    .article-actions{
      display:flex;flex-wrap:wrap;gap:12px;margin-top:24px
    }

    .sidebar{
      display:grid;gap:16px;
      position:sticky;top:106px;
    }
    .sidebar .box{
      background:var(--panel);
      border:1px solid rgba(232,215,197,.9);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:18px;
    }
    .sidebar h3{
      margin:0 0 10px;font-size:17px
    }
    .toc{
      list-style:none;margin:0;padding:0;display:grid;gap:8px
    }
    .toc a{
      display:block;padding:10px 11px;border-radius:10px;
      background:#fffaf4;border:1px solid rgba(232,215,197,.85);
      color:var(--muted);
      font-size:14px;
    }
    .toc a:hover{color:var(--red);border-color:rgba(185,58,47,.18);background:#fff}
    .sidebar .mini-links{
      display:grid;gap:10px
    }
    .mini-link{
      display:flex;justify-content:space-between;gap:12px;align-items:center;
      padding:11px 12px;border-radius:12px;
      background:linear-gradient(180deg,#fff,#fff9f3);
      border:1px solid rgba(232,215,197,.9);
    }
    .mini-link span{color:var(--muted);font-size:13px}
    .mini-link strong{display:block;font-size:14px}
    .mini-link:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(68,39,22,.08)}

    .related-wrap{
      margin-top:22px;
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }
    .rel-card{
      padding:16px;
      background:var(--panel);
      border:1px solid rgba(232,215,197,.9);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      display:grid;
      gap:10px;
      min-height:150px;
    }
    .rel-card .label{
      display:inline-flex;align-items:center;
      width:max-content;
      padding:5px 10px;border-radius:999px;
      background:rgba(199,138,43,.10);
      color:#94641d;
      font-size:12px;font-weight:700;
    }
    .rel-card h4{margin:0;font-size:16px;line-height:1.35}
    .rel-card p{margin:0;color:var(--muted);font-size:14px}
    .rel-card a{
      color:var(--red);
      font-weight:700;
      align-self:end;
    }

    .empty{
      padding:34px 24px;
      text-align:center;
    }
    .empty h3{margin:0 0 10px;font-size:22px}
    .empty p{margin:0 0 18px;color:var(--muted)}

    footer{
      margin-top:32px;
      background:#221610;
      color:#f3e8dd;
      border-top:1px solid rgba(255,255,255,.08);
    }
    .footer-inner{padding:30px 0 18px}
    .footer-top{
      display:flex;justify-content:space-between;gap:24px;align-items:flex-start;
      padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08);
    }
    .footer-brand{max-width:560px}
    .footer-brand strong{display:block;font-size:18px;margin-bottom:8px}
    .footer-brand p{margin:0;color:rgba(243,232,221,.78);font-size:14px}
    .footer-links{
      display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end
    }
    .footer-links a{
      color:#f3e8dd;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
    }
    .footer-links a:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}
    .footer-bottom{
      display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
      padding-top:14px;color:rgba(243,232,221,.68);font-size:13px
    }

    .mobile-toggle{display:none}

    @media (max-width: 1100px){
      .nav-wrap{grid-template-columns:1fr}
      nav[aria-label="主导航"]{justify-content:flex-start}
      .hero-grid,.content-wrap{grid-template-columns:1fr}
      .sidebar{position:static}
      .related-wrap{grid-template-columns:1fr}
    }
    @media (max-width: 768px){
      .container{width:min(var(--container), calc(100% - 20px))}
      .hero{padding-top:18px}
      .hero-main{padding:22px;min-height:auto}
      .searchbar{border-radius:18px;flex-wrap:wrap}
      .searchbar input{width:100%;order:3;padding-top:4px}
      .searchbar .btn{width:100%}
      .quick-tags{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}
      .quick-tags::-webkit-scrollbar{height:4px}
      .quick-tags::-webkit-scrollbar-thumb{background:rgba(185,58,47,.18);border-radius:999px}
      .article-head,.article-body{padding-left:18px;padding-right:18px}
      .footer-top{flex-direction:column}
      .footer-links{justify-content:flex-start}
      .stat-grid{grid-template-columns:1fr}
    }
    @media (max-width: 520px){
      .brand em{display:none}
      .brand strong{font-size:16px}
      .nav-link{padding:8px 10px;font-size:13px}
      .hero h1{font-size:28px}
      .hero-desc{font-size:15px}
      .article-head h2{font-size:24px}
      .article-body h3{font-size:20px}
      .article-body h4{font-size:17px}
      .hero-actions .btn,.article-actions .btn{width:100%;justify-content:center}
      .article-meta span{width:100%}
    }
