/* roulang page: index */
:root{
      --wine:#612d3d;
      --wine-deep:#351c28;
      --plum:#56394d;
      --rose:#a56770;
      --copper:#a9795a;
      --sand:#eee2d2;
      --paper:#fbf7f0;
      --mist:#f3e9e7;
      --ink:#282126;
      --muted:#776d70;
      --line:#ddcfca;
      --white:#fffdf9;
      --radius:14px;
      --shadow:0 16px 36px rgba(62,35,42,.10);
      --ease:all .25s ease;
    }
    *,*:before,*:after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75;font-size:16px}
    h1,h2,h3,h4,p{margin-top:0}
    h1,h2,h3,h4{font-family:"Noto Serif SC","Songti SC","STSong",serif;line-height:1.25;font-weight:700;letter-spacing:.02em}
    a{color:var(--wine);text-decoration:none;transition:var(--ease)}
    a:hover{color:var(--copper)}
    img{max-width:100%;display:block}
    button,input,select{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid rgba(165,103,112,.55);outline-offset:3px}
    .container{max-width:1220px;margin:0 auto;padding:0 28px}
    .site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}
    .masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 0 16px}
    .brand{display:flex;align-items:center;gap:18px;min-width:260px}
    .brand-mark{font-family:"Noto Serif SC","Songti SC",serif;font-size:1.7rem;font-weight:800;color:var(--wine);letter-spacing:.06em;white-space:nowrap}
    .brand-rule{height:38px;width:1px;background:var(--copper)}
    .brand-note{font-size:.78rem;color:var(--muted);line-height:1.45;max-width:135px}
    .nav-wrap{display:flex;align-items:center;gap:22px}
    .main-nav{display:flex;align-items:center;gap:24px}
    .main-nav a{position:relative;color:var(--ink);font-size:.94rem;padding:8px 0}
    .main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--wine);transition:var(--ease)}
    .main-nav a:hover:after,.main-nav a.active:after{right:0}
    .main-nav a.active{color:var(--wine);font-weight:700}
    .header-cta,.button-primary{background:var(--wine);color:var(--white);border:1px solid var(--wine);border-radius:8px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:var(--ease)}
    .header-cta:hover,.button-primary:hover{background:var(--plum);color:#fff;transform:translateY(-2px)}
    .menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--wine);border-radius:8px;padding:8px 12px}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--copper);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
    .eyebrow:before{content:"";width:28px;height:1px;background:var(--copper)}
    .hero{padding:68px 0 74px;background:var(--sand);border-bottom:1px solid var(--line)}
    .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:stretch}
    .hero-copy{padding:22px 0}
    .hero h1{font-size:clamp(2.8rem,5vw,5.4rem);max-width:700px;color:var(--wine-deep);margin:22px 0 24px}
    .hero h1 em{font-style:normal;color:var(--wine)}
    .hero-lead{font-size:1.12rem;color:#5d5053;max-width:650px;margin-bottom:28px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
    .button-secondary{border:1px solid var(--wine);color:var(--wine);background:transparent;border-radius:8px;padding:11px 18px;font-weight:700;transition:var(--ease)}
    .button-secondary:hover{background:var(--wine);color:var(--white);transform:translateY(-2px)}
    .hero-meta{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid rgba(97,45,61,.25);padding-top:18px;color:var(--muted);font-size:.88rem}
    .hero-meta strong{display:block;color:var(--wine-deep);font-size:1.2rem;font-family:Georgia,serif}
    .bento{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:14px;min-height:390px}
    .visual-main,.visual-small{position:relative;overflow:hidden;border-radius:14px;border:1px solid rgba(97,45,61,.2);background:var(--wine-deep);color:var(--white)}
    .visual-main{grid-row:span 2;padding:26px;display:flex;align-items:flex-end;background:linear-gradient(145deg,#7d4958 0%,#422431 55%,#241a22 100%)}
    .visual-main:before{content:"";position:absolute;width:230px;height:340px;right:-24px;top:20px;border-radius:48% 48% 12% 12%;background:rgba(238,226,210,.18);transform:rotate(12deg)}
    .visual-main:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.24);border-radius:10px}
    .visual-content{position:relative;z-index:1}
    .visual-content small{letter-spacing:.14em;color:#f0d7c3}
    .visual-content h3{font-size:2rem;margin:10px 0 6px}
    .visual-small{padding:20px;background:var(--plum)}
    .visual-small:nth-child(3){background:#b77e76;color:var(--wine-deep)}
    .visual-small span{font-size:2.2rem;font-family:Georgia,serif;opacity:.7}
    .visual-small h4{margin:18px 0 4px;font-size:1.2rem}
    .visual-small p{font-size:.82rem;line-height:1.55;margin:0}
    .section{padding:82px 0}
    .section-tint{background:var(--mist)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}
    .section-head h2{font-size:clamp(2rem,3.5vw,3.1rem);color:var(--wine-deep);margin:12px 0 0}
    .section-head p{max-width:560px;color:var(--muted);margin-bottom:4px}
    .editor-points{display:grid;grid-template-columns:1.3fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .point{padding:28px 26px 30px;border-right:1px solid var(--line)}
    .point:last-child{border-right:0}
    .point-number{font:700 1.5rem Georgia,serif;color:var(--copper)}
    .point h3{font-size:1.35rem;margin:14px 0 8px;color:var(--wine)}
    .point p{font-size:.92rem;color:var(--muted);margin:0;max-width:300px}
    .demo-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:stretch}
    .browse-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
    .panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:19px}
    .panel-title{font-family:Georgia,serif;color:var(--wine);font-size:1.25rem}
    .panel-status{font-size:.75rem;color:var(--copper);background:var(--sand);padding:5px 9px;border-radius:99px}
    .filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
    .filter-row button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:99px;padding:6px 13px;font-size:.8rem}
    .filter-row button:hover,.filter-row button.active{background:var(--wine);color:#fff;border-color:var(--wine)}
    .preview-list{display:grid;gap:12px}
    .preview-item{display:grid;grid-template-columns:108px 1fr auto;gap:15px;align-items:center;padding:11px;border:1px solid transparent;border-bottom-color:var(--line);transition:var(--ease)}
    .preview-item:hover{background:var(--mist);border-radius:8px}
    .cover{aspect-ratio:4/3;border-radius:8px;background:linear-gradient(135deg,#d6a59d,#704051);position:relative;overflow:hidden}
    .cover:after{content:"成人主题";position:absolute;bottom:7px;left:8px;color:#fff;font-size:.66rem;background:rgba(53,28,40,.65);padding:2px 6px;border-radius:4px}
    .cover.alt{background:linear-gradient(135deg,#d9c0a3,#8a5261)}
    .cover.dark{background:linear-gradient(135deg,#a67074,#35202b)}
    .preview-item h4{font-family:inherit;font-size:1rem;margin:0 0 4px;color:var(--ink)}
    .preview-item p{font-size:.78rem;color:var(--muted);margin:0;line-height:1.5}
    .preview-item a{font-size:.82rem;font-weight:700;white-space:nowrap}
    .demo-aside{padding:30px 4px}
    .demo-aside h3{font-size:2rem;color:var(--wine);margin:17px 0}
    .demo-aside p{color:var(--muted)}
    .mini-list{list-style:none;margin:24px 0 0;padding:0}
    .mini-list li{border-top:1px solid var(--line);padding:13px 0;color:#5f5155;font-size:.9rem}
    .mini-list b{color:var(--wine);margin-right:9px}
    .collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .collection-card{display:grid;grid-template-columns:38% 62%;min-height:235px;border:1px solid var(--line);background:var(--white);border-radius:var(--radius);overflow:hidden;transition:var(--ease)}
    .collection-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
    .collection-image{background:linear-gradient(155deg,#d4a196,#553242);position:relative}
    .collection-card:nth-child(2) .collection-image{background:linear-gradient(155deg,#c9b09a,#75475a)}
    .collection-copy{padding:24px}
    .tag{display:inline-block;background:var(--mist);color:var(--wine);border-radius:4px;padding:4px 8px;font-size:.72rem;font-weight:700}
    .collection-copy h3{font-size:1.45rem;margin:16px 0 8px}
    .collection-copy p{font-size:.88rem;color:var(--muted);margin-bottom:17px}
    .text-link{font-size:.86rem;font-weight:800}
    .evidence{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:center}
    .stat-box{border-left:3px solid var(--copper);padding:5px 0 5px 20px}
    .stat-box strong{display:block;font:700 2.5rem Georgia,serif;color:var(--wine)}
    .stat-box span{color:var(--muted);font-size:.9rem}
    .quote{grid-column:span 2;background:var(--wine-deep);color:#f8eee4;padding:28px 32px;border-radius:var(--radius);font-family:"Noto Serif SC","Songti SC",serif;font-size:1.25rem}
    .quote small{display:block;color:#d8b5a5;font-family:inherit;font-size:.8rem;margin-top:12px}
    .updates{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}
    .update-list{border-top:1px solid var(--line)}
    .update-item{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
    .update-date{font:700 .85rem Georgia,serif;color:var(--copper);width:85px}
    .update-item a{font-weight:700;color:var(--ink)}
    .update-item a:hover{color:var(--wine)}
    .update-item span{margin-left:auto;color:var(--muted);font-size:.78rem}
    .note-card{background:var(--sand);border-radius:var(--radius);padding:30px}
    .note-card h3{font-size:1.6rem;color:var(--wine);margin-bottom:12px}
    .note-card p{color:var(--muted);font-size:.9rem}
    .faq-list{max-width:880px;margin:0 auto;border-top:1px solid var(--line)}
    .faq-list details{border-bottom:1px solid var(--line);padding:20px 0}
    .faq-list summary{cursor:pointer;color:var(--wine-deep);font-weight:800;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between}
    .faq-list summary::-webkit-details-marker{display:none}
    .faq-list summary:after{content:"＋";color:var(--copper);font-size:1.3rem}
    .faq-list details[open] summary:after{content:"−"}
    .faq-list details p{color:var(--muted);max-width:760px;margin:13px 0 0;font-size:.92rem}
    .cta-section{padding:60px 0;background:var(--plum);color:#fff4ec}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
    .cta-inner h2{font-size:2.2rem;margin:0 0 10px}
    .cta-inner p{margin:0;color:#dfc5c1;max-width:650px}
    .cta-section .button-primary{background:#f0d7c3;color:var(--wine-deep);border-color:#f0d7c3}
    .cta-section .button-primary:hover{background:#fff;color:var(--wine)}
    .site-footer{background:var(--wine-deep);color:#d9c3bf;padding:52px 0 86px}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
    .footer-brand{font-family:"Noto Serif SC","Songti SC",serif;font-size:1.5rem;color:#fff2e8;margin-bottom:12px}
    .footer-col h4{font-family:inherit;color:#fff2e8;font-size:.9rem;margin-bottom:14px}
    .footer-col a,.footer-col p{display:block;color:#c9aeaa;font-size:.84rem;margin:7px 0}
    .footer-col a:hover{color:#f0d7c3}
    .copyright{border-top:1px solid rgba(255,255,255,.16);margin-top:35px;padding-top:20px;font-size:.76rem;color:#aa9291}
    .fixed-bar{position:fixed;z-index:20;bottom:0;left:0;right:0;background:rgba(53,28,40,.97);color:#fff1e8;border-top:1px solid rgba(240,215,195,.25);padding:12px 0}
    .fixed-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
    .fixed-inner p{margin:0;font-size:.86rem}
    .fixed-actions{display:flex;gap:9px;align-items:center}
    .fixed-actions a{padding:8px 14px;border-radius:7px;background:#f0d7c3;color:var(--wine-deep);font-size:.83rem;font-weight:800}
    .fixed-actions a.alt{background:transparent;color:#f0d7c3;border:1px solid rgba(240,215,195,.5)}
    .bar-close{background:transparent;color:#c9aeaa;border:0;font-size:1.3rem;padding:4px 8px}
    .age-modal{position:fixed;inset:0;z-index:40;background:rgba(35,20,26,.68);display:flex;align-items:center;justify-content:center;padding:20px}
    .age-box{max-width:470px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:35px;box-shadow:0 24px 60px rgba(0,0,0,.22);text-align:center}
    .age-box h2{color:var(--wine);font-size:2rem}
    .age-box p{color:var(--muted);font-size:.92rem}
    .age-actions{display:flex;gap:10px;justify-content:center;margin-top:24px}
    .age-actions button{min-height:44px;border-radius:8px;padding:10px 18px;font-weight:700}
    .age-confirm{background:var(--wine);color:#fff;border:1px solid var(--wine)}
    .age-leave{background:transparent;color:var(--wine);border:1px solid var(--line)}
    .hidden{display:none!important}
    @media(max-width:1024px){
      .hero-grid,.demo-grid,.updates{grid-template-columns:1fr}
      .demo-aside{padding:0}
      .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
      .footer-grid .footer-col:last-child{grid-column:2}
    }
    @media(max-width:768px){
      .container{padding:0 20px}
      .masthead{padding:16px 0}
      .brand-note,.main-nav,.header-cta{display:none}
      .brand-rule{height:28px}
      .brand-mark{font-size:1.35rem}
      .menu-toggle{display:block}
      .nav-wrap{position:relative}
      .nav-wrap.open .main-nav{display:flex;position:absolute;right:0;top:48px;min-width:210px;padding:15px;background:var(--paper);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:7px}
      .hero{padding:46px 0 50px}
      .hero h1{font-size:clamp(2.5rem,11vw,4rem)}
      .bento{min-height:330px}
      .editor-points,.evidence,.collection-grid{grid-template-columns:1fr}
      .point{border-right:0;border-bottom:1px solid var(--line)}
      .point:last-child{border-bottom:0}
      .quote{grid-column:auto}
      .cta-inner{align-items:flex-start;flex-direction:column}
      .footer-grid{grid-template-columns:1fr 1fr}
      .footer-grid .footer-col:last-child{grid-column:auto}
      .fixed-inner p{font-size:.75rem}
    }
    @media(max-width:520px){
      body{font-size:15px}
      .section{padding:58px 0}
      .section-head{display:block}
      .section-head p{margin-top:14px}
      .hero-actions,.hero-actions a{width:100%}
      .hero-actions a{text-align:center}
      .bento{grid-template-columns:1fr;grid-template-rows:230px 130px 130px}
      .visual-main{grid-row:auto}
      .preview-item{grid-template-columns:76px 1fr}
      .preview-item>a{grid-column:2}
      .collection-card{grid-template-columns:1fr}
      .collection-image{min-height:150px}
      .update-item{gap:8px;flex-wrap:wrap}
      .update-date{width:72px}
      .update-item span{margin-left:80px}
      .footer-grid{grid-template-columns:1fr}
      .fixed-inner{align-items:stretch}
      .fixed-inner p{display:none}
      .fixed-actions{width:100%}
      .fixed-actions a{flex:1;text-align:center}
      .bar-close{padding:2px 4px}
      .age-box{padding:27px 20px}
    }

/* roulang page: category1 */
:root{--wine:#612d3d;--wine-deep:#351c28;--plum:#56394d;--rose:#a56770;--copper:#a9795a;--sand:#eee2d2;--paper:#fbf7f0;--mist:#f3e9e7;--ink:#282126;--muted:#776d70;--line:#ddcfca;--white:#fffdf9;--radius:14px;--shadow:0 16px 36px rgba(62,35,42,.1);--ease:all .25s ease}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75}a{color:var(--wine);text-decoration:none;transition:var(--ease)}a:hover{color:var(--copper)}img{display:block;max-width:100%;height:auto}button,input,select{font:inherit}button{cursor:pointer}.container{max-width:1220px;margin:0 auto;padding:0 28px}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.header-row{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:16px;min-width:260px}.brand-mark,.footer-brand{font-family:"Noto Serif SC","Songti SC",serif;font-weight:800;letter-spacing:.05em;color:var(--wine)}.brand-mark{font-size:1.65rem;white-space:nowrap}.brand-rule{height:38px;width:1px;background:var(--copper)}.brand-note{max-width:145px;color:var(--muted);font-size:.76rem;line-height:1.4}.nav-wrap{display:flex;align-items:center;gap:20px}.main-nav{display:flex;align-items:center;gap:24px}.main-nav a{position:relative;color:var(--ink);font-size:.94rem;padding:8px 0}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--wine);transition:var(--ease)}.main-nav a:hover:after,.main-nav a.active:after{right:0}.main-nav a.active{color:var(--wine);font-weight:700}.header-cta,.button-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--wine);border-radius:8px;background:var(--wine);color:var(--white);font-weight:700;transition:var(--ease)}.header-cta:hover,.button-primary:hover{background:var(--plum);color:#fff;transform:translateY(-2px)}.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--wine);border-radius:8px;background:transparent;color:var(--wine);font-weight:700;transition:var(--ease)}.button-secondary:hover{background:var(--wine);color:#fff;transform:translateY(-2px)}:focus-visible{outline:3px solid var(--copper);outline-offset:3px}.menu-toggle{display:none;min-height:44px;padding:8px 12px;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--wine)}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--copper);font-size:.78rem;font-weight:800;letter-spacing:.12em}.eyebrow:before{content:"";width:28px;height:1px;background:var(--copper)}.hero{padding:62px 0 58px;background:var(--sand);border-bottom:1px solid var(--line)}.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:27px}.breadcrumb a{color:var(--wine)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:42px;align-items:center}.hero h1{margin:18px 0 20px;color:var(--wine-deep);font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(2.5rem,5vw,5rem);line-height:1.15;letter-spacing:-.04em}.hero-lead{max-width:690px;margin:0 0 25px;color:#5d5053;font-size:1.08rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;padding-top:18px;border-top:1px solid rgba(97,45,61,.25);color:var(--muted);font-size:.86rem}.hero-meta strong{display:block;color:var(--wine-deep);font:700 1.25rem Georgia,serif}.cover-art{min-height:355px;position:relative;overflow:hidden;padding:26px;display:flex;align-items:flex-end;border:1px solid rgba(97,45,61,.2);border-radius:var(--radius);color:#fff;background:linear-gradient(145deg,#9b626b,#4a2938 58%,#261b23)}.cover-art:before{content:"";position:absolute;right:8%;top:8%;width:52%;height:78%;border-radius:48% 48% 14% 14%;background:rgba(238,226,210,.2);transform:rotate(10deg)}.cover-art:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.27);border-radius:10px}.cover-copy{position:relative;z-index:1}.cover-number{font:700 4rem Georgia,serif;color:rgba(255,255,255,.75);line-height:1}.cover-copy h2{margin:8px 0 4px;color:#fff;font-size:1.65rem}.cover-copy p{margin:0;color:rgba(255,255,255,.78);font-size:.85rem}.section{padding:78px 0}.section-tint{background:var(--mist)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-head h2{margin:11px 0 0;color:var(--wine-deep);font:800 clamp(1.9rem,3.5vw,3rem)/1.25 "Noto Serif SC","Songti SC",serif}.section-head p{max-width:560px;margin:0 0 4px;color:var(--muted)}.feature-row{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.feature-card{display:grid;grid-template-columns:40% 60%;min-height:245px;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:var(--ease)}.feature-card:hover,.index-item:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.feature-image,.thumb{position:relative;overflow:hidden;background:linear-gradient(150deg,#c8928d,#553242)}.feature-card:nth-child(2) .feature-image{background:linear-gradient(150deg,#d6b49d,#75475a)}.feature-image:after,.thumb:after{content:"成人主题视觉";position:absolute;left:14px;bottom:12px;padding:4px 8px;border-radius:4px;background:rgba(53,28,40,.72);color:#fff;font-size:.68rem}.feature-copy{padding:25px}.tag{display:inline-block;padding:4px 9px;border-radius:4px;background:var(--mist);color:var(--wine);font-size:.72rem;font-weight:700}.feature-copy h3{margin:14px 0 8px;color:var(--ink);font-size:1.4rem;line-height:1.35}.feature-copy p{margin:0 0 16px;color:var(--muted);font-size:.88rem}.text-link{font-size:.86rem;font-weight:800}.index-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}.index-list{display:grid;gap:14px}.index-item{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:20px;align-items:center;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:12px;transition:var(--ease)}.thumb{aspect-ratio:4/3;border-radius:8px}.index-item h3{margin:7px 0 5px;font-size:1.12rem;line-height:1.4}.index-item p{margin:0;color:var(--muted);font-size:.86rem}.item-date{color:var(--muted);font-size:.76rem;white-space:nowrap}.sidebar{padding:23px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.sidebar h3{margin:0 0 18px;color:var(--wine-deep);font-size:1.2rem}.search-box{display:flex;gap:7px;margin-bottom:20px}.search-box input,.filter-select{width:100%;min-height:44px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.search-box button{width:46px;min-height:44px;border:0;border-radius:7px;background:var(--wine);color:#fff}.tag-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.tag-list a{display:block;padding:6px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.78rem}.tag-list a:hover,.tag-list a.active{border-color:var(--wine);background:var(--wine);color:#fff}.notice{margin-top:22px;padding:15px;border-left:3px solid var(--copper);background:var(--mist);color:var(--muted);font-size:.82rem}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px}.faq-list details{border-top:1px solid var(--line);padding:17px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;color:var(--wine-deep);font-weight:800}.faq-list p{margin:10px 0 0;color:var(--muted);font-size:.9rem}.cta{padding:56px 0;background:var(--wine-deep);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.cta h2{margin:0 0 8px;color:#fff;font:800 clamp(1.8rem,3vw,2.7rem)/1.25 "Noto Serif SC","Songti SC",serif}.cta p{margin:0;color:rgba(255,255,255,.72)}.cta .button-primary{background:var(--sand);border-color:var(--sand);color:var(--wine-deep)}.site-footer{padding:53px 0 24px;background:#251a21;color:rgba(255,255,255,.7)}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:34px}.footer-brand{margin-bottom:12px;font-size:1.45rem;color:#fff}.site-footer p{margin:0;font-size:.84rem}.footer-col{display:flex;flex-direction:column;gap:7px}.footer-col h4{margin:0 0 7px;color:#fff;font-size:.95rem}.footer-col a{color:rgba(255,255,255,.7);font-size:.84rem}.footer-col a:hover{color:var(--sand)}.copyright{margin-top:37px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);font-size:.76rem;color:rgba(255,255,255,.5)}.age-note{padding:11px 0;background:#1d151a;color:rgba(255,255,255,.65);font-size:.78rem;text-align:center}.fixed-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:11px 0;background:rgba(53,28,40,.97);color:#fff;border-top:1px solid rgba(255,255,255,.15)}.fixed-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.fixed-bar p{margin:0;font-size:.82rem;color:rgba(255,255,255,.78)}.fixed-actions{display:flex;gap:9px}.fixed-actions a{min-height:40px;padding:7px 14px;border-radius:7px;background:var(--sand);color:var(--wine-deep);font-size:.82rem;font-weight:800}.fixed-actions a:last-child{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}.fixed-close{border:0;background:transparent;color:rgba(255,255,255,.7);font-size:1.2rem;padding:4px 8px}.age-modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(37,26,33,.62)}.age-modal.is-open{display:flex}.age-dialog{max-width:470px;padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}.age-dialog h2{margin-top:0;color:var(--wine-deep)}.age-dialog p{color:var(--muted);font-size:.9rem}.age-dialog-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:1024px){.header-row{min-height:78px}.brand-note{display:none}.main-nav{gap:16px}.hero-grid{gap:28px}.index-layout{grid-template-columns:1fr 270px}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}}
@media(max-width:768px){.container{padding:0 20px}.header-row{flex-wrap:wrap}.menu-toggle{display:block}.nav-wrap{display:none;width:100%;padding:5px 0 17px}.nav-wrap.is-open{display:block}.main-nav{align-items:stretch;flex-direction:column;gap:4px}.main-nav a{padding:8px 0}.header-cta{display:none}.hero{padding:42px 0 45px}.hero-grid,.feature-row,.faq-grid{grid-template-columns:1fr}.cover-art{min-height:290px}.section{padding:57px 0}.section-head{display:block}.section-head p{margin-top:12px}.index-layout{grid-template-columns:1fr}.sidebar{order:-1}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.cta-inner{display:block}.cta .button-primary{margin-top:22px}.fixed-bar{padding:8px 0}.fixed-inner{gap:8px}.fixed-bar p{font-size:.72rem}.fixed-actions a{padding:7px 10px;font-size:.75rem}}
@media(max-width:520px){.brand-mark{font-size:1.35rem}.hero h1{font-size:2.55rem}.hero-actions,.hero-actions a{width:100%}.hero-actions a{justify-content:center}.feature-card{grid-template-columns:1fr}.feature-image{min-height:160px}.index-item{grid-template-columns:88px 1fr;gap:12px}.index-item .item-date{grid-column:2}.index-item .text-link{display:none}.thumb{aspect-ratio:1/1}.footer-grid{grid-template-columns:1fr}.fixed-inner{align-items:stretch}.fixed-bar p{display:none}.fixed-actions{width:100%}.fixed-actions a{flex:1;text-align:center}}

/* roulang page: category2 */
:root{
      --wine:#612d3d;
      --wine-deep:#351c28;
      --plum:#56394d;
      --rose:#a56770;
      --copper:#a9795a;
      --sand:#eee2d2;
      --paper:#fbf7f0;
      --mist:#f3e9e7;
      --ink:#282126;
      --muted:#776d70;
      --line:#ddcfca;
      --white:#fffdf9;
      --radius:14px;
      --shadow:0 16px 36px rgba(62,35,42,.10);
      --ease:all .25s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75}
    h1,h2,h3,h4,p{margin-top:0}
    h1,h2,h3{font-family:"Noto Serif SC","Songti SC","STSong",serif;line-height:1.25}
    a{color:var(--wine);text-decoration:none;transition:var(--ease)}
    a:hover{color:var(--copper)}
    img{display:block;max-width:100%}
    button,input,select{font:inherit}
    button{cursor:pointer}
    .container{max-width:1220px;margin:0 auto;padding:0 28px}
    .site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}
    .header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
    .brand{display:flex;align-items:center;gap:18px;min-width:270px}
    .brand-mark,.footer-brand{font-family:"Noto Serif SC","Songti SC",serif;font-weight:800;letter-spacing:.06em;color:var(--wine)}
    .brand-mark{font-size:1.7rem;white-space:nowrap}
    .brand-rule{height:38px;width:1px;background:var(--copper)}
    .brand-note{font-size:.78rem;color:var(--muted);line-height:1.45;max-width:135px}
    .nav-wrap{display:flex;align-items:center;gap:22px}
    .main-nav{display:flex;align-items:center;gap:24px}
    .main-nav a{position:relative;color:var(--ink);font-size:.94rem;padding:8px 0}
    .main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--wine);transition:var(--ease)}
    .main-nav a:hover:after,.main-nav a.active:after{right:0}
    .main-nav a.active{color:var(--wine);font-weight:700}
    .header-cta,.button-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--wine);border:1px solid var(--wine);border-radius:8px;color:var(--white);padding:11px 18px;font-weight:700;transition:var(--ease)}
    .header-cta:hover,.button-primary:hover{background:var(--plum);color:#fff;transform:translateY(-2px)}
    .button-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--wine);color:var(--wine);background:transparent;border-radius:8px;padding:11px 18px;font-weight:700;transition:var(--ease)}
    .button-secondary:hover{background:var(--wine);color:var(--white);transform:translateY(-2px)}
    .button-primary:focus,.button-secondary:focus,.header-cta:focus,.main-nav a:focus,.menu-toggle:focus,input:focus,select:focus{outline:3px solid rgba(169,121,90,.45);outline-offset:3px}
    .menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--wine);padding:8px 12px}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--copper);font-size:.78rem;font-weight:800;letter-spacing:.12em}
    .eyebrow:before{content:"";width:28px;height:1px;background:var(--copper)}
    .breadcrumb{padding:22px 0 0;color:var(--muted);font-size:.84rem}
    .breadcrumb a{color:var(--muted)}
    .breadcrumb span{padding:0 8px;color:var(--copper)}
    .topic-hero{padding:32px 0 72px;background:var(--sand);border-bottom:1px solid var(--line)}
    .topic-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
    .topic-copy{padding-top:18px}
    .topic-copy h1{font-size:clamp(2.7rem,5vw,5.2rem);color:var(--wine-deep);margin:20px 0 22px;max-width:720px}
    .topic-copy h1 em{font-style:normal;color:var(--wine)}
    .topic-lead{max-width:690px;font-size:1.08rem;color:#5f5155;margin-bottom:28px}
    .topic-actions{display:flex;gap:12px;flex-wrap:wrap}
    .topic-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px;padding-top:18px;border-top:1px solid rgba(97,45,61,.24);color:var(--muted);font-size:.86rem}
    .topic-meta strong{display:block;color:var(--wine-deep);font:700 1.3rem Georgia,serif}
    .cover-art{min-height:420px;border:1px solid rgba(97,45,61,.25);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden;color:var(--white);background:linear-gradient(145deg,#8e5964,#4b2938 55%,#261a22)}
    .cover-art:before{content:"";position:absolute;width:245px;height:350px;right:-18px;top:30px;border-radius:48% 48% 12% 12%;transform:rotate(13deg);background:rgba(238,226,210,.18)}
    .cover-art:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.28);border-radius:10px}
    .cover-label,.cover-copy,.cover-index{position:relative;z-index:2}
    .cover-label{font-size:.78rem;letter-spacing:.14em;color:#f1d8c6}
    .cover-copy{position:absolute;left:28px;bottom:34px;max-width:280px}
    .cover-copy h2{font-size:2.35rem;margin:0 0 10px;color:#fffaf2}
    .cover-copy p{color:#eadbd5;margin:0;font-size:.9rem}
    .cover-index{position:absolute;right:28px;bottom:32px;font:700 3rem Georgia,serif;color:rgba(255,255,255,.7)}
    .section{padding:78px 0}
    .section-tint{background:var(--mist)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:32px}
    .section-head h2{font-size:clamp(2rem,3.5vw,3rem);color:var(--wine-deep);margin:12px 0 0}
    .section-head p{max-width:560px;color:var(--muted);margin-bottom:4px}
    .tag{display:inline-block;background:var(--mist);color:var(--wine);border-radius:99px;padding:4px 11px;font-size:.76rem;font-weight:700}
    .featured-row{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
    .feature-card{display:grid;grid-template-columns:42% 58%;min-height:282px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:var(--ease)}
    .feature-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
    .feature-card.large{grid-row:span 2;min-height:586px;display:block}
    .feature-image{min-height:100%;background:linear-gradient(145deg,#c99791,#593344);position:relative}
    .feature-card:nth-child(2) .feature-image{background:linear-gradient(145deg,#d4b9a0,#795061)}
    .feature-card:nth-child(3) .feature-image{background:linear-gradient(145deg,#b9797d,#36222d)}
    .feature-card.large .feature-image{height:330px}
    .feature-image:after{content:"非露骨视觉";position:absolute;left:15px;bottom:14px;padding:4px 9px;border:1px solid rgba(255,255,255,.5);border-radius:4px;color:#fff;font-size:.72rem;background:rgba(53,28,40,.32)}
    .feature-copy{padding:24px}
    .feature-copy h3{font-size:1.38rem;color:var(--wine-deep);margin:14px 0 9px}
    .feature-copy p{color:var(--muted);font-size:.9rem;margin-bottom:15px}
    .update{font-size:.78rem;color:var(--muted)}
    .two-column{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;align-items:start}
    .content-flow{display:grid;gap:16px}
    .flow-item{display:grid;grid-template-columns:92px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}
    .flow-number{color:var(--copper);font:700 1.5rem Georgia,serif}
    .flow-item h3{margin:0 0 5px;font-size:1.2rem;color:var(--wine-deep)}
    .flow-item p{margin:0;color:var(--muted);font-size:.9rem}
    .flow-item a{white-space:nowrap;font-size:.84rem;font-weight:700}
    .side-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 20px rgba(62,35,42,.05)}
    .side-panel h3{font-size:1.25rem;color:var(--wine-deep);margin-bottom:17px}
    .filter-form label{display:block;font-size:.82rem;font-weight:700;color:var(--wine);margin:14px 0 6px}
    .filter-form input,.filter-form select{width:100%;height:44px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:0 12px}
    .filter-buttons{display:flex;gap:8px;margin-top:17px}
    .filter-buttons button{flex:1;min-height:44px;border-radius:8px;font-weight:700}
    .filter-submit{background:var(--wine);border:1px solid var(--wine);color:#fff}
    .filter-clear{background:transparent;border:1px solid var(--line);color:var(--muted)}
    .hot-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
    .hot-tags a{border:1px solid var(--line);border-radius:99px;padding:5px 10px;font-size:.77rem;color:var(--muted)}
    .hot-tags a:hover{border-color:var(--wine);color:var(--wine);background:var(--mist)}
    .note-box{margin-top:18px;padding:14px;background:var(--sand);border-left:3px solid var(--copper);font-size:.82rem;color:#66585b}
    .faq-list{max-width:850px;margin:0 auto}
    .faq-list details{border-top:1px solid var(--line);padding:18px 0}
    .faq-list details:last-child{border-bottom:1px solid var(--line)}
    .faq-list summary{cursor:pointer;list-style:none;color:var(--wine-deep);font-weight:700;padding-right:30px;position:relative}
    .faq-list summary::-webkit-details-marker{display:none}
    .faq-list summary:after{content:"＋";position:absolute;right:0;color:var(--copper);font-size:1.2rem}
    .faq-list details[open] summary:after{content:"－"}
    .faq-list details p{color:var(--muted);font-size:.92rem;margin:12px 28px 0 0}
    .cta-panel{background:var(--wine-deep);color:var(--white);padding:42px;border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;gap:28px}
    .cta-panel h2{color:#fff8ef;font-size:2rem;margin:0 0 10px}
    .cta-panel p{color:#decfd0;margin:0;max-width:650px}
    .cta-panel .button-primary{background:var(--sand);color:var(--wine-deep);border-color:var(--sand)}
    .cta-panel .button-primary:hover{background:var(--white)}
    .site-footer{background:#2a1b23;color:#d8c8ca;padding:54px 0 30px}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px}
    .footer-brand{font-size:1.55rem;color:#f0dcd1;margin-bottom:12px}
    .site-footer p{font-size:.83rem;color:#bbaaae;margin:0 0 7px}
    .footer-col h4{color:#f0dcd1;font-size:.95rem;margin:0 0 13px}
    .footer-col a{display:block;color:#cdbdc0;font-size:.84rem;margin:7px 0}
    .footer-col a:hover{color:#f1c5a9}
    .copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:35px;padding-top:20px;color:#a9959a;font-size:.78rem}
    .age-notice{background:#f7ebe4;border-bottom:1px solid #e1c9c0;color:#674b4c;padding:10px 0;font-size:.82rem}
    .age-inner{display:flex;justify-content:center;align-items:center;gap:10px;text-align:center}
    .age-inner strong{color:var(--wine)}
    .fixed-bar{position:fixed;z-index:30;bottom:0;left:0;right:0;background:rgba(53,28,40,.97);color:#fff;padding:12px 0;border-top:1px solid rgba(255,255,255,.16)}
    .fixed-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
    .fixed-copy{font-size:.84rem;color:#eadcdb}
    .fixed-copy strong{color:#fff}
    .fixed-actions{display:flex;gap:9px;align-items:center}
    .fixed-actions a{padding:8px 14px;border-radius:7px;background:var(--sand);color:var(--wine-deep);font-size:.82rem;font-weight:700}
    .fixed-actions a.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
    .fixed-close{background:transparent;border:0;color:#d9c6c8;font-size:1.1rem;padding:7px}
    .mobile-filter{display:none}
    @media(max-width:1024px){
      .header-inner{gap:16px}.brand{min-width:auto}.brand-note{display:none}
      .main-nav{gap:16px}.header-cta{display:none}
      .topic-hero-grid{gap:28px}.cover-art{min-height:370px}
      .featured-row{grid-template-columns:1fr}.feature-card.large{grid-row:auto;min-height:280px;display:grid}.feature-card.large .feature-image{height:auto}
      .footer-grid{grid-template-columns:1.3fr 1fr 1fr}
      .footer-grid>div:last-child{grid-column:2 / 4}
    }
    @media(max-width:768px){
      .container{padding:0 20px}.header-inner{min-height:74px}
      .brand-mark{font-size:1.35rem}.brand-rule{height:30px}
      .menu-toggle{display:block}.main-nav{display:none;position:absolute;left:20px;right:20px;top:74px;background:var(--paper);border:1px solid var(--line);padding:12px 18px;box-shadow:var(--shadow);border-radius:0 0 10px 10px;flex-direction:column;align-items:stretch;gap:0}
      .main-nav.open{display:flex}.main-nav a{padding:12px 0;border-bottom:1px solid var(--line)}
      .main-nav a:last-child{border-bottom:0}.nav-wrap{margin-left:auto}
      .topic-hero{padding-bottom:54px}.topic-hero-grid{grid-template-columns:1fr}.cover-art{min-height:300px}
      .topic-copy h1{font-size:clamp(2.4rem,10vw,4rem)}
      .section{padding:58px 0}.section-head{display:block}.section-head p{margin-top:16px}
      .feature-card,.feature-card.large{display:block}.feature-image{height:190px;min-height:0}.feature-card.large .feature-image{height:230px}
      .two-column{grid-template-columns:1fr}.side-panel{order:-1}.mobile-filter{display:block}
      .flow-item{grid-template-columns:48px 1fr}.flow-item>a{grid-column:2}
      .cta-panel{display:block;padding:30px 24px}.cta-panel .button-primary{margin-top:22px;width:100%}
      .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}
      .fixed-inner{display:block}.fixed-copy{margin-bottom:7px}.fixed-actions{justify-content:space-between}
      .fixed-actions a{flex:1;text-align:center}.fixed-close{position:absolute;right:8px;top:5px}
    }
    @media(max-width:520px){
      .brand-rule{display:none}.brand-mark{font-size:1.18rem}.age-inner{font-size:.76rem}
      .breadcrumb{font-size:.76rem}.topic-actions a{width:100%;text-align:center}
      .topic-meta{gap:15px}.cover-art{min-height:270px}
      .featured-row{gap:16px}.feature-copy{padding:19px}
      .footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}
      .fixed-bar{padding:9px 0}.fixed-copy{padding-right:30px}
    }
