/* roulang page: index */
:root{
    --ink:#17131A; --ink-2:#241E2A; --brand:#8C2B5A; --brand-deep:#66173E;
    --accent:#D8A25A; --paper:#F7F3EE; --paper-2:#EFE8E0; --line:#E4DAD1;
    --muted:#6E6572; --dark:#14101A;
    --r-card:12px; --r-btn:8px; --r-pill:999px;
    --shadow-card:0 1px 2px rgba(23,19,26,.05), 0 14px 34px -22px rgba(23,19,26,.35);
    --shadow-hover:0 2px 4px rgba(23,19,26,.06), 0 22px 44px -22px rgba(23,19,26,.45);
    --ease:cubic-bezier(.2,.7,.3,1);
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
    font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
  input,select,textarea{font:inherit;color:inherit;}
  h1,h2,h3,h4{margin:0;line-height:1.25;font-weight:700;}
  p{margin:0;}
  ul,ol{margin:0;padding:0;list-style:none;}
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 20px;}
  @media(min-width:640px){.wrap{padding:0 24px;}}
  @media(min-width:1024px){.wrap{padding:0 32px;}}

  /* ---------- 顶部公告条 ---------- */
  .topbar{background:var(--ink);color:#F3EDE7;font-size:13px;height:38px;overflow:hidden;}
  .topbar .wrap{display:flex;align-items:center;gap:14px;height:38px;}
  .topbar-badge{
    flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;
    background:rgba(216,162,90,.16);color:var(--accent);
    border:1px solid rgba(216,162,90,.42);border-radius:var(--r-pill);
    padding:1px 9px;font-size:12px;line-height:18px;letter-spacing:.04em;
  }
  .marquee{flex:1 1 auto;overflow:hidden;white-space:nowrap;min-width:0;}
  .marquee-track{display:inline-block;white-space:nowrap;padding-left:100%;animation:marquee 26s linear infinite;}
  .marquee-track b{color:#fff;font-weight:600;}
  .marquee-track i{color:var(--accent);font-style:normal;margin:0 10px;}
  @keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-100%);}}
  .topbar-links{flex:0 0 auto;display:none;align-items:center;gap:10px;color:#CFC6C0;}
  .topbar-links a{color:#CFC6C0;transition:color .18s var(--ease);}
  .topbar-links a:hover{color:var(--accent);}
  .topbar-links span{color:rgba(255,255,255,.25);}
  .topbar-close{flex:0 0 auto;width:26px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#CFC6C0;transition:background .18s var(--ease),color .18s var(--ease);}
  .topbar-close:hover{background:rgba(255,255,255,.1);color:#fff;}
  @media(min-width:768px){.topbar-links{display:flex;}}
  .topbar.is-closed{display:none;}

  /* ---------- 主导航 ---------- */
  .navbar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .2s var(--ease);}
  .navbar.is-stuck{box-shadow:0 8px 24px -18px rgba(23,19,26,.55);}
  .navbar .wrap{display:flex;align-items:center;gap:12px;height:56px;}
  @media(min-width:768px){.navbar .wrap{height:72px;gap:18px;}}
  .logo{display:flex;flex-direction:column;justify-content:center;flex:0 0 auto;line-height:1.15;}
  .logo-main{font-family:"Noto Serif SC","Songti SC",STSong,serif;font-size:19px;font-weight:700;letter-spacing:.04em;color:var(--ink);}
  .logo-sub{font-size:11px;color:var(--muted);letter-spacing:.06em;margin-top:2px;}
  @media(min-width:768px){.logo-main{font-size:21px;}}
  .nav-channel{position:relative;display:none;}
  @media(min-width:768px){.nav-channel{display:block;}}
  .nav-link{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink-2);transition:color .18s var(--ease),background .18s var(--ease);}
  .nav-link:hover{color:var(--brand);background:var(--paper-2);}
  .nav-link svg{transition:transform .2s var(--ease);}
  .nav-channel:hover .nav-link svg,.nav-channel:focus-within .nav-link svg{transform:rotate(180deg);}
  .mega{
    position:absolute;top:calc(100% + 10px);left:-8px;width:680px;
    background:var(--paper);border:1px solid var(--line);border-radius:12px;
    box-shadow:0 24px 60px -28px rgba(23,19,26,.5);padding:18px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:6px 14px;
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
  }
  .nav-channel:hover .mega,.nav-channel:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0);}
  .mega-item{display:block;padding:9px 10px;border-radius:8px;transition:background .18s var(--ease);}
  .mega-item strong{display:block;font-size:14px;font-weight:600;color:var(--ink);}
  .mega-item span{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:2px;}
  a.mega-item:hover{background:var(--paper-2);}
  a.mega-item:hover strong{color:var(--brand);}
  .nav-search{display:none;flex:1 1 auto;max-width:420px;position:relative;}
  @media(min-width:1024px){.nav-search{display:block;}}
  .nav-search input{
    width:100%;height:40px;padding:0 48px 0 14px;border:1px solid var(--line);border-radius:8px;
    background:#fff;font-size:13.5px;color:var(--ink);transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
  }
  .nav-search input::placeholder{color:#9A9099;}
  .nav-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(140,43,90,.12);}
  .nav-search button{
    position:absolute;right:4px;top:4px;width:32px;height:32px;border-radius:6px;
    background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;
    transition:background .18s var(--ease);
  }
  .nav-search button:hover{background:var(--brand);}
  .nav-right{margin-left:auto;display:flex;align-items:center;gap:6px;}
  .icon-btn{position:relative;width:40px;height:40px;border-radius:8px;display:none;align-items:center;justify-content:center;color:var(--ink-2);transition:color .18s var(--ease),background .18s var(--ease);}
  .icon-btn:hover{color:var(--brand);background:var(--paper-2);}
  .icon-btn .dot{position:absolute;top:8px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--brand);border:1px solid var(--paper);}
  @media(min-width:768px){.icon-btn{display:inline-flex;}}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-btn);font-size:14.5px;font-weight:600;letter-spacing:.01em;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);}
  .btn-primary{background:var(--brand);color:#FBF6F1;box-shadow:0 10px 24px -18px rgba(140,43,90,.9);}
  .btn-primary:hover{background:var(--brand-deep);transform:translateY(-2px);box-shadow:0 16px 30px -18px rgba(102,23,62,.85);}
  .btn-primary:active{transform:translateY(0);}
  .btn-ghost{border:1px solid var(--ink);color:var(--ink);background:transparent;}
  .btn-ghost:hover{background:var(--ink);color:var(--paper);}
  .btn-light{border:1px solid rgba(243,237,231,.55);color:#F3EDE7;background:transparent;}
  .btn-light:hover{background:rgba(243,237,231,.12);}
  .btn-sm{min-height:38px;padding:0 16px;font-size:13.5px;}
  .nav-cta{display:none;}
  @media(min-width:640px){.nav-cta{display:inline-flex;}}
  .burger{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line);color:var(--ink);}
  @media(min-width:768px){.burger{display:none;}}
  .burger:hover{background:var(--paper-2);}

  /* ---------- 移动抽屉 ---------- */
  .drawer-mask{position:fixed;inset:0;background:rgba(23,19,26,.45);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility .2s;z-index:60;}
  .drawer-mask.open{opacity:1;visibility:visible;}
  .drawer{
    position:fixed;top:0;right:0;bottom:0;width:320px;max-width:88vw;background:var(--paper);
    border-left:1px solid var(--line);z-index:61;transform:translateX(100%);
    transition:transform .2s var(--ease);display:flex;flex-direction:column;
    overflow-y:auto;overscroll-behavior:contain;
  }
  .drawer.open{transform:translateX(0);}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2;}
  .drawer-body{padding:18px;display:flex;flex-direction:column;gap:18px;}
  .drawer-search{display:flex;gap:8px;}
  .drawer-search input{flex:1;height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff;font-size:14px;}
  .drawer-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(140,43,90,.12);}
  .drawer-group-title{font-size:12px;letter-spacing:.12em;color:var(--muted);margin-bottom:8px;}
  .drawer-link{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 4px;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2);}
  .drawer-link:hover{color:var(--brand);}
  .drawer-link small{font-size:12px;color:var(--muted);}
  .drawer-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px;}

  /* ---------- 通用板块 ---------- */
  .sec{padding:56px 0;}
  @media(min-width:768px){.sec{padding:88px 0;}}
  @media(min-width:1024px){.sec{padding:104px 0;}}
  .sec-alt{background:var(--paper-2);}
  .sec-dark{background:var(--dark);color:#F3EDE7;}
  .sec-dark .sec-sub,.sec-dark .muted{color:#B6AAA6;}
  .sec-line{border-top:1px solid var(--line);}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.16em;color:var(--brand);font-weight:600;}
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--accent);}
  .sec-head{max-width:760px;}
  .sec-head h2{font-family:"Noto Serif SC","Songti SC",STSong,serif;font-size:clamp(1.5rem,2.4vw,2.15rem);letter-spacing:-.01em;margin-top:12px;}
  .sec-sub{color:var(--muted);font-size:15px;line-height:1.85;margin-top:12px;max-width:660px;}
  .muted{color:var(--muted);}
  .divider-note{border-top:1px solid var(--line);padding:14px 0;font-size:13px;letter-spacing:.06em;color:var(--muted);text-align:center;}
  .divider-note b{color:var(--brand);font-weight:600;}

  /* ---------- Hero ---------- */
  .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);}
  .hero-bg{
    position:absolute;inset:0;background-size:cover;background-position:center;
    opacity:.14;filter:saturate(.85);
  }
  .hero::after{
    content:"";position:absolute;top:-160px;right:-140px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(216,162,90,.24),rgba(216,162,90,0) 68%);
    pointer-events:none;
  }
  .hero-inner{position:relative;z-index:2;padding:52px 0 56px;text-align:center;}
  @media(min-width:768px){.hero-inner{padding:80px 0 88px;}}
  .hero .badge-line{display:inline-flex;align-items:center;gap:8px;}
  .hero h1{
    font-family:"Noto Serif SC","Songti SC",STSong,serif;
    font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;
    margin:18px auto 0;max-width:900px;
  }
  .hero h1 em{font-style:normal;color:var(--brand);}
  .hero-sub{max-width:700px;margin:16px auto 0;font-size:clamp(15px,1.4vw,17px);color:var(--ink-2);font-weight:500;}
  .hero-lead{max-width:760px;margin:14px auto 0;font-size:14.5px;line-height:1.95;color:var(--muted);}
  .hero-search{max-width:640px;margin:26px auto 0;display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:var(--shadow-card);}
  .hero-search input{flex:1;min-width:0;height:44px;border:0;background:transparent;padding:0 12px;font-size:14.5px;border-radius:8px;}
  .hero-search input:focus{outline:none;}
  .hero-search .btn{flex:0 0 auto;}
  .chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px;}
  .chip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:var(--r-pill);border:1px solid var(--line);background:rgba(255,255,255,.65);font-size:12.5px;color:var(--ink-2);transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease);}
  .chip:hover{border-color:var(--brand);color:var(--brand);background:#fff;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px;}
  .hero-badges{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:26px;font-size:12.5px;color:var(--muted);}
  .hero-badges span{display:inline-flex;align-items:center;gap:7px;}
  .hero-badges i{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;}
  .hero-stats{max-width:820px;margin:32px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
  .hero-stats div{background:rgba(255,255,255,.72);padding:16px 10px;}
  .hero-stats b{display:block;font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(1.2rem,2.2vw,1.6rem);color:var(--ink);letter-spacing:.01em;}
  .hero-stats small{display:block;font-size:12px;color:var(--muted);margin-top:2px;letter-spacing:.04em;}

  /* ---------- 徽章 / 标签 ---------- */
  .badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);background:var(--paper-2);color:var(--brand);font-size:12px;font-weight:600;letter-spacing:.02em;}
  .badge-outline{background:transparent;border:1px solid rgba(216,162,90,.55);color:#8A6636;}
  .badge-dark{background:rgba(216,162,90,.14);border:1px solid rgba(216,162,90,.4);color:var(--accent);}

  /* ---------- 卡片 ---------- */
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);}
  .card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#DCCFC4;}
  a.card:focus-within{outline:2px solid var(--brand);outline-offset:2px;}
  .thumb{position:relative;overflow:hidden;border-radius:10px;background:var(--paper-2);}
  .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease);}
  .card:hover .thumb img{transform:scale(1.03);}
  .ratio-16-10{aspect-ratio:16/10;}
  .ratio-4-5{aspect-ratio:4/5;}
  .ratio-16-9{aspect-ratio:16/9;}
  .ratio-1-1{aspect-ratio:1/1;}

  /* 频道矩阵 */
  .channel-grid{display:grid;gap:16px;margin-top:34px;grid-template-columns:1fr;}
  @media(min-width:768px){.channel-grid{grid-template-columns:1.25fr 1fr 1fr;}}
  .channel-main{grid-column:span 1;display:flex;flex-direction:column;overflow:hidden;}
  @media(min-width:768px){.channel-main{grid-row:span 2;}}
  .channel-main .thumb{border-radius:10px;margin:14px 14px 0;}
  .channel-main .body{padding:16px 20px 22px;}
  .channel-main h3{font-family:"Noto Serif SC","Songti SC",serif;font-size:1.35rem;margin-top:8px;}
  .channel-small{padding:14px;display:flex;flex-direction:column;gap:10px;}
  .channel-small .thumb{border-radius:8px;}
  .channel-small h3{font-size:1rem;font-weight:600;margin-top:2px;}
  .channel-small p{font-size:13px;color:var(--muted);line-height:1.7;}
  .arrow-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brand);}
  .arrow-link svg{transition:transform .18s ease-out;}
  .arrow-link:hover svg,.card:hover .arrow-link svg{transform:translateX(4px);}

  /* 功能矩阵 */
  .feat-grid{display:grid;gap:16px;margin-top:34px;grid-template-columns:1fr;}
  @media(min-width:768px){.feat-grid{grid-template-columns:repeat(4,1fr);}}
  .feat-wide{grid-column:span 1;}
  @media(min-width:768px){.feat-wide{grid-column:span 3;}}
  .feat-tall{grid-column:span 1;}
  .feat-card{padding:22px;}
  .feat-wide{display:flex;flex-direction:column;gap:18px;padding:18px;}
  @media(min-width:768px){.feat-wide{flex-direction:row;align-items:center;}}
  .feat-wide .thumb{flex:0 0 44%;}
  .feat-wide .body{padding:4px 6px;}
  .icon-28{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--brand);background:var(--paper);}
  .feat-card h3{font-size:1.0625rem;margin-top:14px;}
  .feat-card p{font-size:13.5px;color:var(--muted);line-height:1.8;margin-top:8px;}

  /* 数据条 */
  .stats-band{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 18px;margin-top:36px;}
  @media(min-width:768px){.stats-band{grid-template-columns:repeat(4,1fr);}}
  .stat b{display:block;font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(2rem,4vw,2.9rem);line-height:1;letter-spacing:-.01em;color:#F7F3EE;}
  .stat b sup{font-size:.42em;color:var(--accent);vertical-align:super;margin-left:2px;}
  .stat p{font-size:13px;color:#B6AAA6;margin-top:10px;line-height:1.7;}
  .stat span{display:block;width:26px;height:1px;background:var(--accent);margin-top:12px;opacity:.7;}

  /* 流程 */
  .steps{display:grid;gap:22px;margin-top:40px;grid-template-columns:1fr;position:relative;}
  @media(min-width:768px){.steps{grid-template-columns:repeat(4,1fr);gap:18px;}}
  .step{padding-left:38px;position:relative;}
  @media(min-width:768px){
    .step{padding-left:0;padding-top:38px;}
    .steps::before{content:"";position:absolute;left:0;right:0;top:15px;height:1px;background:var(--line);}
    .step::before{content:"";position:absolute;left:0;top:0;width:31px;height:31px;border-radius:50%;background:var(--paper);border:1px solid var(--line);}
    .step::after{content:"";position:absolute;left:11px;top:10px;width:9px;height:9px;border-radius:50%;background:var(--brand);}
  }
  @media(max-width:767px){
    .step::before{content:"";position:absolute;left:11px;top:6px;bottom:-22px;width:1px;background:var(--line);}
    .step:last-child::before{display:none;}
    .step::after{content:"";position:absolute;left:6px;top:10px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1px solid var(--brand);}
  }
  .step .num{font-family:"Noto Serif SC","Songti SC",serif;font-size:13px;color:var(--accent);letter-spacing:.14em;}
  .step h3{font-size:1.0625rem;margin-top:6px;}
  .step p{font-size:13.5px;color:var(--muted);line-height:1.8;margin-top:8px;}

  /* 场景墙 */
  .scene-wall{display:grid;gap:16px;margin-top:36px;grid-template-columns:1fr;}
  @media(min-width:640px){.scene-wall{grid-template-columns:1fr 1fr;}}
  @media(min-width:1024px){.scene-wall{grid-template-columns:repeat(3,1fr);align-items:start;}}
  .scene{padding:14px;display:flex;flex-direction:column;gap:12px;}
  @media(min-width:1024px){
    .scene:nth-child(2){margin-top:30px;}
    .scene:nth-child(3){margin-top:12px;}
    .scene:nth-child(5){margin-top:26px;}
    .scene:nth-child(6){margin-top:8px;}
  }
  .scene h3{font-size:1rem;}
  .scene p{font-size:13px;color:var(--muted);line-height:1.75;}

  /* 隐私双栏 */
  .split{display:grid;gap:28px;margin-top:8px;}
  @media(min-width:900px){.split{grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start;}}
  .privacy-list li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
  .privacy-list li:first-child{padding-top:0;}
  .privacy-list li::before{content:"";flex:0 0 18px;height:1px;background:var(--accent);margin-top:15px;}
  .privacy-list h3{font-size:1rem;}
  .privacy-list p{font-size:13.5px;color:var(--muted);line-height:1.8;margin-top:6px;}

  /* 城市覆盖 */
  .city-wrap{display:grid;gap:26px;margin-top:34px;}
  @media(min-width:900px){.city-wrap{grid-template-columns:1fr 1fr;gap:48px;align-items:center;}}
  .city-tags{display:flex;flex-wrap:wrap;gap:8px;}
  .city-tags span{padding:7px 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:#fff;font-size:13px;color:var(--ink-2);transition:border-color .18s var(--ease),color .18s var(--ease);}
  .city-tags span:hover{border-color:var(--brand);color:var(--brand);}
  .city-tags span.hot{background:var(--ink);border-color:var(--ink);color:var(--paper);}

  /* 文章行列表 */
  .post-rows{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--line);}
  @media(min-width:768px){.post-rows{grid-template-columns:1fr 1fr;column-gap:40px;}}
  .post-row{display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 0;border-bottom:1px solid var(--line);transition:color .18s var(--ease);}
  .post-row .idx{font-family:"Noto Serif SC","Songti SC",serif;font-size:13px;color:var(--accent);flex:0 0 26px;letter-spacing:.06em;}
  .post-row .t{flex:1;font-size:14.5px;line-height:1.6;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .post-row .g{flex:0 0 auto;color:var(--muted);transition:transform .18s ease-out,color .18s var(--ease);}
  .post-row:hover .g{transform:translateX(4px);color:var(--brand);}
  .post-row:hover .t{color:var(--brand);}

  /* CMS 卡片网格 */
  .post-grid{display:grid;gap:18px;margin-top:34px;grid-template-columns:1fr;}
  @media(min-width:640px){.post-grid{grid-template-columns:1fr 1fr;}}
  @media(min-width:1024px){.post-grid{grid-template-columns:repeat(3,1fr);}}
  .post-card{display:flex;flex-direction:column;overflow:hidden;padding:14px;}
  .post-card h3{font-size:1rem;line-height:1.55;margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .post-card .ex{font-size:13px;color:var(--muted);line-height:1.75;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .post-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);}
  .empty-state{grid-column:1/-1;text-align:center;padding:44px 20px;border:1px dashed var(--line);border-radius:12px;background:rgba(255,255,255,.6);}
  .empty-state .bar{width:120px;height:40px;margin:0 auto 16px;border-radius:8px;background:linear-gradient(90deg,var(--paper-2),#F5EDE5);}
  .empty-state p{font-size:14px;color:var(--muted);}

  /* 迭代日志 */
  .log-list{margin-top:30px;border-top:1px solid var(--line);}
  .log-item{display:grid;gap:6px;padding:18px 0;border-bottom:1px solid var(--line);grid-template-columns:1fr;}
  @media(min-width:768px){.log-item{grid-template-columns:120px 1fr auto;align-items:center;gap:24px;}}
  .log-item .date{font-family:"Noto Serif SC","Songti SC",serif;font-size:13px;color:var(--accent);letter-spacing:.08em;}
  .log-item h3{font-size:1rem;}
  .log-item p{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.7;}
  .log-item a{font-size:13px;font-weight:600;color:var(--brand);display:inline-flex;align-items:center;gap:6px;transition:color .18s var(--ease);}
  .log-item a:hover{color:var(--brand-deep);}
  .log-item a svg{transition:transform .18s ease-out;}
  .log-item a:hover svg{transform:translateX(4px);}

  /* 评价 */
  .quote-grid{display:grid;gap:18px;margin-top:34px;grid-template-columns:1fr;}
  @media(min-width:768px){.quote-grid{grid-template-columns:1fr 1fr;}}
  .quote{padding:24px;position:relative;overflow:hidden;}
  .quote::before{content:"“";position:absolute;top:-14px;right:14px;font-family:"Noto Serif SC","Songti SC",serif;font-size:96px;line-height:1;color:rgba(216,162,90,.16);}
  .quote p{font-size:15px;line-height:1.9;color:var(--ink-2);position:relative;}
  .quote-foot{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);}
  .avatar{width:36px;height:36px;border-radius:50%;background:var(--paper-2);display:inline-flex;align-items:center;justify-content:center;font-family:"Noto Serif SC","Songti SC",serif;font-size:14px;color:var(--brand);}
  .quote-foot b{font-size:14px;display:block;}
  .quote-foot small{font-size:12px;color:var(--muted);}
  @media(min-width:768px){.quote:nth-child(2){margin-top:28px;}}

  /* FAQ */
  .faq-wrap{display:grid;gap:26px;}
  @media(min-width:900px){.faq-wrap{grid-template-columns:0.75fr 1.25fr;gap:56px;align-items:start;}}
  .faq-side{position:static;}
  @media(min-width:900px){.faq-side{position:sticky;top:104px;}}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:16px 0;text-align:left;font-size:15.5px;font-weight:600;color:var(--ink);transition:color .18s var(--ease);}
  .faq-q:hover{color:var(--brand);}
  .faq-q .sign{flex:0 0 auto;width:22px;height:22px;position:relative;color:var(--muted);transition:color .18s var(--ease);}
  .faq-q .sign::before,.faq-q .sign::after{content:"";position:absolute;background:currentColor;transition:transform .18s var(--ease),opacity .18s var(--ease);}
  .faq-q .sign::before{left:0;top:10px;width:22px;height:1.5px;}
  .faq-q .sign::after{left:10px;top:0;width:1.5px;height:22px;}
  .faq-q[aria-expanded="true"]{color:var(--brand);}
  .faq-q[aria-expanded="true"] .sign{color:var(--brand);}
  .faq-q[aria-expanded="true"] .sign::after{transform:rotate(90deg);opacity:0;}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .22s var(--ease);}
  .faq-a p{font-size:14px;color:var(--muted);line-height:1.9;padding:0 0 18px;}

  /* 保障条 */
  .guarantee{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;grid-template-columns:1fr;margin-top:8px;}
  @media(min-width:768px){.guarantee{grid-template-columns:repeat(3,1fr);}}
  .guarantee-item{background:var(--paper);padding:24px;display:flex;gap:14px;align-items:flex-start;}
  .guarantee-item h3{font-size:1rem;}
  .guarantee-item p{font-size:13px;color:var(--muted);line-height:1.75;margin-top:6px;}

  /* 合作文字墙 */
  .logo-wall{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;}
  .logo-wall span{padding:10px 16px;border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--muted);background:#fff;transition:color .18s var(--ease),border-color .18s var(--ease);}
  .logo-wall span:hover{color:var(--ink);border-color:#D6C7BA;}

  /* 表单 */
  .contact-grid{display:grid;gap:22px;margin-top:34px;}
  @media(min-width:900px){.contact-grid{grid-template-columns:1.1fr .9fr;gap:28px;}}
  .form-card{padding:24px;}
  @media(min-width:768px){.form-card{padding:30px;}}
  .field{margin-bottom:16px;}
  .field label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:7px;}
  .field input,.field select,.field textarea{
    width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:11px 13px;font-size:14px;color:var(--ink);
    transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
  }
  .field textarea{min-height:110px;resize:vertical;line-height:1.8;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(140,43,90,.12);}
  .check-row{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--muted);line-height:1.7;}
  .check-row input{width:16px;height:16px;margin-top:4px;accent-color:var(--brand);}
  .info-card{padding:24px;display:flex;flex-direction:column;gap:16px;}
  .info-row{display:flex;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line);}
  .info-row:last-child{border-bottom:0;padding-bottom:0;}
  .info-row b{display:block;font-size:14px;}
  .info-row small{display:block;font-size:13px;color:var(--muted);line-height:1.7;margin-top:2px;}

  /* 页脚 */
  .footer{background:var(--ink);color:#EFE8E2;padding:52px 0 0;}
  @media(min-width:768px){.footer{padding:68px 0 0;}}
  .footer-grid{display:grid;gap:32px;grid-template-columns:1fr;}
  @media(min-width:768px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
  .footer .logo-main{color:#F7F3EE;}
  .footer .logo-sub{color:#A79C9E;}
  .footer-desc{font-size:12.5px;color:#A79C9E;line-height:1.9;margin-top:14px;max-width:300px;}
  .footer-social{display:flex;gap:10px;margin-top:16px;}
  .footer-social a{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;color:#CFC6C0;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease);}
  .footer-social a:hover{color:var(--accent);border-color:rgba(216,162,90,.5);background:rgba(255,255,255,.05);}
  .footer h4{font-size:13px;letter-spacing:.12em;color:#F7F3EE;margin-bottom:14px;font-weight:600;}
  .footer-list li{margin-bottom:10px;}
  .footer-list a{font-size:13.5px;color:#B6AAA6;transition:color .18s var(--ease);}
  .footer-list a:hover{color:var(--accent);}
  .footer-contact li{font-size:13px;color:#B6AAA6;margin-bottom:10px;line-height:1.7;}
  .footer-bottom{margin-top:44px;border-top:1px solid rgba(255,255,255,.12);padding:18px 0;}
  .footer-bottom .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;font-size:12px;color:#8C8285;}
  .footer-bottom a{color:#8C8285;transition:color .18s var(--ease);}
  .footer-bottom a:hover{color:var(--accent);}

  /* 动效 */
  .reveal{opacity:0;transform:translateY(12px);transition:opacity .4s var(--ease),transform .4s var(--ease);}
  .reveal.is-in{opacity:1;transform:none;}
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;}
    .reveal{opacity:1;transform:none;}
    html{scroll-behavior:auto;}
  }

/* roulang page: category1 */
:root{
    --ink:#17131A; --ink-2:#241E2A; --brand:#8C2B5A; --brand-deep:#66173E;
    --accent:#D8A25A; --paper:#F7F3EE; --paper-2:#EFE8E0; --line:#E4DAD1;
    --muted:#6E6572; --dark:#14101A;
    --r-card:12px; --r-btn:8px; --r-pill:999px;
    --shadow-card:0 1px 2px rgba(23,19,26,.05), 0 14px 34px -22px rgba(23,19,26,.35);
    --shadow-hover:0 2px 4px rgba(23,19,26,.06), 0 22px 44px -22px rgba(23,19,26,.45);
    --ease:cubic-bezier(.2,.7,.3,1);
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
    font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4,p,ul,ol,figure{margin:0;}
  ul,ol{padding:0;list-style:none;}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
  input,select,textarea{font:inherit;color:inherit;}
  .wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;}
  @media (min-width:768px){.wrap{padding:0 24px;}}
  @media (min-width:1024px){.wrap{padding:0 32px;}}
  .serif{font-family:"Noto Serif SC","Songti SC",STSong,serif;}

  /* ---------- 顶部公告条 ---------- */
  .topbar{background:var(--ink);color:#F3EDE7;font-size:13px;}
  .topbar .wrap{display:flex;align-items:center;gap:12px;height:38px;overflow:hidden;}
  .topbar-badge{
    flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;
    background:rgba(216,162,90,.16);color:var(--accent);
    border:1px solid rgba(216,162,90,.42);border-radius:var(--r-pill);
    padding:1px 9px;font-size:12px;line-height:18px;letter-spacing:.04em;
  }
  .topbar-track{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#E4DAD1;}
  .topbar-links{flex:0 0 auto;display:none;align-items:center;gap:10px;color:#CFC6C0;}
  .topbar-links a{transition:color .18s var(--ease);}
  .topbar-links a:hover{color:var(--accent);}
  .topbar-links span{color:rgba(255,255,255,.25);}
  .topbar-close{
    flex:0 0 auto;width:26px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;
    color:#CFC6C0;transition:background .18s var(--ease),color .18s var(--ease);
  }
  .topbar-close:hover{background:rgba(255,255,255,.1);color:#fff;}
  .topbar.is-closed{display:none;}
  @media (min-width:768px){.topbar-links{display:flex;}}

  /* ---------- 主导航 ---------- */
  .navbar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .2s var(--ease);}
  .navbar.is-stuck{box-shadow:0 8px 24px -18px rgba(23,19,26,.55);}
  .navbar .wrap{display:flex;align-items:center;gap:10px;height:56px;}
  .logo{display:flex;flex-direction:column;justify-content:center;flex:0 0 auto;line-height:1.15;}
  .logo-main{font-family:"Noto Serif SC","Songti SC",STSong,serif;font-size:19px;font-weight:700;letter-spacing:.04em;color:var(--ink);}
  .logo-sub{font-size:11px;color:var(--muted);letter-spacing:.06em;margin-top:2px;}
  .nav-channel{position:relative;display:none;}
  .nav-link{
    display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:8px;
    font-size:14px;font-weight:600;color:var(--ink-2);transition:color .18s var(--ease),background .18s var(--ease);
  }
  .nav-link:hover{color:var(--brand);background:var(--paper-2);}
  .nav-link[aria-expanded="true"]{color:var(--brand);background:var(--paper-2);}
  .nav-link svg{transition:transform .2s var(--ease);}
  .nav-channel:hover .nav-link svg,
  .nav-channel:focus-within .nav-link svg,
  .nav-link[aria-expanded="true"] svg{transform:rotate(180deg);}
  .mega{
    position:absolute;top:calc(100% + 10px);left:-8px;width:680px;
    background:var(--paper);border:1px solid var(--line);border-radius:12px;
    box-shadow:0 24px 60px -28px rgba(23,19,26,.5);padding:18px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:6px 14px;
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
  }
  .nav-channel:hover .mega,
  .nav-channel:focus-within .mega,
  .nav-channel.is-open .mega{opacity:1;visibility:visible;transform:translateY(0);}
  .mega-item{display:block;padding:9px 10px;border-radius:8px;transition:background .18s var(--ease);}
  .mega-item strong{display:block;font-size:14px;font-weight:600;color:var(--ink);}
  .mega-item span{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:2px;}
  a.mega-item:hover{background:var(--paper-2);}
  a.mega-item:hover strong{color:var(--brand);}
  .nav-search{display:none;flex:1 1 auto;max-width:420px;position:relative;}
  .nav-search input{
    width:100%;height:40px;padding:0 48px 0 14px;border:1px solid var(--line);border-radius:8px;
    background:#fff;font-size:13.5px;color:var(--ink);
    transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
  }
  .nav-search input::placeholder{color:#9A9099;}
  .nav-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(140,43,90,.12);}
  .nav-search button{
    position:absolute;right:4px;top:4px;width:32px;height:32px;border-radius:6px;
    background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;
    transition:background .18s var(--ease);
  }
  .nav-search button:hover{background:var(--brand);}
  .nav-right{margin-left:auto;display:flex;align-items:center;gap:4px;}
  .icon-btn{
    position:relative;width:40px;height:40px;border-radius:8px;display:none;align-items:center;justify-content:center;
    color:var(--ink-2);transition:color .18s var(--ease),background .18s var(--ease);
  }
  .icon-btn:hover{color:var(--brand);background:var(--paper-2);}
  .icon-btn .dot{position:absolute;top:8px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--brand);border:1px solid var(--paper);}
  .burger{
    width:40px;height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
    color:var(--ink);transition:background .18s var(--ease);
  }
  .burger:hover{background:var(--paper-2);}
  @media (min-width:768px){
    .navbar .wrap{height:72px;gap:18px;}
    .logo-main{font-size:21px;}
    .burger{display:none;}
  }
  @media (min-width:1024px){
    .nav-channel{display:block;}
    .nav-search{display:block;}
    .icon-btn{display:inline-flex;}
  }

  /* ---------- 按钮 ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;
    border-radius:var(--r-btn);font-size:14.5px;font-weight:600;letter-spacing:.01em;
    transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
  }
  .btn-primary{background:var(--brand);color:#FBF6F1;box-shadow:0 10px 24px -18px rgba(140,43,90,.9);}
  .btn-primary:hover{background:var(--brand-deep);transform:translateY(-2px);box-shadow:0 16px 30px -18px rgba(102,23,62,.85);}
  .btn-primary:active{transform:translateY(0);}
  .btn-ghost{border:1px solid var(--ink);color:var(--ink);background:transparent;}
  .btn-ghost:hover{background:var(--ink);color:var(--paper);}
  .btn-light{border:1px solid rgba(243,237,231,.55);color:#F3EDE7;background:transparent;}
  .btn-light:hover{background:rgba(243,237,231,.14);}
  .btn-sm{min-height:38px;padding:0 16px;font-size:13.5px;}
  .btn:focus-visible,.icon-btn:focus-visible,.burger:focus-visible,a:focus-visible,button:focus-visible{
    outline:2px solid var(--accent);outline-offset:2px;
  }
  .nav-cta{display:none;}
  @media (min-width:768px){.nav-cta{display:inline-flex;}}

  /* ---------- 移动抽屉 ---------- */
  .drawer-mask{
    position:fixed;inset:0;background:rgba(23,19,26,.46);opacity:0;visibility:hidden;
    transition:opacity .2s var(--ease),visibility .2s;z-index:90;
  }
  .drawer-mask.is-open{opacity:1;visibility:visible;}
  .drawer{
    position:fixed;top:0;right:0;width:320px;max-width:86vw;height:100%;background:var(--paper);
    z-index:91;transform:translateX(100%);transition:transform .2s var(--ease);
    display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;
    border-left:1px solid var(--line);
  }
  .drawer.is-open{transform:translateX(0);}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);}
  .drawer-body{padding:16px 18px 28px;}
  .drawer-search{position:relative;margin-bottom:16px;}
  .drawer-search input{
    width:100%;height:42px;padding:0 46px 0 13px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:14px;
  }
  .drawer-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(140,43,90,.12);}
  .drawer-search button{
    position:absolute;right:4px;top:4px;width:34px;height:34px;border-radius:6px;background:var(--ink);color:var(--paper);
    display:inline-flex;align-items:center;justify-content:center;
  }
  .drawer-title{font-size:12px;letter-spacing:.14em;color:var(--muted);margin:18px 0 8px;}
  .drawer-link{display:block;padding:11px 2px;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2);}
  .drawer-link:hover{color:var(--brand);}

  /* ---------- 通用板块 ---------- */
  .section{padding:56px 0;}
  @media (min-width:1024px){.section{padding:88px 0;}}
  .section-alt{background:var(--paper-2);}
  .section-line{border-top:1px solid var(--line);}
  .sec-head{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
  .eyebrow{font-size:12px;letter-spacing:.18em;color:var(--brand);font-weight:600;}
  .h2{font-family:"Noto Serif SC","Songti SC",STSong,serif;font-size:clamp(1.5rem,2.4vw,2.15rem);line-height:1.25;font-weight:700;letter-spacing:-.01em;}
  .sec-desc{font-size:14.5px;color:var(--muted);max-width:640px;}
  .reveal{opacity:0;transform:translateY(12px);}
  .reveal.is-in{opacity:1;transform:none;transition:opacity .4s var(--ease),transform .4s var(--ease);}

  /* ---------- 分类页头 ---------- */
  .cat-hero{background:var(--paper-2);border-bottom:1px solid var(--line);padding:28px 0 34px;}
  @media (min-width:1024px){.cat-hero{padding:38px 0 46px;}}
  .crumbs{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:7px;}
  .crumbs a{transition:color .18s var(--ease);}
  .crumbs a:hover{color:var(--brand);}
  .crumbs .sep{color:#B9AEB6;}
  .crumbs .cur{color:var(--ink);}
  .cat-hero-grid{display:grid;gap:22px;margin-top:18px;}
  .cat-h1{
    font-family:"Noto Serif SC","Songti SC",STSong,serif;
    font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.18;font-weight:700;letter-spacing:-.02em;color:var(--ink);
  }
  .cat-sub{font-size:15px;color:var(--muted);max-width:660px;margin-top:12px;}
  .cat-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start;}
  .cat-stat .num{font-family:"Noto Serif SC","Songti SC",STSong,serif;font-size:26px;line-height:1.1;color:var(--ink);}
  .cat-stat .num i{font-style:normal;color:var(--accent);font-size:12px;vertical-align:super;margin-left:2px;}
  .cat-stat .txt{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.6;}
  @media (min-width:1024px){
    .cat-hero-grid{grid-template-columns:1fr auto;align-items:end;gap:40px;}
    .cat-stats{min-width:320px;}
  }

  /* ---------- 筛选标签条 ---------- */
  .filter-bar{background:var(--paper);border-bottom:1px solid var(--line);padding:14px 0;}
  .filter-scroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .filter-scroll::-webkit-scrollbar{display:none;}
  .chip{
    flex:0 0 auto;display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:var(--r-pill);
    border:1px solid var(--line);background:var(--paper);color:var(--ink-2);font-size:13.5px;
    transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
  }
  .chip:hover{border-color:var(--ink);}
  .chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper);}

  /* ---------- 频道列表卡 ---------- */
  .ch-list{display:grid;grid-template-columns:1fr;gap:14px;}
  @media (min-width:768px){
    .ch-list{grid-template-columns:repeat(2,1fr);gap:16px;}
    .ch-card.is-feature{grid-column:1 / -1;}
  }
  .ch-card{
    display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
    box-shadow:var(--shadow-card);overflow:hidden;
    transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);
  }
  .ch-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#D9CCC2;}
  .ch-thumb{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--paper-2);}
  .ch-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease);}
  .ch-card:hover .ch-thumb img{transform:scale(1.03);}
  .ch-badge{
    position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;
    background:rgba(247,243,238,.94);color:var(--brand);border-radius:var(--r-pill);
    font-size:12px;line-height:20px;padding:1px 10px;letter-spacing:.02em;
    border:1px solid rgba(216,162,90,.5);
  }
  .ch-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;}
  .ch-kicker{font-size:12px;letter-spacing:.1em;color:var(--brand);font-weight:600;}
  .ch-title{font-size:17px;font-weight:600;line-height:1.5;color:var(--ink);}
  .ch-desc{font-size:14px;line-height:1.8;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .ch-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);}
  .ch-tags{font-size:12.5px;color:var(--muted);}
  .ch-more{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--brand);}
  .ch-more svg{transition:transform .18s var(--ease);}
  .ch-card:hover .ch-more svg{transform:translateX(4px);}
  @media (min-width:768px){
    .ch-card{flex-direction:row;}
    .ch-thumb{width:42%;flex:0 0 42%;aspect-ratio:16/10;height:100%;}
    .ch-body{width:58%;flex:1 1 auto;padding:20px 22px;}
    .ch-card.is-feature .ch-thumb{width:48%;flex:0 0 48%;}
    .ch-card.is-feature .ch-title{font-size:20px;}
  }

  /* ---------- 使用要点 ---------- */
  .steps{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);}
  .step{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;}
  .step-num{
    width:34px;height:34px;border-radius:50%;border:1px solid var(--accent);color:var(--brand);
    display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;
    font-family:"Noto Serif SC","Songti SC",serif;
  }
  .step h3{font-size:16px;font-weight:600;line-height:1.5;}
  .step p{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.8;}
  @media (min-width:768px){
    .steps{grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);}
    .step{border-bottom:0;padding:26px 22px 26px 0;}
    .step + .step{border-left:1px solid var(--line);padding-left:22px;}
  }

  /* ---------- 安全提示条 ---------- */
  .safety{background:var(--dark);color:#F3EDE7;}
  .safety .wrap{display:flex;flex-direction:column;gap:16px;padding-top:24px;padding-bottom:24px;}
  .safety-left{display:flex;align-items:flex-start;gap:14px;}
  .shield{
    flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1px solid rgba(216,162,90,.55);
    display:inline-flex;align-items:center;justify-content:center;color:var(--accent);
  }
  .safety p{font-size:14.5px;line-height:1.75;color:#E7DFD8;max-width:760px;}
  .safety strong{color:#fff;font-weight:600;}
  @media (min-width:1024px){
    .safety .wrap{flex-direction:row;align-items:center;justify-content:space-between;gap:28px;}
  }

  /* ---------- 最新发布（CMS 列表） ---------- */
  .cms-grid{display:grid;grid-template-columns:1fr;gap:16px;}
  @media (min-width:640px){.cms-grid{grid-template-columns:repeat(2,1fr);}}
  @media (min-width:1024px){.cms-grid{grid-template-columns:repeat(3,1fr);}}
  .cms-card{
    display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
    overflow:hidden;box-shadow:var(--shadow-card);transition:transform .2s var(--ease),box-shadow .2s var(--ease);
  }
  .cms-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);}
  .cms-thumb{aspect-ratio:16/10;width:100%;overflow:hidden;background:var(--paper-2);}
  .cms-thumb img{width:100%;height:100%;object-fit:cover;}
  .cms-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto;}
  .badge{
    display:inline-flex;align-items:center;align-self:flex-start;
    background:var(--paper-2);color:var(--brand);border-radius:var(--r-pill);
    font-size:12px;line-height:20px;padding:1px 10px;
  }
  .cms-title{font-size:15.5px;font-weight:600;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .cms-card:hover .cms-title{color:var(--brand);}
  .cms-sum{font-size:13.5px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .cms-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--muted);}
  .empty{
    border:1px solid var(--line);background:#fff;border-radius:var(--r-card);
    padding:34px 22px;text-align:center;color:var(--muted);font-size:14px;
  }
  .empty .empty-art{
    width:100%;max-width:280px;height:72px;margin:0 auto 16px;border-radius:8px;
    background:linear-gradient(90deg,var(--paper-2),#F7F3EE 60%,var(--paper-2));
    border:1px solid var(--line);
  }

  /* ---------- FAQ ---------- */
  .faq-list{border-top:1px solid var(--line);max-width:900px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
    padding:18px 2px;text-align:left;font-size:15.5px;font-weight:600;color:var(--ink);
    transition:color .18s var(--ease);
  }
  .faq-q:hover{color:var(--brand);}
  .faq-q[aria-expanded="true"]{color:var(--brand);}
  .faq-icon{
    flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);
    display:inline-flex;align-items:center;justify-content:center;color:var(--muted);
    transition:transform .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);
  }
  .faq-q[aria-expanded="true"] .faq-icon{transform:rotate(180deg);border-color:var(--brand);color:var(--brand);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .22s var(--ease);}
  .faq-a p{font-size:14.5px;color:var(--muted);line-height:1.85;padding:0 2px 18px;max-width:760px;}

  /* ---------- 相关文章小卡 ---------- */
  .rel-grid{display:grid;grid-template-columns:1fr;gap:14px;}
  @media (min-width:1024px){.rel-grid{grid-template-columns:repeat(3,1fr);}}
  .rel-card{
    display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;
    background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:14px;
    box-shadow:var(--shadow-card);transition:transform .2s var(--ease),box-shadow .2s var(--ease);
  }
  .rel-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);}
  .rel-thumb{width:88px;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:var(--paper-2);}
  .rel-thumb img{width:100%;height:100%;object-fit:cover;}
  .rel-title{font-size:14.5px;font-weight:600;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .rel-card:hover .rel-title{color:var(--brand);}
  .rel-date{font-size:12.5px;color:var(--muted);margin-top:6px;}

  /* ---------- 收尾 ---------- */
  .end-cta{text-align:center;padding-top:8px;}
  .end-cta .hint{font-size:13px;color:var(--muted);margin-top:12px;}

  /* ---------- 页脚 ---------- */
  .footer{background:var(--ink);color:#E9E1DA;margin-top:0;}
  .footer .wrap{padding-top:44px;}
  .footer-grid{display:grid;grid-template-columns:1fr;gap:28px;}
  @media (min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
  @media (min-width:1024px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}}
  .footer .logo-main{color:#F7F3EE;}
  .footer .logo-sub{color:#B9AEB6;}
  .footer-desc{font-size:12.5px;line-height:1.8;color:#B9AEB6;margin-top:14px;max-width:360px;}
  .footer-social{display:flex;gap:10px;margin-top:16px;}
  .footer-social a{
    width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.16);
    display:inline-flex;align-items:center;justify-content:center;color:#D7CDC6;
    transition:color .18s var(--ease),border-color .18s var(--ease);
  }
  .footer-social a:hover{color:var(--accent);border-color:rgba(216,162,90,.6);}
  .footer h4{font-size:13px;letter-spacing:.14em;color:#F7F3EE;font-weight:600;margin-bottom:14px;}
  .footer-list li{margin-bottom:9px;}
  .footer-list a{font-size:13.5px;color:#B9AEB6;transition:color .18s var(--ease);}
  .footer-list a:hover{color:var(--accent);}
  .footer-contact li{font-size:13px;color:#B9AEB6;margin-bottom:9px;line-height:1.7;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;}
  .footer-bottom .wrap{
    display:flex;flex-direction:column;gap:8px;padding-top:18px;padding-bottom:22px;
    font-size:12.5px;color:#9C929B;
  }
  @media (min-width:768px){.footer-bottom .wrap{flex-direction:row;justify-content:space-between;align-items:center;}}

  @media (prefers-reduced-motion: reduce){
    *{animation:none!important;transition:none!important;}
    .reveal{opacity:1;transform:none;}
    html{scroll-behavior:auto;}
  }

/* roulang page: article */
:root{
  --ink:#17131A; --ink-2:#241E2A; --brand:#8C2B5A; --brand-deep:#66173E;
  --accent:#D8A25A; --paper:#F7F3EE; --paper-2:#EFE8E0; --line:#E4DAD1;
  --muted:#6E6572; --dark:#14101A;
  --r-card:12px; --r-btn:8px; --r-pill:999px;
  --shadow-card:0 1px 2px rgba(23,19,26,.05), 0 14px 34px -22px rgba(23,19,26,.35);
  --shadow-hover:0 2px 4px rgba(23,19,26,.06), 0 22px 44px -22px rgba(23,19,26,.45);
  --ease:cubic-bezier(.2,.7,.3,1);
  --serif:"Noto Serif SC","Songti SC",STSong,serif;
  --sans:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
input,select,textarea{font:inherit;color:inherit;}
h1,h2,h3,h4,p,ul,ol{margin:0;}
ul,ol{padding:0;list-style:none;}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px;}
@media(min-width:768px){.wrap{padding:0 24px;}}
@media(min-width:1024px){.wrap{padding:0 32px;}}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* 顶部公告条 */
.topbar{background:var(--ink);color:#F3EDE7;font-size:13px;}
.topbar .wrap{display:flex;align-items:center;gap:12px;height:38px;}
.topbar-badge{
  flex:0 0 auto;display:inline-flex;align-items:center;
  background:rgba(216,162,90,.16);color:var(--accent);
  border:1px solid rgba(216,162,90,.42);border-radius:var(--r-pill);
  padding:1px 9px;font-size:12px;line-height:18px;letter-spacing:.06em;
}
.topbar-marquee{flex:1 1 auto;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);}
.topbar-marquee span{display:inline-block;white-space:nowrap;animation:marquee 32s linear infinite;color:#CFC6C0;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.topbar-links{display:none;align-items:center;gap:10px;flex:0 0 auto;color:#CFC6C0;}
.topbar-links a{color:#CFC6C0;transition:color .18s var(--ease);}
.topbar-links a:hover{color:var(--accent);}
.topbar-links span{color:rgba(255,255,255,.25);}
.topbar-close{flex:0 0 auto;width:26px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#CFC6C0;transition:background .18s var(--ease),color .18s var(--ease);}
.topbar-close:hover{background:rgba(255,255,255,.1);color:#fff;}
.topbar.is-closed{display:none;}
@media(min-width:768px){.topbar-links{display:flex;}}

/* 主导航 */
.navbar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .2s var(--ease);}
.navbar.is-stuck{box-shadow:0 8px 24px -18px rgba(23,19,26,.55);}
.navbar .wrap{display:flex;align-items:center;gap:12px;height:56px;}
@media(min-width:768px){.navbar .wrap{height:72px;gap:16px;}}
.logo{display:flex;flex-direction:column;justify-content:center;flex:0 0 auto;line-height:1.15;}
.logo-main{font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.04em;color:var(--ink);}
@media(min-width:768px){.logo-main{font-size:21px;}}
.logo-sub{font-size:11px;color:var(--muted);letter-spacing:.06em;margin-top:2px;}
.nav-channel{position:relative;display:none;}
@media(min-width:768px){.nav-channel{display:block;}}
.nav-link{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink-2);transition:color .18s var(--ease),background .18s var(--ease);}
.nav-link:hover{color:var(--brand);background:var(--paper-2);}
.nav-link svg{transition:transform .2s var(--ease);}
.nav-channel:hover .nav-link svg,.nav-channel:focus-within .nav-link svg{transform:rotate(180deg);}
.mega{
  position:absolute;top:calc(100% + 10px);left:-8px;width:min(680px,calc(100vw - 48px));
  background:var(--paper);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 24px 60px -28px rgba(23,19,26,.5);padding:18px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px 14px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
}
.nav-channel:hover .mega,.nav-channel:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0);}
.mega-item{display:block;padding:9px 10px;border-radius:8px;transition:background .18s var(--ease);}
.mega-item strong{display:block;font-size:14px;font-weight:600;color:var(--ink);}
.mega-item span{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:2px;font-weight:400;}
a.mega-item:hover{background:var(--paper-2);}
a.mega-item:hover strong{color:var(--brand);}
.nav-search{display:none;position:relative;flex:1 1 auto;max-width:380px;}
@media(min-width:1024px){.nav-search{display:block;}}
.nav-search input{
  width:100%;height:40px;padding:0 48px 0 14px;border:1px solid var(--line);border-radius:8px;
  background:#fff;font-size:13.5px;color:var(--ink);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.nav-search input::placeholder{color:#9A9099;}
.nav-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(140,43,90,.12);}
.nav-search button{
  position:absolute;right:4px;top:4px;width:32px;height:32px;border-radius:6px;
  background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;
  transition:background .18s var(--ease);
}
.nav-search button:hover{background:var(--brand);}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:6px;}
.icon-btn{position:relative;width:40px;height:40px;border-radius:8px;display:none;align-items:center;justify-content:center;color:var(--ink-2);transition:color .18s var(--ease),background .18s var(--ease);}
.icon-btn:hover{color:var(--brand);background:var(--paper-2);}
.icon-btn .dot{position:absolute;top:8px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--brand);border:1px solid var(--paper);}
@media(min-width:768px){.icon-btn{display:inline-flex;}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-btn);font-size:14.5px;font-weight:600;letter-spacing:.01em;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);}
.btn-primary{background:var(--brand);color:#FBF6F1;box-shadow:0 10px 24px -18px rgba(140,43,90,.9);}
.btn-primary:hover{background:var(--brand-deep);transform:translateY(-2px);box-shadow:0 16px 30px -18px rgba(102,23,62,.85);}
.btn-primary:active{transform:translateY(0);}
.btn-ghost{border:1px solid var(--ink);color:var(--ink);background:transparent;}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.btn-light{border:1px solid rgba(243,237,231,.55);color:#F3EDE7;background:transparent;}
.btn-light:hover{background:rgba(243,237,231,.12);}
.btn-sm{min-height:38px;padding:0 16px;font-size:13.5px;}
.nav-cta{display:none;}
@media(min-width:768px){.nav-cta{display:inline-flex;}}
.menu-toggle{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px;color:var(--ink-2);transition:background .18s var(--ease);}
.menu-toggle:hover{background:var(--paper-2);}
@media(min-width:768px){.menu-toggle{display:none;}}

/* 移动抽屉 */
.drawer-mask{position:fixed;inset:0;background:rgba(23,19,26,.5);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility .2s;z-index:60;}
.drawer-mask.open{opacity:1;visibility:visible;}
.drawer{
  position:fixed;top:0;right:0;height:100%;width:320px;max-width:86vw;background:var(--paper);z-index:70;
  transform:translateX(100%);transition:transform .2s ease-out;overflow-y:auto;overscroll-behavior:contain;
  padding:22px 20px 32px;display:flex;flex-direction:column;gap:18px;
  box-shadow:-24px 0 60px -30px rgba(23,19,26,.6);
}
.drawer.open{transform:translateX(0);}
.drawer-head{display:flex;align-items:center;justify-content:space-between;}
.drawer-close{width:40px;height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);transition:background .18s var(--ease);}
.drawer-close:hover{background:var(--paper-2);}
.drawer-search{position:relative;}
.drawer-search input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:14px;}
.drawer-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(140,43,90,.12);}
.drawer-group-title{font-size:12px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;}
.drawer-list{display:flex;flex-direction:column;gap:2px;}
.drawer-list a,.drawer-list span{display:block;padding:10px 8px;border-radius:8px;font-size:14.5px;color:var(--ink-2);transition:background .18s var(--ease),color .18s var(--ease);}
.drawer-list a:hover{background:var(--paper-2);color:var(--brand);}

/* 面包屑 */
.crumb-bar{background:var(--paper);border-bottom:1px solid var(--line);}
.crumb-bar .wrap{display:flex;align-items:center;min-height:46px;gap:8px;}
.crumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);min-width:0;}
.crumb a{color:var(--muted);transition:color .18s var(--ease);}
.crumb a:hover{color:var(--brand);}
.crumb .sep{color:#C3B8B0;}
.crumb .cat{color:var(--brand);font-weight:600;}
.crumb .current{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw;}

/* 文章头部 */
.article-head{background:var(--paper-2);border-bottom:1px solid var(--line);padding:44px 0 40px;}
@media(min-width:768px){.article-head{padding:56px 0 52px;}}
.head-inner{max-width:820px;}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:20px;padding:2px 11px;border-radius:var(--r-pill);background:#fff;color:var(--brand);border:1px solid var(--line);letter-spacing:.04em;}
.badge-line{background:transparent;border:1px solid var(--accent);color:#8A6a3a;}
.article-h1{
  font-family:var(--serif);font-weight:700;letter-spacing:-.02em;line-height:1.22;
  font-size:clamp(1.8rem,3.2vw,2.6rem);margin:16px 0 18px;color:var(--ink);
}
.meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:13px;color:var(--muted);}
.meta-row .sep{width:4px;height:4px;border-radius:50%;background:#C3B8B0;display:inline-block;}
.meta-row strong{color:var(--ink-2);font-weight:600;}

/* 阅读区栅格 */
.article-main{padding:44px 0 72px;}
@media(min-width:768px){.article-main{padding:56px 0 88px;}}
.read-grid{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:1024px){.read-grid{grid-template-columns:196px minmax(0,1fr);gap:40px;}}
@media(min-width:1280px){.read-grid{grid-template-columns:196px minmax(0,760px) 264px;gap:44px;}}

/* 粘性目录 */
.toc-col{display:none;}
@media(min-width:1024px){.toc-col{display:block;}}
.toc-card{position:sticky;top:96px;border-left:1px solid var(--line);padding-left:18px;}
.toc-title{font-size:12px;letter-spacing:.14em;color:var(--muted);margin-bottom:10px;}
.toc-list{display:flex;flex-direction:column;gap:2px;}
.toc-link{display:block;font-size:13.5px;line-height:1.6;color:var(--muted);padding:5px 0;transition:color .18s var(--ease);}
.toc-link:hover{color:var(--brand);}
.toc-link.toc-sub{padding-left:12px;font-size:12.5px;}

/* 正文 */
.read-col{min-width:0;}
.article-body{font-size:17px;line-height:1.95;color:var(--ink);}
.article-body > *:first-child{margin-top:0;}
.article-body p{margin:0 0 1.15em;}
.article-body h2{
  font-family:var(--serif);font-size:clamp(1.32rem,2vw,1.68rem);font-weight:700;line-height:1.4;
  margin:42px 0 16px;padding-left:14px;border-left:4px solid var(--brand);letter-spacing:-.01em;
  scroll-margin-top:96px;
}
.article-body h3{font-size:1.15rem;font-weight:600;line-height:1.55;margin:28px 0 10px;scroll-margin-top:96px;}
.article-body ul,.article-body ol{margin:0 0 1.2em;padding-left:1.2em;}
.article-body ul{list-style:disc;}
.article-body ol{list-style:decimal;}
.article-body li{margin:.42em 0;}
.article-body li::marker{color:var(--brand);}
.article-body blockquote{
  margin:26px 0;padding:18px 22px;background:var(--paper-2);
  border-left:3px solid var(--accent);border-radius:0 8px 8px 0;
  font-family:var(--serif);font-style:italic;color:var(--ink-2);
}
.article-body blockquote p:last-child{margin-bottom:0;}
.article-body img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin:26px 0 10px;border:1px solid var(--line);}
.article-body figure{margin:26px 0;}
.article-body figcaption{font-size:13px;color:var(--muted);line-height:1.7;}
.article-body a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .18s var(--ease);}
.article-body a:hover{color:var(--brand-deep);}
.article-body strong{font-weight:600;color:var(--ink);}
.article-body hr{border:0;border-top:1px solid var(--line);margin:36px 0;}
.article-body table{width:100%;border-collapse:collapse;font-size:14.5px;margin:24px 0;}
.article-body th,.article-body td{border:1px solid var(--line);padding:10px 12px;text-align:left;}
.article-body th{background:var(--paper-2);font-weight:600;}

