/* roulang page: index */
:root{
            --ink:#173a35;
            --ink-soft:#47645d;
            --muted:#71847e;
            --paper:#f4f7f1;
            --surface:#ffffff;
            --surface-tint:#eaf3eb;
            --line:#d7e3da;
            --teal:#129a86;
            --teal-deep:#087665;
            --lime:#c9ed54;
            --orange:#ee7650;
            --orange-deep:#d95c39;
            --shadow:0 16px 42px rgba(28,74,61,.09);
            --shadow-soft:0 8px 24px rgba(28,74,61,.07);
            --radius:18px;
            --radius-lg:28px;
            --container:1220px;
            --ease:all .24s ease;
        }
        *{box-sizing:border-box;margin:0;padding:0}
        html{scroll-behavior:smooth}
        body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;font-size:15px}
        a{color:inherit;text-decoration:none}
        button,input,select,textarea{font:inherit}
        button{cursor:pointer;border:0}
        img{display:block;max-width:100%;height:auto}
        ul{list-style:none}
        :focus-visible{outline:3px solid rgba(238,118,80,.5);outline-offset:3px}
        .container{width:min(var(--container),calc(100% - 48px));margin:auto}
        .topbar{height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 3px 18px rgba(28,74,61,.04);position:sticky;top:0;z-index:20}
        .nav{height:76px;display:flex;align-items:center;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:18px;font-weight:800;letter-spacing:-.5px}
        .brand-mark{width:35px;height:35px;background:var(--teal);border-radius:11px;display:grid;place-items:center;color:#fff;position:relative;box-shadow:4px 4px 0 var(--lime)}
        .brand-mark:after{content:"";width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #fff;margin-left:3px}
        .nav-links{display:flex;align-items:center;gap:25px;margin-left:14px}
        .nav-links a{color:var(--ink-soft);font-size:14px;padding:25px 0;position:relative;transition:var(--ease)}
        .nav-links a:hover,.nav-links a.active{color:var(--teal-deep)}
        .nav-links a.active:after{content:"";position:absolute;height:3px;background:var(--teal);border-radius:4px;left:0;right:0;bottom:17px}
        .nav-tools{margin-left:auto;display:flex;align-items:center;gap:12px}
        .search{height:42px;width:195px;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:0 13px;color:var(--muted);transition:var(--ease)}
        .search:focus-within{background:#fff;border-color:var(--teal);box-shadow:0 0 0 4px rgba(18,154,134,.1)}
        .search input{border:0;outline:0;background:transparent;width:100%;color:var(--ink);font-size:13px}
        .search svg{width:17px;flex:none}
        .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border-radius:12px;font-weight:700;font-size:14px;transition:var(--ease);border:1px solid transparent}
        .btn-primary{background:var(--orange);color:#fff;box-shadow:0 7px 15px rgba(238,118,80,.2)}
        .btn-primary:hover{background:var(--orange-deep);transform:translateY(-2px)}
        .btn-teal{background:var(--teal);color:#fff}
        .btn-teal:hover{background:var(--teal-deep);transform:translateY(-2px)}
        .btn-light{background:#fff;border-color:var(--line);color:var(--ink)}
        .btn-light:hover{border-color:var(--teal);color:var(--teal-deep);transform:translateY(-2px)}
        .menu-toggle{display:none;background:var(--surface-tint);color:var(--ink);width:42px;height:42px;border-radius:11px;font-size:20px}
        .hero{padding:34px 0 28px}
        .hero-panel{min-height:410px;background:#173a35;border-radius:var(--radius-lg);overflow:hidden;position:relative;color:#fff;display:grid;grid-template-columns:1.08fr .92fr;gap:30px;padding:54px 58px}
        .hero-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(201,237,84,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(201,237,84,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(110deg,#000,transparent 70%)}
        .hero-copy,.hero-board{position:relative;z-index:1}
        .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px}
        .eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(201,237,84,.13)}
        h1{font-size:clamp(34px,4.4vw,62px);line-height:1.14;letter-spacing:-2px;max-width:680px;margin-bottom:20px}
        .hero-copy p{font-size:16px;color:#c6d8cd;max-width:590px;margin-bottom:28px}
        .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
        .hero-actions .btn-light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:#fff}
        .hero-actions .btn-light:hover{background:#fff;color:var(--ink)}
        .hero-note{display:flex;gap:22px;margin-top:31px;color:#a8c2b5;font-size:12px}
        .hero-note strong{display:block;color:#fff;font-size:19px;line-height:1.2}
        .hero-board{align-self:center;background:#f0f5ed;color:var(--ink);border-radius:20px;padding:20px;box-shadow:0 18px 40px rgba(0,0,0,.18);transform:rotate(1deg)}
        .board-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:7px}
        .board-head strong{font-size:16px}
        .status{font-size:11px;color:var(--teal-deep);background:#dff4cf;border-radius:20px;padding:4px 9px}
        .rank-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #e1eae1}
        .rank-row:last-child{border:0}
        .rank-num{font-size:19px;font-weight:800;color:#95aa9f}
        .rank-row:first-of-type .rank-num{color:var(--orange)}
        .rank-title{font-weight:700;font-size:13px}
        .rank-title small{display:block;color:var(--muted);font-weight:400;font-size:11px}
        .rank-bar{width:67px;height:5px;background:#dfe9df;border-radius:5px;overflow:hidden}
        .rank-bar span{display:block;height:100%;background:var(--teal);border-radius:5px}
        .section{padding:70px 0}
        .section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:26px}
        .section-kicker{font-size:12px;color:var(--teal-deep);font-weight:800;letter-spacing:1.5px;margin-bottom:7px}
        h2{font-size:30px;line-height:1.25;letter-spacing:-1px}
        .section-head p{color:var(--muted);max-width:510px;font-size:14px}
        .text-link{color:var(--teal-deep);font-weight:700;font-size:14px;border-bottom:1px solid var(--teal);padding-bottom:3px}
        .series-strip{display:flex;gap:12px;overflow:auto;padding-bottom:4px}
        .series-item{min-width:190px;flex:1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;transition:var(--ease)}
        .series-item:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:var(--shadow-soft)}
        .series-item strong{display:block;font-size:16px;margin-bottom:5px}
        .series-item span{color:var(--muted);font-size:12px}
        .series-icon{float:right;color:var(--teal);font-size:20px}
        .metrics{background:#e6f0e5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0}
        .metric-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:14px}
        .metric{background:rgba(255,255,255,.65);border:1px solid var(--line);border-radius:15px;padding:20px;min-height:118px}
        .metric.main{background:var(--teal);color:#fff;border-color:var(--teal);display:flex;justify-content:space-between;align-items:end}
        .metric label{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}
        .metric.main label{color:#bce4d2}
        .metric strong{font-size:29px;line-height:1}
        .metric em{font-style:normal;font-size:12px;color:var(--muted);margin-left:4px}
        .metric.main em{color:#d7f3db}
        .trend{height:4px;background:#d6e5d7;border-radius:5px;margin-top:17px;overflow:hidden}
        .trend span{display:block;height:100%;background:var(--lime);border-radius:5px}
        .matrix{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}
        .matrix-feature,.matrix-row{border:1px solid var(--line);background:#fff;border-radius:var(--radius);transition:var(--ease)}
        .matrix-feature{padding:30px;min-height:270px;background:linear-gradient(135deg,#e4f4e7,#fff 68%)}
        .matrix-feature:hover,.matrix-row:hover{border-color:var(--teal);box-shadow:var(--shadow-soft);transform:translateY(-3px)}
        .matrix-feature h3{font-size:25px;margin:14px 0 10px}
        .matrix-feature p,.matrix-row p{color:var(--muted);font-size:13px}
        .matrix-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 23px;margin-bottom:12px}
        .matrix-row:last-child{margin:0}
        .matrix-row h3{font-size:16px;margin-bottom:3px}
        .matrix-arrow{font-size:22px;color:var(--teal);transition:var(--ease)}
        .matrix-row:hover .matrix-arrow{transform:translateX(5px)}
        .tag{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid #bcd9c5;background:#f4faef;color:var(--teal-deep);border-radius:20px;font-size:11px;line-height:1.2}
        .feature-foot{display:flex;align-items:center;justify-content:space-between;margin-top:35px}
        .comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px}
        .compare-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:29px}
        .compare-card.selected{background:#173a35;color:#fff;border-color:#173a35}
        .compare-card h3{font-size:21px;margin:11px 0 5px}
        .compare-card p{color:var(--muted);font-size:13px;margin-bottom:20px}
        .selected p{color:#b8cec3}
        .compare-list li{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0;font-size:13px}
        .selected .compare-list li{border-color:rgba(255,255,255,.15)}
        .compare-list b{color:var(--teal-deep)}
        .selected .compare-list b{color:var(--lime)}
        .info-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}
        .news-panel,.quote-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px}
        .news-item{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
        .news-item:last-child{border:0;padding-bottom:0}
        .news-date{color:var(--teal);font-size:12px;font-weight:800;width:65px}
        .news-item h3{font-size:15px;margin-bottom:3px}
        .news-item p{color:var(--muted);font-size:12px}
        .quote-panel{background:#f0f6e9}
        .quote{padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}
        .quote:last-child{border:0}
        .quote small{display:block;color:var(--muted);margin-top:8px}
        .member{background:#c9ed54;border-radius:var(--radius-lg);padding:35px 42px;display:flex;justify-content:space-between;align-items:center;gap:25px}
        .member h2{margin-bottom:8px}
        .member p{color:#436044;max-width:580px}
        .member .btn{background:var(--ink);color:#fff}
        .faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px}
        .faq-intro .big-number{font-size:86px;color:var(--teal);font-weight:800;line-height:1}
        .faq-intro p{color:var(--muted);max-width:280px;margin-top:15px}
        .faq-item{border-top:1px solid var(--line)}
        .faq-question{width:100%;background:transparent;display:flex;justify-content:space-between;text-align:left;padding:20px 0;color:var(--ink);font-weight:700;font-size:15px}
        .faq-question span:last-child{font-size:22px;color:var(--teal);transition:var(--ease)}
        .faq-answer{max-height:0;overflow:hidden;color:var(--muted);font-size:13px;transition:max-height .3s ease;padding-right:35px}
        .faq-item.open .faq-answer{max-height:130px;padding-bottom:19px}
        .faq-item.open .faq-question{color:var(--teal-deep)}
        .faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
        .cta-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:38px;display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;box-shadow:var(--shadow)}
        .cta-box h2{margin:8px 0 12px}
        .cta-box p{color:var(--muted);font-size:14px}
        .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
        .field{display:flex;flex-direction:column;gap:6px}
        .field.full{grid-column:1/-1}
        .field label{font-size:13px;font-weight:700}
        .field label span{color:var(--orange)}
        .field input,.field select,.field textarea{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:11px 13px;outline:0;color:var(--ink);transition:var(--ease)}
        .field textarea{min-height:86px;resize:vertical}
        .field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:var(--teal);box-shadow:0 0 0 4px rgba(18,154,134,.1)}
        .form-status{font-size:12px;color:var(--teal-deep);margin-top:10px;min-height:20px}
        footer{background:#173a35;color:#c4d8ce;padding:45px 0 24px}
        .footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.14)}
        footer .brand{color:#fff}
        .footer-links{display:flex;gap:42px}
        .footer-links h4{color:#fff;font-size:13px;margin-bottom:12px}
        .footer-links a{display:block;color:#a7c2b5;font-size:13px;margin:7px 0;transition:var(--ease)}
        .footer-links a:hover{color:var(--lime)}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:#89a89a;font-size:12px}
        .mobile-nav{display:none}
        @media(max-width:1100px){
            .nav{gap:17px}.nav-links{gap:15px;margin-left:0}.search{width:160px}
            .hero-panel{padding:42px}.metric-grid{grid-template-columns:1.2fr 1fr 1fr}
            .metric:last-child{display:none}
        }
        @media(max-width:820px){
            .topbar,.nav{height:68px}.nav-links{display:none}.nav-tools .search{display:none}.menu-toggle{display:block}
            .hero-panel{grid-template-columns:1fr;min-height:auto;padding:38px 28px}.hero-board{max-width:520px;width:100%;margin:0 auto;transform:none}
            .section{padding:54px 0}.metric-grid{grid-template-columns:1fr 1fr}.metric.main{grid-column:1/-1}
            .matrix,.info-grid,.faq-layout,.cta-box{grid-template-columns:1fr;gap:18px}.faq-layout{gap:25px}
            .faq-intro .big-number{font-size:58px}.member{padding:30px;align-items:flex-start;flex-direction:column}
            .footer-top{flex-direction:column}.footer-links{gap:30px}
        }
        @media(max-width:560px){
            .container{width:min(100% - 28px,var(--container))}.brand{font-size:15px;gap:8px}.brand-mark{width:31px;height:31px}
            .nav-tools{gap:7px}.nav-tools .btn{padding:10px 11px;font-size:12px}.hero{padding-top:17px}
            h1{font-size:35px;letter-spacing:-1px}.hero-copy p{font-size:14px}.hero-note{gap:15px}
            .hero-board{padding:15px}.rank-row{padding:11px 0}.rank-bar{width:48px}
            .section-head{display:block}.section-head .text-link{display:inline-block;margin-top:13px}h2{font-size:25px}
            .metric-grid{grid-template-columns:1fr}.metric.main{grid-column:auto}.metric:last-child{display:block}
            .matrix-feature{padding:23px}.matrix-row{padding:17px}.comparison{grid-template-columns:1fr}
            .news-item{gap:9px}.news-date{width:53px;font-size:11px}.news-item h3{font-size:14px}
            .cta-box{padding:25px 18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
            .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:18px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
        }

.mobile-nav.show{
        display:flex;
        position:absolute;
        top:68px;
        left:0;
        right:0;
        padding:10px 14px 16px;
        gap:6px;
        flex-direction:column;
        background:#fff;
        border-bottom:1px solid var(--line);
        box-shadow:var(--shadow-soft);
    }
    .mobile-nav a{
        min-height:44px;
        display:flex;
        align-items:center;
        padding:0 14px;
        border-radius:10px;
        color:var(--ink-soft);
        font-size:14px;
        font-weight:700;
    }
    .mobile-nav a:hover,.mobile-nav a.active{
        color:var(--teal-deep);
        background:var(--surface-tint);
    }
    .btn:active,.series-item:active,.matrix-feature:active,.matrix-row:active{
        transform:translateY(0);
    }
    .btn:disabled{
        cursor:not-allowed;
        opacity:.55;
        box-shadow:none;
        transform:none;
    }
    .field.invalid input,.field.invalid select,.field.invalid textarea{
        border-color:var(--orange);
        background:#fff7f4;
        box-shadow:0 0 0 4px rgba(238,118,80,.1);
    }
    @media(min-width:821px){
        .mobile-nav.show{display:none}
    }

/* roulang page: category1 */
:root{
 --ink:#173a35;--ink-soft:#47645d;--muted:#71847e;--paper:#f4f7f1;--surface:#fff;
 --surface-tint:#eaf3eb;--line:#d7e3da;--teal:#129a86;--teal-deep:#087665;
 --lime:#c9ed54;--orange:#ee7650;--orange-deep:#d95c39;
 --shadow:0 16px 42px rgba(28,74,61,.09);--shadow-soft:0 8px 24px rgba(28,74,61,.07);
 --radius:18px;--radius-lg:28px;--container:1220px;--ease:all .24s ease
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;font-size:15px}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} button{cursor:pointer;border:0} img{display:block;max-width:100%;height:auto}
.container{width:min(var(--container),calc(100% - 48px));margin:auto}
.topbar{height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 3px 18px rgba(28,74,61,.04);position:sticky;top:0;z-index:20}
.nav{height:76px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:18px;font-weight:800;letter-spacing:-.5px}
.brand-mark{width:35px;height:35px;background:var(--teal);border-radius:11px;display:grid;place-items:center;color:#fff;position:relative;box-shadow:4px 4px 0 var(--lime)}
.brand-mark:after{content:"";width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #fff;margin-left:3px}
.nav-links{display:flex;align-items:center;gap:25px;margin-left:14px}
.nav-links a{color:var(--ink-soft);font-size:14px;padding:25px 0;position:relative;transition:var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--teal-deep)}
.nav-links a.active:after{content:"";position:absolute;height:3px;background:var(--teal);border-radius:4px;left:0;right:0;bottom:17px}
.nav-tools{margin-left:auto;display:flex;align-items:center;gap:12px}
.search{height:42px;width:195px;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:0 13px;color:var(--muted);transition:var(--ease)}
.search:focus-within{background:#fff;border-color:var(--teal);box-shadow:0 0 0 4px rgba(18,154,134,.1)}
.search input{border:0;outline:0;background:transparent;width:100%;color:var(--ink);font-size:13px}
.search svg{width:17px;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border-radius:12px;font-weight:700;font-size:14px;transition:var(--ease);border:1px solid transparent}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 7px 15px rgba(238,118,80,.2)}
.btn-primary:hover{background:var(--orange-deep);transform:translateY(-2px)}
.btn-teal{background:var(--teal);color:#fff}.btn-teal:hover{background:var(--teal-deep);transform:translateY(-2px)}
.btn-light{background:#fff;border-color:var(--line);color:var(--ink)}.btn-light:hover{border-color:var(--teal);color:var(--teal-deep);transform:translateY(-2px)}
.menu-toggle{display:none;background:var(--surface-tint);color:var(--ink);width:42px;height:42px;border-radius:11px;font-size:20px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(18,154,134,.34);outline-offset:3px}
button:active,.btn:active{transform:translateY(1px)}
.section{padding:62px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:25px}
.section-kicker{font-size:12px;font-weight:800;letter-spacing:1.5px;color:var(--teal-deep);margin-bottom:7px}
.section h2{font-size:30px;line-height:1.25;letter-spacing:-1px}.section-head p{max-width:500px;color:var(--muted);font-size:14px}
.page-hero{padding:31px 0 24px}.breadcrumb{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:18px}.breadcrumb span{color:#a0b1a9}
.hero-panel{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:38px 46px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;min-height:275px}
.hero-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(201,237,84,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(201,237,84,.09) 1px,transparent 1px);background-size:33px 33px;mask-image:linear-gradient(90deg,#000,transparent 72%)}
.hero-copy,.hero-data{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:12px;font-weight:800;letter-spacing:1.4px;margin-bottom:13px}.eyebrow:before{content:"";width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 5px rgba(201,237,84,.12)}
h1{font-size:40px;line-height:1.18;letter-spacing:-1.8px;margin-bottom:15px}.hero-copy p{max-width:630px;color:#c5d8cd;font-size:15px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}.hero-actions .btn-light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:#fff}.hero-actions .btn-light:hover{background:#fff;color:var(--ink)}
.hero-data{border:1px solid rgba(201,237,84,.32);border-radius:18px;padding:18px;background:rgba(5,43,36,.42)}.data-caption{color:#b5cec0;font-size:12px;margin-bottom:13px}.data-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(255,255,255,.13)}.data-row strong{font-size:20px;color:var(--lime)}.data-row span{font-size:12px;color:#d5e5dc}
.filter-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow-soft)}
.filter-top{display:flex;align-items:center;gap:12px}.filter-field{height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;flex:1;background:var(--paper);border:1px solid var(--line);border-radius:11px;transition:var(--ease)}.filter-field:focus-within{border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(18,154,134,.1)}.filter-field input{border:0;outline:0;background:transparent;width:100%;color:var(--ink)}
.filter-select{height:46px;min-width:135px;border:1px solid var(--line);border-radius:11px;padding:0 34px 0 13px;background:#fff;color:var(--ink);outline:0}.filter-select:focus{border-color:var(--teal)}
.filter-tags{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:14px}.filter-tags b{font-size:12px;color:var(--muted);margin-right:2px}.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);font-size:12px;font-weight:700;transition:var(--ease)}.tag:hover,.tag.active{border-color:var(--teal);background:var(--surface-tint);color:var(--teal-deep)}.clear-filter{margin-left:auto;background:none;color:var(--teal-deep);font-size:12px;font-weight:700;padding:5px}
.feature{display:grid;grid-template-columns:.94fr 1.06fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft)}
.cover{min-height:286px;background:#d7eadf;position:relative;overflow:hidden}.cover:before,.mini-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(18,154,134,.85),rgba(23,58,53,.9))}.cover:after{content:"";position:absolute;width:165px;height:165px;border:1px solid rgba(201,237,84,.55);border-radius:50%;right:-30px;top:39px;box-shadow:0 0 0 24px rgba(201,237,84,.08),0 0 0 49px rgba(201,237,84,.06)}
.cover-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:25px 25px}.play-round{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:69px;height:69px;border-radius:50%;display:grid;place-items:center;background:var(--lime);box-shadow:0 10px 26px rgba(0,0,0,.19);transition:var(--ease)}.play-round:after{content:"";margin-left:5px;width:0;height:0;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:16px solid var(--ink)}.feature:hover .play-round{background:#fff;transform:translate(-50%,-50%) scale(1.06)}
.cover-code{position:absolute;left:20px;bottom:18px;color:#fff;z-index:2;font-size:12px;font-weight:800;letter-spacing:1px}.feature-info{padding:30px 33px}.feature-info h3{font-size:25px;line-height:1.35;margin:13px 0 10px}.feature-info p{color:var(--ink-soft);font-size:14px;max-width:540px}.feature-meta{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:13px;margin:19px 0 23px}.feature-meta span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);vertical-align:middle;margin-right:7px}
.list-shell{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden}.list-head{display:grid;grid-template-columns:52px 104px minmax(0,1fr) 116px 120px;gap:18px;align-items:center;padding:13px 22px;background:var(--surface-tint);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700}.video-item{display:grid;grid-template-columns:52px 104px minmax(0,1fr) 116px 120px;gap:18px;align-items:center;padding:17px 22px;border-bottom:1px solid var(--line);transition:var(--ease)}.video-item:last-child{border-bottom:0}.video-item:hover{background:#f8fbf7;box-shadow:inset 4px 0 0 var(--teal)}.item-number{font-weight:800;color:var(--teal-deep);font-size:14px}.mini-cover{height:63px;border-radius:11px;position:relative;overflow:hidden;background:#b7d8ca}.mini-cover:before{background:linear-gradient(135deg,#129a86,#38675c)}.mini-cover i{position:absolute;z-index:1;left:12px;bottom:10px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.92)}.mini-cover i:after{content:"";position:absolute;left:10px;top:7px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--teal)}.item-title{font-size:15px;font-weight:800;line-height:1.4}.item-title small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta{color:var(--muted);font-size:12px}.play-small{justify-self:end;color:var(--teal-deep);font-size:13px;font-weight:800;padding:8px 0;white-space:nowrap}.play-small:hover{color:var(--orange-deep);transform:translateX(3px)}
.empty-state{display:none;padding:50px 20px;text-align:center;color:var(--muted)}.empty-icon{width:46px;height:46px;border-radius:15px;background:var(--surface-tint);display:grid;place-items:center;margin:0 auto 12px;color:var(--teal);font-size:22px}.loading-row{display:none;padding:20px 22px}.loading-line{height:15px;border-radius:10px;background:linear-gradient(90deg,#edf3ee,#dce9df,#edf3ee);background-size:200% 100%;animation:load 1.4s infinite}@keyframes load{to{background-position:-200% 0}}
.browse-strip{background:#e3f0e4;border:1px solid #cfe2d3;border-radius:var(--radius-lg);padding:29px 34px;display:flex;align-items:center;justify-content:space-between;gap:25px}.browse-strip h2{font-size:24px;margin-bottom:5px}.browse-strip p{color:var(--ink-soft);font-size:14px}
.faq-mini{display:grid;grid-template-columns:.82fr 1.18fr;gap:55px;align-items:start}.faq-intro p{color:var(--muted);margin-top:12px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:flex;justify-content:space-between;gap:15px;text-align:left;background:transparent;padding:17px 0;color:var(--ink);font-weight:800}.faq-q span:last-child{color:var(--teal);font-size:19px;line-height:1}.faq-a{display:none;color:var(--ink-soft);font-size:14px;padding:0 31px 18px 0}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
footer{background:#173a35;color:#d6e5dc;padding:52px 0 22px;margin-top:60px}.footer-top{display:flex;justify-content:space-between;gap:45px;padding-bottom:42px}.footer-top .brand{color:#fff}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:42px}.footer-links h4{color:var(--lime);font-size:13px;margin-bottom:12px}.footer-links a{display:block;color:#b9d0c3;font-size:13px;margin:7px 0;transition:var(--ease)}.footer-links a:hover{color:#fff;transform:translateX(3px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;display:flex;justify-content:space-between;gap:18px;color:#9db9ac;font-size:12px}
@media(max-width:1200px){.nav{gap:19px}.nav-links{gap:18px}.hero-panel{padding:35px}.list-head,.video-item{grid-template-columns:45px 92px minmax(0,1fr) 94px 105px;gap:13px}}
@media(max-width:992px){.search{width:155px}.hero-panel{grid-template-columns:1fr}.hero-data{max-width:520px}.feature{grid-template-columns:.8fr 1.2fr}.footer-top{flex-direction:column}.faq-mini{gap:30px}}
@media(max-width:768px){.container{width:min(var(--container),calc(100% - 32px))}.topbar,.nav{height:68px}.nav-links{position:absolute;left:16px;right:16px;top:63px;padding:10px 17px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch;gap:0}.nav-links.show{display:flex}.nav-links a{padding:10px}.nav-links a.active:after{display:none}.nav-tools .search{display:none}.menu-toggle{display:grid;place-items:center}.nav-tools{gap:8px}.nav-tools .btn{padding:10px 13px;font-size:13px}.page-hero{padding-top:22px}.hero-panel{padding:29px 24px}h1{font-size:32px}.section{padding:48px 0}.section-head{align-items:start;flex-direction:column;gap:8px}.section h2{font-size:26px}.filter-top{flex-wrap:wrap}.filter-field{width:100%;flex-basis:100%}.filter-select{flex:1}.feature{grid-template-columns:1fr}.cover{min-height:210px}.feature-info{padding:24px}.list-head{display:none}.video-item{grid-template-columns:32px 78px minmax(0,1fr) auto;gap:12px}.item-meta{display:none}.mini-cover{height:54px}.browse-strip{align-items:flex-start;flex-direction:column;padding:25px}.faq-mini{grid-template-columns:1fr}.footer-links{gap:22px}}
@media(max-width:576px){.brand{font-size:15px}.brand-mark{width:31px;height:31px;border-radius:9px}.nav-tools .btn-primary{display:none}.hero-panel{border-radius:21px}.hero-copy p{font-size:14px}.hero-actions .btn{width:100%}.filter-wrap{padding:13px}.filter-select{min-width:0}.clear-filter{margin-left:0}.feature-info h3{font-size:21px}.video-item{padding:14px 13px;grid-template-columns:25px 68px minmax(0,1fr) auto;gap:9px}.mini-cover{height:49px}.item-title{font-size:13px}.item-title small{max-width:145px}.play-small{font-size:0;width:34px;height:34px;border-radius:50%;background:var(--surface-tint);position:relative}.play-small:after{content:"▶";font-size:12px;position:absolute;left:11px;top:6px}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:5px}.footer-top{gap:28px}}

/* roulang page: category2 */
:root{
 --ink:#173a35;
 --ink-soft:#47645d;
 --muted:#71847e;
 --paper:#f4f7f1;
 --surface:#ffffff;
 --surface-tint:#eaf3eb;
 --line:#d7e3da;
 --teal:#129a86;
 --teal-deep:#087665;
 --lime:#c9ed54;
 --orange:#ee7650;
 --orange-deep:#d95c39;
 --shadow:0 16px 42px rgba(28,74,61,.09);
 --shadow-soft:0 8px 24px rgba(28,74,61,.07);
 --radius:18px;
 --radius-lg:28px;
 --container:1220px;
 --ease:all .24s ease;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
 color:var(--ink);
 background:var(--paper);
 line-height:1.7;
 font-size:15px;
 -webkit-font-smoothing:antialiased;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:0}
button:disabled,.btn:disabled{cursor:not-allowed;opacity:.48;transform:none!important}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,ul,ol{margin-top:0}
h1,h2,h3,h4{line-height:1.25;letter-spacing:-.035em}
p{color:var(--ink-soft)}
ul,ol{padding:0;margin:0;list-style:none}
::selection{background:var(--lime);color:var(--ink)}
.container{width:min(var(--container),calc(100% - 48px));margin:auto}
.topbar{
 height:76px;
 background:rgba(255,255,255,.96);
 border-bottom:1px solid var(--line);
 box-shadow:0 3px 18px rgba(28,74,61,.04);
 position:sticky;
 top:0;
 z-index:50;
 backdrop-filter:blur(10px);
}
.nav{height:76px;display:flex;align-items:center;gap:30px}
.brand{
 display:flex;
 align-items:center;
 gap:11px;
 white-space:nowrap;
 font-size:18px;
 font-weight:800;
 letter-spacing:-.5px;
}
.brand-mark{
 width:35px;
 height:35px;
 background:var(--teal);
 border-radius:11px;
 display:grid;
 place-items:center;
 color:#fff;
 position:relative;
 box-shadow:4px 4px 0 var(--lime);
 flex:none;
}
.brand-mark:after{
 content:"";
 width:0;
 height:0;
 border-top:7px solid transparent;
 border-bottom:7px solid transparent;
 border-left:10px solid #fff;
 margin-left:3px;
}
.nav-links{display:flex;align-items:center;gap:25px;margin-left:14px}
.nav-links a{
 color:var(--ink-soft);
 font-size:14px;
 padding:25px 0;
 position:relative;
 transition:var(--ease);
 white-space:nowrap;
}
.nav-links a:hover,.nav-links a.active{color:var(--teal-deep)}
.nav-links a.active:after{
 content:"";
 position:absolute;
 height:3px;
 background:var(--teal);
 border-radius:4px;
 left:0;
 right:0;
 bottom:17px;
}
.nav-tools{margin-left:auto;display:flex;align-items:center;gap:12px}
.search{
 height:42px;
 width:195px;
 display:flex;
 align-items:center;
 gap:8px;
 background:var(--paper);
 border:1px solid var(--line);
 border-radius:13px;
 padding:0 13px;
 color:var(--muted);
 transition:var(--ease);
}
.search:focus-within{
 background:#fff;
 border-color:var(--teal);
 box-shadow:0 0 0 4px rgba(18,154,134,.1);
}
.search input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:var(--ink);font-size:13px}
.search svg{width:17px;flex:none}
.btn{
 min-height:44px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:9px;
 padding:11px 19px;
 border-radius:12px;
 font-weight:700;
 font-size:14px;
 transition:var(--ease);
 border:1px solid transparent;
 white-space:nowrap;
}
.btn:focus-visible,.chip:focus-visible,.index-tab:focus-visible,.faq-question:focus-visible,.icon-btn:focus-visible,.menu-toggle:focus-visible{
 outline:3px solid rgba(18,154,134,.25);
 outline-offset:3px;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 7px 15px rgba(238,118,80,.2)}
.btn-primary:hover{background:var(--orange-deep);transform:translateY(-2px)}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-deep);transform:translateY(-2px)}
.btn-light{background:#fff;border-color:var(--line);color:var(--ink)}
.btn-light:hover{border-color:var(--teal);color:var(--teal-deep);transform:translateY(-2px)}
.menu-toggle{
 display:none;
 background:var(--surface-tint);
 color:var(--ink);
 width:42px;
 height:42px;
 border-radius:11px;
 font-size:20px;
}
.mobile-shade{display:none}

.category-hero{padding:34px 0 24px}
.hero-panel{
 position:relative;
 overflow:hidden;
 display:grid;
 grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
 gap:48px;
 min-height:350px;
 padding:47px 52px;
 border-radius:var(--radius-lg);
 background:#173a35;
 color:#fff;
}
.hero-panel:before{
 content:"";
 position:absolute;
 inset:0;
 background-image:
 linear-gradient(rgba(201,237,84,.075) 1px,transparent 1px),
 linear-gradient(90deg,rgba(201,237,84,.075) 1px,transparent 1px);
 background-size:36px 36px;
 mask-image:linear-gradient(115deg,#000,transparent 74%);
}
.hero-panel:after{
 content:"";
 position:absolute;
 width:190px;
 height:190px;
 right:-55px;
 top:-70px;
 border:1px solid rgba(201,237,84,.24);
 border-radius:50%;
 box-shadow:0 0 0 35px rgba(201,237,84,.035),0 0 0 70px rgba(201,237,84,.025);
}
.hero-copy,.hero-search-card{position:relative;z-index:2}
.breadcrumb{display:flex;align-items:center;gap:9px;color:#a9c3b6;font-size:12px;margin-bottom:22px}
.breadcrumb a:hover{color:var(--lime)}
.breadcrumb span{color:#78988a}
.eyebrow{
 display:inline-flex;
 align-items:center;
 gap:8px;
 color:var(--lime);
 font-size:12px;
 font-weight:800;
 letter-spacing:1.4px;
 margin-bottom:14px;
}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(201,237,84,.13)}
.hero-copy h1{font-size:clamp(32px,4.3vw,54px);max-width:720px;margin-bottom:18px}
.hero-copy p{color:#c6d8cd;font-size:16px;max-width:680px;margin-bottom:24px}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.hero-actions .btn-light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}
.hero-actions .btn-light:hover{background:#fff;color:var(--ink)}
.hero-search-card{
 align-self:center;
 background:#f0f5ed;
 color:var(--ink);
 border-radius:20px;
 padding:23px;
 box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.hero-search-card h2{font-size:20px;margin-bottom:8px}
.hero-search-card>p{font-size:13px;color:var(--muted);margin-bottom:16px}
.quick-search{
 display:flex;
 align-items:center;
 gap:9px;
 padding:6px;
 border:1px solid var(--line);
 background:#fff;
 border-radius:14px;
 transition:var(--ease);
}
.quick-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px rgba(18,154,134,.1)}
.quick-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:7px 8px;color:var(--ink)}
.quick-search button{flex:none;padding:10px 14px;border-radius:10px;background:var(--teal);color:#fff;font-weight:700}
.quick-search button:hover{background:var(--teal-deep)}
.search-hints{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.search-hints button{
 padding:6px 10px;
 border:1px solid var(--line);
 border-radius:999px;
 background:var(--surface-tint);
 color:var(--ink-soft);
 font-size:12px;
 transition:var(--ease);
}
.search-hints button:hover{border-color:var(--teal);color:var(--teal-deep);background:#fff}

.index-strip{padding:8px 0 0}
.index-panel{
 display:flex;
 align-items:center;
 gap:14px;
 padding:14px 16px;
 border:1px solid var(--line);
 border-radius:16px;
 background:#fff;
 box-shadow:var(--shadow-soft);
 overflow-x:auto;
 scrollbar-width:thin;
}
.index-label{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;white-space:nowrap;padding-right:10px;border-right:1px solid var(--line)}
.index-label i{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.index-tab{
 flex:none;
 border:1px solid transparent;
 border-radius:10px;
 padding:8px 13px;
 color:var(--ink-soft);
 background:transparent;
 font-size:13px;
 font-weight:700;
 transition:var(--ease);
}
.index-tab:hover,.index-tab.active{background:var(--surface-tint);border-color:var(--line);color:var(--teal-deep)}

.section{padding:68px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:27px}
.section-kicker{color:var(--teal-deep);font-size:12px;font-weight:800;letter-spacing:1.4px;margin-bottom:7px}
.section-head h2{font-size:clamp(26px,3.2vw,38px);margin-bottom:8px}
.section-head p{max-width:590px;color:var(--muted);margin-bottom:0}
.status-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}
.status-note i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(201,237,84,.22)}

.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.catalog-main{min-width:0}
.catalog-toolbar{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 margin-bottom:14px;
 padding:13px 15px;
 background:var(--surface-tint);
 border:1px solid var(--line);
 border-radius:15px;
}
.toolbar-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chip{
 padding:7px 12px;
 border-radius:999px;
 border:1px solid var(--line);
 background:#fff;
 color:var(--ink-soft);
 font-size:12px;
 font-weight:700;
 transition:var(--ease);
}
.chip:hover,.chip.active{border-color:var(--teal);background:var(--teal);color:#fff}
.sort-select{
 min-height:38px;
 border:1px solid var(--line);
 background:#fff;
 color:var(--ink);
 border-radius:10px;
 padding:0 32px 0 11px;
 outline:0;
}
.sort-select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,154,134,.1)}

.ranking-list{display:grid;gap:12px}
.ranking-item{
 display:grid;
 grid-template-columns:58px 142px minmax(0,1fr) auto;
 align-items:center;
 gap:17px;
 padding:14px;
 background:#fff;
 border:1px solid var(--line);
 border-radius:17px;
 transition:var(--ease);
 position:relative;
 overflow:hidden;
}
.ranking-item:before{
 content:"";
 position:absolute;
 left:0;
 top:18px;
 bottom:18px;
 width:3px;
 border-radius:3px;
 background:transparent;
 transition:var(--ease);
}
.ranking-item:hover,.ranking-item.is-match{
 border-color:rgba(18,154,134,.6);
 box-shadow:var(--shadow-soft);
 transform:translateY(-2px);
}
.ranking-item:hover:before,.ranking-item.is-match:before{background:var(--teal)}
.rank-number{text-align:center;color:var(--muted);font-size:12px;font-weight:700}
.rank-number strong{display:block;color:var(--ink);font-size:27px;line-height:1}
.ranking-item:nth-child(-n+3) .rank-number strong{color:var(--orange)}
.thumb{
 height:92px;
 border-radius:13px;
 position:relative;
 overflow:hidden;
 display:grid;
 place-items:center;
 background-color:#dfece2;
 background-image:
 linear-gradient(135deg,rgba(18,154,134,.2),rgba(201,237,84,.36)),
 linear-gradient(rgba(23,58,53,.08) 1px,transparent 1px),
 linear-gradient(90deg,rgba(23,58,53,.08) 1px,transparent 1px);
 background-size:auto,18px 18px,18px 18px;
}
.thumb.t2{background-color:#f0eadf;background-image:linear-gradient(135deg,rgba(238,118,80,.2),rgba(201,237,84,.28)),linear-gradient(rgba(23,58,53,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(23,58,53,.07) 1px,transparent 1px)}
.thumb.t3{background-color:#e6efe9;background-image:linear-gradient(135deg,rgba(23,58,53,.18),rgba(18,154,134,.23)),linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px)}
.play-mark{
 width:43px;
 height:43px;
 border-radius:50%;
 background:#fff;
 display:grid;
 place-items:center;
 box-shadow:0 7px 19px rgba(23,58,53,.16);
 transition:var(--ease);
}
.play-mark:after{
 content:"";
 width:0;
 height:0;
 border-top:7px solid transparent;
 border-bottom:7px solid transparent;
 border-left:11px solid var(--teal);
 margin-left:3px;
}
.ranking-item:hover .play-mark{transform:translateX(3px);background:var(--teal)}
.ranking-item:hover .play-mark:after{border-left-color:#fff}
.duration{position:absolute;right:7px;bottom:6px;padding:2px 6px;border-radius:6px;background:rgba(23,58,53,.78);color:#fff;font-size:10px}
.item-info{min-width:0}
.item-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:6px}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--surface-tint);border:1px solid var(--line);color:var(--teal-deep);font-size:11px;font-weight:700}
.badge.hot{background:#fff0eb;border-color:#f3c6b8;color:var(--orange-deep)}
.badge.new{background:#f1f9cf;border-color:#d8ed8b;color:#557300}
.update{color:var(--muted);font-size:11px}
.item-info h3{font-size:17px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-info p{font-size:13px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item-action{display:flex;flex-direction:column;align-items:end;gap:9px}
.heat{font-size:11px;color:var(--muted)}
.heat-line{width:78px;height:5px;border-radius:6px;background:#e5ede6;overflow:hidden;margin-top:4px}
.heat-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--lime))}
.icon-btn{
 min-width:46px;
 min-height:42px;
 padding:0 12px;
 border:1px solid var(--line);
 border-radius:11px;
 background:#fff;
 color:var(--teal-deep);
 font-weight:800;
 transition:var(--ease);
}
.icon-btn:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.empty-state{
 display:none;
 text-align:center;
 padding:38px 20px;
 background:#fff;
 border:1px dashed var(--line);
 border-radius:17px;
}
.empty-state strong{display:block;font-size:18px;margin-bottom:6px}
.empty-state p{font-size:13px;margin-bottom:16px}
.load-area{text-align:center;padding-top:18px}
.load-message{display:none;color:var(--teal-deep);font-size:13px;margin-top:10px}

.sidebar{display:grid;gap:15px;position:sticky;top:96px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow-soft)}
.side-card.accent{background:var(--ink);color:#fff;border-color:var(--ink)}
.side-card h3{font-size:18px;margin-bottom:7px}
.side-card>p{font-size:13px;color:var(--muted);margin-bottom:16px}
.side-card.accent>p{color:#a9c3b6}
.side-stat{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stat-box{background:var(--paper);border-radius:12px;padding:12px}
.side-card.accent .stat-box{background:rgba(255,255,255,.07)}
.stat-box strong{display:block;font-size:20px;color:var(--teal-deep)}
.side-card.accent .stat-box strong{color:var(--lime)}
.stat-box span{font-size:11px;color:var(--muted)}
.side-card.accent .stat-box span{color:#9db9ac}
.channel-links{display:grid;gap:7px}
.channel-links a{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 padding:10px 11px;
 background:var(--paper);
 border:1px solid transparent;
 border-radius:11px;
 color:var(--ink-soft);
 font-size:13px;
 transition:var(--ease);
}
.channel-links a span{color:var(--muted);font-size:11px}
.channel-links a:hover{border-color:var(--teal);background:#fff;color:var(--teal-deep);transform:translateX(3px)}
.rank-rule{display:grid;gap:12px}
.rank-rule li{display:grid;grid-template-columns:27px 1fr;gap:10px;color:#bed1c7;font-size:12px}
.rank-rule b{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:rgba(201,237,84,.12);color:var(--lime)}

.use-section{background:#eaf3eb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.use-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
.use-main{
 min-height:340px;
 padding:35px;
 background:#fff;
 border:1px solid var(--line);
 border-radius:var(--radius-lg);
 position:relative;
 overflow:hidden;
}
.use-main:after{
 content:"";
 position:absolute;
 right:-50px;
 bottom:-65px;
 width:210px;
 height:210px;
 border:28px solid rgba(18,154,134,.07);
 border-radius:50%;
}
.use-main h2{font-size:clamp(27px,3vw,39px);max-width:560px;margin-bottom:13px}
.use-main>p{max-width:590px;margin-bottom:26px}
.route-list{display:grid;gap:10px;position:relative;z-index:1}
.route-list li{
 display:flex;
 align-items:center;
 gap:12px;
 padding:12px 14px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--paper);
 font-weight:700;
}
.route-list em{font-style:normal;color:var(--teal-deep);font-size:12px}
.use-stack{display:grid;gap:12px}
.use-card{
 padding:22px;
 border:1px solid var(--line);
 border-radius:18px;
 background:#fff;
 transition:var(--ease);
}
.use-card:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.use-card .mini-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--surface-tint);color:var(--teal-deep);font-weight:900;margin-bottom:14px}
.use-card h3{font-size:18px;margin-bottom:7px}
.use-card p{font-size:13px;color:var(--muted);margin:0}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.step{padding:25px;position:relative;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
.step-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;color:var(--teal-deep);font-size:12px;font-weight:800}
.step-number i{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(201,237,84,.18)}
.step h3{font-size:18px;margin-bottom:8px}
.step p{font-size:13px;color:var(--muted);margin:0}

.faq-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:35px;align-items:start}
.faq-intro{
 padding:27px;
 border-radius:20px;
 background:var(--ink);
 color:#fff;
 position:sticky;
 top:96px;
}
.faq-index{font-size:62px;line-height:1;color:var(--lime);font-weight:900;letter-spacing:-5px;margin-bottom:18px}
.faq-intro h2{font-size:28px;margin-bottom:10px}
.faq-intro p{color:#a9c3b6;font-size:13px;margin-bottom:0}
.faq-list{display:grid;gap:10px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:var(--ease)}
.faq-item.open{border-color:var(--teal);box-shadow:var(--shadow-soft)}
.faq-question{
 width:100%;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 padding:18px 20px;
 text-align:left;
 background:transparent;
 color:var(--ink);
 font-weight:800;
}
.faq-question span:last-child{
 width:28px;
 height:28px;
 flex:none;
 border-radius:8px;
 display:grid;
 place-items:center;
 background:var(--surface-tint);
 color:var(--teal-deep);
 transition:var(--ease);
}
.faq-item.open .faq-question span:last-child{transform:rotate(45deg);background:var(--teal);color:#fff}
.faq-answer{display:none;padding:0 20px 18px;color:var(--muted);font-size:14px}
.faq-item.open .faq-answer{display:block}
.faq-answer p{margin:0;color:inherit}

.cta-section{padding:20px 0 76px}
.cta-panel{
 display:grid;
 grid-template-columns:.88fr 1.12fr;
 gap:35px;
 padding:40px;
 border-radius:var(--radius-lg);
 background:#dff0e5;
 border:1px solid #c6ddce;
 position:relative;
 overflow:hidden;
}
.cta-panel:before{
 content:"";
 position:absolute;
 left:0;
 top:0;
 width:8px;
 height:100%;
 background:var(--orange);
}
.cta-copy,.request-form{position:relative;z-index:1}
.cta-copy h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:13px}
.cta-copy p{max-width:470px;margin-bottom:21px}
.cta-points{display:grid;gap:9px}
.cta-points li{display:flex;align-items:center;gap:9px;color:var(--ink-soft);font-size:13px}
.cta-points i{width:20px;height:20px;border-radius:7px;background:var(--teal);color:#fff;display:grid;place-items:center;font-style:normal;font-size:11px}
.request-form{padding:23px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{display:grid;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:800;color:var(--ink-soft)}
.required{color:var(--orange-deep)}
.field input,.field select,.field textarea{
 width:100%;
 border:1px solid var(--line);
 border-radius:11px;
 background:#fff;
 color:var(--ink);
 outline:0;
 padding:11px 12px;
 transition:var(--ease);
}
.field textarea{min-height:85px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(18,154,134,.1)}
.field input.invalid,.field textarea.invalid{border-color:var(--orange);box-shadow:0 0 0 4px rgba(238,118,80,.1)}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.form-tip{font-size:11px;color:var(--muted);margin:0}
.form-status{display:none;margin-top:11px;padding:9px 11px;border-radius:9px;font-size:12px}
.form-status.success{display:block;background:#e8f6e9;color:var(--teal-deep)}
.form-status.error{display:block;background:#fff0eb;color:var(--orange-deep)}

footer{background:var(--ink);color:#fff;padding:52px 0 22px}
footer .brand{display:inline-flex}
footer .brand-mark{box-shadow:4px 4px 0 var(--lime)}
.footer-top{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;padding-bottom:38px}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.footer-links h4{font-size:13px;color:#fff;margin-bottom:14px;letter-spacing:0}
.footer-links a{display:block;color:#9db9ac;font-size:13px;margin:8px 0;transition:var(--ease)}
.footer-links a:hover{color:var(--lime);transform:translateX(3px)}
.footer-bottom{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:25px;
 border-top:1px solid rgba(255,255,255,.1);
 padding-top:20px;
 color:#78988a;
 font-size:12px;
}

@media (max-width:1200px){
 .nav{gap:18px}
 .nav-links{gap:18px;margin-left:4px}
 .search{width:170px}
 .hero-panel{padding:44px}
 .catalog-layout{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width:992px){
 .container{width:min(var(--container),calc(100% - 36px))}
 .topbar,.nav{height:70px}
 .nav-links{
  position:fixed;
  top:70px;
  right:-320px;
  width:300px;
  height:calc(100vh - 70px);
  z-index:60;
  margin:0;
  padding:24px;
  background:#fff;
  border-left:1px solid var(--line);
  box-shadow:-15px 20px 35px rgba(28,74,61,.1);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
  transition:right .25s ease;
 }
 .nav-links.open{right:0}
 .nav-links a{padding:13px 12px;border-radius:10px}
 .nav-links a.active{background:var(--surface-tint)}
 .nav-links a.active:after{display:none}
 .mobile-shade{position:fixed;inset:70px 0 0;background:rgba(23,58,53,.3);z-index:45}
 .mobile-shade.show{display:block}
 .menu-toggle{display:grid;place-items:center}
 .nav-tools .btn{display:none}
 .search{width:190px}
 .hero-panel{grid-template-columns:1fr;gap:28px}
 .hero-search-card{max-width:580px;width:100%}
 .catalog-layout{grid-template-columns:1fr}
 .sidebar{position:static;grid-template-columns:repeat(3,1fr);order:-1}
 .use-grid{grid-template-columns:1fr}
 .use-stack{grid-template-columns:1fr 1fr}
 .steps{grid-template-columns:1fr 1fr}
 .step:nth-child(2){border-right:0}
 .step:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .faq-wrap{grid-template-columns:240px 1fr}
 .cta-panel{grid-template-columns:1fr}
 .footer-top{grid-template-columns:1fr;gap:35px}
}
@media (max-width:768px){
 .container{width:min(var(--container),calc(100% - 28px))}
 .brand{font-size:15px}
 .brand-mark{width:32px;height:32px;border-radius:10px}
 .nav-tools .search{display:none}
 .category-hero{padding-top:20px}
 .hero-panel{padding:32px 25px;min-height:0;border-radius:22px}
 .hero-copy h1{font-size:35px}
 .hero-copy p{font-size:14px}
 .section{padding:52px 0}
 .section-head{display:block}
 .status-note{margin-top:12px}
 .sidebar{grid-template-columns:1fr 1fr}
 .side-card.accent{grid-column:1/-1}
 .catalog-toolbar{align-items:flex-start;flex-direction:column}
 .ranking-item{grid-template-columns:45px 105px minmax(0,1fr);gap:12px}
 .thumb{height:78px}
 .item-action{grid-column:2/-1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px}
 .faq-wrap{grid-template-columns:1fr}
 .faq-intro{position:static}
 .faq-index{font-size:48px}
 .cta-panel{padding:30px 24px}
 .footer-links{gap:20px}
 .footer-bottom{align-items:flex-start;flex-direction:column}
}
@media (max-width:576px){
 body{font-size:14px}
 .container{width:calc(100% - 22px)}
 .topbar,.nav{height:64px}
 .brand span:last-child{max-width:190px;overflow:hidden;text-overflow:ellipsis}
 .nav-links{top:64px;height:calc(100vh - 64px);width:min(300px,86vw)}
 .mobile-shade{inset:64px 0 0}
 .hero-panel{padding:27px 19px}
 .hero-copy h1{font-size:29px}
 .hero-actions{display:grid}
 .hero-actions .btn{width:100%}
 .hero-search-card{padding:18px}
 .quick-search{display:grid;grid-template-columns:1fr auto}
 .index-panel{margin-left:-2px;margin-right:-2px}
 .section{padding:44px 0}
 .section-head h2{font-size:27px}
 .sidebar{grid-template-columns:1fr}
 .side-card.accent{grid-column:auto}
 .ranking-item{grid-template-columns:42px minmax(0,1fr);padding:12px}
 .thumb{grid-column:2;height:120px}
 .item-info{grid-column:1/-1}
 .rank-number{grid-row:1}
 .item-info h3{white-space:normal}
 .item-action{grid-column:1/-1}
 .use-main{padding:25px 20px}
 .use-stack{grid-template-columns:1fr}
 .steps{grid-template-columns:1fr}
 .step{border-right:0!important;border-bottom:1px solid var(--line)}
 .step:last-child{border-bottom:0}
 .faq-question{padding:16px}
 .faq-answer{padding:0 16px 16px}
 .cta-panel{padding:26px 18px 22px}
 .request-form{padding:18px}
 .form-grid{grid-template-columns:1fr}
 .field.full{grid-column:auto}
 .form-foot{align-items:stretch;flex-direction:column}
 .form-foot .btn{width:100%}
 .footer-links{grid-template-columns:1fr 1fr}
 .footer-links>div:last-child{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{transition:none!important}
}
