/* roulang page: index */
:root{
      --ink:#171415;--ink-2:#211a1c;--plum:#6d354b;--peach:#ef8d79;
      --ivory:#f5ede7;--muted:#c7b9b3;--line:rgba(245,237,231,.16);
      --soft:rgba(239,141,121,.14);--paper:#efe4dc;--shadow:0 22px 60px rgba(0,0,0,.28);
      --radius-lg:26px;--radius-md:15px;--ease:all .24s ease;
    }
    *,*:before,*:after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--ink);color:var(--ivory);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-size:16px;line-height:1.75}
    a{color:inherit;text-decoration:none;transition:var(--ease)}
    img{display:block;max-width:100%}
    button,input{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid var(--peach);outline-offset:4px}
    .grid-container{max-width:1240px;padding-left:24px;padding-right:24px}
    .site-header{position:fixed;z-index:20;top:0;left:0;width:100%;background:rgba(23,20,21,.72);border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:var(--ease)}
    .site-header.scrolled{background:rgba(23,20,21,.96);border-color:var(--line)}
    .topbar{height:78px;display:flex;align-items:center;gap:28px}
    .brand{display:flex;align-items:center;gap:10px;min-width:245px}
    .brand-mark{width:30px;height:30px;border:2px solid var(--peach);border-radius:9px;position:relative;transform:rotate(-8deg)}
    .brand-mark:after{content:"";position:absolute;width:9px;height:9px;background:var(--peach);border-radius:50%;right:4px;top:4px}
    .brand-name{font-weight:800;letter-spacing:-.5px;line-height:1.1}
    .brand-name small{display:block;color:var(--peach);font-size:9px;letter-spacing:2px;margin-top:4px}
    .main-nav{display:flex;align-items:center;gap:4px;flex:1}
    .main-nav a,.mobile-menu a{position:relative;padding:11px 14px;color:var(--muted);font-size:14px;border-radius:10px}
    .main-nav a:hover,.main-nav a.active,.mobile-menu a:hover{color:var(--ivory);background:var(--soft)}
    .main-nav a.active:after{content:"";position:absolute;bottom:3px;left:14px;right:14px;height:2px;background:var(--peach)}
    .nav-actions{display:flex;gap:10px;align-items:center}
    .search{width:150px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:8px 12px;border-radius:12px}
    .search input{width:100%;border:0;outline:0;background:none;color:var(--ivory);font-size:13px}
    .search input::placeholder{color:#a99792}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:14px;transition:var(--ease)}
    .btn-primary{background:var(--peach);color:var(--ink)}
    .btn-primary:hover{background:#ffa18f;transform:translateY(-3px);box-shadow:0 10px 24px rgba(239,141,121,.2)}
    .btn-ghost{background:transparent;color:var(--ivory);border-color:var(--line)}
    .btn-ghost:hover{border-color:var(--peach);color:var(--peach);transform:translateY(-2px)}
    .menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ivory);border-radius:10px;width:44px;height:44px}
    .hero{min-height:720px;padding:150px 0 82px;position:relative;overflow:hidden;background:
      radial-gradient(circle at 82% 22%,rgba(239,141,121,.2),transparent 24%),
      radial-gradient(circle at 68% 75%,rgba(109,53,75,.55),transparent 33%),var(--ink)}
    .hero:before{content:"";position:absolute;inset:0;opacity:.12;background-image:radial-gradient(#f5ede7 1px,transparent 1px);background-size:7px 7px;mask-image:linear-gradient(90deg,transparent,#000,transparent)}
    .hero-copy{position:relative;z-index:2;padding-top:32px}
    .eyebrow,.kicker{color:var(--peach);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
    h1,h2,h3,p{margin-top:0}
    h1{font-family:"Songti SC","STSong",serif;font-size:clamp(42px,5.4vw,72px);line-height:1.12;letter-spacing:-2px;margin:18px 0 24px;max-width:700px}
    h1 em{font-style:normal;color:var(--peach)}
    .hero-copy>p{color:var(--muted);max-width:610px;font-size:17px}
    .hero-buttons{display:flex;gap:12px;margin:30px 0}
    .hero-badges{display:flex;gap:10px;flex-wrap:wrap}
    .badge{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;border:1px solid var(--line);padding:7px 11px;border-radius:30px;background:rgba(255,255,255,.035)}
    .badge i{width:6px;height:6px;border-radius:50%;background:var(--peach)}
    .hero-art{height:470px;position:relative;margin-top:10px}
    .poster{position:absolute;border:1px solid rgba(245,237,231,.25);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
    .poster-main{width:310px;height:430px;right:12%;top:10px;transform:rotate(5deg);background:linear-gradient(145deg,#371f2a 5%,#a65358 53%,#ef8d79 100%)}
    .poster-back{width:210px;height:310px;right:48%;top:80px;transform:rotate(-11deg);background:linear-gradient(145deg,#312a27,#80606b 70%,#d88a78);opacity:.86}
    .poster-shape{position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(245,237,231,.2);right:-35px;top:45px;filter:blur(1px)}
    .poster-copy{position:absolute;left:25px;right:25px;bottom:25px}
    .poster-copy strong{display:block;font-family:serif;font-size:31px;line-height:1.15}
    .poster-copy span{color:#351f22;font-size:12px;font-weight:800;letter-spacing:1px}
    .mini-card{position:absolute;right:0;bottom:24px;width:220px;background:rgba(33,26,28,.94);border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow)}
    .mini-card b{display:block;font-size:24px;color:var(--peach);line-height:1.2}
    .mini-card small{color:var(--muted)}
    .strip{position:absolute;bottom:0;left:0;width:100%;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:13px}
    .section{padding:100px 0}
    .section-dark{background:var(--ink-2)}
    .section-plum{background:var(--plum)}
    .section-head{margin-bottom:42px}
    h2{font-family:"Songti SC","STSong",serif;font-size:clamp(31px,4vw,46px);line-height:1.2;margin:10px 0 14px}
    h3{font-size:21px;line-height:1.35;margin-bottom:10px}
    .section-head p{max-width:620px;color:var(--muted);margin-bottom:0}
    .offer-band{border:1px solid rgba(239,141,121,.28);background:linear-gradient(110deg,rgba(239,141,121,.14),rgba(109,53,75,.36));border-radius:var(--radius-lg);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .offer-band strong{font-size:25px}.offer-band p{color:var(--muted);margin:5px 0 0}
    .feature-layout{display:grid;grid-template-columns:1fr 1.55fr;gap:55px;align-items:start}
    .feature-intro{position:sticky;top:110px}.feature-intro p{color:var(--muted)}
    .feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .feature-card{min-height:210px;padding:25px;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.035);transition:var(--ease)}
    .feature-card:nth-child(2){transform:translateY(24px);background:rgba(109,53,75,.32)}
    .feature-card:nth-child(3){background:rgba(239,141,121,.08)}
    .feature-card:hover{transform:translateY(-5px);border-color:rgba(239,141,121,.6);box-shadow:var(--shadow)}
    .feature-card:nth-child(2):hover{transform:translateY(18px)}
    .num{color:var(--peach);font-size:12px;letter-spacing:2px;font-weight:bold}
    .feature-card p,.plan p,.news-list p{color:var(--muted);font-size:14px}
    .card-link{color:var(--peach);font-size:13px;font-weight:bold}
    .scene-track{display:flex;gap:18px;overflow-x:auto;padding-bottom:15px;scrollbar-color:var(--peach) transparent}
    .scene{flex:0 0 31%;min-height:300px;border-radius:var(--radius-lg);padding:25px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:linear-gradient(155deg,#39242c,#8d4f59 55%,#e28a75)}
    .scene:nth-child(2){min-height:350px;background:linear-gradient(155deg,#251d27,#62354d 60%,#bc6d6a)}
    .scene:nth-child(3){min-height:275px;background:linear-gradient(155deg,#4b3c36,#a87768 55%,#f0ae90)}
    .scene:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(15,11,12,.88))}
    .scene>*{position:relative;z-index:1}.scene p{color:#eadbd3;font-size:14px;line-height:1.6}.scene .num{margin-bottom:auto}
    .case-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
    .case-card{background:var(--paper);color:var(--ink);border-radius:var(--radius-lg);padding:28px;min-height:260px;position:relative;overflow:hidden}
    .case-card.dark{background:#302328;color:var(--ivory)}
    .case-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-50px;top:-55px;background:var(--peach);opacity:.6}
    .case-card.dark:before{background:var(--plum)}
    .case-card p{max-width:460px;color:#725f59;font-size:14px}.case-card.dark p{color:var(--muted)}
    .case-meta{position:absolute;bottom:25px;left:28px;display:flex;gap:18px;font-size:12px;color:#806d67}.dark .case-meta{color:var(--muted)}
    .plans{display:grid;grid-template-columns:.8fr 1.15fr .8fr;gap:16px;align-items:center}
    .plan{border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;background:rgba(23,20,21,.45)}
    .plan.featured{background:var(--paper);color:var(--ink);transform:translateY(-15px);border-color:var(--peach);box-shadow:var(--shadow)}
    .plan.featured p,.plan.featured li{color:#725f59}
    .plan-price{font-size:35px;font-weight:800;color:var(--peach);margin:16px 0}.featured .plan-price{color:var(--plum)}
    .plan ul{list-style:none;margin:20px 0;padding:0}.plan li{color:var(--muted);font-size:14px;padding:7px 0;border-bottom:1px solid var(--line)}.plan li:before{content:"＋";color:var(--peach);margin-right:7px}
    .safety{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.safety-item{padding:22px 12px;border-right:1px solid var(--line)}.safety-item:last-child{border:0}.safety-icon{font-size:28px;color:var(--peach);display:block;margin-bottom:6px}.safety-item p{font-size:13px;color:var(--muted);margin:0}
    .news-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.news-list{list-style:none;margin:0;padding:0}.news-list li{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:20px}.news-list li:last-child{border-bottom:1px solid var(--line)}.news-list h3{font-size:18px;margin:0}.news-list p{margin:5px 0 0}.date{color:var(--peach);font-size:12px;white-space:nowrap}.news-feature{background:#3a2730;padding:30px;border-radius:var(--radius-lg);min-height:290px;display:flex;flex-direction:column;justify-content:flex-end}.news-feature p{color:var(--muted)}
    .faq-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.accordion{background:none;margin:0}.accordion-item{background:transparent;border:0;border-top:1px solid var(--line)}.accordion-title{color:var(--ivory);font-weight:700;padding:20px 0;font-size:16px}.accordion-title:hover{color:var(--peach);background:none}.accordion-content{background:rgba(109,53,75,.25);color:var(--muted);border:0;padding:18px 20px;font-size:14px;margin-bottom:12px;border-radius:10px}
    .cta{padding:28px 34px;border:1px solid rgba(239,141,121,.38);border-radius:var(--radius-lg);background:linear-gradient(100deg,#2d2024,#5b3042);display:flex;align-items:center;justify-content:space-between;gap:20px}.cta h2{font-size:29px;margin-bottom:5px}.cta p{color:var(--muted);margin:0}
    footer{padding:65px 0 25px;background:#120f10;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr 1fr;gap:35px}.footer-brand p{color:var(--muted);font-size:13px;max-width:280px}.footer-col h3{font-size:14px;color:var(--peach);margin-bottom:16px}.footer-col a{display:block;color:var(--muted);font-size:13px;padding:5px 0}.footer-col a:hover{color:var(--ivory);padding-left:4px}.subscribe{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.subscribe input{background:transparent;border:0;padding:11px;color:var(--ivory);min-width:0;width:100%}.subscribe button{border:0;background:var(--peach);color:var(--ink);padding:0 13px;font-weight:bold}.foot-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;color:#958680;font-size:12px;display:flex;justify-content:space-between;gap:15px}
    @media(max-width:1020px){.brand{min-width:210px}.search{width:125px}.main-nav a{padding-left:9px;padding-right:9px}.feature-layout,.faq-wrap{gap:30px}.scene{flex-basis:42%}}
    @media(max-width:767px){.grid-container{padding-left:18px;padding-right:18px}.topbar{height:68px;gap:12px}.brand{min-width:0;flex:1}.brand-name{font-size:13px}.brand-name small{font-size:8px}.main-nav,.nav-actions .search,.nav-actions .btn-ghost{display:none}.menu-toggle{display:block}.hero{min-height:0;padding:120px 0 65px}.hero-copy{padding-top:0}h1{font-size:40px;letter-spacing:-1px}.hero-copy>p{font-size:15px}.hero-buttons{flex-wrap:wrap}.hero-art{height:365px;margin-top:38px}.poster-main{width:235px;height:325px;right:8%;}.poster-back{width:160px;height:235px;right:46%;top:65px}.mini-card{right:0;bottom:0;width:180px}.section{padding:68px 0}.offer-band,.cta{display:block;padding:23px}.offer-band .btn,.cta .btn{margin-top:18px}.feature-layout,.news-layout,.faq-wrap{display:block}.feature-intro{position:static;margin-bottom:28px}.feature-grid{grid-template-columns:1fr}.feature-card:nth-child(2){transform:none}.feature-card:nth-child(2):hover{transform:translateY(-5px)}.scene{flex-basis:82%}.case-grid,.plans{grid-template-columns:1fr}.plan.featured{transform:none}.safety{grid-template-columns:1fr 1fr;margin-top:25px}.safety-item{border-right:0;border-bottom:1px solid var(--line)}.news-feature{margin-top:24px;min-height:230px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{grid-column:1/-1}.foot-bottom{display:block}.foot-bottom span{display:block;margin-bottom:8px}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category2 */
:root{--ink:#171415;--ink2:#211a1c;--plum:#6d354b;--peach:#ef8d79;--ivory:#f5ede7;--muted:#c7b9b3;--paper:#efe4dc;--line:rgba(245,237,231,.16);--soft:rgba(239,141,121,.14);--shadow:0 22px 60px rgba(0,0,0,.3);--lg:26px;--md:15px;--ease:all .24s ease}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ivory);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none;transition:var(--ease)}img{display:block;max-width:100%;width:100%;object-fit:cover}button,input{font:inherit}button{cursor:pointer}.grid-container{max-width:1240px;padding-left:24px;padding-right:24px}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;background:rgba(23,20,21,.82);border-bottom:1px solid transparent;backdrop-filter:blur(14px)}.topbar{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;min-width:245px}.brand-mark{width:30px;height:30px;border:2px solid var(--peach);border-radius:9px;position:relative;transform:rotate(-8deg)}.brand-mark:after{content:"";position:absolute;width:9px;height:9px;background:var(--peach);border-radius:50%;right:4px;top:4px}.brand-name{font-weight:800;letter-spacing:-.5px;line-height:1.1}.brand-name small{display:block;color:var(--peach);font-size:9px;letter-spacing:2px;margin-top:4px}.main-nav{display:flex;align-items:center;gap:4px;flex:1}.main-nav a,.mobile-menu a{position:relative;padding:11px 14px;color:var(--muted);font-size:14px;border-radius:10px}.main-nav a:hover,.main-nav a.active,.mobile-menu a:hover{color:var(--ivory);background:var(--soft)}.main-nav a.active:after{content:"";position:absolute;bottom:3px;left:14px;right:14px;height:2px;background:var(--peach)}.nav-actions{display:flex;gap:10px;align-items:center}.search{width:150px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:8px 12px;border-radius:12px}.search input{width:100%;border:0;outline:0;background:none;color:var(--ivory);font-size:13px}.search input::placeholder{color:#a99792}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:14px;transition:var(--ease)}.btn-primary{background:var(--peach);color:var(--ink)}.btn-primary:hover{background:#ffa18f;transform:translateY(-3px);box-shadow:0 10px 24px rgba(239,141,121,.2)}.btn-ghost{background:transparent;color:var(--ivory);border-color:var(--line)}.btn-ghost:hover{border-color:var(--peach);color:var(--peach)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ivory);border-radius:10px;width:44px;height:44px}
.page-hero{padding:145px 0 70px;position:relative;overflow:hidden;background:radial-gradient(circle at 80% 30%,rgba(239,141,121,.18),transparent 28%),linear-gradient(120deg,var(--ink),var(--plum))}.page-hero:after{content:"";position:absolute;inset:0;opacity:.1;background-image:radial-gradient(var(--ivory) 1px,transparent 1px);background-size:8px 8px;pointer-events:none}.hero-inner{position:relative;z-index:1}.crumbs{color:var(--muted);font-size:13px;margin-bottom:24px}.crumbs a{color:var(--peach)}h1,h2,h3{margin-top:0;line-height:1.2}h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(38px,5vw,64px);letter-spacing:-2px;margin-bottom:20px}h2{font-size:36px}h3{font-size:21px}.hero-summary{color:var(--muted);max-width:700px;font-size:17px}.hero-tags,.tag-cloud{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.tag{border:1px solid var(--line);color:var(--muted);padding:7px 13px;border-radius:30px;font-size:13px}.tag.active,.tag:hover{background:var(--peach);border-color:var(--peach);color:var(--ink)}
.banner-art{height:245px;margin-top:42px;border-radius:var(--lg);position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(23,20,21,.35),rgba(109,53,75,.55)),url("https://images.unsplash.com/photo-1519710164239-da123dc03ef4?auto=format&fit=crop&w=1400&q=80") center/cover;box-shadow:var(--shadow)}.banner-art:after{content:"成熟主题 · 偏好入口";position:absolute;left:30px;bottom:25px;color:var(--ivory);font-size:14px;letter-spacing:2px}
.section{padding:92px 0}.section-plum{background:var(--plum)}.section-head{margin-bottom:40px}.section-head p{color:var(--muted);max-width:650px}.directory-layout{display:grid;grid-template-columns:190px 1fr;gap:48px}.side-index{position:sticky;top:110px;height:max-content;border-left:1px solid var(--line);padding-left:20px}.side-index a{display:block;color:var(--muted);padding:11px 0;font-size:14px}.side-index a:hover,.side-index a.active{color:var(--peach);padding-left:7px}.chapter{padding-bottom:62px;margin-bottom:62px;border-bottom:1px solid var(--line)}.chapter:last-child{border-bottom:0;margin-bottom:0}.chapter-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.chapter-title span{color:var(--peach);font-size:12px;letter-spacing:2px}.lead-card{min-height:270px;border-radius:var(--lg);overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(23,20,21,.95),rgba(23,20,21,.15)),url("https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1200&q=80") center/cover;padding:32px;display:flex;align-items:end;transition:var(--ease)}.lead-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.lead-copy{max-width:470px}.lead-copy p{color:var(--muted);font-size:14px}.compact-list{display:grid;gap:10px;margin-top:15px}.list-item{display:grid;grid-template-columns:82px 1fr 24px;align-items:center;gap:15px;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);transition:var(--ease)}.list-item:hover{border-color:rgba(239,141,121,.6);transform:translateX(5px);background:var(--soft)}.thumb{width:82px;height:58px;border-radius:9px;background-size:cover;background-position:center}.list-item h3{font-size:16px;margin:0 0 3px}.list-item p{margin:0;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arrow{color:var(--peach);font-size:20px}.route{background:var(--ink2);padding:54px 0}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:35px}.step{position:relative;padding:25px 22px 10px;border-top:1px solid rgba(239,141,121,.5)}.step:before{content:"";position:absolute;top:-7px;left:22px;width:13px;height:13px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 5px rgba(239,141,121,.12)}.step b{color:var(--peach);font-size:13px}.step p{color:var(--muted);font-size:14px}.faq-cta{padding:80px 0;background:var(--paper);color:var(--ink)}.faq-cta p{color:#725f59}.accordion{background:transparent}.accordion-title{background:rgba(109,53,75,.1);color:var(--ink);border:1px solid rgba(109,53,75,.2);font-weight:700}.accordion-title:hover,.accordion-title:focus{background:rgba(239,141,121,.22);color:var(--ink)}.accordion-content{background:rgba(255,255,255,.35);border:1px solid rgba(109,53,75,.14);color:#725f59}footer{background:#120f10;padding:65px 0 24px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:35px}.footer-brand p,.footer-col p{color:var(--muted);font-size:13px}.footer-col h3{font-size:15px;color:var(--peach)}.footer-col a{display:block;color:var(--muted);font-size:13px;padding:4px 0}.footer-col a:hover{color:var(--peach)}.subscribe{display:flex;gap:7px}.subscribe input{min-width:0;width:100%;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:10px;padding:9px 11px;color:var(--ivory)}.subscribe button{background:var(--peach);border:0;border-radius:10px;padding:0 14px;color:var(--ink);font-weight:700}.foot-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:44px;padding-top:18px;color:#927f79;font-size:12px}
:focus-visible{outline:3px solid var(--peach);outline-offset:3px}@media(max-width:900px){.brand{min-width:0}.nav-actions .search,.nav-actions .btn-ghost{display:none}.main-nav{display:none}.menu-toggle{display:block}.topbar{justify-content:space-between}.directory-layout{grid-template-columns:150px 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:640px){.grid-container{padding-left:18px;padding-right:18px}.topbar{height:68px}.brand-name{font-size:13px}.brand-name small{font-size:7px}.page-hero{padding-top:120px}.section{padding:65px 0}h1{font-size:38px}.banner-art{height:190px}.directory-layout{display:block}.side-index{position:static;display:flex;overflow:auto;gap:10px;border-left:0;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:35px}.side-index a{white-space:nowrap;padding:7px 12px;border:1px solid var(--line);border-radius:20px}.side-index a.active{padding-left:12px;background:var(--soft)}.chapter-title{display:block}.timeline{display:block}.step{margin-left:8px}.footer-grid{grid-template-columns:1fr}.foot-bottom{display:block}.foot-bottom span{display:block;margin-top:7px}.list-item{grid-template-columns:65px 1fr 18px}.thumb{width:65px;height:52px}.list-item p{white-space:normal;line-height:1.4}.mobile-menu{background:var(--ink2);padding:20px}.mobile-menu a{display:block;margin:4px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category1 */
:root{
 --ink:#171415;--ink-2:#211a1c;--plum:#6d354b;--peach:#ef8d79;
 --ivory:#f5ede7;--muted:#c7b9b3;--line:rgba(245,237,231,.16);
 --soft:rgba(239,141,121,.14);--paper:#efe4dc;--shadow:0 22px 60px rgba(0,0,0,.28);
 --radius-lg:26px;--radius-md:15px;--ease:all .24s ease;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--ivory);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-size:16px;line-height:1.75}
a{color:inherit;text-decoration:none;transition:var(--ease)}
img{display:block;max-width:100%}
button,input,select{font:inherit}
button{cursor:pointer}
.grid-container{max-width:1240px;padding-left:24px;padding-right:24px}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;background:rgba(23,20,21,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.topbar{height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;min-width:245px}
.brand-mark{width:30px;height:30px;border:2px solid var(--peach);border-radius:9px;position:relative;transform:rotate(-8deg);flex:none}
.brand-mark:after{content:"";position:absolute;width:9px;height:9px;background:var(--peach);border-radius:50%;right:4px;top:4px}
.brand-name{font-weight:800;letter-spacing:-.5px;line-height:1.1;font-size:15px}
.brand-name small{display:block;color:var(--peach);font-size:9px;letter-spacing:2px;margin-top:4px}
.main-nav{display:flex;align-items:center;gap:4px;flex:1}
.main-nav a,.mobile-menu a{position:relative;padding:11px 14px;color:var(--muted);font-size:14px;border-radius:10px}
.main-nav a:hover,.main-nav a.active,.mobile-menu a:hover{color:var(--ivory);background:var(--soft)}
.main-nav a.active:after{content:"";position:absolute;bottom:3px;left:14px;right:14px;height:2px;background:var(--peach)}
.nav-actions{display:flex;gap:10px;align-items:center}
.search{width:150px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:8px 12px;border-radius:12px}
.search:before{content:"⌕";font-size:19px;color:var(--peach);line-height:1}
.search input{width:100%;border:0;outline:0;background:none;color:var(--ivory);font-size:13px}
.search input::placeholder{color:#a99792}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:14px;transition:var(--ease)}
.btn-primary{background:var(--peach);color:var(--ink)}
.btn-primary:hover{background:#ffa18f;transform:translateY(-3px);box-shadow:0 10px 24px rgba(239,141,121,.2)}
.btn-ghost{background:transparent;color:var(--ivory);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--peach);color:var(--peach);transform:translateY(-2px)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ivory);border-radius:10px;width:44px;height:44px}
main{overflow:hidden}
.category-hero{padding:135px 0 58px;position:relative;background:linear-gradient(115deg,#e8d8cf 0%,#f2e6dd 49%,#8b4b57 49%,#2a1c21 100%);color:var(--ink)}
.category-hero:after{content:"";position:absolute;right:7%;top:65px;width:270px;height:270px;border:1px solid rgba(245,237,231,.35);border-radius:50%;box-shadow:0 0 0 34px rgba(239,141,121,.13),0 0 0 76px rgba(109,53,75,.12)}
.breadcrumb{position:relative;z-index:1;display:flex;gap:9px;align-items:center;color:#795f59;font-size:13px;margin-bottom:22px}
.breadcrumb span{color:var(--plum)}
.category-hero h1{position:relative;z-index:1;font-family:STSong,"Songti SC",serif;font-size:52px;line-height:1.16;letter-spacing:-2px;margin:0 0 16px;max-width:720px}
.category-hero p{position:relative;z-index:1;max-width:655px;color:#684f4b;margin:0;font-size:16px}
.hero-tags{position:relative;z-index:1;display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.tag{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;border-radius:20px;font-size:12px;font-weight:700;border:1px solid rgba(109,53,75,.25);color:var(--plum);background:rgba(255,255,255,.38)}
.tag.active{background:var(--plum);color:var(--ivory);border-color:var(--plum)}
.poster-strip{position:relative;z-index:2;margin-top:35px;display:flex;gap:13px;overflow:hidden;padding:4px 0}
.poster{height:104px;min-width:178px;border-radius:13px;border:1px solid rgba(245,237,231,.35);background:#3b252b;position:relative;overflow:hidden;box-shadow:0 16px 28px rgba(34,20,22,.22)}
.poster:nth-child(2){background:#8b4b57;min-width:235px}.poster:nth-child(3){background:#614252}.poster:nth-child(4){background:#d68d7b;min-width:205px}
.poster:before{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:rgba(245,237,231,.2);right:-35px;top:-40px}
.poster span{position:absolute;left:15px;bottom:13px;color:var(--ivory);font-weight:800;font-size:13px}
.section{padding:88px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}
.kicker{color:var(--peach);font-size:12px;font-weight:800;letter-spacing:2px}
h2{font-family:STSong,"Songti SC",serif;font-size:38px;line-height:1.2;letter-spacing:-1px;margin:5px 0 0}
.section-head p{max-width:470px;color:var(--muted);margin:0;font-size:14px}
.editors-grid{display:grid;grid-template-columns:1.45fr .75fr .75fr;gap:16px}
.editor-card{min-height:340px;border-radius:var(--radius-lg);border:1px solid var(--line);padding:26px;position:relative;overflow:hidden;background:#302328;transition:var(--ease)}
.editor-card:hover{transform:translateY(-5px);border-color:rgba(239,141,121,.7);box-shadow:var(--shadow)}
.editor-card:before{content:"";position:absolute;inset:auto -40px -60px auto;width:220px;height:220px;border-radius:50%;background:rgba(239,141,121,.55)}
.editor-card.large{background:linear-gradient(135deg,#493039,#8e5058);min-height:390px}
.editor-card.large:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(245,237,231,.33);border-radius:50%;right:-85px;top:-80px}
.editor-card:nth-child(2){background:#d9c8bf;color:var(--ink)}
.editor-card:nth-child(2):before{background:rgba(109,53,75,.38)}
.editor-card:nth-child(2) p{color:#6d5651}
.editor-card:nth-child(3){background:#6d354b}
.editor-card>*{position:relative;z-index:1}
.card-num{font-size:12px;letter-spacing:2px;color:var(--peach);font-weight:800}
.editor-card:nth-child(2) .card-num{color:var(--plum)}
.editor-card h3{font-family:STSong,"Songti SC",serif;font-size:27px;line-height:1.25;margin:13px 0}
.editor-card p{font-size:14px;color:var(--muted);max-width:315px;margin:0}
.card-bottom{position:absolute;bottom:23px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;font-size:12px}
.card-bottom a{font-weight:800;color:var(--peach)}
.editor-card:nth-child(2) .card-bottom a{color:var(--plum)}
.filter-area{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.filter-label{font-size:13px;color:var(--muted);margin-right:3px}
.filter-btn{border:1px solid var(--line);background:transparent;color:var(--muted);padding:8px 13px;min-height:38px;border-radius:20px;font-size:13px;transition:var(--ease)}
.filter-btn:hover,.filter-btn.active{background:var(--soft);border-color:var(--peach);color:var(--ivory)}
.filter-select{margin-left:auto;min-width:160px;background:#2e2527;color:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13px}
.content-grid{columns:3 250px;column-gap:16px}
.content-card{break-inside:avoid;margin:0 0 16px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.035);transition:var(--ease)}
.content-card:hover{transform:translateY(-5px);border-color:rgba(239,141,121,.62);box-shadow:var(--shadow)}
.cover{height:155px;position:relative;background:linear-gradient(145deg,#714153,#e38b78);overflow:hidden}
.cover.tall{height:230px;background:linear-gradient(25deg,#35232b,#815264)}
.cover.square{height:190px;background:linear-gradient(145deg,#c7aaa0,#553342)}
.cover:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;border:26px solid rgba(245,237,231,.16);left:18%;top:-55px}
.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(23,20,21,.5),transparent)}
.cover b{position:absolute;z-index:1;bottom:14px;left:16px;font-size:12px;letter-spacing:1px}
.content-copy{padding:17px}
.content-copy .tag{min-height:25px;padding:3px 8px;font-size:11px}
.content-copy h3{font-size:18px;line-height:1.42;margin:10px 0 6px}
.content-copy p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.meta{display:flex;justify-content:space-between;margin-top:13px;padding-top:11px;border-top:1px solid var(--line);font-size:12px;color:#a99792}
.load-row{text-align:center;margin-top:32px}
.load-row small{display:block;color:var(--muted);margin-top:12px}
.related{padding:72px 0;background:#2b2024;position:relative}
.related:before{content:"";position:absolute;left:0;right:0;top:0;border-top:1px solid var(--line)}
.related-box{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center;border:1px solid var(--line);padding:34px;border-radius:var(--radius-lg);background:rgba(245,237,231,.045)}
.related-box p{color:var(--muted);margin:10px 0 0;max-width:570px}
.related-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.faq-section{padding:85px 0}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:58px}
.faq-note{color:var(--muted);font-size:14px}
.faq-note b{display:block;font-size:64px;line-height:1;color:var(--peach);font-family:Georgia,serif}
.accordion{background:none;margin:0}
.accordion-item{border:1px solid var(--line);border-radius:13px;margin-bottom:10px;overflow:hidden;background:rgba(255,255,255,.035)}
.accordion-title{border:0;background:transparent;color:var(--ivory);font-weight:700;padding:17px 50px 17px 18px;font-size:15px}
.accordion-title:hover,.accordion-title:focus{background:var(--soft);color:var(--ivory)}
.accordion-title:before{color:var(--peach);font-size:22px;right:18px;margin-top:-14px}
.accordion-content{background:rgba(109,53,75,.2);border:0;color:var(--muted);padding:0 18px 18px;font-size:14px}
.cta-strip{padding:26px 0;background:var(--peach);color:var(--ink)}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.cta-inner h2{font-family:inherit;font-size:23px;letter-spacing:0;margin:0}
.cta-inner p{margin:3px 0 0;font-size:14px;color:#543832}
.cta-strip .btn{background:var(--ink);color:var(--ivory);flex:none}
.cta-strip .btn:hover{background:#34252a;transform:translateY(-2px)}
footer{padding:58px 0 22px;background:#100e0f;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.1fr;gap:36px}
.footer-brand p,.footer-col p{color:var(--muted);font-size:13px;max-width:300px;margin-top:17px}
.footer-col h3{font-size:14px;margin:0 0 13px;color:var(--ivory)}
.footer-col a{display:block;width:max-content;max-width:100%;padding:4px 0;color:var(--muted);font-size:13px}
.footer-col a:hover{color:var(--peach)}
.subscribe{display:flex;margin-top:13px}
.subscribe input{min-width:0;width:100%;background:#252022;border:1px solid var(--line);border-radius:10px 0 0 10px;color:var(--ivory);padding:9px;font-size:12px;outline:none}
.subscribe button{border:0;background:var(--peach);color:var(--ink);font-weight:800;padding:0 12px;border-radius:0 10px 10px 0;font-size:12px}
.foot-bottom{border-top:1px solid var(--line);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#9f8f8a;font-size:12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(239,141,121,.8);outline-offset:3px}
.show-for-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobile-menu{display:none}
@media(max-width:1023px){
 .topbar{gap:14px}.brand{min-width:210px}.main-nav a{padding:10px 8px}.search{width:125px}
 .editors-grid{grid-template-columns:1fr 1fr}.editor-card.large{grid-column:span 2}.content-grid{columns:2 230px}
}
@media(max-width:767px){
 .grid-container{padding-left:18px;padding-right:18px}.topbar{height:68px}.brand{min-width:0;flex:1}.brand-name{font-size:13px}.brand-name small{font-size:7px}
 .main-nav,.nav-actions .search,.nav-actions .btn-ghost,.nav-actions .btn-primary{display:none}.menu-toggle{display:block}
 .mobile-menu{display:none;padding:8px 18px 17px;border-top:1px solid var(--line)}.mobile-menu.is-open{display:grid}.mobile-menu a{display:block;min-height:44px;padding:12px}
 .mobile-menu .mobile-search{display:flex;margin:5px 0 10px}.mobile-menu .search{width:100%}.mobile-menu .btn{margin-top:8px}
 .category-hero{padding:108px 0 46px;background:linear-gradient(140deg,#e8d8cf 0%,#f2e6dd 68%,#8b4b57 68%)}.category-hero:after{width:140px;height:140px;right:-35px;top:83px}
 .category-hero h1{font-size:37px;letter-spacing:-1px}.category-hero p{font-size:14px}.poster-strip{margin-top:28px}.poster{min-width:155px;height:90px}
 .section{padding:62px 0}.section-head{display:block;margin-bottom:24px}h2{font-size:31px}.section-head p{margin-top:12px}
 .editors-grid{display:block}.editor-card,.editor-card.large{min-height:275px;margin-bottom:14px}.editor-card.large{min-height:330px}
 .filter-bar{align-items:flex-start}.filter-label{width:100%}.filter-select{margin-left:0;width:100%}.content-grid{columns:1}
 .related{padding:55px 0}.related-box{display:block;padding:25px}.related-actions{justify-content:flex-start;margin-top:22px}
 .faq-layout{display:block}.faq-note{margin-bottom:26px}.faq-note b{font-size:48px}.cta-inner{display:block}.cta-inner .btn{margin-top:16px;width:100%}
 .footer-grid{grid-template-columns:1fr;gap:24px}.foot-bottom{display:block}.foot-bottom span{display:block;margin-bottom:7px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
