/* roulang page: index */
:root{
            --blue:#2563d8;
            --blue-dark:#174aa8;
            --blue-soft:#eaf2ff;
            --blue-pale:#f5f8ff;
            --coral:#ef8b66;
            --coral-soft:#fff0e9;
            --ink:#17243b;
            --muted:#68758a;
            --line:#dce5f2;
            --white:#fff;
            --bg:#f8fbff;
            --radius-lg:24px;
            --radius-md:16px;
            --radius-sm:12px;
            --shadow:0 14px 40px rgba(44,78,132,.09);
            --shadow-hover:0 18px 42px rgba(37,99,216,.16);
        }
        *,*::before,*::after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            color:var(--ink);
            background:var(--bg);
            font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;
            font-size:16px;
            line-height:1.75;
            -webkit-font-smoothing:antialiased;
        }
        a{color:inherit;text-decoration:none}
        img{max-width:100%;display:block}
        button,input,select,textarea{font:inherit}
        button{cursor:pointer}
        .container{max-width:1210px;padding-left:20px;padding-right:20px}
        .site-header{
            position:sticky;top:0;z-index:1000;
            background:rgba(255,255,255,.96);
            border-bottom:1px solid var(--line);
            backdrop-filter:blur(14px);
        }
        .nav-shell{min-height:78px;display:flex;align-items:center;gap:24px}
        .brand{
            display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
            font-weight:800;color:var(--ink);letter-spacing:-.03em;
        }
        .brand-mark{
            width:34px;height:34px;border-radius:11px;background:var(--blue);
            display:grid;place-items:center;color:#fff;box-shadow:0 7px 16px rgba(37,99,216,.25);
        }
        .brand-mark:after{
            content:"";width:0;height:0;border-top:6px solid transparent;
            border-bottom:6px solid transparent;border-left:9px solid #fff;margin-left:2px;
        }
        .brand-text{font-size:17px}
        .nav-search{flex:1;max-width:575px;margin:0 auto}
        .search-box{
            height:48px;display:flex;align-items:center;gap:10px;
            background:var(--blue-pale);border:1px solid #cddcf5;border-radius:17px;
            padding:5px 6px 5px 16px;transition:.2s ease;
        }
        .search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,216,.12);background:#fff}
        .search-icon{color:var(--blue);font-size:20px;line-height:1}
        .search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}
        .search-box input::placeholder{color:#8290a5}
        .btn-search,.btn-primary{
            border:0;background:var(--blue);color:#fff;font-weight:700;
            border-radius:11px;padding:10px 18px;transition:.2s ease;
        }
        .btn-search:hover,.btn-primary:hover{background:var(--blue-dark);box-shadow:0 8px 18px rgba(37,99,216,.2);transform:translateY(-1px)}
        .btn-search:active,.btn-primary:active{transform:translateY(1px);box-shadow:none}
        .btn-search:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}
        .nav-links{display:flex;align-items:center;gap:4px}
        .nav-links a{padding:9px 13px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:600}
        .nav-links a:hover,.nav-links a.active{color:var(--blue);background:var(--blue-soft)}
        .menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;color:var(--blue)}
        .hero{padding:76px 0 48px;background:linear-gradient(180deg,#fff 0%,#f6f9ff 100%);border-bottom:1px solid #edf2fa}
        .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
        .eyebrow,.section-kicker{
            display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;
            font-weight:800;letter-spacing:.08em;
        }
        .eyebrow:before{content:"";width:24px;height:3px;border-radius:4px;background:var(--coral)}
        h1,h2,h3,p{margin-top:0}
        h1{font-size:clamp(36px,5vw,58px);line-height:1.16;letter-spacing:-.055em;margin:18px 0 22px;font-weight:800}
        h1 em{font-style:normal;color:var(--blue)}
        .hero-copy{max-width:620px;color:var(--muted);font-size:17px;line-height:1.9}
        .hero-search{margin-top:28px;max-width:620px}
        .hero-search .search-box{height:58px;border-radius:19px;background:#fff;box-shadow:var(--shadow)}
        .quick-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
        .tag{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:13px;font-weight:700}
        .tag.coral{background:var(--coral-soft);color:#c6613d}
        .hero-points{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px}
        .hero-point{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}
        .point-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px var(--coral-soft)}
        .hero-panel{
            position:relative;background:#fff;border:1px solid var(--line);border-radius:28px;
            padding:25px;box-shadow:var(--shadow);overflow:hidden;
        }
        .hero-panel:before{content:"";position:absolute;right:-58px;top:-70px;width:190px;height:190px;border:24px solid var(--blue-soft);border-radius:50%}
        .panel-head{display:flex;justify-content:space-between;align-items:center;position:relative}
        .panel-title{font-size:18px;font-weight:800}
        .status{font-size:12px;color:#17856e;background:#e8f8f3;border-radius:999px;padding:5px 10px;font-weight:700}
        .preview-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:22px}
        .preview-main,.preview-mini{position:relative;border-radius:16px;overflow:hidden;background:#dceaff;min-height:225px}
        .preview-mini{min-height:106px;background:#eef4ff}
        .preview-stack{display:grid;gap:14px}
        .media-lines{position:absolute;inset:0;padding:24px;background:linear-gradient(145deg,#dceaff,#f6f9ff)}
        .media-lines:before,.media-lines:after{content:"";display:block;height:9px;border-radius:10px;background:#b7d0f6;margin:18px 0;width:68%}
        .media-lines:after{width:46%;box-shadow:0 38px 0 #c8daf6,0 76px 0 #b7d0f6}
        .play{position:absolute;left:18px;bottom:16px;width:42px;height:42px;border-radius:50%;background:var(--blue);display:grid;place-items:center;color:white}
        .play:after{content:"";border-left:10px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
        .media-label{position:absolute;right:12px;top:12px;background:#fff;color:var(--blue);border-radius:8px;padding:3px 8px;font-size:11px;font-weight:700}
        .panel-foot{display:flex;gap:10px;margin-top:18px}
        .mini-stat{flex:1;background:var(--blue-pale);padding:12px;border-radius:12px}
        .mini-stat strong{display:block;font-size:22px;line-height:1.2}
        .mini-stat span{color:var(--muted);font-size:12px}
        section{padding:88px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
        .section-head h2{font-size:34px;line-height:1.25;letter-spacing:-.04em;margin:10px 0 0}
        .section-head p{max-width:570px;color:var(--muted);margin:0}
        .metrics{background:#fff}
        .metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
        .metric-card{padding:24px;border:1px solid var(--line);background:#fff;border-radius:var(--radius-md);box-shadow:0 8px 22px rgba(44,78,132,.05)}
        .metric-card:nth-child(2){background:var(--blue-pale)}
        .metric-card:nth-child(4){background:#fff9f5}
        .metric-icon{color:var(--blue);font-size:22px;margin-bottom:14px}
        .metric-card strong{font-size:32px;line-height:1.1;display:block;letter-spacing:-.04em}
        .metric-card span{display:block;color:var(--muted);font-size:14px;margin-top:7px}
        .matrix{background:var(--bg)}
        .matrix-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
        .matrix-main,.matrix-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow);transition:.25s ease}
        .matrix-main{padding:32px;display:flex;flex-direction:column;justify-content:space-between;min-height:315px}
        .matrix-main:hover,.matrix-card:hover,.content-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#b9d0f6}
        .matrix-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}
        .matrix-card{padding:24px;min-height:148px}
        .matrix-card.wide{grid-column:span 2;min-height:145px}
        .matrix-card h3,.matrix-main h3{font-size:21px;margin:9px 0 8px}
        .matrix-card p,.matrix-main p{color:var(--muted);font-size:14px;margin-bottom:16px;line-height:1.7}
        .card-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}
        .text-link{color:var(--blue);font-weight:700;font-size:14px}
        .text-link:hover{text-decoration:underline}
        .compare{background:#fff}
        .compare-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px}
        .compare-card{padding:30px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--blue-pale)}
        .compare-card.highlight{background:#fff;border-color:#b7cff7;box-shadow:var(--shadow)}
        .compare-card h3{font-size:22px;margin-bottom:18px}
        .compare-card ul{padding:0;margin:0;list-style:none}
        .compare-card li{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px dashed #cfdced;color:var(--muted);font-size:14px}
        .compare-card li:last-child{border:0}
        .check{color:#1b9b7d;font-weight:800}
        .faq{background:var(--bg)}
        .faq-wrap{max-width:880px;margin:auto}
        .accordion-item{border:1px solid var(--line)!important;border-radius:14px!important;margin-bottom:12px;overflow:hidden;background:#fff}
        .accordion-button{font-weight:700;color:var(--ink);padding:20px 22px;background:#fff;box-shadow:none!important}
        .accordion-button:not(.collapsed){color:var(--blue);background:var(--blue-soft)}
        .accordion-body{color:var(--muted);font-size:14px;padding:0 22px 21px;background:var(--blue-soft)}
        .accordion-button:focus{box-shadow:0 0 0 4px rgba(37,99,216,.12)!important}
        .cta-section{padding-top:0;background:var(--bg)}
        .cta-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;padding:40px;border-radius:28px;background:#eaf2ff;border:1px solid #cfe0fb}
        .cta-box h2{font-size:30px;line-height:1.3;margin:12px 0}
        .cta-box p{color:var(--muted);font-size:15px}
        .hint-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
        .form-label{font-size:13px;font-weight:700;margin-bottom:6px}
        .form-control,.form-select{border:1px solid #cbd9ec;border-radius:11px;min-height:46px;padding:10px 13px;color:var(--ink);background:#fff}
        .form-control:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,216,.12)}
        textarea.form-control{min-height:100px;resize:vertical}
        .form-note{color:var(--muted);font-size:12px;margin-top:10px}
        .site-footer{background:#eef4fc;border-top:1px solid var(--line);padding:42px 0 24px}
        .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
        .footer-brand{color:var(--ink);font-size:17px;font-weight:800}
        .footer-desc{color:var(--muted);font-size:13px;max-width:290px;margin-top:12px}
        .footer-title{font-size:14px;font-weight:800;margin-bottom:13px}
        .footer-links{display:grid;gap:8px}
        .footer-links a{font-size:13px;color:var(--muted)}
        .footer-links a:hover{color:var(--blue)}
        .copyright{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:34px;padding-top:18px;color:#8190a5;font-size:12px}
        .focus-ring:focus-visible,.nav-links a:focus-visible,.brand:focus-visible,.text-link:focus-visible{outline:3px solid rgba(37,99,216,.32);outline-offset:3px;border-radius:8px}
        .alert-note{display:none;padding:10px 13px;border-radius:10px;font-size:13px;margin-top:12px}
        .alert-note.error{display:block;color:#a54242;background:#fff0f0;border:1px solid #f2caca}
        .loading{opacity:.65;pointer-events:none}
        .empty-state{padding:28px;text-align:center;border:1px dashed #b9cbe4;border-radius:16px;color:var(--muted);background:#fff}
        @media(max-width:991px){
            .nav-shell{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
            .nav-search{order:3;flex-basis:100%;max-width:none}
            .nav-links{margin-left:auto}
            .hero-grid{grid-template-columns:1fr;gap:35px}
            .hero{padding-top:55px}
            .metric-grid{grid-template-columns:repeat(2,1fr)}
            .footer-grid{grid-template-columns:repeat(2,1fr)}
        }
        @media(max-width:767px){
            body{font-size:15px}
            .container{padding-left:16px;padding-right:16px}
            .nav-shell{min-height:66px;gap:10px}
            .brand-text{font-size:15px}
            .brand-mark{width:31px;height:31px}
            .menu-toggle{display:block;margin-left:auto}
            .nav-links{display:none;width:100%;padding-top:8px;flex-direction:column;align-items:stretch}
            .nav-links.show{display:flex}
            .nav-links a{display:block}
            .nav-search{order:4;display:block;flex-basis:100%;width:100%}
            .nav-search .search-box{height:46px}
            .hero{padding:44px 0 35px}
            h1{font-size:36px}
            .hero-copy{font-size:15px}
            .hero-search .search-box{height:auto;min-height:54px}
            .hero-search .btn-search{padding-left:13px;padding-right:13px}
            .hero-panel{padding:19px}
            .preview-grid{grid-template-columns:1fr}
            .preview-main{min-height:170px}
            .preview-stack{grid-template-columns:1fr 1fr}
            .preview-mini{min-height:96px}
            section{padding:62px 0}
            .section-head{display:block;margin-bottom:24px}
            .section-head h2{font-size:28px}
            .section-head p{margin-top:12px}
            .metric-grid{gap:12px}
            .metric-card{padding:17px}
            .metric-card strong{font-size:27px}
            .matrix-grid,.compare-wrap,.cta-box{grid-template-columns:1fr}
            .matrix-side{gap:12px}
            .matrix-main{min-height:270px;padding:23px}
            .matrix-card{padding:18px;min-height:150px}
            .cta-box{padding:25px 19px;gap:22px}
            .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
            .copyright{display:block}
            .copyright span{display:block;margin-top:7px}
        }
        @media(max-width:480px){
            .brand-text{max-width:180px;white-space:normal;line-height:1.2}
            .hero-points{display:grid;gap:13px}
            .quick-tags{gap:6px}
            .matrix-side{grid-template-columns:1fr}
            .matrix-card.wide{grid-column:auto}
            .footer-grid{grid-template-columns:1fr}
            .search-box input{font-size:14px}
        }

/* roulang page: category2 */
:root{
 --blue:#2563d8;--blue-dark:#174aa8;--blue-soft:#eaf2ff;--blue-pale:#f5f8ff;
 --coral:#ef8b66;--coral-soft:#fff0e9;--ink:#17243b;--muted:#68758a;
 --line:#dce5f2;--white:#fff;--bg:#f8fbff;--teal:#2e9b91;
 --radius-lg:24px;--radius-md:16px;--radius-sm:12px;
 --shadow:0 14px 40px rgba(44,78,132,.09);--shadow-hover:0 18px 42px rgba(37,99,216,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}button{cursor:pointer}
.container{max-width:1210px;padding-left:20px;padding-right:20px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.nav-shell{min-height:78px;display:flex;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800;color:var(--ink);letter-spacing:-.03em}
.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--blue);display:grid;place-items:center;color:#fff;box-shadow:0 7px 16px rgba(37,99,216,.25)}
.brand-mark:after{content:"";width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #fff;margin-left:2px}
.brand-text{font-size:17px}
.nav-search{flex:1;max-width:575px;margin:0 auto}
.search-box{height:48px;display:flex;align-items:center;gap:10px;background:var(--blue-pale);border:1px solid #cddcf5;border-radius:17px;padding:5px 6px 5px 16px;transition:.2s ease}
.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,216,.12);background:#fff}
.search-icon{color:var(--blue);font-size:20px;line-height:1}
.search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}
.search-box input::placeholder{color:#8290a5}
.btn-search,.btn-primary{border:0;background:var(--blue);color:#fff;font-weight:700;border-radius:11px;padding:10px 18px;transition:.2s ease}
.btn-search:hover,.btn-primary:hover{background:var(--blue-dark);box-shadow:0 8px 18px rgba(37,99,216,.2);transform:translateY(-1px)}
.btn-search:active,.btn-primary:active{transform:translateY(1px);box-shadow:none}
.btn-search:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{padding:9px 13px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:600}
.nav-links a:hover,.nav-links a.active{color:var(--blue);background:var(--blue-soft)}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;color:var(--blue)}
.hero{padding:46px 0 58px;background:linear-gradient(180deg,#fff 0%,#f4f8ff 100%);border-bottom:1px solid #edf2fa}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:24px}.breadcrumb a{color:var(--blue)}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:42px;align-items:stretch}
.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.08em}
.eyebrow:before{content:"";width:24px;height:3px;border-radius:4px;background:var(--coral)}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4.6vw,54px);line-height:1.18;letter-spacing:-.055em;margin:14px 0 17px;font-weight:800}
.hero-copy{max-width:600px;color:var(--muted);font-size:17px;line-height:1.9}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbdaf1;background:#fff;color:var(--blue);font-weight:700;border-radius:11px;padding:10px 18px;transition:.2s}
.btn-secondary:hover{border-color:var(--blue);background:var(--blue-soft);transform:translateY(-1px)}
.topic-feature{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:25px;box-shadow:var(--shadow);overflow:hidden}
.topic-feature:after{content:"";position:absolute;width:180px;height:180px;border:25px solid var(--blue-soft);border-radius:50%;right:-60px;top:-70px}
.feature-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.badge-soft,.tag{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:13px;font-weight:700}
.badge-hot{background:var(--coral-soft);color:#c6613d}.feature-number{color:var(--muted);font-size:13px}
.media-placeholder{height:178px;margin:20px 0;border-radius:16px;background:linear-gradient(145deg,#dceaff,#f8fbff);border:1px solid #cddcf5;position:relative;overflow:hidden}
.media-placeholder:before{content:"";position:absolute;inset:27px;background:repeating-linear-gradient(0deg,transparent 0 25px,rgba(37,99,216,.12) 26px 28px);transform:skewY(-8deg)}
.play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:55px;height:55px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;box-shadow:0 8px 22px rgba(37,99,216,.18);font-size:21px;padding-left:3px}
.feature-title{font-size:25px;line-height:1.35;margin-bottom:7px;font-weight:800}.feature-desc{color:var(--muted);font-size:14px;margin-bottom:18px}
.topic-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:13px}
section{padding:82px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}
.section-head h2{font-size:34px;line-height:1.25;letter-spacing:-.04em;margin:9px 0 0}.section-head p{max-width:570px;color:var(--muted);margin:0}
.topic-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.topic-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:22px;min-height:180px;transition:.22s}
.topic-card:hover{transform:translateY(-3px);border-color:#aac6f2;box-shadow:var(--shadow-hover)}
.topic-card h3{font-size:20px;margin:14px 0 7px;line-height:1.4}.topic-card p{font-size:14px;color:var(--muted);margin-bottom:18px}
.card-foot{display:flex;justify-content:space-between;align-items:center;color:var(--blue);font-size:13px;font-weight:700}
.topic-side{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:25px;position:relative;overflow:hidden}
.topic-side:before{content:"";position:absolute;right:-38px;bottom:-48px;width:160px;height:160px;border:22px solid rgba(255,255,255,.08);border-radius:50%}
.topic-side h3{font-size:22px;position:relative}.topic-side p{color:#bdc9dd;font-size:14px;position:relative}
.index-list{list-style:none;padding:0;margin:20px 0 0;position:relative}.index-list li{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:14px}.index-list li:last-child{border-bottom:0}.index-list span{color:#aebbd2}
.rail{display:flex;gap:18px;overflow-x:auto;padding:4px 3px 18px;scrollbar-width:thin}.rail::-webkit-scrollbar{height:6px}.rail::-webkit-scrollbar-thumb{background:#c8d7ed;border-radius:10px}
.rail-card{flex:0 0 245px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:20px;box-shadow:0 8px 22px rgba(44,78,132,.05);transition:.2s}
.rail-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#aac6f2}.rail-card h3{font-size:18px;line-height:1.4;margin:14px 0 8px}.rail-card p{font-size:13px;color:var(--muted);margin-bottom:12px}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.time-card{padding:22px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);position:relative}.time-card:before{content:"";display:block;width:9px;height:9px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 6px var(--coral-soft);margin-bottom:18px}.time-card h3{font-size:18px;margin-bottom:6px}.time-card p{font-size:14px;color:var(--muted);margin:0}
.tag-cloud{display:flex;flex-wrap:wrap;gap:11px}.tag-cloud .tag:nth-child(3n){background:#e9f8f5;color:#287c74}.tag-cloud .tag:nth-child(4n){background:var(--coral-soft);color:#bf623f}.tag-cloud .tag{padding:9px 15px}
.faq-wrap{max-width:850px;margin:auto}.accordion-item{border:1px solid var(--line)!important;border-radius:13px!important;overflow:hidden;margin-bottom:12px;background:#fff}.accordion-button{font-weight:700;color:var(--ink);background:#fff;padding:18px 20px;box-shadow:none!important}.accordion-button:not(.collapsed){background:var(--blue-soft);color:var(--blue)}.accordion-button:focus{box-shadow:0 0 0 3px rgba(37,99,216,.12)!important}.accordion-body{color:var(--muted);font-size:14px;padding:0 20px 19px;background:var(--blue-soft)}
.cta{padding:0 0 86px}.cta-box{background:var(--blue-soft);border:1px solid #cbdcf7;border-radius:var(--radius-lg);padding:32px;display:flex;justify-content:space-between;align-items:center;gap:28px}.cta-box h2{font-size:28px;margin-bottom:8px}.cta-box p{color:var(--muted);margin:0;font-size:15px}
.feedback-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.feedback-form input{height:46px;border:1px solid #c7d8f2;border-radius:11px;padding:0 14px;background:#fff;min-width:240px;outline:0}.feedback-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,216,.12)}
.site-footer{background:#eef4fc;border-top:1px solid var(--line);padding:52px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}.footer-brand{font-size:18px;font-weight:800}.footer-desc{color:var(--muted);font-size:14px;max-width:300px;margin:13px 0 0}.footer-title{font-size:14px;font-weight:800;margin-bottom:12px}.footer-links{display:grid;gap:7px;color:var(--muted);font-size:14px}.footer-links a:hover{color:var(--blue)}.copyright{border-top:1px solid var(--line);margin-top:36px;padding-top:17px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#7a8799;font-size:12px}
:focus-visible{outline:3px solid rgba(37,99,216,.35);outline-offset:3px}
@media(max-width:991px){.nav-shell{gap:14px}.nav-search{order:3;flex-basis:100%;max-width:none}.nav-shell{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.site-header{position:relative}.hero-grid,.topic-layout{grid-template-columns:1fr}.hero{padding-top:38px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.container{padding-left:16px;padding-right:16px}.brand-text{font-size:15px}.nav-shell{min-height:0}.nav-links{display:none;width:100%;order:4;flex-direction:column;align-items:stretch;padding-top:5px}.nav-links.open{display:flex}.nav-links a{width:100%}.menu-toggle{display:block;margin-left:auto}.nav-search{order:3;width:100%}.search-box{height:48px}.hero{padding:32px 0 42px}h1{font-size:35px}.hero-copy{font-size:15px}.hero-grid{gap:25px}.topic-feature{padding:19px}.section-head{display:block;margin-bottom:22px}.section-head h2{font-size:27px}.section-head p{font-size:14px;margin-top:10px}.topic-list,.timeline{grid-template-columns:1fr}.rail-card{flex-basis:235px}section{padding:58px 0}.cta{padding-bottom:60px}.cta-box{display:block;padding:24px}.cta-box h2{font-size:24px}.feedback-form{display:block}.feedback-form input,.feedback-form button{width:100%;margin-bottom:9px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.copyright{display:block}.copyright span{display:block;margin-top:5px}}
@media(max-width:430px){.footer-grid{grid-template-columns:1fr}.hero-actions>*{width:100%}.feature-title{font-size:22px}}

/* roulang page: category1 */
:root{
 --blue:#2563d8;--blue-dark:#174aa8;--blue-soft:#eaf2ff;--blue-pale:#f5f8ff;
 --coral:#ef8b66;--coral-soft:#fff0e9;--ink:#17243b;--muted:#68758a;
 --line:#dce5f2;--white:#fff;--bg:#f8fbff;--green:#3c9b83;
 --radius-lg:24px;--radius-md:16px;--radius-sm:12px;
 --shadow:0 14px 40px rgba(44,78,132,.09);--shadow-hover:0 18px 42px rgba(37,99,216,.16)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.container{max-width:1210px;padding-left:20px;padding-right:20px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.nav-shell{min-height:78px;display:flex;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800;color:var(--ink);letter-spacing:-.03em}
.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--blue);display:grid;place-items:center;color:#fff;box-shadow:0 7px 16px rgba(37,99,216,.25)}
.brand-mark:after{content:"";width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #fff;margin-left:2px}
.brand-text{font-size:17px}
.nav-search{flex:1;max-width:575px;margin:0 auto}
.search-box{height:48px;display:flex;align-items:center;gap:10px;background:var(--blue-pale);border:1px solid #cddcf5;border-radius:17px;padding:5px 6px 5px 16px;transition:.2s ease}
.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,216,.12);background:#fff}
.search-icon{color:var(--blue);font-size:20px;line-height:1}
.search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}
.search-box input::placeholder{color:#8290a5}
.btn-search,.btn-primary{border:0;background:var(--blue);color:#fff;font-weight:700;border-radius:11px;padding:10px 18px;transition:.2s ease}
.btn-search:hover,.btn-primary:hover{background:var(--blue-dark);box-shadow:0 8px 18px rgba(37,99,216,.2);transform:translateY(-1px)}
.btn-search:active,.btn-primary:active{transform:translateY(1px);box-shadow:none}
.btn-search:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{padding:9px 13px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:600}
.nav-links a:hover,.nav-links a.active{color:var(--blue);background:var(--blue-soft)}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;color:var(--blue)}
.page-hero{padding:50px 0 42px;background:linear-gradient(180deg,#fff 0%,#f5f9ff 100%);border-bottom:1px solid #edf2fa}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:18px}.breadcrumb a{color:var(--blue)}
.hero-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.08em}
.eyebrow:before{content:"";width:24px;height:3px;border-radius:4px;background:var(--coral)}
h1{font-size:48px;line-height:1.2;letter-spacing:-.05em;margin:12px 0 17px;font-weight:800}
.hero-text{color:var(--muted);font-size:17px;max-width:620px;margin:0}
.hero-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c9d9f2;background:#fff;color:var(--blue);font-weight:700;border-radius:11px;padding:10px 18px;transition:.2s}
.btn-secondary:hover{background:var(--blue-soft);border-color:var(--blue);transform:translateY(-1px)}
.feature-media{min-height:270px;border:1px solid var(--line);border-radius:24px;background:#e5efff;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.feature-media:before{content:"";position:absolute;width:280px;height:280px;border:34px solid rgba(255,255,255,.62);border-radius:50%;right:-70px;top:-85px}
.media-art{position:absolute;inset:26px;border-radius:17px;background:linear-gradient(140deg,#d5e6ff,#f8fbff);border:1px solid #c4d8f5;overflow:hidden}
.media-art:before{content:"";position:absolute;left:25px;right:25px;top:32px;height:10px;border-radius:8px;background:#b3cdf3;box-shadow:0 37px 0 #c4daf7,0 74px 0 #b3cdf3,0 111px 0 #d0e1f8}
.play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border:0;border-radius:50%;background:var(--blue);color:white;box-shadow:0 10px 24px rgba(37,99,216,.3);font-size:23px;padding-left:5px}
.play-button:hover{background:var(--blue-dark);transform:translate(-50%,-50%) scale(1.04)}
.media-caption{position:absolute;left:22px;bottom:18px;background:#fff;padding:5px 11px;border-radius:9px;color:var(--blue);font-weight:700;font-size:13px}
section{padding:78px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:27px}
.section-head h2{font-size:32px;line-height:1.25;letter-spacing:-.04em;margin:9px 0 0}.section-head p{max-width:540px;color:var(--muted);margin:0}
.directory-layout{display:grid;grid-template-columns:245px 1fr;gap:28px;align-items:start}
.filter-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:21px;box-shadow:0 8px 22px rgba(44,78,132,.05);position:sticky;top:100px}
.filter-title{font-weight:800;font-size:18px;margin-bottom:18px}.filter-group{border-top:1px solid #edf1f7;padding:16px 0 4px}.filter-group:first-of-type{border-top:0;padding-top:0}
.filter-label{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:8px}
.form-select,.form-control{border:1px solid #cddcf0;border-radius:11px;color:var(--ink);min-height:44px;background-color:#fff}
.form-select:focus,.form-control:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,216,.11)}
.check-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);margin:8px 0}.check-row input{accent-color:var(--blue)}
.directory-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.result-note{font-size:14px;color:var(--muted)}
.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:13px;font-weight:700}.tag.coral{background:var(--coral-soft);color:#c6613d}.tag.green{background:#e8f6f1;color:#287b67}
.content-list{display:grid;gap:14px}
.content-item{display:grid;grid-template-columns:142px 1fr auto;gap:19px;align-items:center;padding:15px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 7px 20px rgba(44,78,132,.045);transition:.2s}
.content-item:hover{transform:translateY(-3px);border-color:#b8cff2;box-shadow:var(--shadow-hover)}
.thumb{height:105px;border-radius:12px;background:linear-gradient(135deg,#dceaff,#f8fbff);position:relative;overflow:hidden;border:1px solid #d2e0f4}.thumb:after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);font-size:13px;box-shadow:0 5px 14px rgba(35,75,139,.12)}
.item-title{font-size:18px;font-weight:800;line-height:1.4;margin:7px 0 5px}.item-summary{font-size:14px;color:var(--muted);margin:0}.item-meta{font-size:13px;color:#8995a8;margin-top:7px}
.item-action{color:var(--blue);font-weight:700;font-size:14px;white-space:nowrap}.item-action:hover{text-decoration:underline}
.empty-state{display:none;padding:30px;text-align:center;background:#fff;border:1px dashed #c5d7ef;border-radius:16px;color:var(--muted)}
.topic-band{background:var(--blue-pale);border-top:1px solid #e5eefb;border-bottom:1px solid #e5eefb}
.topic-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:17px}.topic-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;transition:.2s}.topic-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#b8cff2}.topic-card h3{font-size:19px;margin:12px 0 5px}.topic-card p{font-size:14px;color:var(--muted);margin:0 0 14px}
.accordion{display:grid;gap:11px}.accordion-item{border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden;background:#fff}.accordion-button{font-weight:700;color:var(--ink);background:#fff;padding:17px 20px;box-shadow:none!important}.accordion-button:not(.collapsed){color:var(--blue);background:var(--blue-soft)}.accordion-body{color:var(--muted);font-size:14px;padding:0 20px 17px;background:var(--blue-soft)}
.cta-card{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;background:#edf5ff;border:1px solid #d3e3f8;border-radius:24px;padding:34px 38px}.cta-card h2{font-size:28px;line-height:1.3;margin:8px 0 10px}.cta-card p{color:var(--muted);margin:0}.feedback-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feedback-form .wide{grid-column:1/-1}.feedback-form .btn-primary{min-height:46px}
.site-footer{padding:52px 0 22px;background:#eef4fc;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}.footer-brand{font-size:19px;font-weight:800}.footer-desc{color:var(--muted);font-size:14px;max-width:300px;margin:12px 0 0}.footer-title{font-weight:800;margin-bottom:10px}.footer-links{display:grid;gap:6px;color:var(--muted);font-size:14px}.footer-links a:hover{color:var(--blue)}.copyright{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d8e3f2;margin-top:36px;padding-top:17px;color:#8090a5;font-size:12px}
:focus-visible{outline:3px solid rgba(37,99,216,.3);outline-offset:3px}
@media(max-width:991px){.nav-shell{gap:13px}.brand-text{font-size:15px}.nav-search{max-width:390px}.nav-links a{padding:8px 8px}.hero-layout{gap:28px}.directory-layout{grid-template-columns:210px 1fr}.cta-card{padding:28px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:767px){.site-header{position:relative}.nav-shell{min-height:68px;flex-wrap:wrap;padding-top:11px;padding-bottom:11px}.brand{flex:1}.menu-toggle{display:block}.nav-search{order:3;flex-basis:100%;max-width:none}.nav-links{display:none;width:100%;order:4;padding-bottom:4px}.nav-links.open{display:flex;flex-wrap:wrap}.nav-links a{flex:1;text-align:center}.search-box{height:48px}.page-hero{padding:32px 0}.hero-layout{grid-template-columns:1fr;gap:25px}h1{font-size:35px}.hero-text{font-size:15px}.feature-media{min-height:220px}.media-art{inset:20px}section{padding:58px 0}.section-head{display:block}.section-head h2{font-size:27px}.section-head p{margin-top:10px}.directory-layout{display:block}.filter-panel{position:static;margin-bottom:18px}.directory-top{align-items:flex-start;flex-direction:column}.content-item{grid-template-columns:92px 1fr;gap:13px}.thumb{height:82px}.item-action{grid-column:2}.item-title{font-size:16px}.topic-grid{grid-template-columns:1fr}.cta-card{grid-template-columns:1fr;padding:25px 21px;gap:22px}.feedback-form{grid-template-columns:1fr}.feedback-form .wide{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.copyright{display:block}.copyright span{display:block;margin-top:7px}}
@media(max-width:430px){.brand-text{font-size:14px}.hero-actions>*{width:100%}.content-item{grid-template-columns:1fr}.thumb{height:130px}.item-action{grid-column:auto}.footer-grid{grid-template-columns:1fr}}
