/* roulang page: index */
:root{
      --ink:#0d0b0e;--panel:#171318;--panel-2:#211921;--wine:#722c3b;
      --wine-bright:#9b4654;--amber:#c9a56a;--paper:#eee8df;--muted:#a9a0a4;
      --line:rgba(238,232,223,.13);--shadow:0 18px 45px rgba(0,0,0,.28);
      --radius:14px;--max:1180px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--ink);color:var(--paper);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    button{cursor:pointer}
    .container{width:min(calc(100% - 40px),var(--max));margin:auto}
    .site-header{position:sticky;top:0;z-index:30;background:rgba(13,11,14,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
    .nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}
    .logo{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.04em;font-size:18px}
    .logo-mark{width:28px;height:28px;border:1px solid var(--amber);display:grid;place-items:center;color:var(--amber);font-size:11px}
    .nav-links{display:flex;align-items:center;gap:28px;color:var(--muted);font-size:14px}
    .nav-links a{position:relative;padding:25px 0;transition:.25s}
    .nav-links a:hover,.nav-links a.active{color:var(--paper)}
    .nav-links a.active:after,.nav-links a:hover:after{content:"";position:absolute;left:0;right:0;bottom:17px;height:2px;background:var(--amber)}
    .menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--paper);padding:8px 12px;border-radius:8px}
    .age-strip{font-size:12px;color:#d1c8c0;background:#24141a;border-bottom:1px solid rgba(201,165,106,.2);text-align:center;padding:7px 16px}
    .hero{position:relative;overflow:hidden;padding:100px 0 92px;border-bottom:1px solid var(--line)}
    .hero:before{content:"";position:absolute;width:680px;height:480px;right:-180px;top:-100px;background:radial-gradient(circle,rgba(114,44,59,.34),transparent 68%);pointer-events:none}
    .eyebrow{display:inline-flex;gap:10px;align-items:center;color:var(--amber);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
    .eyebrow:before{content:"";width:42px;height:1px;background:var(--amber)}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(42px,7vw,86px);line-height:1.08;letter-spacing:-.075em;margin:20px 0 26px;max-width:760px}
    h1 span{color:var(--amber)}
    .hero-copy{max-width:650px;color:#c3babe;font-size:17px}
    .actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 38px}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:8px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn-primary{background:var(--wine);color:var(--paper)}
    .btn-primary:hover{background:var(--wine-bright);transform:translateY(-2px);box-shadow:0 8px 22px rgba(114,44,59,.3)}
    .btn-secondary{border-color:var(--line);color:var(--paper)}
    .btn-secondary:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}
    .btn:focus,input:focus,button:focus{outline:2px solid var(--amber);outline-offset:3px}
    .hero-notes{display:flex;gap:26px;flex-wrap:wrap;color:var(--muted);font-size:13px}
    .hero-notes strong{display:block;color:var(--paper);font-size:20px;line-height:1.2}
    .poster-stage{position:absolute;right:0;bottom:55px;width:360px;height:360px;display:grid;grid-template-columns:1fr 1.15fr;gap:12px;transform:rotate(3deg)}
    .poster{position:relative;overflow:hidden;background:linear-gradient(145deg,#392531,#161116);border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;justify-content:space-between}
    .poster:first-child{margin-top:54px;background:linear-gradient(145deg,#303033,#1b151c)}
    .poster:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.8));pointer-events:none}
    .poster>*{position:relative;z-index:1}
    .poster-num{font-size:12px;color:var(--amber);letter-spacing:.16em}
    .poster-label{font-size:12px;color:#d7cdd0}
    .poster-title{font-size:22px;font-weight:900;line-height:1.15}
    .section{padding:92px 0;border-bottom:1px solid var(--line)}
    .section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}
    h2{font-size:clamp(30px,4vw,52px);line-height:1.12;letter-spacing:-.06em;margin-bottom:12px}
    .section-intro{max-width:540px;color:var(--muted);font-size:15px}
    .kicker{color:var(--amber);font-size:12px;letter-spacing:.14em}
    .feature-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:14px}
    .feature,.scene,.result,.price-card,.faq-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:.25s}
    .feature:hover,.scene:hover,.result:hover,.price-card:hover{transform:translateY(-3px);border-color:rgba(201,165,106,.45)}
    .feature{min-height:250px;padding:28px;position:relative;overflow:hidden}
    .feature.large{background:linear-gradient(135deg,#251a22,#171318 65%)}
    .feature.large:before{content:"一区 / 二区 / 三区";position:absolute;right:-12px;bottom:20px;color:rgba(201,165,106,.08);font-size:45px;font-weight:900;white-space:nowrap}
    .feature-number{color:var(--amber);font-size:13px}
    .feature h3{font-size:25px;margin:24px 0 8px}
    .feature p,.scene p,.result p,.price-card li{color:var(--muted);font-size:14px}
    .mini-list{margin:20px 0 0;padding:0;list-style:none}
    .mini-list li{padding:9px 0;border-top:1px solid var(--line);font-size:13px;color:#d8d0d0}
    .scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .scene{padding:26px;display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start}
    .scene-no{font-size:32px;color:var(--amber);font-weight:900;line-height:1}
    .scene h3{margin:0 0 6px;font-size:19px}
    .results{display:grid;grid-template-columns:1.25fr .85fr .85fr;gap:14px}
    .result{padding:26px;min-height:200px;position:relative}
    .result.big{min-height:275px;background:linear-gradient(160deg,#351f2a,#171318)}
    .result-id{color:var(--amber);font-size:12px;letter-spacing:.15em}
    .result h3{font-size:24px;margin:42px 0 7px}
    .result small{color:var(--muted)}
    .price-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px}
    .price-card{padding:28px}
    .price-card.featured{background:linear-gradient(145deg,#3a202b,#21151d);border-color:rgba(201,165,106,.55)}
    .price-card h3{font-size:23px;margin:8px 0}
    .price-tag{color:var(--amber);font-weight:800;font-size:14px}
    .price-card ul{padding:0;margin:22px 0 25px;list-style:none}
    .price-card li{padding:7px 0;border-top:1px solid var(--line)}
    .price-card li:before{content:"—";color:var(--amber);margin-right:8px}
    .faq-list{max-width:850px;margin:auto}
    .faq-item{margin-bottom:10px;overflow:hidden}
    .faq-q{width:100%;background:none;border:0;color:var(--paper);display:flex;justify-content:space-between;text-align:left;padding:20px 22px;font-weight:700}
    .faq-q span:last-child{color:var(--amber);font-size:22px;line-height:1}
    .faq-a{max-height:0;overflow:hidden;padding:0 22px;color:var(--muted);font-size:14px;transition:max-height .35s,padding .35s}
    .faq-item.open .faq-a{max-height:150px;padding:0 22px 20px}
    .cta{padding:72px 0;background:linear-gradient(100deg,#351d28,#171318)}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta h2{max-width:650px;margin:0}
    footer{padding:42px 0 26px;color:var(--muted);font-size:13px}
    .footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--line)}
    .footer-links{display:flex;gap:22px;flex-wrap:wrap}
    .footer-links a:hover{color:var(--paper)}
    .copyright{display:flex;justify-content:space-between;gap:20px;padding-top:22px}
    .reveal{animation:fadeUp .7s both}
    @keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
    @media(max-width:1024px){.poster-stage{opacity:.45;right:-80px}.hero-copy{position:relative;z-index:2}.feature-grid,.results,.price-grid{grid-template-columns:1fr 1fr}.feature.large{grid-column:span 2}}
    @media(max-width:768px){.container{width:min(calc(100% - 30px),var(--max))}.nav-links{display:none;position:absolute;left:15px;right:15px;top:68px;background:#171318;border:1px solid var(--line);padding:12px;flex-direction:column;align-items:stretch;gap:0;box-shadow:var(--shadow)}.nav-links.show{display:flex}.nav-links a{padding:14px}.nav-links a.active:after,.nav-links a:hover:after{bottom:7px}.menu-btn{display:block}.hero{padding:75px 0}.poster-stage{position:relative;right:auto;bottom:auto;margin:48px 0 0;width:100%;height:250px;transform:rotate(1deg);opacity:1}.section{padding:68px 0}.section-head,.cta-inner,.footer-top,.copyright{display:block}.section-head .section-intro{margin-top:18px}.cta .btn{margin-top:24px}.footer-links{margin-top:22px}.copyright{padding-top:18px}.copyright span{display:block;margin-top:7px}}
    @media(max-width:520px){h1{font-size:43px}.hero-copy{font-size:15px}.feature-grid,.results,.price-grid,.scene-grid{grid-template-columns:1fr}.feature.large{grid-column:auto}.feature{min-height:220px}.scene{grid-template-columns:42px 1fr}.result.big{min-height:220px}.actions .btn{width:100%}.hero-notes{gap:18px}.poster-title{font-size:18px}}

/* roulang page: category1 */
:root{
      --ink:#0d0b0e;--panel:#171318;--panel-2:#211921;--wine:#722c3b;
      --wine-bright:#9b4654;--amber:#c9a56a;--paper:#eee8df;--muted:#a9a0a4;
      --line:rgba(238,232,223,.13);--shadow:0 18px 45px rgba(0,0,0,.28);
      --radius:14px;--max:1180px
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--ink);color:var(--paper);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}
    body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(rgba(255,255,255,.18) .5px,transparent .5px);background-size:5px 5px;mix-blend-mode:soft-light}
    a{color:inherit;text-decoration:none}
    button,input,select{font:inherit}
    button{cursor:pointer}
    .container{width:min(calc(100% - 40px),var(--max));margin:auto}
    .site-header{position:sticky;top:0;z-index:30;background:rgba(13,11,14,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
    .nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}
    .logo{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.04em;font-size:18px}
    .logo-mark{width:28px;height:28px;border:1px solid var(--amber);display:grid;place-items:center;color:var(--amber);font-size:11px}
    .nav-links{display:flex;align-items:center;gap:28px;color:var(--muted);font-size:14px}
    .nav-links a{position:relative;padding:25px 0;transition:.25s}
    .nav-links a:hover,.nav-links a.active{color:var(--paper)}
    .nav-links a.active:after,.nav-links a:hover:after{content:"";position:absolute;left:0;right:0;bottom:17px;height:2px;background:var(--amber)}
    .menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--paper);padding:8px 12px;border-radius:8px}
    .page-hero{position:relative;overflow:hidden;padding:82px 0 70px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,#171117,#0d0b0e 68%)}
    .page-hero:after{content:"分类 / 01";position:absolute;right:5%;bottom:-28px;color:rgba(201,165,106,.07);font-size:110px;font-weight:900;letter-spacing:-.08em}
    .eyebrow{display:inline-flex;gap:10px;align-items:center;color:var(--amber);font-size:12px;letter-spacing:.16em}
    .eyebrow:before{content:"";width:42px;height:1px;background:var(--amber)}
    h1,h2,h3,p{margin-top:0}
    h1{max-width:820px;margin:20px 0 18px;font-size:clamp(38px,6vw,76px);line-height:1.08;letter-spacing:-.065em;font-weight:950}
    h1 em{font-style:normal;color:var(--amber)}
    .lead{max-width:650px;color:#c3babe;font-size:17px}
    .hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
    .badge{display:inline-flex;align-items:center;min-height:30px;padding:3px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}
    .badge.active{border-color:rgba(201,165,106,.6);color:var(--amber);background:rgba(201,165,106,.06)}
    .section{padding:72px 0;border-bottom:1px solid var(--line)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
    .section-kicker{color:var(--amber);font-size:12px;letter-spacing:.16em}
    h2{font-size:clamp(27px,4vw,44px);line-height:1.15;letter-spacing:-.05em;margin:8px 0 0}
    .section-intro{max-width:500px;color:var(--muted);font-size:14px}
    .filter-panel{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
    .filter-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr auto;gap:12px;align-items:end}
    .field label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}
    .field input,.field select{width:100%;height:44px;padding:0 12px;color:var(--paper);background:#0f0c10;border:1px solid var(--line);border-radius:8px}
    .field input::placeholder{color:#766d72}
    .field input:focus,.field select:focus{outline:2px solid var(--amber);outline-offset:2px;border-color:var(--amber)}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:8px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .btn-primary{background:var(--wine);color:var(--paper)}
    .btn-primary:hover{background:var(--wine-bright);transform:translateY(-2px);box-shadow:0 8px 22px rgba(114,44,59,.3)}
    .btn-secondary{border-color:var(--line);color:var(--paper)}
    .btn-secondary:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}
    .btn:focus,.menu-btn:focus{outline:2px solid var(--amber);outline-offset:3px}
    .quick-filter{display:flex;gap:9px;overflow-x:auto;padding:20px 0 2px;scrollbar-width:none}
    .quick-filter::-webkit-scrollbar{display:none}
    .quick-filter button{white-space:nowrap;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:7px 15px;font-size:13px;transition:.2s}
    .quick-filter button:hover,.quick-filter button.selected{color:var(--ink);background:var(--amber);border-color:var(--amber)}
    .results{display:grid;grid-template-columns:1.35fr .82fr .82fr;gap:14px;margin-top:30px}
    .content-card{position:relative;min-height:300px;padding:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:.28s}
    .content-card:hover{transform:translateY(-4px);border-color:rgba(201,165,106,.55);box-shadow:var(--shadow)}
    .content-card.featured{grid-row:span 2;min-height:625px}
    .cover{height:190px;position:relative;overflow:hidden;background:linear-gradient(145deg,#43232f,#19131b 65%,#0d0b0e)}
    .featured .cover{height:420px}
    .cover:before{content:"";position:absolute;inset:18px;border:1px solid rgba(238,232,223,.2)}
    .cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,11,14,.9),transparent 62%)}
    .cover.alt-1{background:linear-gradient(135deg,#33252b,#75604b 48%,#171318)}
    .cover.alt-2{background:linear-gradient(155deg,#241a2a,#4d2938 55%,#100d13)}
    .cover.alt-3{background:linear-gradient(135deg,#1c2425,#625044 52%,#171318)}
    .cover.alt-4{background:linear-gradient(155deg,#401f2a,#231820 55%,#8b6347)}
    .cover-mark{position:absolute;z-index:1;left:28px;top:25px;color:rgba(238,232,223,.75);font-size:12px;letter-spacing:.18em}
    .cover-code{position:absolute;z-index:1;right:25px;top:22px;color:var(--amber);font-size:28px;font-weight:900}
    .cover-title{position:absolute;z-index:1;left:28px;bottom:22px;right:22px;font-weight:900;font-size:24px;line-height:1.2}
    .card-body{padding:18px 20px 20px}
    .card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
    .card-title{font-size:17px;font-weight:800;line-height:1.35;margin:0 0 8px}
    .card-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}
    .card-link{display:inline-block;margin-top:14px;color:var(--amber);font-size:13px}
    .card-link:hover{text-decoration:underline;text-underline-offset:4px}
    .notice{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;background:#211921;border-left:3px solid var(--amber);border-radius:10px}
    .notice strong{display:block;margin-bottom:3px}
    .notice span{color:var(--muted);font-size:13px}
    .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
    .step{padding:23px 20px 12px;border-right:1px solid var(--line)}
    .step:last-child{border-right:0}
    .step-num{color:var(--amber);font-size:12px}
    .step h3{font-size:17px;margin:18px 0 7px}
    .step p{color:var(--muted);font-size:13px;margin:0}
    .faq-list{max-width:850px;margin:auto}
    .faq-item{margin-bottom:10px;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
    .faq-q{width:100%;background:none;border:0;color:var(--paper);display:flex;justify-content:space-between;text-align:left;padding:20px 22px;font-weight:700}
    .faq-q span:last-child{color:var(--amber);font-size:22px;line-height:1}
    .faq-a{max-height:0;overflow:hidden;padding:0 22px;color:var(--muted);font-size:14px;transition:max-height .35s,padding .35s}
    .faq-item.open .faq-a{max-height:150px;padding:0 22px 20px}
    .cta{padding:65px 0;background:linear-gradient(100deg,#351d28,#171318)}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta h2{max-width:650px;margin:0}
    .cta p{color:#c3babe;margin:12px 0 0;font-size:14px}
    footer{padding:42px 0 26px;color:var(--muted);font-size:13px}
    .footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--line)}
    .footer-links{display:flex;gap:22px;flex-wrap:wrap}
    .footer-links a:hover{color:var(--paper)}
    .copyright{display:flex;justify-content:space-between;gap:20px;padding-top:22px}
    @media (max-width:1024px){
      .filter-row{grid-template-columns:1fr 1fr 1fr}
      .filter-row .field:nth-child(4){grid-column:span 2}
      .results{grid-template-columns:1fr 1fr}
      .content-card.featured{grid-row:span 1;min-height:300px}
      .featured .cover{height:260px}
    }
    @media (max-width:768px){
      .container{width:min(calc(100% - 30px),var(--max))}
      .nav-links{display:none;position:absolute;left:15px;right:15px;top:68px;background:#171318;border:1px solid var(--line);padding:12px;flex-direction:column;align-items:stretch;gap:0;box-shadow:var(--shadow)}
      .nav-links.show{display:flex}
      .nav-links a{padding:14px}
      .nav-links a.active:after,.nav-links a:hover:after{bottom:7px}
      .menu-btn{display:block}
      .page-hero{padding:64px 0 55px}
      .filter-row{grid-template-columns:1fr 1fr}
      .filter-row .field:nth-child(4){grid-column:span 2}
      .filter-row .btn{width:100%}
      .steps{grid-template-columns:1fr 1fr}
      .step:nth-child(2){border-right:0}
      .step:nth-child(-n+2){border-bottom:1px solid var(--line)}
      .cta-inner,.footer-top,.copyright{display:block}
      .cta .btn{margin-top:22px}
      .footer-links{margin-top:20px}
      .copyright span{display:block;margin-top:10px}
    }
    @media (max-width:520px){
      h1{font-size:42px}
      .lead{font-size:15px}
      .filter-row{grid-template-columns:1fr}
      .filter-row .field:nth-child(4){grid-column:auto}
      .results{grid-template-columns:1fr}
      .content-card.featured{min-height:300px}
      .featured .cover{height:240px}
      .steps{grid-template-columns:1fr}
      .step{border-right:0;border-bottom:1px solid var(--line)}
      .step:last-child{border-bottom:0}
      .notice{display:block}
      .notice .btn{margin-top:15px}
    }
