/* roulang page: index */
:root{
  --coral:#c94f45;
  --coral-dark:#a94039;
  --teal:#397a78;
  --ink:#242321;
  --muted:#716d66;
  --paper:#fffefc;
  --warm:#f5f3ef;
  --line:#e4e0d8;
  --soft:#ece9e3;
  --cream:#ebe3d6;
  --shadow:0 14px 34px rgba(36,35,33,.08);
  --radius:10px;
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--warm);font-size:16px;line-height:1.7}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.site-header{height:76px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}
.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
.brand-mark{width:35px;height:35px;border:2px solid var(--coral);border-radius:6px;display:grid;place-items:center;color:var(--coral);font-size:17px;position:relative}
.brand-mark:after{content:"";position:absolute;left:5px;right:5px;bottom:7px;border-top:2px solid var(--coral);transform:skew(-25deg)}
.brand-name{font-size:18px}
.nav-links{display:flex;align-items:center;gap:7px;margin-left:auto}
.nav-links a{padding:9px 15px;border-radius:6px;color:var(--muted);font-size:14px;transition:.2s ease}
.nav-links a:hover,.nav-links a:focus,.nav-links a.active{color:var(--coral);background:#f8e9e6}
.nav-cta{background:var(--coral);color:#fff!important;padding:10px 18px!important;border-radius:6px!important}
.nav-cta:hover,.nav-cta:focus{background:var(--coral-dark)!important;transform:translateY(-1px)}
.menu-toggle{display:none;border:1px solid var(--line);background:var(--paper);width:44px;height:44px;border-radius:7px;color:var(--ink);font-size:21px}
.hero{min-height:590px;background-image:linear-gradient(90deg,rgba(27,25,23,.9) 0%,rgba(27,25,23,.72) 43%,rgba(27,25,23,.2) 100%),url('/images/sd/backpic/back-1.webp');background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}
.hero-content{width:min(680px,100%);padding:82px 0}
.eyebrow{color:#f2b4a9;font-size:13px;font-weight:700;letter-spacing:1.5px;margin-bottom:18px}
.hero h1{font-size:clamp(42px,5vw,58px);line-height:1.18;letter-spacing:-2px;margin-bottom:22px;font-weight:800}
.hero-copy{font-size:18px;line-height:1.9;color:#eee7e1;max-width:620px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:6px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.2s ease}
.btn:hover,.btn:focus{transform:translateY(-2px)}
.btn-primary{background:var(--coral);color:#fff}
.btn-primary:hover,.btn-primary:focus{background:var(--coral-dark)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover,.btn-light:focus{background:#f7e9e5}
.btn-outline{border-color:var(--line);background:transparent;color:var(--ink)}
.btn-outline:hover,.btn-outline:focus{border-color:var(--coral);color:var(--coral);background:#fff}
.hero-note{display:flex;gap:28px;margin-top:50px;padding-top:20px;border-top:1px solid rgba(255,255,255,.3);color:#e5ded7;font-size:13px}
.hero-note strong{display:block;color:#fff;font-size:20px;line-height:1.2}
.section{padding:88px 0}
.section-tight{padding:64px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:29px}
.section-kicker{color:var(--coral);font-size:13px;font-weight:800;letter-spacing:1px;margin-bottom:6px}
.section h2{font-size:32px;line-height:1.3;letter-spacing:-.8px}
.section-intro{color:var(--muted);max-width:620px;margin-top:10px}
.text-link{color:var(--coral);font-size:14px;font-weight:700;border-bottom:1px solid transparent}
.text-link:hover{border-color:var(--coral)}
.rank-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
.rank-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.rank-row{display:grid;grid-template-columns:58px minmax(0,1fr) 90px 72px;align-items:center;gap:16px;padding:19px 22px;border-bottom:1px solid var(--line);transition:.2s ease}
.rank-row:last-child{border-bottom:0}
.rank-row:hover{background:#fcf8f5}
.rank-no{font-size:26px;font-weight:800;color:#bbb5ac}
.rank-row:nth-child(1) .rank-no{color:var(--coral)}
.rank-row:nth-child(2) .rank-no{color:#b56757}
.rank-row:nth-child(3) .rank-no{color:var(--teal)}
.rank-title{font-size:16px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-meta{font-size:12px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-hot{font-weight:800;color:var(--coral);font-size:14px}
.rank-status{font-size:12px;color:var(--teal);background:#e4f0ee;padding:3px 7px;border-radius:4px;text-align:center}
.focus-film{min-height:430px;border-radius:var(--radius);overflow:hidden;position:relative;background:#252321;color:#fff;box-shadow:var(--shadow)}
.focus-film img{width:100%;height:100%;min-height:430px;object-fit:cover;opacity:.76}
.focus-film:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(20,18,17,.95))}
.focus-info{position:absolute;z-index:1;left:27px;right:27px;bottom:25px}
.focus-rank{color:#f3b5a9;font-size:13px;font-weight:700;margin-bottom:6px}
.focus-info h3{font-size:27px;line-height:1.3;margin-bottom:8px}
.focus-info p{color:#e9e2dc;font-size:14px;line-height:1.7;margin-bottom:17px}
.filter-bar{background:#eae7e1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
.filter-inner{display:flex;align-items:center;gap:18px;overflow:auto}
.filter-label{font-size:13px;font-weight:800;white-space:nowrap}
.filter-list{display:flex;gap:8px;white-space:nowrap}
.filter-list button{border:1px solid #d4d0c8;background:var(--paper);padding:7px 14px;border-radius:5px;color:var(--muted);font-size:13px;transition:.2s}
.filter-list button:hover,.filter-list button:focus,.filter-list button.active{background:var(--teal);border-color:var(--teal);color:#fff}
.poster-rail{display:grid;grid-auto-flow:column;grid-auto-columns:190px;gap:18px;overflow-x:auto;padding:4px 2px 16px;scrollbar-color:var(--coral) transparent}
.poster-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:.2s ease;min-width:0}
.poster-card:hover{transform:translateY(-4px);border-color:#d99a91;box-shadow:var(--shadow)}
.poster-image{height:276px;position:relative;background:var(--cream);overflow:hidden}
.poster-image img{width:100%;height:100%;object-fit:cover}
.poster-number{position:absolute;top:10px;left:10px;background:var(--coral);color:#fff;font-weight:800;padding:2px 8px;border-radius:4px;font-size:13px}
.poster-copy{padding:14px}
.poster-copy h3{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poster-copy p{color:var(--muted);font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poster-foot{display:flex;justify-content:space-between;color:var(--teal);font-size:12px;font-weight:700;margin-top:9px}
.type-section{background:var(--paper)}
.type-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.type-item{min-height:96px;padding:18px 12px;border:1px solid var(--line);border-radius:7px;background:var(--warm);transition:.2s ease}
.type-item:hover{background:#f8e9e5;border-color:#dda098;transform:translateY(-2px)}
.type-item strong{display:block;font-size:18px;margin-bottom:4px}
.type-item span{color:var(--muted);font-size:12px}
.news-layout{display:grid;grid-template-columns:1fr .75fr;gap:30px}
.news-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.news-item{display:grid;grid-template-columns:108px 1fr;gap:17px;padding:18px;border-bottom:1px solid var(--line)}
.news-item:last-child{border-bottom:0}
.news-thumb{height:78px;border-radius:6px;overflow:hidden;background:var(--cream)}
.news-thumb img{width:100%;height:100%;object-fit:cover}
.news-tag{font-size:12px;color:var(--teal);font-weight:700}
.news-item h3{font-size:16px;line-height:1.45;margin:3px 0}
.news-item h3:hover{color:var(--coral)}
.news-item p{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-date{font-size:12px;color:#99938b}
.note-panel{background:#2c403f;color:#fff;border-radius:var(--radius);padding:30px}
.note-panel h3{font-size:23px;margin-bottom:13px}
.note-panel p{color:#dbe6e3;font-size:14px;line-height:1.85}
.metric-list{margin-top:23px;border-top:1px solid rgba(255,255,255,.2)}
.metric{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:13px}
.metric span{color:#b8d5d0}
.decision{background:#ebe3d6}
.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.decision-card{padding:24px;background:rgba(255,254,252,.7);border-left:3px solid var(--coral)}
.decision-card b{display:block;font-size:18px;margin-bottom:8px}
.decision-card p{font-size:14px;color:var(--muted)}
.faq-list{max-width:840px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border:0;padding:20px 4px;font-weight:750;color:var(--ink)}
.faq-question span:last-child{font-size:22px;color:var(--coral);transition:.2s}
.faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 38px 20px 4px}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
.cta-band{background:var(--coral);color:#fff;padding:39px 0}
.cta-wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}
.cta-wrap h2{font-size:27px;line-height:1.3}
.cta-wrap p{color:#f8ddd8;font-size:14px;margin-top:5px}
.cta-band .btn-light{color:var(--coral)}
.site-footer{background:#252422;color:#fff;padding:48px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;padding-bottom:38px}
.footer-brand{font-size:19px;font-weight:800;margin-bottom:12px}
.footer-desc{color:#bdb7af;font-size:13px;max-width:310px}
.footer-col h3{font-size:14px;margin-bottom:13px}
.footer-col a{display:block;color:#bdb7af;font-size:13px;margin:7px 0}
.footer-col a:hover{color:#f0a096}
.copyright{border-top:1px solid #45423e;padding-top:18px;color:#99938c;font-size:12px;display:flex;justify-content:space-between;gap:15px}
.back-top{color:#f0a096}
:focus-visible{outline:3px solid rgba(201,79,69,.38);outline-offset:3px}
@media(max-width:1024px){
  .type-grid{grid-template-columns:repeat(4,1fr)}
  .rank-layout,.news-layout{grid-template-columns:1fr}
}
@media(max-width:768px){
  .container{width:min(100% - 32px,var(--max))}
  .site-header,.nav-wrap{height:68px}
  .nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:10px 16px 16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 14px}
  .nav-cta{text-align:center}
  .menu-toggle{display:block}
  .brand-name{font-size:15px}
  .hero{min-height:650px;background-position:58% center}
  .hero-content{padding:68px 0}
  .hero h1{font-size:42px;letter-spacing:-1.4px}
  .hero-copy{font-size:16px}
  .section{padding:58px 0}
  .section-head{align-items:start;flex-direction:column;gap:10px}
  .section h2{font-size:28px}
  .rank-row{grid-template-columns:42px minmax(0,1fr) 60px;padding:16px 13px;gap:10px}
  .rank-status{grid-column:2;grid-row:2;justify-self:start}
  .rank-hot{grid-column:3;grid-row:1}
  .rank-no{font-size:23px}
  .focus-film,.focus-film img{min-height:390px}
  .type-grid{grid-template-columns:repeat(2,1fr)}
  .decision-grid{grid-template-columns:1fr}
  .cta-wrap{align-items:start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:520px){
  .brand-mark{width:31px;height:31px;font-size:14px}
  .hero h1{font-size:36px}
  .hero-note{gap:17px;flex-wrap:wrap;margin-top:35px}
  .hero-actions .btn{width:100%}
  .news-item{grid-template-columns:82px 1fr;gap:12px;padding:14px}
  .news-thumb{height:70px}
  .footer-grid{grid-template-columns:1fr}
  .copyright{display:block;line-height:2}
  .copyright .back-top{display:block;margin-top:6px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important}
}

/* roulang page: article */
:root{
      --coral:#c94f45;
      --coral-dark:#a94039;
      --teal:#397a78;
      --ink:#242321;
      --muted:#716d66;
      --paper:#fffefc;
      --warm:#f5f3ef;
      --line:#e4e0d8;
      --soft:#ece9e3;
      --cream:#ebe3d6;
      --shadow:0 14px 34px rgba(36,35,33,.08);
      --shadow-small:0 7px 18px rgba(36,35,33,.06);
      --radius:10px;
      --max:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:var(--warm);
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
      font-size:16px;
      line-height:1.75;
    }
    a{color:inherit;text-decoration:none}
    button,input,select{font:inherit}
    button{cursor:pointer}
    img{display:block;max-width:100%}
    .container{width:min(var(--max),calc(100% - 48px));margin:0 auto}
    .site-header{
      height:76px;
      background:var(--paper);
      border-bottom:1px solid var(--line);
      position:relative;
      z-index:20;
    }
    .nav-wrap{
      height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:30px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:11px;
      font-weight:800;
      letter-spacing:-.4px;
      white-space:nowrap;
    }
    .brand-mark{
      width:35px;height:35px;
      border:2px solid var(--coral);
      border-radius:6px;
      display:grid;
      place-items:center;
      color:var(--coral);
      font-size:17px;
      position:relative;
      line-height:1;
    }
    .brand-mark:after{
      content:"";
      position:absolute;
      left:5px;right:5px;bottom:7px;
      border-top:2px solid var(--coral);
      transform:skew(-25deg);
    }
    .brand-name{font-size:18px}
    .nav-links{
      display:flex;
      align-items:center;
      gap:7px;
      margin-left:auto;
    }
    .nav-links a{
      padding:9px 15px;
      border-radius:6px;
      color:var(--muted);
      font-size:14px;
      transition:.2s ease;
    }
    .nav-links a:hover,
    .nav-links a:focus,
    .nav-links a.active{
      color:var(--coral);
      background:#f8e9e6;
    }
    .nav-links .nav-cta{
      background:var(--coral);
      color:#fff!important;
      padding:10px 18px!important;
      border-radius:6px!important;
    }
    .nav-links .nav-cta:hover,
    .nav-links .nav-cta:focus{
      background:var(--coral-dark)!important;
      transform:translateY(-1px);
    }
    .menu-toggle{
      display:none;
      border:1px solid var(--line);
      background:var(--paper);
      width:44px;height:44px;
      border-radius:7px;
      color:var(--ink);
      font-size:21px;
    }
    .article-banner{
      min-height:330px;
      display:flex;
      align-items:center;
      color:#fff;
      background:
        linear-gradient(90deg,rgba(27,25,23,.92),rgba(27,25,23,.64) 58%,rgba(27,25,23,.2)),
        url('/images/sd/backpic/back-4.jpg') center/cover;
    }
    .banner-inner{padding:66px 0 58px}
    .eyebrow{
      color:#f2b4a9;
      font-size:13px;
      font-weight:800;
      letter-spacing:1.4px;
      margin-bottom:15px;
    }
    .article-banner h1{
      max-width:900px;
      margin:0 0 20px;
      font-size:clamp(34px,4.4vw,54px);
      line-height:1.22;
      letter-spacing:-1.7px;
      font-weight:800;
    }
    .banner-summary{
      max-width:760px;
      color:#eee7e1;
      font-size:17px;
      line-height:1.85;
      margin:0;
    }
    .breadcrumb-wrap{
      background:var(--paper);
      border-bottom:1px solid var(--line);
    }
    .breadcrumb{
      margin:0;
      padding:16px 0;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      color:var(--muted);
      font-size:13px;
    }
    .breadcrumb a{color:var(--teal)}
    .breadcrumb a:hover{color:var(--coral)}
    .breadcrumb-current{
      min-width:0;
      max-width:520px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .article-section{padding:68px 0 84px}
    .article-layout{
      display:grid;
      grid-template-columns:minmax(0,800px) 290px;
      gap:54px;
      align-items:start;
    }
    .article-main{
      min-width:0;
      background:var(--paper);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:38px 44px 46px;
    }
    .article-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px 20px;
      align-items:center;
      padding-bottom:22px;
      margin-bottom:30px;
      border-bottom:1px solid var(--line);
      color:var(--muted);
      font-size:13px;
    }
    .meta-tag{
      color:var(--teal);
      font-weight:800;
      padding:4px 9px;
      border:1px solid #b9d3d0;
      border-radius:5px;
      background:#f0f7f6;
    }
    .article-content{
      color:#3d3a35;
      font-size:17px;
      line-height:2;
      overflow-wrap:anywhere;
    }
    .article-content h2,
    .article-content h3{
      color:var(--ink);
      line-height:1.4;
      margin:34px 0 14px;
      font-weight:800;
    }
    .article-content h2{font-size:28px}
    .article-content h3{font-size:21px}
    .article-content p{margin:0 0 20px}
    .article-content ul,
    .article-content ol{
      margin:12px 0 24px;
      padding-left:25px;
    }
    .article-content li{margin:7px 0}
    .article-content blockquote{
      margin:28px 0;
      padding:17px 21px;
      border-left:4px solid var(--coral);
      background:#fbf0ed;
      color:#5c514b;
    }
    .article-content img{
      width:100%;
      height:auto;
      border-radius:8px;
      margin:28px auto 9px;
    }
    .article-content figure{margin:28px 0}
    .article-content figcaption{
      text-align:center;
      color:var(--muted);
      font-size:13px;
    }
    .article-content table{
      width:100%;
      border-collapse:collapse;
      margin:25px 0;
      font-size:15px;
    }
    .article-content th,
    .article-content td{
      border:1px solid var(--line);
      padding:10px 12px;
      text-align:left;
    }
    .article-content th{background:var(--soft);font-weight:800}
    .article-content hr{
      border:0;
      border-top:1px solid var(--line);
      margin:34px 0;
    }
    .not-found{
      text-align:center;
      padding:55px 15px 65px;
    }
    .not-found-icon{
      width:62px;height:62px;
      margin:0 auto 18px;
      border-radius:50%;
      background:#f8e9e6;
      color:var(--coral);
      display:grid;
      place-items:center;
      font-size:27px;
      font-weight:800;
    }
    .not-found h2{margin:0 0 9px;font-size:27px}
    .not-found p{color:var(--muted);margin:0 0 22px}
    .side-stack{
      display:flex;
      flex-direction:column;
      gap:18px;
      position:sticky;
      top:24px;
    }
    .side-card{
      background:var(--paper);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:22px;
    }
    .side-card h2{
      margin:0 0 15px;
      font-size:18px;
      line-height:1.4;
    }
    .side-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }
    .side-poster{
      margin:-22px -22px 20px;
      overflow:hidden;
      border-radius:10px 10px 0 0;
      aspect-ratio:16/10;
    }
    .side-poster img{width:100%;height:100%;object-fit:cover}
    .side-links{list-style:none;padding:0;margin:0}
    .side-links li{
      padding:11px 0;
      border-bottom:1px solid var(--line);
      font-size:14px;
      line-height:1.55;
    }
    .side-links li:last-child{border-bottom:0;padding-bottom:0}
    .side-links a:hover{color:var(--coral)}
    .side-label{
      display:block;
      color:var(--teal);
      font-size:12px;
      margin-bottom:3px;
    }
    .article-bottom{
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:center;
      margin-top:38px;
      padding-top:25px;
      border-top:1px solid var(--line);
    }
    .article-bottom p{margin:0;color:var(--muted);font-size:14px}
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:46px;
      padding:10px 20px;
      border-radius:6px;
      border:1px solid transparent;
      font-weight:700;
      font-size:14px;
      transition:.2s ease;
    }
    .btn:hover,.btn:focus{transform:translateY(-2px)}
    .btn-primary{background:var(--coral);color:#fff}
    .btn-primary:hover,.btn-primary:focus{background:var(--coral-dark);color:#fff}
    .btn-outline{border-color:var(--line);background:transparent;color:var(--ink)}
    .btn-outline:hover,.btn-outline:focus{border-color:var(--coral);color:var(--coral);background:#fff}
    .related-section{padding:0 0 84px}
    .section-head{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:24px;
      margin-bottom:25px;
    }
    .section-kicker{
      color:var(--coral);
      font-size:13px;
      font-weight:800;
      letter-spacing:1px;
      margin-bottom:5px;
    }
    .section-head h2{
      margin:0;
      font-size:30px;
      line-height:1.35;
      letter-spacing:-.7px;
    }
    .text-link{color:var(--coral);font-size:14px;font-weight:700}
    .text-link:hover{color:var(--coral-dark)}
    .related-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .related-card{
      display:grid;
      grid-template-columns:100px 1fr;
      min-height:145px;
      background:var(--paper);
      border:1px solid var(--line);
      border-radius:8px;
      overflow:hidden;
      transition:.2s ease;
    }
    .related-card:hover{
      transform:translateY(-3px);
      border-color:#d99a91;
      box-shadow:var(--shadow-small);
    }
    .related-card img{width:100%;height:100%;object-fit:cover}
    .related-info{padding:17px 15px}
    .related-info small{color:var(--teal);font-size:12px}
    .related-info h3{
      margin:7px 0 10px;
      font-size:16px;
      line-height:1.45;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .related-info span{font-size:13px;color:var(--coral);font-weight:700}
    .cta-strip{
      padding:30px 0;
      background:var(--ink);
      color:#fff;
    }
    .cta-inner{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:22px;
    }
    .cta-inner h2{font-size:24px;margin:0 0 5px;line-height:1.4}
    .cta-inner p{margin:0;color:#d7d0c9;font-size:14px}
    .site-footer{
      background:#1d1c1a;
      color:#fff;
      padding:54px 0 20px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:2fr 1fr 1fr 1.2fr;
      gap:35px;
      padding-bottom:42px;
    }
    .footer-brand{font-size:20px;font-weight:800;margin-bottom:10px}
    .footer-desc{color:#aaa39b;font-size:14px;max-width:285px;margin:0}
    .footer-col{display:flex;flex-direction:column;gap:7px}
    .footer-col h3{font-size:14px;color:#f2b4a9;margin:0 0 7px}
    .footer-col a{color:#aaa39b;font-size:13px;transition:.2s}
    .footer-col a:hover,.footer-col a:focus{color:#fff}
    .copyright{
      display:flex;
      justify-content:space-between;
      gap:20px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.13);
      color:#8e8983;
      font-size:12px;
    }
    .back-top{color:#d9b0a9}
    .back-top:hover{color:#fff}
    :focus-visible{outline:3px solid rgba(201,79,69,.38);outline-offset:3px}
    @media (max-width:1024px){
      .article-layout{grid-template-columns:minmax(0,1fr) 250px;gap:28px}
      .article-main{padding:32px}
      .related-grid{grid-template-columns:repeat(2,1fr)}
      .footer-grid{grid-template-columns:1.6fr 1fr 1fr}
    }
    @media (max-width:768px){
      .container{width:min(100% - 32px,var(--max))}
      .site-header,.nav-wrap{height:68px}
      .brand-name{font-size:16px}
      .menu-toggle{display:block}
      .nav-links{
        display:none;
        position:absolute;
        top:68px;
        left:16px;
        right:16px;
        margin:0;
        padding:10px;
        flex-direction:column;
        align-items:stretch;
        gap:3px;
        background:var(--paper);
        border:1px solid var(--line);
        border-radius:8px;
        box-shadow:var(--shadow);
      }
      .nav-links.open{display:flex}
      .nav-links a{padding:12px 14px}
      .article-banner{min-height:300px}
      .banner-inner{padding:53px 0 48px}
      .article-banner h1{font-size:37px;letter-spacing:-1px}
      .article-layout{display:block}
      .side-stack{
        position:static;
        display:grid;
        grid-template-columns:repeat(2,1fr);
        margin-top:24px;
      }
      .article-section{padding:46px 0 58px}
      .related-section{padding-bottom:58px}
      .article-main{padding:25px 21px 30px}
      .article-content{font-size:16px;line-height:1.9}
      .article-content h2{font-size:24px}
      .article-bottom{align-items:flex-start;flex-direction:column}
      .cta-inner{align-items:flex-start;flex-direction:column}
      .footer-grid{grid-template-columns:repeat(2,1fr);gap:28px}
      .footer-grid>div:first-child{grid-column:1/-1}
    }
    @media (max-width:520px){
      .breadcrumb-current{max-width:calc(100vw - 100px)}
      .article-banner h1{font-size:31px}
      .banner-summary{font-size:15px}
      .side-stack{display:flex}
      .related-grid{grid-template-columns:1fr}
      .related-card{grid-template-columns:92px 1fr}
      .section-head{align-items:flex-start;flex-direction:column;gap:8px}
      .footer-grid{grid-template-columns:1fr 1fr}
      .copyright{align-items:flex-start;flex-direction:column;gap:8px}
    }
    @media (prefers-reduced-motion:reduce){
      *,*:before,*:after{scroll-behavior:auto!important;transition:none!important}
    }

/* roulang page: category1 */
:root{
      --coral:#c94f45;--coral-dark:#a94039;--teal:#397a78;--ink:#242321;
      --muted:#716d66;--paper:#fffefc;--warm:#f5f3ef;--line:#e4e0d8;
      --soft:#ece9e3;--cream:#ebe3d6;--shadow:0 14px 34px rgba(36,35,33,.08);
      --radius:10px;--max:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--ink);background:var(--warm);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.7}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,select{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--max),calc(100% - 48px));margin:0 auto}
    .site-header{height:76px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}
    .nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
    .brand{display:flex;align-items:center;gap:11px;font-weight:800;white-space:nowrap}
    .brand-mark{width:35px;height:35px;border:2px solid var(--coral);border-radius:6px;display:grid;place-items:center;color:var(--coral);font-size:17px;position:relative}
    .brand-mark:after{content:"";position:absolute;left:5px;right:5px;bottom:7px;border-top:2px solid var(--coral);transform:skew(-25deg)}
    .brand-name{font-size:18px}
    .nav-links{display:flex;align-items:center;gap:7px;margin-left:auto}
    .nav-links a{padding:9px 15px;border-radius:6px;color:var(--muted);font-size:14px;transition:.2s ease}
    .nav-links a:hover,.nav-links a:focus,.nav-links a.active{color:var(--coral);background:#f8e9e6}
    .nav-links .nav-cta{background:var(--coral);color:#fff!important;padding:10px 18px}
    .nav-links .nav-cta:hover{background:var(--coral-dark);transform:translateY(-1px)}
    .menu-toggle{display:none;border:1px solid var(--line);background:var(--paper);width:44px;height:44px;border-radius:7px;color:var(--ink);font-size:21px}
    .page-hero{min-height:405px;color:#fff;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(31,27,24,.9),rgba(31,27,24,.64) 55%,rgba(31,27,24,.28)),url('/images/sd/backpic/back-4.jpg');background-size:cover;background-position:center}
    .hero-inner{padding:74px 0;width:min(720px,100%)}
    .eyebrow,.section-kicker{font-size:13px;font-weight:800;letter-spacing:1.2px}
    .eyebrow{color:#f1b4aa;margin-bottom:15px}
    .page-hero h1{font-size:clamp(38px,5vw,56px);line-height:1.2;letter-spacing:-1.8px;margin:0 0 18px;font-weight:800}
    .hero-copy{font-size:18px;line-height:1.85;color:#eee7e1;margin:0;max-width:660px}
    .crumbs{margin-top:25px;color:#d9cec6;font-size:13px}
    .crumbs a:hover{color:#fff}
    .section{padding:84px 0}
    .section-tight{padding:60px 0}
    .section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}
    .section-kicker{color:var(--coral);margin-bottom:6px}
    h2{font-size:32px;line-height:1.3;letter-spacing:-.8px;margin:0}
    .section-intro{color:var(--muted);max-width:650px;margin:10px 0 0}
    .type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .type-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.22s ease}
    .type-card:hover{transform:translateY(-4px);border-color:#d99a91;box-shadow:var(--shadow)}
    .type-card img{width:100%;height:190px;object-fit:cover}
    .type-body{padding:19px 20px 21px}
    .type-body h3{font-size:20px;margin:0 0 7px}
    .type-body p{font-size:14px;color:var(--muted);margin:0 0 15px;min-height:48px}
    .tag{display:inline-block;padding:4px 9px;border-radius:4px;background:#eef4f1;color:var(--teal);font-size:12px;font-weight:700}
    .arrow-link{display:inline-flex;margin-top:14px;color:var(--coral);font-size:14px;font-weight:700}
    .arrow-link:hover{color:var(--coral-dark)}
    .split-section{background:var(--paper)}
    .split-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
    .editorial-image{border-radius:var(--radius);overflow:hidden;position:relative;min-height:370px}
    .editorial-image img{width:100%;height:100%;min-height:370px;object-fit:cover}
    .image-caption{position:absolute;left:18px;right:18px;bottom:18px;padding:13px 15px;background:rgba(36,35,33,.78);color:#fff;border-radius:6px;font-size:13px}
    .check-list{list-style:none;padding:0;margin:25px 0 0}
    .check-list li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);color:var(--muted)}
    .check-list li:before{content:"✓";position:absolute;left:0;top:13px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e8f1ee;color:var(--teal);font-weight:800}
    .metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
    .metric{background:var(--paper);padding:19px 20px}
    .metric strong{display:block;font-size:25px;color:var(--coral);line-height:1.2}
    .metric span{font-size:13px;color:var(--muted)}
    .filter-bar{display:flex;flex-wrap:wrap;gap:9px;padding:17px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px}
    .filter-bar a{padding:8px 15px;border:1px solid #d4d0c8;border-radius:5px;color:var(--muted);font-size:13px;transition:.2s}
    .filter-bar a:hover,.filter-bar a.active{background:var(--teal);border-color:var(--teal);color:#fff}
    .rank-preview{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
    .rank-item{display:grid;grid-template-columns:58px 88px minmax(0,1fr) 110px 90px;align-items:center;gap:18px;padding:16px 21px;border-bottom:1px solid var(--line)}
    .rank-item:last-child{border-bottom:0}
    .rank-item:hover{background:#fcf8f5}
    .rank-no{font-size:28px;font-weight:800;color:var(--coral)}
    .rank-poster{height:82px;border-radius:5px;overflow:hidden}
    .rank-poster img{width:100%;height:100%;object-fit:cover}
    .rank-title{font-size:17px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .rank-meta{font-size:12px;color:var(--muted);margin-top:3px}
    .score{font-weight:800;color:var(--teal)}
    .status{display:inline-block;padding:4px 8px;border-radius:4px;background:#f8e9e6;color:var(--coral);font-size:12px;text-align:center}
    .feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .feature-box{padding:25px;background:var(--warm);border:1px solid var(--line);border-radius:8px}
    .feature-num{color:var(--coral);font-weight:800;font-size:14px}
    .feature-box h3{font-size:19px;margin:12px 0 8px}
    .feature-box p{font-size:14px;color:var(--muted);margin:0}
    .faq-list{max-width:850px;margin:0 auto;border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{width:100%;border:0;background:transparent;text-align:left;padding:20px 42px 20px 0;position:relative;font-weight:750;color:var(--ink)}
    .faq-question:after{content:"+";position:absolute;right:8px;top:16px;font-size:25px;color:var(--coral);font-weight:400}
    .faq-question[aria-expanded="true"]:after{content:"−"}
    .faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 42px 20px 0}
    .faq-answer.open{display:block}
    .cta-band{background:#302c29;color:#fff;padding:42px 0}
    .cta-wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}
    .cta-band h2{font-size:27px}
    .cta-band p{margin:7px 0 0;color:#d9d1ca;font-size:14px}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:6px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.2s}
    .btn:hover,.btn:focus{transform:translateY(-2px)}
    .btn-primary{background:var(--coral);color:#fff}
    .btn-primary:hover{background:var(--coral-dark)}
    .btn-light{background:#fff;color:var(--ink)}
    .btn-light:hover{background:#f7e9e5}
    .site-footer{background:#242321;color:#ddd8d1;padding:58px 0 22px}
    .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
    .footer-brand{font-size:20px;font-weight:800;color:#fff;margin-bottom:10px}
    .footer-desc{color:#aaa39a;font-size:13px;max-width:270px}
    .footer-col{display:flex;flex-direction:column;gap:8px}
    .footer-col h3{font-size:14px;color:#fff;margin:0 0 8px}
    .footer-col a{font-size:13px;color:#aaa39a;transition:.2s}
    .footer-col a:hover{color:#f1a49a}
    .copyright{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #45413d;margin-top:38px;padding-top:20px;color:#918b84;font-size:12px}
    .back-top:hover{color:#fff}
    :focus-visible{outline:3px solid rgba(201,79,69,.35);outline-offset:3px}
    @media(max-width:1024px){
      .type-grid{grid-template-columns:repeat(3,1fr)}
      .rank-item{grid-template-columns:48px 76px minmax(0,1fr) 78px}
      .rank-item .status{display:none}
    }
    @media(max-width:768px){
      .container{width:min(100% - 32px,var(--max))}
      .site-header,.nav-wrap{height:68px}
      .menu-toggle{display:block}
      .nav-links{display:none;position:absolute;left:16px;right:16px;top:76px;padding:10px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;align-items:stretch}
      .nav-links.open{display:flex}
      .nav-links a{padding:12px 14px}
      .brand-name{font-size:16px}
      .page-hero{min-height:390px}
      .hero-inner{padding:65px 0}
      .section{padding:58px 0}
      .section-head{display:block}
      .section-head .arrow-link{margin-top:15px}
      .type-grid{grid-template-columns:repeat(2,1fr)}
      .split-grid{grid-template-columns:1fr;gap:28px}
      .editorial-image,.editorial-image img{min-height:280px}
      .feature-row{grid-template-columns:1fr}
      .rank-item{grid-template-columns:42px 68px minmax(0,1fr);gap:12px;padding:14px}
      .rank-item .score{display:none}
      .metric-strip{grid-template-columns:1fr}
      .cta-wrap{display:block}
      .cta-wrap .btn{margin-top:20px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
    }
    @media(max-width:520px){
      .type-grid{grid-template-columns:1fr 1fr;gap:10px}
      .type-card img{height:135px}
      .type-body{padding:14px}
      .type-body h3{font-size:17px}
      .type-body p{font-size:13px;min-height:66px}
      .page-hero h1{font-size:38px}
      .hero-copy{font-size:16px}
      .rank-item .rank-poster{height:72px}
      .rank-title{font-size:15px}
      .footer-grid{grid-template-columns:1fr}
      .copyright{display:block}
      .back-top{display:block;margin-top:10px}
    }
    @media(prefers-reduced-motion:reduce){
      *,*:before,*:after{scroll-behavior:auto!important;transition:none!important}
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
