/* roulang page: index */
:root{
            --plum:#55233f;
            --plum-deep:#321525;
            --plum-soft:#efe1e8;
            --wine:#783b59;
            --coral:#b76462;
            --coral-soft:#f4e1dc;
            --cream:#fbf7f1;
            --sand:#f2e9de;
            --paper:#fffdfa;
            --ink:#2d2229;
            --muted:#766d70;
            --line:#e5d9d4;
            --success:#3f7768;
            --warning:#9b5c45;
            --shadow:0 16px 40px rgba(61,31,43,.09);
            --shadow-small:0 6px 18px rgba(61,31,43,.07);
            --radius:14px;
            --radius-small:9px;
            --container:1200px;
        }
        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            background:var(--cream);
            color:var(--ink);
            font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
            font-size:16px;
            line-height:1.8;
            -webkit-font-smoothing:antialiased;
        }
        a{color:inherit;text-decoration:none}
        img{display:block;max-width:100%}
        button,input,select,textarea{font:inherit}
        button{cursor:pointer}
        :focus-visible{outline:3px solid rgba(183,100,98,.45);outline-offset:3px}
        .container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
        .topbar{
            position:sticky;top:0;z-index:30;
            background:rgba(251,247,241,.96);
            border-bottom:1px solid var(--line);
            backdrop-filter:blur(12px);
        }
        .nav-wrap{height:76px;display:flex;align-items:center;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;min-width:245px;color:var(--plum);font-weight:800;letter-spacing:-.03em}
        .brand-mark{
            width:38px;height:38px;border-radius:12px;background:var(--plum);
            color:#fff;display:grid;place-items:center;font-size:18px;
            box-shadow:0 6px 14px rgba(85,35,63,.2)
        }
        .brand-text{font-size:17px;line-height:1.25}
        .brand-text small{display:block;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.08em;margin-top:2px}
        .main-nav{display:flex;align-items:center;gap:5px;flex:1}
        .main-nav a,.nav-action{
            min-height:42px;padding:8px 14px;border-radius:9px;color:var(--muted);
            font-size:14px;transition:.2s ease;border:1px solid transparent;background:transparent
        }
        .main-nav a:hover,.nav-action:hover{background:var(--plum-soft);color:var(--plum)}
        .main-nav a.active{background:var(--plum);color:white;box-shadow:var(--shadow-small)}
        .nav-tools{display:flex;align-items:center;gap:8px}
        .nav-action{display:flex;align-items:center;gap:7px;white-space:nowrap}
        .menu-button{display:none;border:1px solid var(--line);background:var(--paper);color:var(--plum);border-radius:8px;min-width:44px;height:44px}
        .mobile-menu{display:none;border-top:1px solid var(--line);padding:12px 20px 18px;background:var(--cream)}
        .mobile-menu a{display:block;padding:10px 4px;color:var(--muted);border-bottom:1px solid var(--line)}
        .channel-bar{background:var(--plum-deep);color:#eadde2}
        .channel-scroll{display:flex;gap:10px;overflow:auto;padding:11px 0;scrollbar-width:none}
        .channel-scroll::-webkit-scrollbar{display:none}
        .channel-pill{white-space:nowrap;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 14px;font-size:13px;color:#ddcbd3;transition:.2s}
        .channel-pill:hover,.channel-pill.active{background:#f5e9e7;color:var(--plum-deep);border-color:#f5e9e7}
        .hero{padding:70px 0 56px;position:relative;overflow:hidden}
        .hero:after{content:"";position:absolute;width:390px;height:390px;border-radius:50%;background:var(--plum-soft);right:-150px;top:-160px;opacity:.55;z-index:-1}
        .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
        .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-weight:700;font-size:13px;letter-spacing:.05em;margin-bottom:15px}
        .eyebrow:before{content:"";width:23px;height:2px;background:var(--coral)}
        h1,h2,h3,p{margin-top:0}
        h1{font-size:clamp(36px,5vw,66px);line-height:1.16;letter-spacing:-.055em;margin-bottom:22px;color:var(--plum-deep);max-width:700px}
        .hero-copy{font-size:17px;color:var(--muted);max-width:650px;margin-bottom:28px}
        .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
        .btn{min-height:46px;border-radius:9px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;border:1px solid transparent;transition:.2s ease}
        .btn-primary{background:var(--plum);color:white;box-shadow:0 8px 16px rgba(85,35,63,.18)}
        .btn-primary:hover{background:var(--wine);box-shadow:0 11px 22px rgba(85,35,63,.24)}
        .btn-outline{border-color:var(--plum);color:var(--plum);background:transparent}
        .btn-outline:hover{background:var(--plum-soft)}
        .btn-light{background:#fff7f1;color:var(--plum-deep)}
        .btn-light:hover{background:white}
        .hero-note{margin-top:23px;color:var(--muted);font-size:12px;display:flex;gap:8px;align-items:flex-start}
        .hero-note strong{color:var(--warning)}
        .hero-stage{background:var(--plum-deep);border-radius:22px;padding:20px;box-shadow:var(--shadow);transform:rotate(1.5deg)}
        .stage-head{display:flex;justify-content:space-between;color:#decbd3;font-size:12px;margin:0 2px 15px}
        .stage-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:12px}
        .preview{position:relative;min-height:280px;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,#8f6875,#3e2235 58%,#25131f)}
        .preview:before,.thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,210,191,.35),transparent 42%,rgba(23,10,18,.45))}
        .preview-caption{position:absolute;left:17px;right:17px;bottom:16px;color:#fff;z-index:1}
        .preview-caption b{font-size:18px;display:block;line-height:1.45}
        .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:53px;height:53px;border-radius:50%;display:grid;place-items:center;background:rgba(255,249,243,.93);color:var(--plum);font-size:20px;z-index:2;box-shadow:0 8px 18px rgba(0,0,0,.2)}
        .mini-stack{display:grid;gap:12px}
        .thumb{min-height:134px;border-radius:13px;position:relative;overflow:hidden;background:linear-gradient(135deg,#bc8b83,#533347)}
        .thumb:nth-child(2){background:linear-gradient(135deg,#b09b87,#493042)}
        .thumb-label{position:absolute;left:12px;bottom:10px;color:#fff;font-size:12px;z-index:1}
        .duration{position:absolute;right:10px;bottom:9px;background:rgba(23,10,18,.78);color:white;padding:1px 7px;border-radius:5px;font-size:11px;z-index:3}
        .search-box{margin-top:35px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:7px;display:flex;max-width:630px;box-shadow:var(--shadow-small)}
        .search-box input{flex:1;border:0;background:transparent;padding:8px 12px;min-width:0;color:var(--ink)}
        .search-box input:focus{outline:0}
        .section{padding:72px 0}
        .section-sand{background:var(--sand)}
        .section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}
        .section-head h2{font-size:clamp(25px,3vw,38px);line-height:1.25;letter-spacing:-.04em;color:var(--plum-deep);margin-bottom:7px}
        .section-head p{color:var(--muted);max-width:620px;margin-bottom:0}
        .text-link{color:var(--plum);font-weight:700;font-size:14px;white-space:nowrap}
        .text-link:hover{text-decoration:underline}
        .pain-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
        .pain-item{padding:25px 24px 24px 0;border-right:1px solid var(--line)}
        .pain-item:not(:first-child){padding-left:24px}
        .pain-item:last-child{border-right:0}
        .pain-icon{width:35px;height:35px;border-radius:9px;background:var(--coral-soft);color:var(--coral);display:grid;place-items:center;font-weight:800;margin-bottom:15px}
        .pain-item h3{font-size:18px;margin-bottom:8px;color:var(--plum-deep)}
        .pain-item p{font-size:14px;color:var(--muted);margin-bottom:14px}
        .path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden}
        .path-step{padding:25px 22px;position:relative;border-right:1px solid var(--line)}
        .path-step:last-child{border-right:0}
        .step-num{color:var(--coral);font-size:13px;font-weight:800;letter-spacing:.08em}
        .path-step h3{font-size:17px;margin:12px 0 6px}
        .path-step p{color:var(--muted);font-size:13px;margin-bottom:0}
        .content-showcase{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
        .video-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-small);transition:.22s}
        .video-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
        .video-card.featured{grid-row:span 2}
        .cover{height:190px;position:relative;overflow:hidden;background:linear-gradient(135deg,#9b707b,#442538 65%,#2b1724)}
        .featured .cover{height:400px}
        .cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,12,24,.64),transparent 55%)}
        .cover.alt1{background:linear-gradient(135deg,#c49b8b,#674052)}
        .cover.alt2{background:linear-gradient(135deg,#a38e83,#382432)}
        .cover.alt3{background:linear-gradient(135deg,#b98989,#4c293b)}
        .cover-label{position:absolute;top:13px;left:13px;background:rgba(255,250,244,.9);color:var(--plum);border-radius:5px;padding:2px 7px;font-size:11px;font-weight:800;z-index:2}
        .video-info{padding:16px 17px 17px}
        .video-info h3{font-size:17px;line-height:1.45;margin:0 0 8px;color:var(--plum-deep)}
        .featured .video-info h3{font-size:21px}
        .meta-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:12px}
        .tag{display:inline-flex;align-items:center;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700}
        .tag-sub{background:#e3efe9;color:var(--success)}
        .tag-new{background:var(--coral-soft);color:var(--warning)}
        .tag-seen{background:#ece8e7;color:#72676a}
        .video-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:13px;padding-top:11px;color:var(--muted);font-size:12px}
        .video-actions a:hover{color:var(--plum)}
        .feedback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
        .feedback{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative}
        .feedback:before{content:"“";font-family:Georgia,serif;position:absolute;right:20px;top:7px;font-size:56px;color:var(--plum-soft);line-height:1}
        .feedback p{font-size:15px;line-height:1.8;min-height:85px;margin-bottom:18px;position:relative}
        .feedback footer{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
        .feedback footer b{color:var(--plum)}
        .info-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start}
        .info-list{border-top:1px solid var(--line)}
        .info-row{display:flex;gap:20px;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}
        .info-row a{font-weight:700;color:var(--plum-deep)}
        .info-row a:hover{color:var(--coral)}
        .info-row time{font-size:12px;color:var(--muted);white-space:nowrap}
        .guide{background:var(--plum);color:#fff1ed;border-radius:17px;padding:28px}
        .guide h3{font-size:22px;margin-bottom:9px}
        .guide p{color:#dfcdd2;font-size:14px}
        .guide-step{display:flex;gap:12px;border-top:1px solid rgba(255,255,255,.18);padding:13px 0}
        .guide-step b{width:25px;height:25px;border-radius:50%;background:var(--coral);display:grid;place-items:center;font-size:12px;flex:none}
        .guide-step span{font-size:13px;color:#f2e3e3}
        .faq-list{max-width:900px;margin:auto;border-top:1px solid var(--line)}
        .faq-item{border-bottom:1px solid var(--line)}
        .faq-item summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700;color:var(--plum-deep);list-style:none}
        .faq-item summary::-webkit-details-marker{display:none}
        .faq-item summary:after{content:"＋";font-size:21px;color:var(--coral);font-weight:400}
        .faq-item[open] summary:after{content:"－"}
        .faq-answer{color:var(--muted);font-size:14px;padding:0 35px 18px 0}
        .cta{background:var(--plum-deep);color:#fff1eb;padding:65px 0}
        .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
        .cta h2{font-size:clamp(26px,3vw,40px);line-height:1.25;letter-spacing:-.04em;margin-bottom:10px}
        .cta p{color:#dccbd0;margin-bottom:0;max-width:650px}
        .cta-actions{display:flex;gap:11px;flex-wrap:wrap;flex:none}
        .compliance{font-size:12px;color:#bba8af;margin-top:21px}
        footer{background:#24151e;color:#d9cbd0;padding:43px 0 25px}
        .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:35px;padding-bottom:35px}
        .footer-brand{color:#fff4ef;font-weight:800;font-size:16px;line-height:1.4}
        .footer-brand p{font-size:13px;color:#aa969e;font-weight:400;line-height:1.8;margin:13px 0 0;max-width:310px}
        footer h3{font-size:13px;color:#fff4ef;margin:0 0 12px}
        .footer-links{display:grid;gap:7px}
        .footer-links a{font-size:13px;color:#bbaab0}
        .footer-links a:hover{color:#fff3ec}
        .copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;color:#97848d;font-size:12px;display:flex;justify-content:space-between;gap:15px}
        .age-layer{position:fixed;inset:0;background:rgba(38,18,29,.74);z-index:80;display:grid;place-items:center;padding:20px}
        .age-layer.hidden{display:none}
        .age-box{max-width:480px;background:var(--cream);border-radius:18px;padding:34px;box-shadow:0 25px 70px rgba(20,8,15,.3);text-align:center}
        .age-box .brand-mark{margin:0 auto 15px}
        .age-box h2{color:var(--plum-deep);margin-bottom:10px}
        .age-box p{color:var(--muted);font-size:14px}
        .age-actions{display:flex;gap:10px;margin-top:23px}
        .age-actions .btn{flex:1}
        .status-strip{display:none}
        @media(max-width:1024px){
            .brand{min-width:auto}.main-nav{gap:0}.main-nav a{padding:8px 9px}
            .hero-grid,.content-showcase,.info-layout{grid-template-columns:1fr;gap:34px}
            .hero-stage{max-width:680px;width:100%;margin:auto}
            .content-showcase{max-width:750px}
            .video-card.featured{grid-row:auto}
            .featured .cover{height:300px}
        }
        @media(max-width:768px){
            .container{width:min(100% - 32px,var(--container))}
            .nav-wrap{height:66px;gap:12px}.brand-text{font-size:14px}.brand-mark{width:34px;height:34px}
            .main-nav,.nav-tools .nav-action{display:none}.nav-tools{margin-left:auto}.menu-button{display:block}
            .hero{padding:48px 0 40px}h1{font-size:40px}
            .section{padding:54px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:10px}
            .pain-grid{grid-template-columns:1fr}.pain-item,.pain-item:not(:first-child){padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}
            .pain-item:last-child{border-bottom:0}.path{grid-template-columns:1fr 1fr}.path-step:nth-child(2){border-right:0}.path-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
            .feedback-grid{grid-template-columns:1fr}.feedback p{min-height:auto}
            .info-layout{gap:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}
            .cta-inner{display:block}.cta-actions{margin-top:24px}.cta-actions .btn{flex:1}
            .copyright{display:block}.copyright span{display:block;margin-top:6px}
        }
        @media(max-width:520px){
            .brand-text small{display:none}.hero-grid{gap:24px}h1{font-size:35px}
            .hero-copy{font-size:15px}.hero-actions,.search-box{display:block}.hero-actions .btn,.search-box .btn{width:100%;margin-bottom:9px}
            .search-box input{width:100%;min-height:44px}.stage-grid{grid-template-columns:1fr}.preview{min-height:220px}.mini-stack{grid-template-columns:1fr 1fr}.thumb{min-height:110px}
            .path{grid-template-columns:1fr}.path-step,.path-step:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.path-step:last-child{border-bottom:0}
            .content-showcase{display:block}.video-card{margin-bottom:16px}.featured .cover,.cover{height:220px}
            .footer-grid{grid-template-columns:1fr}.age-box{padding:26px 20px}.age-actions{display:block}.age-actions .btn{width:100%;margin-bottom:9px}
        }

/* roulang page: category1 */
:root{
 --plum:#55233f;
 --plum-deep:#321525;
 --plum-soft:#efe1e8;
 --wine:#783b59;
 --coral:#b76462;
 --coral-soft:#f4e1dc;
 --cream:#fbf7f1;
 --sand:#f2e9de;
 --paper:#fffdfa;
 --ink:#2d2229;
 --muted:#766d70;
 --line:#e5d9d4;
 --success:#3f7768;
 --warning:#9b5c45;
 --shadow:0 16px 40px rgba(61,31,43,.09);
 --shadow-small:0 6px 18px rgba(61,31,43,.07);
 --radius:14px;
 --radius-small:9px;
 --container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(183,100,98,.42);outline-offset:2px}
.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:30;background:rgba(251,247,241,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-wrap{height:76px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:11px;min-width:245px;color:var(--plum);font-weight:800;letter-spacing:-.03em}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--plum);color:#fff;display:grid;place-items:center;font-size:18px;box-shadow:0 6px 14px rgba(85,35,63,.2)}
.brand-text{font-size:17px;line-height:1.25}
.brand-text small{display:block;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.08em;margin-top:2px}
.main-nav{display:flex;align-items:center;gap:5px;flex:1}
.main-nav a,.nav-action{min-height:42px;padding:8px 14px;border-radius:9px;color:var(--muted);font-size:14px;transition:.2s ease;border:1px solid transparent;background:transparent}
.main-nav a:hover,.nav-action:hover{background:var(--plum-soft);color:var(--plum)}
.main-nav a.active{background:var(--plum);color:white;box-shadow:var(--shadow-small)}
.nav-tools{display:flex;align-items:center;gap:8px}
.nav-action{display:flex;align-items:center;gap:7px;white-space:nowrap}
.menu-button{display:none;border:1px solid var(--line);background:var(--paper);color:var(--plum);border-radius:8px;min-width:44px;height:44px}
.mobile-menu{display:none;border-top:1px solid var(--line);padding:12px 20px 18px;background:var(--cream)}
.mobile-menu a{display:block;padding:10px 4px;color:var(--muted);border-bottom:1px solid var(--line)}
.channel-bar{background:var(--plum-deep);color:#fff}
.channel-scroll{display:flex;gap:10px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.channel-scroll::-webkit-scrollbar{display:none}
.channel-pill{white-space:nowrap;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 14px;font-size:13px;color:#ddcbd3;transition:.2s}
.channel-pill:hover,.channel-pill.active{background:#f5e9e7;color:var(--plum-deep);border-color:#f5e9e7}
.page-head{padding:52px 0 38px;background:var(--paper);border-bottom:1px solid var(--line)}
.breadcrumb{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;margin-bottom:20px}
.breadcrumb a:hover{color:var(--plum)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-weight:700;font-size:13px;letter-spacing:.05em;margin-bottom:12px}
.eyebrow:before{content:"";width:23px;height:2px;background:var(--coral)}
h1,h2,h3,p{margin-top:0}
h1{color:var(--plum-deep);font-size:clamp(30px,4vw,52px);line-height:1.2;letter-spacing:-.045em;margin-bottom:16px}
.page-intro{max-width:720px;color:var(--muted);font-size:17px;margin-bottom:0}
.section{padding:58px 0}
.section-sand{background:var(--sand)}
.content-layout{display:grid;grid-template-columns:255px 1fr;gap:34px;align-items:start}
.filter-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-small);position:sticky;top:100px}
.filter-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:17px}
.filter-title h2{font-size:18px;color:var(--plum-deep);margin:0}
.reset-link{font-size:12px;color:var(--coral);font-weight:700;border:0;background:none;padding:3px}
.filter-group{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.filter-group:last-of-type{border-bottom:0;margin-bottom:5px}
.filter-group h3{font-size:13px;color:var(--ink);margin-bottom:8px}
.filter-option{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;min-height:34px}
.filter-option input{accent-color:var(--plum);width:15px;height:15px}
.filter-select{width:100%;border:1px solid var(--line);background:var(--cream);border-radius:8px;color:var(--ink);padding:8px 10px;font-size:13px}
.filter-button{display:none;width:100%;border:1px solid var(--plum);background:var(--plum-soft);color:var(--plum);border-radius:8px;padding:9px;font-weight:700}
.results-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}
.results-head h2{font-size:24px;color:var(--plum-deep);margin:0}
.results-head p{font-size:13px;color:var(--muted);margin:0}
.sort-select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:8px 12px;font-size:13px}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.video-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-small);transition:.22s}
.video-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cover{height:190px;position:relative;overflow:hidden;background:linear-gradient(135deg,#63334f,#291724)}
.cover:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(245,214,201,.42),transparent 28%),linear-gradient(120deg,transparent 35%,rgba(255,255,255,.1) 36%,transparent 64%)}
.cover.c2{background:linear-gradient(135deg,#9c635d,#402437)}
.cover.c3{background:linear-gradient(135deg,#4b3155,#b06c69)}
.cover.c4{background:linear-gradient(135deg,#75455b,#e0a38d)}
.cover.c5{background:linear-gradient(135deg,#321d38,#8e516b)}
.cover.c6{background:linear-gradient(135deg,#683e43,#d39882)}
.cover-label{position:absolute;left:14px;top:14px;background:rgba(255,250,246,.9);color:var(--plum);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(50,21,37,.76);color:#fff;display:grid;place-items:center;font-size:18px;padding-left:3px;transition:.2s}
.video-card:hover .play{background:var(--coral);box-shadow:0 7px 18px rgba(50,21,37,.3)}
.duration{position:absolute;right:12px;bottom:11px;background:rgba(28,17,24,.84);color:#fff;border-radius:5px;padding:2px 7px;font-size:11px}
.card-body{padding:16px}
.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}
.badge-sub{background:#e2eee9;color:var(--success)}
.badge-topic{background:var(--plum-soft);color:var(--plum)}
.badge-new{background:var(--coral-soft);color:var(--warning)}
.card-title{font-size:17px;line-height:1.45;color:var(--plum-deep);font-weight:750;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}
.card-actions{display:flex;gap:15px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.card-actions button{border:0;background:none;color:inherit;padding:0}
.card-actions button:hover{color:var(--plum)}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:29px}
.page-number{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);display:grid;place-items:center;font-size:13px}
.page-number:hover,.page-number.active{background:var(--plum);border-color:var(--plum);color:#fff}
.info-strip{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.info-copy h2{font-size:30px;line-height:1.3;color:var(--plum-deep);margin-bottom:10px}
.info-copy p{color:var(--muted);margin-bottom:0}
.notice-card{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:var(--radius-small);padding:19px 20px}
.notice-card strong{display:block;color:var(--plum-deep);margin-bottom:4px}
.notice-card span{font-size:13px;color:var(--muted)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--plum-deep);font-weight:700}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"＋";font-size:21px;color:var(--coral);font-weight:400}
.faq-item[open] summary:after{content:"－"}
.faq-answer{padding:0 45px 18px 0;color:var(--muted);font-size:14px;max-width:760px}
.cta{background:var(--plum-deep);color:#fff;padding:55px 0}
.cta-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta h2{font-size:clamp(25px,3vw,37px);line-height:1.3;margin-bottom:9px}
.cta p{color:#d9c8d0;margin:0;max-width:680px;font-size:14px}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.cta-small{margin-top:16px;color:#bfaab4;font-size:12px}
footer{background:#24151e;color:#e7dce0;padding:31px 0}
.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
.footer-brand b{display:block;color:#fff;font-size:17px;margin-bottom:4px}
.footer-brand span{color:#baa9b0;font-size:12px}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;color:#cdbbc2;font-size:13px}
.footer-links a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:25px;padding-top:17px;color:#9f8c95;font-size:12px;display:flex;justify-content:space-between;gap:20px}
.age-modal{position:fixed;inset:0;z-index:80;background:rgba(36,21,30,.72);display:grid;place-items:center;padding:20px}
.age-dialog{width:min(470px,100%);background:var(--paper);border-radius:18px;border:1px solid var(--line);padding:30px;box-shadow:0 25px 70px rgba(20,10,17,.35)}
.age-mark{width:44px;height:44px;border-radius:12px;background:var(--plum-soft);color:var(--plum);display:grid;place-items:center;font-weight:800;margin-bottom:17px}
.age-dialog h2{color:var(--plum-deep);font-size:25px;margin-bottom:10px}
.age-dialog p{color:var(--muted);font-size:14px;margin-bottom:21px}
.age-actions{display:flex;gap:10px}
.age-actions .btn{flex:1}
.age-leave{background:transparent;border-color:var(--line);color:var(--muted)}
.age-leave:hover{background:var(--sand)}
.empty-state{display:none;text-align:center;border:1px dashed var(--line);padding:44px 20px;border-radius:var(--radius);color:var(--muted);background:var(--paper)}
@media(max-width:1024px){
 .nav-wrap{gap:15px}.brand{min-width:220px}.nav-action{padding:8px 9px}
 .content-layout{grid-template-columns:220px 1fr}.cover{height:175px}
}
@media(max-width:767px){
 .container{width:min(100% - 32px,var(--container))}
 .nav-wrap{height:67px}.brand{min-width:0;flex:1}.brand-mark{width:34px;height:34px;border-radius:10px}.brand-text{font-size:14px}.brand-text small{font-size:9px}
 .main-nav,.nav-tools{display:none}.menu-button{display:block}
 .mobile-menu.is-open{display:block}
 .page-head{padding:35px 0 28px}h1{font-size:33px}.page-intro{font-size:15px}
 .section{padding:42px 0}.content-layout{display:block}.filter-panel{position:static;margin-bottom:22px;padding:16px}
 .filter-panel .filter-group{display:none}.filter-panel.open .filter-group{display:block}.filter-button{display:block}
 .filter-title{margin-bottom:0}.filter-panel.open .filter-title{margin-bottom:17px}
 .results-head{align-items:flex-start;flex-direction:column}.results-head h2{font-size:22px}.sort-select{width:100%}
 .video-grid{grid-template-columns:1fr;gap:17px}.cover{height:205px}
 .info-strip{grid-template-columns:1fr}.info-copy h2{font-size:25px}
 .cta-wrap{display:block}.cta-actions{margin-top:22px}.cta-actions .btn{width:100%}
 .footer-inner,.footer-bottom{display:block}.footer-links{margin-top:20px;gap:12px 18px}.footer-bottom span{display:block;margin-top:7px}
 .age-dialog{padding:24px}.age-actions{flex-direction:column}
}
@media(max-width:520px){
 .card-title{font-size:16px}.cover{height:190px}.channel-scroll{padding-top:10px;padding-bottom:10px}
}