/* 空态 */
.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:56px 20px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);text-align:center;}
.empty-state p{font-size:16px;color:var(--muted);margin:0;}

/* 要点小结 */
.summary-card{
  margin:44px 0 0;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);
  padding:26px 24px;box-shadow:var(--shadow-card);
}
.summary-card h2{font-family:var(--serif);font-size:1.22rem;font-weight:700;margin:0 0 14px;color:var(--ink);}
.summary-list{display:flex;flex-direction:column;gap:10px;counter-reset:sum;}
.summary-list li{position:relative;padding-left:34px;font-size:15px;line-height:1.8;color:var(--ink-2);counter-increment:sum;}
.summary-list li::before{
  content:counter(sum,decimal-leading-zero);position:absolute;left:0;top:1px;
  font-family:var(--serif);font-size:14px;font-weight:700;color:var(--brand);
  width:24px;height:24px;border-radius:6px;border:1px solid rgba(140,43,90,.28);
  display:inline-flex;align-items:center;justify-content:center;background:#fff;
}

/* 上/下篇 */
.pager{display:grid;grid-template-columns:1fr;gap:14px;margin-top:36px;}
@media(min-width:640px){.pager{grid-template-columns:1fr 1fr;}}
.pager-card{
  display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);
}
.pager-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#D6C9BE;}
.pager-label{font-size:12px;letter-spacing:.1em;color:var(--muted);}
.pager-title{font-size:15px;font-weight:600;line-height:1.65;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pager-card:hover .pager-title{color:var(--brand);}
.pager-arrow{font-size:13px;color:var(--muted);}
.pager-card.next{text-align:right;}

/* 侧栏 */
.side-col{display:flex;flex-direction:column;gap:20px;min-width:0;}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:20px;box-shadow:var(--shadow-card);}
.side-title{font-size:13px;letter-spacing:.12em;color:var(--muted);margin-bottom:12px;}
.hot-list{display:flex;flex-direction:column;gap:10px;counter-reset:hot;}
.hot-list li{counter-increment:hot;position:relative;padding-left:24px;font-size:13.5px;line-height:1.65;}
.hot-list li::before{content:counter(hot);position:absolute;left:0;top:0;font-family:var(--serif);font-weight:700;font-size:13px;color:var(--accent);}
.hot-list a{color:var(--ink-2);transition:color .18s var(--ease);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hot-list a:hover{color:var(--brand);}
.side-tip{background:var(--paper-2);border-color:#DCD0C5;}
.side-tip h3{font-size:14.5px;font-weight:600;margin-bottom:8px;}
.side-tip p{font-size:13px;line-height:1.75;color:var(--muted);}

/* 相关推荐 */
.related-section{padding:64px 0 8px;border-top:1px solid var(--line);margin-top:56px;}
@media(min-width:768px){.related-section{padding:76px 0 8px;margin-top:72px;}}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px;}
.sec-title{font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,1.9rem);font-weight:700;letter-spacing:-.01em;line-height:1.35;}
.sec-sub{font-size:13.5px;color:var(--muted);margin-top:6px;}
.rel-grid{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:640px){.rel-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.rel-grid{grid-template-columns:repeat(3,1fr);}}
.rel-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-card);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);
}
.rel-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#D6C9BE;}
.rel-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2);}
.rel-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease);}
.rel-card:hover .rel-thumb img{transform:scale(1.03);}
.rel-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto;}
.rel-body h3{font-size:15.5px;font-weight:600;line-height:1.6;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .18s var(--ease);}
.rel-card:hover .rel-body h3{color:var(--brand);}
.rel-desc{font-size:13.5px;line-height:1.75;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.rel-meta{margin-top:auto;padding-top:10px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.rel-meta .arrow{color:var(--brand);transition:transform .18s var(--ease);}
.rel-card:hover .rel-meta .arrow{transform:translateX(4px);}

/* 安全提示条 */
.safety-bar{background:var(--dark);color:#F3EDE7;padding:34px 0;}
@media(min-width:768px){.safety-bar{padding:40px 0;}}
.safety-inner{display:flex;flex-direction:column;gap:20px;}
@media(min-width:900px){.safety-inner{flex-direction:row;align-items:center;gap:32px;}}
.safety-icon{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:1px solid rgba(216,162,90,.45);display:flex;align-items:center;justify-content:center;color:var(--accent);}
.safety-text{flex:1 1 auto;min-width:0;}
.safety-text h2{font-family:var(--serif);font-size:1.18rem;font-weight:700;margin-bottom:6px;color:#F7F3EE;}
.safety-text p{font-size:14px;line-height:1.8;color:#C9C0BA;}
.safety-list{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px;}
.safety-list li{font-size:13px;color:#C9C0BA;position:relative;padding-left:14px;}
.safety-list li::before{content:"";position:absolute;left:0;top:.78em;width:8px;height:1px;background:var(--accent);}

/* 底部转化 */
.cta-section{padding:64px 0 72px;}
@media(min-width:768px){.cta-section{padding:80px 0 92px;}}
.cta-box{
  background:var(--paper-2);border:1px solid var(--line);border-radius:16px;
  padding:36px 26px;display:flex;flex-direction:column;gap:20px;
  position:relative;overflow:hidden;
}
@media(min-width:768px){.cta-box{padding:46px 44px;flex-direction:row;align-items:center;justify-content:space-between;gap:32px;}}
.cta-box::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(216,162,90,.22),transparent 68%);}
.cta-copy{position:relative;z-index:1;max-width:560px;}
.cta-copy h2{font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:700;line-height:1.35;margin-bottom:8px;}
.cta-copy p{font-size:14.5px;color:var(--muted);line-height:1.8;}
.cta-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;}

/* 页脚 */
.footer{background:var(--ink);color:#F3EDE7;padding:56px 0 0;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:34px;}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;}}
.footer .logo-main{color:#F7F3EE;}
.footer .logo-sub{color:#A79C97;}
.footer-desc{font-size:13px;line-height:1.85;color:#B6ACA6;margin-top:14px;max-width:340px;}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;color:#C9C0BA;transition:color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease);}
.footer-social a:hover{color:var(--accent);border-color:rgba(216,162,90,.5);transform:translateY(-2px);}
.footer h4{font-size:13px;letter-spacing:.14em;color:#8F8580;font-weight:600;margin-bottom:14px;}
.footer-list{display:flex;flex-direction:column;gap:10px;font-size:13.5px;}
.footer-list a{color:#C9C0BA;transition:color .18s var(--ease);}
.footer-list a:hover{color:var(--accent);}
.footer-contact{display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:#B6ACA6;line-height:1.75;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding:18px 0;}
.footer-bottom .wrap{display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:#9A8F8A;line-height:1.7;}
@media(min-width:768px){.footer-bottom .wrap{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;}}

/* 动效 */
html.js .reveal{opacity:0;transform:translateY(12px);}
html.js .reveal.in{opacity:1;transform:none;transition:opacity .4s ease-out,transform .4s ease-out;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  html.js .reveal{opacity:1;transform:none;transition:none;}
  .topbar-marquee span{animation:none;}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
}
