/* roulang page: index */
:root{
            --plum:#35152f;
            --plum-deep:#241020;
            --wine:#6f263f;
            --wine-soft:#8f4053;
            --amber:#e4a24a;
            --coral:#d97863;
            --cream:#fbf5ed;
            --paper:#fffaf5;
            --ink:#2c2029;
            --muted:#796c76;
            --line:#eadbd6;
            --shadow:0 18px 45px rgba(54,21,47,.10);
            --shadow-soft:0 8px 24px rgba(54,21,47,.08);
            --radius:18px;
            --radius-sm:11px;
            --max:1220px;
        }
        *,*::before,*::after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            color:var(--ink);
            background:
                radial-gradient(circle at 8% 2%,rgba(228,162,74,.12),transparent 27rem),
                linear-gradient(180deg,#fffaf5 0%,var(--cream) 58%,#f7eee9 100%);
            font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
            line-height:1.7;
            padding-bottom:94px;
        }
        a{color:inherit;text-decoration:none;transition:.25s ease}
        a:hover{color:var(--wine)}
        button,input{font:inherit}
        button{cursor:pointer}
        :focus-visible{outline:3px solid rgba(228,162,74,.75);outline-offset:3px}
        .site-container{width:min(calc(100% - 40px),var(--max));margin:0 auto}
        .site-header{padding:22px 0 0;position:relative;z-index:5}
        .nav-panel{
            display:flex;align-items:center;gap:18px;padding:13px 16px;
            background:rgba(53,21,47,.97);border:1px solid rgba(255,255,255,.1);
            border-radius:20px;box-shadow:var(--shadow);color:#fff;
        }
        .brand{display:flex;align-items:center;gap:11px;min-width:238px}
        .brand-mark{
            width:39px;height:39px;border-radius:12px;background:var(--amber);color:var(--plum);
            display:grid;place-items:center;font-size:20px;font-weight:800;
        }
        .brand-name{font-size:16px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
        .brand-sub{display:block;color:#d9c5cb;font-size:11px;line-height:1.2;margin-top:2px;font-weight:500}
        .nav-scroll{display:flex;align-items:center;gap:8px;flex:1;overflow-x:auto;scrollbar-width:none}
        .nav-scroll::-webkit-scrollbar{display:none}
        .nav-item{
            min-width:126px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);
            border-radius:12px;color:#f7e9e7;display:flex;gap:8px;align-items:center;
            background:rgba(255,255,255,.045)
        }
        .nav-item:hover,.nav-item.active{background:#fff8f0;color:var(--plum);border-color:#fff8f0}
        .nav-item svg{width:18px;height:18px;flex:none}
        .nav-item strong{display:block;font-size:13px;line-height:1.2}
        .nav-item small{display:block;font-size:10px;opacity:.7;line-height:1.3}
        .nav-cta,.button-main{
            display:inline-flex;align-items:center;justify-content:center;gap:8px;
            border:0;border-radius:11px;background:var(--amber);color:var(--plum);
            font-weight:800;padding:12px 17px;white-space:nowrap;box-shadow:0 5px 0 rgba(172,105,38,.22);
        }
        .nav-cta:hover,.button-main:hover{background:#f0b65d;color:var(--plum);transform:translateY(-2px)}
        .hero{padding:70px 0 60px;position:relative}
        .hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:48px;align-items:center}
        .eyebrow,.section-kicker{
            color:var(--wine);font-size:12px;font-weight:800;letter-spacing:.14em;
            text-transform:uppercase;margin-bottom:14px;
        }
        .eyebrow span{display:inline-block;padding:6px 10px;border:1px solid #e7c9bd;border-radius:999px;background:#fff6ed}
        h1,h2,h3,p{margin-top:0}
        h1{font-size:clamp(38px,5.3vw,70px);line-height:1.12;letter-spacing:-.055em;color:var(--plum);margin-bottom:22px;max-width:760px}
        .hero-copy{font-size:17px;color:var(--muted);max-width:650px;margin-bottom:28px}
        .button-row{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:24px}
        .button-main{padding:14px 22px}
        .button-secondary{
            display:inline-flex;align-items:center;justify-content:center;border:1px solid #b98a87;
            color:var(--wine);background:rgba(255,250,245,.8);border-radius:11px;padding:12px 19px;font-weight:750;
        }
        .button-secondary:hover{background:#fff;color:var(--plum);border-color:var(--plum);transform:translateY(-2px)}
        .age-note{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
        .age-badge{background:var(--plum);color:#fff5e9;padding:4px 8px;border-radius:6px;font-weight:800;font-size:12px}
        .hero-console{
            background:var(--plum-deep);color:#fff;border-radius:25px;padding:22px;
            box-shadow:var(--shadow);position:relative;overflow:hidden;
        }
        .hero-console:before{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(228,162,74,.28);border-radius:50%;right:-70px;top:-80px}
        .console-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;position:relative}
        .console-title{font-size:13px;color:#f9ddd0;font-weight:750}
        .status{font-size:11px;color:#edbd75;display:flex;align-items:center;gap:6px}
        .status:before{content:"";width:7px;height:7px;background:#edbd75;border-radius:50%}
        .console-main{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:16px;padding:20px;margin-bottom:13px}
        .console-main h3{font-size:25px;line-height:1.3;margin-bottom:10px;color:#fff}
        .console-main p{font-size:13px;color:#d7c3c8;margin-bottom:18px}
        .tag-list{display:flex;flex-wrap:wrap;gap:7px}
        .tag{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#fff3e8;color:var(--wine);font-size:11px;font-weight:750}
        .tag.dark{background:rgba(255,255,255,.1);color:#f9ddd0}
        .console-rows{display:grid;grid-template-columns:1fr 1fr;gap:11px}
        .console-row{border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:14px;background:rgba(255,255,255,.035)}
        .console-row b{display:block;font-size:15px;color:#fff1e5;margin-bottom:3px}
        .console-row span{font-size:11px;color:#cdb7bf}
        .section{padding:70px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
        .section-head h2{font-size:clamp(27px,3vw,42px);line-height:1.2;color:var(--plum);letter-spacing:-.04em;margin-bottom:8px}
        .section-head p{max-width:570px;color:var(--muted);margin-bottom:0}
        .benefits{display:grid;grid-template-columns:1.15fr .9fr 1fr;gap:16px;align-items:stretch}
        .benefit-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow-soft);min-height:205px;transition:.25s}
        .benefit-card:first-child{transform:translateY(18px);background:#fff1e6}
        .benefit-card:last-child{transform:translateY(-10px)}
        .benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
        .benefit-no{font-size:12px;color:var(--coral);font-weight:850;letter-spacing:.1em}
        .benefit-icon{float:right;color:var(--wine);font-size:22px}
        .benefit-card h3{font-size:22px;color:var(--plum);margin:32px 0 8px}
        .benefit-card p{font-size:14px;color:var(--muted);margin-bottom:0}
        .scene-wrap{display:grid;grid-template-columns:310px 1fr;gap:18px;background:#f4e7e1;border-radius:24px;padding:18px;border:1px solid #ead4cb}
        .filter-panel{background:var(--plum);color:#fff;border-radius:17px;padding:22px}
        .filter-panel h3{font-size:18px;margin-bottom:22px;color:#fff5e9}
        .filter-label{font-size:11px;color:#d9bec5;margin:17px 0 7px;display:block}
        .filter-options{display:flex;flex-wrap:wrap;gap:7px}
        .filter-option{font-size:12px;padding:7px 9px;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#f4dfe0;background:transparent}
        .filter-option:hover,.filter-option.active{background:var(--amber);color:var(--plum);border-color:var(--amber)}
        .preview-panel{background:var(--paper);border-radius:17px;padding:26px;display:flex;flex-direction:column;justify-content:space-between}
        .preview-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;margin-bottom:28px}
        .preview-panel h3{font-size:30px;line-height:1.25;color:var(--plum);max-width:620px;margin-bottom:12px}
        .preview-panel p{color:var(--muted);font-size:14px;max-width:650px}
        .preview-bottom{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-top:28px}
        .path{display:flex;gap:8px;align-items:center;color:var(--wine);font-size:12px;font-weight:750}
        .path i{width:23px;height:2px;background:var(--amber);display:inline-block}
        .trust-band{background:var(--plum);color:#fff;border-radius:22px;padding:25px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
        .trust-item{border-left:1px solid rgba(255,255,255,.2);padding-left:18px}
        .trust-item:first-child{border-left:0;padding-left:0}
        .trust-item strong{display:block;font-size:18px;color:#fff0df;margin-bottom:4px}
        .trust-item span{font-size:12px;color:#d8c3c9}
        .voices{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}
        .voice{background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:15px}
        .voice p{font-size:14px;color:var(--muted);margin-bottom:12px}
        .voice b{font-size:12px;color:var(--wine)}
        .faq-list{max-width:850px;margin:0 auto}
        .accordion{background:transparent}
        .accordion-title{color:var(--plum)!important;background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:12px;margin-bottom:9px;font-weight:750;font-size:15px}
        .accordion-title:hover{background:#fff0e7!important}
        .accordion-content{border:0!important;background:transparent!important;color:var(--muted);font-size:14px;padding:4px 20px 18px}
        .cta-section{padding:30px 0 80px}
        .cta-box{background:linear-gradient(115deg,var(--wine),var(--plum));border-radius:24px;padding:35px 42px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}
        .cta-box h2{color:#fff8f0;font-size:30px;margin-bottom:7px}
        .cta-box p{color:#ecd8d7;margin-bottom:0;font-size:14px}
        .site-footer{background:var(--plum-deep);color:#e8d4d4;padding:42px 0 112px}
        .footer-grid{display:flex;justify-content:space-between;gap:30px}
        .footer-brand{max-width:360px}.footer-brand .brand-name{color:#fff}
        .footer-brand p{font-size:13px;color:#bfa8b0;margin-top:15px}
        .footer-links{display:flex;gap:26px;align-items:flex-start}
        .footer-links a{font-size:13px;color:#e8d4d4}.footer-links a:hover{color:var(--amber)}
        .copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:20px;color:#9d858e;font-size:12px}
        .fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(36,16,32,.97);color:#fff;padding:14px 0;box-shadow:0 -8px 24px rgba(36,16,32,.18)}
        .fixed-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
        .fixed-text{font-size:13px;color:#ecd8d7}.fixed-text b{color:#fff1d8;margin-right:8px}
        .modal-backdrop{display:none;position:fixed;inset:0;background:rgba(27,10,22,.76);z-index:50;align-items:center;justify-content:center;padding:20px}
        .modal-backdrop.show{display:flex}
        .age-modal{max-width:480px;background:var(--paper);border-radius:22px;padding:32px;box-shadow:var(--shadow);text-align:center}
        .age-modal h2{color:var(--plum);font-size:28px;margin-bottom:12px}
        .age-modal p{font-size:14px;color:var(--muted);margin-bottom:24px}
        .age-actions{display:flex;gap:10px;justify-content:center}.age-actions a,.age-actions button{min-width:130px}
        @media(max-width:1024px){.hero-grid{gap:28px}.brand{min-width:205px}.benefits{grid-template-columns:1fr 1fr}.benefit-card:last-child{grid-column:span 2;transform:none}.trust-band{grid-template-columns:repeat(2,1fr)}}
        @media(max-width:768px){body{padding-bottom:140px}.site-container{width:min(calc(100% - 28px),var(--max))}.site-header{padding-top:14px}.nav-panel{padding:11px;gap:10px;align-items:flex-start}.brand{min-width:auto;flex:0 0 auto}.brand-sub{display:none}.brand-name{font-size:13px}.brand-mark{width:35px;height:35px}.nav-scroll{order:3;flex-basis:100%;width:100%;margin-top:4px}.nav-panel{flex-wrap:wrap}.nav-cta{font-size:12px;padding:10px 12px;margin-left:auto}.hero{padding:48px 0 40px}.hero-grid{grid-template-columns:1fr}.hero-copy{font-size:15px}.hero-console{order:2}.section{padding:48px 0}.section-head{display:block}.section-head p{margin-top:10px}.scene-wrap{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}.benefit-card:first-child,.benefit-card:last-child{transform:none}.benefit-card:last-child{grid-column:auto}.voices{grid-template-columns:1fr}.cta-box{display:block;padding:28px 24px}.cta-box .button-main{margin-top:20px}.footer-grid{display:block}.footer-links{margin-top:25px;flex-wrap:wrap}.fixed-inner{display:block;text-align:center}.fixed-text{margin-bottom:9px}.fixed-cta .button-main{width:100%;padding:11px}.preview-panel h3{font-size:24px}}
        @media(max-width:520px){h1{font-size:39px}.button-row{display:grid}.button-row a{width:100%}.console-rows{grid-template-columns:1fr}.trust-band{grid-template-columns:1fr;padding:21px}.trust-item,.trust-item:first-child{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:13px 0 0}.trust-item:first-child{border-top:0;padding-top:0}.preview-bottom{display:block}.preview-bottom .button-main{margin-top:16px;width:100%}.age-actions{flex-direction:column}.age-actions a,.age-actions button{width:100%}}

/* roulang page: category2 */
:root{
 --plum:#35152f;--plum-deep:#241020;--wine:#6f263f;--wine-soft:#8f4053;
 --amber:#e4a24a;--coral:#d97863;--cream:#fbf5ed;--paper:#fffaf5;
 --ink:#2c2029;--muted:#796c76;--line:#eadbd6;
 --shadow:0 18px 45px rgba(54,21,47,.10);--shadow-soft:0 8px 24px rgba(54,21,47,.08);
 --radius:18px;--radius-sm:11px;--max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;padding-bottom:98px;color:var(--ink);background:
 radial-gradient(circle at 8% 2%,rgba(228,162,74,.12),transparent 27rem),
 linear-gradient(180deg,#fffaf5 0%,var(--cream) 58%,#f7eee9 100%);
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
 line-height:1.7;
}
a{color:inherit;text-decoration:none;transition:.25s ease}
a:hover{color:var(--wine)}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(228,162,74,.8);outline-offset:3px}
.site-container{width:min(calc(100% - 40px),var(--max));margin:0 auto}
.site-header{padding:22px 0 0;position:relative;z-index:5}
.nav-panel{display:flex;align-items:center;gap:18px;padding:13px 16px;background:rgba(53,21,47,.97);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:var(--shadow);color:#fff}
.brand{display:flex;align-items:center;gap:11px;min-width:238px}
.brand-mark{width:39px;height:39px;border-radius:12px;background:var(--amber);color:var(--plum);display:grid;place-items:center;font-size:20px;font-weight:800}
.brand-name{font-size:16px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.brand-sub{display:block;color:#d9c5cb;font-size:11px;line-height:1.2;margin-top:2px;font-weight:500}
.nav-scroll{display:flex;align-items:center;gap:8px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav-scroll::-webkit-scrollbar{display:none}
.nav-item{min-width:126px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#f7e9e7;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.045)}
.nav-item:hover,.nav-item.active{background:#fff8f0;color:var(--plum);border-color:#fff8f0}
.nav-item svg{width:18px;height:18px;flex:none}
.nav-item strong{display:block;font-size:13px;line-height:1.2}
.nav-item small{display:block;font-size:10px;opacity:.7;line-height:1.3}
.nav-cta,.button-main{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;background:var(--amber);color:var(--plum);font-weight:800;padding:12px 17px;white-space:nowrap;box-shadow:0 5px 0 rgba(172,105,38,.22)}
.nav-cta:hover,.button-main:hover{background:#f0b65d;color:var(--plum);transform:translateY(-2px)}
.page-hero{padding:68px 0 40px}
.hero-band{background:var(--plum-deep);color:#fff;border-radius:26px;padding:42px clamp(24px,5vw,68px);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero-band:before,.hero-band:after{content:"";position:absolute;border:1px solid rgba(228,162,74,.25);border-radius:50%;pointer-events:none}
.hero-band:before{width:330px;height:330px;right:-115px;top:-185px}
.hero-band:after{width:210px;height:210px;left:48%;bottom:-175px}
.hero-content{position:relative;z-index:1;max-width:760px}
.eyebrow,.section-kicker{color:var(--wine);font-size:12px;font-weight:800;letter-spacing:.14em;margin-bottom:14px}
.hero-band .eyebrow{color:#e4a24a}
.eyebrow span{display:inline-block;padding:6px 10px;border:1px solid #e7c9bd;border-radius:999px;background:#fff6ed}
.hero-band .eyebrow span{border-color:rgba(228,162,74,.4);background:rgba(228,162,74,.1)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(31px,5vw,58px);line-height:1.15;letter-spacing:-.045em;margin-bottom:17px}
.hero-band p{color:#dcc8ce;max-width:680px;margin-bottom:25px}
.button-row{display:flex;flex-wrap:wrap;gap:13px}
.button-main{padding:14px 22px}
.button-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b98a87;color:var(--wine);background:rgba(255,250,245,.8);border-radius:11px;padding:12px 19px;font-weight:750}
.hero-band .button-secondary{color:#fff4e8;background:transparent;border-color:rgba(255,255,255,.35)}
.hero-band .button-secondary:hover{background:#fff8f0;color:var(--plum)}
.age-note{display:flex;align-items:center;gap:10px;color:#e7d5d8;font-size:13px;margin-top:24px}
.age-badge{background:var(--plum);color:#fff5e9;padding:4px 8px;border-radius:6px;font-weight:800;font-size:12px}
.hero-band .age-badge{background:var(--amber);color:var(--plum)}
.section{padding:58px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px}
.section-head h2{font-size:clamp(27px,3vw,40px);line-height:1.2;color:var(--plum);letter-spacing:-.04em;margin-bottom:8px}
.section-head p{max-width:570px;color:var(--muted);margin-bottom:0}
.filter-layout{display:grid;grid-template-columns:285px 1fr;gap:24px;align-items:start}
.control-panel,.result-card,.notice-card,.faq-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.control-panel{padding:22px;position:sticky;top:18px}
.control-panel h3{font-size:18px;color:var(--plum);margin-bottom:16px}
.control-label{display:block;font-size:12px;color:var(--muted);font-weight:800;margin:18px 0 8px}
.search-box{display:flex;border:1px solid var(--line);border-radius:10px;background:#fff}
.search-box input{width:100%;border:0;background:transparent;padding:10px 12px;box-shadow:none}
.search-box input:focus{box-shadow:none}
.filter-list{display:flex;flex-wrap:wrap;gap:7px}
.filter-chip{border:1px solid #ddc8c2;background:#fff8f1;color:var(--wine);border-radius:999px;padding:7px 11px;font-size:12px;transition:.2s}
.filter-chip:hover,.filter-chip.active{background:var(--coral);color:#fff;border-color:var(--coral)}
.clear-btn{border:0;background:none;padding:12px 0 0;color:var(--muted);font-size:12px}
.clear-btn:hover{color:var(--wine)}
.result-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}
.result-head strong{color:var(--plum);font-size:17px}
.result-state{font-size:12px;color:var(--muted)}
.result-list{display:grid;gap:12px}
.result-card{padding:20px 22px;display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;transition:.25s}
.result-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.result-no{width:45px;height:45px;border-radius:13px;background:#f5e3d8;color:var(--wine);display:grid;place-items:center;font-weight:850;font-size:15px}
.result-card h3{font-size:18px;color:var(--plum);margin-bottom:5px}
.result-card p{font-size:13px;color:var(--muted);margin-bottom:9px}
.meta-line{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:11px}
.tag{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#fff0e5;color:var(--wine);font-size:11px;font-weight:750}
.status{color:#9b6532}
.small-link{display:inline-flex;align-items:center;gap:5px;color:var(--wine);font-size:13px;font-weight:800;white-space:nowrap}
.small-link:hover{color:var(--plum);transform:translateX(2px)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.notice-card{padding:21px}
.notice-card h3{color:var(--plum);font-size:18px;margin-bottom:7px}
.notice-card p{font-size:13px;color:var(--muted);margin-bottom:0}
.notice-card.accent{background:#fff0e5;border-color:#edc6b5}
.faq-wrap{overflow:hidden}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:last-child{border-bottom:0}
.faq-question{width:100%;border:0;background:transparent;color:var(--plum);padding:19px 22px;text-align:left;font-weight:800;display:flex;justify-content:space-between;align-items:center}
.faq-question span:last-child{color:var(--coral);font-size:22px;transition:.2s}
.faq-answer{display:none;padding:0 22px 19px;color:var(--muted);font-size:14px}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
.cta-panel{background:var(--wine);color:#fff;border-radius:22px;padding:32px 38px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:var(--shadow)}
.cta-panel h2{font-size:30px;margin-bottom:6px}
.cta-panel p{color:#efd9d7;margin-bottom:0;font-size:14px}
.site-footer{background:var(--plum-deep);color:#fff;margin-top:65px;padding:42px 0 25px}
.footer-grid{display:flex;justify-content:space-between;gap:40px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.13)}
.footer-brand p{max-width:450px;color:#cdb9c0;font-size:13px;margin:15px 0 0}
.footer-links{display:flex;flex-wrap:wrap;align-content:flex-start;gap:12px 24px;color:#ead7d8;font-size:13px}
.footer-links a:hover{color:var(--amber)}
.copyright{color:#bca8b0;font-size:12px;padding-top:20px}
.fixed-bar{position:fixed;z-index:10;bottom:0;left:0;right:0;background:rgba(36,16,32,.97);color:#fff;padding:13px 0;border-top:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}
.fixed-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.fixed-inner small{color:#d9c5cb}.fixed-inner strong{font-size:14px;color:#fff1e5}
@media(max-width:900px){
 .nav-panel{align-items:stretch;flex-wrap:wrap}.brand{min-width:210px}.nav-scroll{order:3;flex-basis:100%}
 .filter-layout{grid-template-columns:1fr}.control-panel{position:static}.filter-list{flex-wrap:nowrap;overflow:auto}
}
@media(max-width:640px){
 body{padding-bottom:145px}.site-container{width:min(calc(100% - 28px),var(--max))}
 .site-header{padding-top:14px}.nav-panel{gap:11px;padding:11px}.brand-name{font-size:14px}.brand{min-width:0;flex:1}.brand-mark{width:35px;height:35px}
 .nav-cta{font-size:12px;padding:10px 12px}.nav-item{min-width:140px}
 .page-hero{padding:34px 0 25px}.hero-band{padding:30px 22px;border-radius:20px}h1{font-size:34px}
 .section{padding:40px 0}.section-head{display:block}.section-head h2{font-size:29px}.section-head p{font-size:14px}
 .result-card{grid-template-columns:40px 1fr;gap:12px;padding:16px}.result-card .small-link{grid-column:2}
 .result-no{width:38px;height:38px;font-size:13px}.result-card h3{font-size:16px}
 .quick-grid{grid-template-columns:1fr}.cta-panel{display:block;padding:26px 22px}.cta-panel h2{font-size:25px}.cta-panel .button-row{margin-top:20px}
 .footer-grid{display:block}.footer-links{margin-top:22px}.fixed-inner{display:grid;grid-template-columns:1fr auto;gap:7px}.fixed-inner .button-main{grid-row:1 / span 2;grid-column:2}
}

/* roulang page: category1 */
:root{
      --plum:#35152f;
      --plum-deep:#241020;
      --wine:#6f263f;
      --wine-soft:#8f4053;
      --amber:#e4a24a;
      --coral:#d97863;
      --cream:#fbf5ed;
      --paper:#fffaf5;
      --ink:#2c2029;
      --muted:#796c76;
      --line:#eadbd6;
      --shadow:0 18px 45px rgba(54,21,47,.10);
      --shadow-soft:0 8px 24px rgba(54,21,47,.08);
      --radius:18px;
      --radius-sm:11px;
      --max:1220px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;color:var(--ink);background:
      radial-gradient(circle at 8% 2%,rgba(228,162,74,.12),transparent 27rem),
      linear-gradient(180deg,#fffaf5 0%,var(--cream) 58%,#f7eee9 100%);
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
      line-height:1.7;padding-bottom:94px
    }
    a{color:inherit;text-decoration:none;transition:.25s ease}
    a:hover{color:var(--wine)}
    button,input{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid var(--amber);outline-offset:3px}
    .site-container{width:min(calc(100% - 40px),var(--max));margin:0 auto}
    .site-header{padding:22px 0 0;position:relative;z-index:5}
    .nav-panel{
      display:flex;align-items:center;gap:18px;padding:13px 16px;background:rgba(53,21,47,.97);
      border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:var(--shadow);color:#fff
    }
    .brand{display:flex;align-items:center;gap:11px;min-width:238px}
    .brand-mark{
      width:39px;height:39px;border-radius:12px;background:var(--amber);color:var(--plum);
      display:grid;place-items:center;font-size:20px;font-weight:800
    }
    .brand-name{font-size:16px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
    .brand-sub{display:block;color:#d9c5cb;font-size:11px;line-height:1.2;margin-top:2px;font-weight:500}
    .nav-scroll{display:flex;align-items:center;gap:8px;flex:1;overflow-x:auto;scrollbar-width:none}
    .nav-scroll::-webkit-scrollbar{display:none}
    .nav-item{
      min-width:126px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;
      color:#f7e9e7;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.045)
    }
    .nav-item:hover,.nav-item.active{background:#fff8f0;color:var(--plum);border-color:#fff8f0}
    .nav-item svg{width:18px;height:18px;flex:none}
    .nav-item strong{display:block;font-size:13px;line-height:1.2}
    .nav-item small{display:block;font-size:10px;opacity:.7;line-height:1.3}
    .nav-cta,.button-main{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;
      background:var(--amber);color:var(--plum);font-weight:800;padding:12px 17px;white-space:nowrap;
      box-shadow:0 5px 0 rgba(172,105,38,.22)
    }
    .nav-cta:hover,.button-main:hover{background:#f0b65d;color:var(--plum);transform:translateY(-2px)}
    .page-hero{padding:70px 0 44px}
    .hero-layout{display:grid;grid-template-columns:1fr 390px;gap:48px;align-items:end}
    .eyebrow,.section-kicker{color:var(--wine);font-size:12px;font-weight:800;letter-spacing:.14em;margin-bottom:14px}
    .eyebrow span{display:inline-block;padding:6px 10px;border:1px solid #e7c9bd;border-radius:999px;background:#fff6ed}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(36px,5vw,64px);line-height:1.13;letter-spacing:-.055em;color:var(--plum);margin-bottom:20px}
    .hero-summary{font-size:17px;color:var(--muted);max-width:690px;margin-bottom:25px}
    .button-row{display:flex;flex-wrap:wrap;gap:13px}
    .button-main{padding:14px 22px}
    .button-secondary{
      display:inline-flex;align-items:center;justify-content:center;border:1px solid #b98a87;
      color:var(--wine);background:rgba(255,250,245,.8);border-radius:11px;padding:12px 19px;font-weight:750
    }
    .button-secondary:hover{background:#fff;color:var(--plum);border-color:var(--plum);transform:translateY(-2px)}
    .age-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;margin-top:22px}
    .age-badge{background:var(--plum);color:#fff5e9;padding:4px 8px;border-radius:6px;font-weight:800;font-size:12px}
    .status-panel{
      background:var(--plum-deep);color:#fff;border-radius:23px;padding:22px;box-shadow:var(--shadow);
      position:relative;overflow:hidden
    }
    .status-panel:before{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(228,162,74,.28);border-radius:50%;right:-80px;top:-75px}
    .status-title{font-size:13px;color:#f9ddd0;font-weight:750;margin-bottom:17px;position:relative}
    .status-number{font-size:43px;font-weight:850;line-height:1;color:#fff1e5;margin-bottom:6px}
    .status-label{font-size:13px;color:#cdb7bf}
    .status-list{border-top:1px solid rgba(255,255,255,.13);margin-top:20px;padding-top:15px}
    .status-list div{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:6px 0;color:#ead8d6}
    .status-list b{color:var(--amber)}
    .section{padding:54px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px}
    .section-head h2{font-size:clamp(27px,3vw,42px);line-height:1.2;color:var(--plum);letter-spacing:-.04em;margin-bottom:8px}
    .section-head p{max-width:570px;color:var(--muted);margin-bottom:0}
    .filter-panel{
      background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;
      box-shadow:var(--shadow-soft);margin-bottom:28px
    }
    .filter-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
    .filter-title{font-size:17px;font-weight:800;color:var(--plum)}
    .filter-note{font-size:12px;color:var(--muted)}
    .filter-group{display:flex;flex-wrap:wrap;gap:9px}
    .filter-btn{
      border:1px solid var(--line);background:#fff8f1;color:var(--wine);border-radius:999px;
      padding:8px 14px;font-size:13px;transition:.2s
    }
    .filter-btn:hover,.filter-btn.active{background:var(--coral);border-color:var(--coral);color:#fff}
    .result-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:25px;align-items:start}
    .result-list{display:grid;gap:14px}
    .result-card{
      display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:center;
      background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px;
      box-shadow:0 5px 15px rgba(54,21,47,.04);transition:.25s
    }
    .result-card:hover{transform:translateX(4px);box-shadow:var(--shadow-soft);border-color:#d9b6ad}
    .result-index{
      width:48px;height:48px;border-radius:14px;background:#f5e4d7;color:var(--wine);
      display:grid;place-items:center;font-size:18px;font-weight:850
    }
    .result-card h3{font-size:19px;color:var(--plum);margin-bottom:5px}
    .result-card p{font-size:13px;color:var(--muted);margin-bottom:8px}
    .meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:11px}
    .tag{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#fff0e2;color:var(--wine);font-size:11px;font-weight:750}
    .tag.soft{background:#f4ece9;color:var(--muted)}
    .mini-link{font-size:13px;color:var(--wine);font-weight:800;white-space:nowrap}
    .directory{
      background:var(--plum);color:#fff5ed;border-radius:var(--radius);padding:22px;position:sticky;top:18px;
      box-shadow:var(--shadow)
    }
    .directory h3{color:#fff1e5;font-size:20px;margin-bottom:15px}
    .directory p{font-size:13px;color:#d8c2c8;margin-bottom:17px}
    .directory a{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.14);padding:11px 0;color:#f5dcd5;font-size:13px}
    .directory a:hover{color:var(--amber);padding-left:4px}
    .directory .current{color:var(--amber)}
    .feature-band{background:#fff1e6;border-top:1px solid #eed9cc;border-bottom:1px solid #eed9cc}
    .feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:stretch}
    .feature-copy{padding:24px 0}
    .feature-copy h2{font-size:32px;line-height:1.25;color:var(--plum);margin-bottom:13px}
    .feature-copy p{color:var(--muted);font-size:15px;max-width:620px}
    .signal-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:21px}
    .signal{border-left:3px solid var(--amber);padding:9px 12px;background:rgba(255,255,255,.48)}
    .signal b{display:block;color:var(--plum);font-size:14px}
    .signal span{display:block;color:var(--muted);font-size:11px}
    .route-box{background:var(--plum-deep);border-radius:20px;padding:24px;color:#fff;display:flex;flex-direction:column;justify-content:center}
    .route-box h3{color:#fff1e5;font-size:21px;margin-bottom:18px}
    .route-step{display:flex;gap:12px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.14);padding:12px 0}
    .route-step i{font-style:normal;color:var(--amber);font-weight:850}
    .route-step span{font-size:13px;color:#ead7d8}
    .faq-list{display:grid;gap:10px;max-width:850px}
    .faq-item{background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:hidden}
    .faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;background:transparent;padding:17px 19px;color:var(--plum);font-weight:800}
    .faq-question span:last-child{font-size:21px;color:var(--coral);transition:.2s}
    .faq-answer{display:none;padding:0 19px 17px;color:var(--muted);font-size:14px}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
    .cta-panel{
      background:var(--plum);color:#fff;border-radius:23px;padding:29px 32px;display:flex;
      align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow)
    }
    .cta-panel h2{color:#fff1e5;font-size:29px;margin-bottom:7px}
    .cta-panel p{color:#d9c5cb;font-size:14px;margin-bottom:0}
    .site-footer{background:var(--plum-deep);color:#fff1e5;padding:42px 0 28px;margin-top:30px}
    .footer-grid{display:flex;justify-content:space-between;gap:35px;align-items:flex-start}
    .footer-brand p{max-width:470px;color:#cdb7bf;font-size:13px;margin:15px 0 0}
    .footer-links{display:flex;flex-wrap:wrap;gap:18px;color:#ecd8d8;font-size:13px}
    .footer-links a:hover{color:var(--amber)}
    .copyright{border-top:1px solid rgba(255,255,255,.13);margin-top:30px;padding-top:18px;color:#bda8b1;font-size:12px}
    .fixed-bar{
      position:fixed;z-index:20;left:0;right:0;bottom:0;background:rgba(36,16,32,.97);color:#fff;
      border-top:1px solid rgba(255,255,255,.12);padding:12px 0
    }
    .fixed-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
    .fixed-text{font-size:12px;color:#e4ced0}
    .fixed-status{font-size:13px;font-weight:800;color:#fff1e5}
    .age-modal{position:fixed;inset:0;background:rgba(36,16,32,.78);display:none;place-items:center;z-index:50;padding:20px}
    .age-modal.show{display:grid}
    .age-dialog{max-width:430px;background:var(--paper);border-radius:20px;padding:30px;box-shadow:var(--shadow);text-align:center}
    .age-dialog .brand-mark{margin:0 auto 15px}
    .age-dialog h2{font-size:28px;color:var(--plum);margin-bottom:10px}
    .age-dialog p{color:var(--muted);font-size:14px}
    .age-actions{display:flex;gap:10px;justify-content:center;margin-top:21px}
    @media(max-width:900px){
      .brand{min-width:210px}.hero-layout,.feature-grid{grid-template-columns:1fr}
      .result-layout{grid-template-columns:1fr}.directory{position:static}
    }
    @media(max-width:680px){
      body{padding-bottom:142px}.site-container{width:min(calc(100% - 28px),var(--max))}
      .site-header{padding-top:14px}.nav-panel{align-items:stretch;flex-wrap:wrap;padding:11px}
      .brand{min-width:100%;}.nav-scroll{order:3;flex-basis:100%;padding-bottom:2px}
      .nav-cta{margin-left:auto;margin-top:-48px}.page-hero{padding:48px 0 30px}
      h1{font-size:39px}.section{padding:38px 0}.section-head{display:block}
      .section-head p{margin-top:10px}.filter-top{display:block}.filter-note{display:block;margin-top:5px}
      .result-card{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:15px}
      .result-index{width:42px;height:42px;font-size:15px}.mini-link{grid-column:2}
      .signal-list{grid-template-columns:1fr}.cta-panel{display:block;padding:24px}.cta-panel .button-main{margin-top:19px}
      .footer-grid{display:block}.footer-links{margin-top:22px}.fixed-inner{display:grid;grid-template-columns:1fr auto;gap:5px 12px}
      .fixed-status{grid-column:1}.fixed-inner .button-main{grid-column:2;grid-row:1 / span 2}
    }
    @media(max-width:430px){
      .nav-item{min-width:118px}.nav-cta{font-size:12px;padding:10px 12px}
      .hero-summary{font-size:15px}.age-actions{flex-direction:column}.age-actions a,.age-actions button{width:100%}
    }
