/* roulang page: index */
:root{
      --blue:#2459c5;
      --blue-dark:#173b83;
      --cyan:#dff3f3;
      --orange:#efae62;
      --ink:#17243b;
      --muted:#66728a;
      --paper:#f7f9fc;
      --white:#fff;
      --line:#dce4ef;
      --soft:#eef3fa;
      --radius:18px;
      --shadow:0 16px 42px rgba(30,58,105,.10);
      --max:1220px;
      --space:104px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;font-size:16px;line-height:1.75}
    a{color:inherit;text-decoration:none;transition:color .2s,background .2s,border .2s,transform .2s,box-shadow .2s}
    img{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    .container{max-width:var(--max);margin:0 auto;padding:0 28px}
    .site-header{background:rgba(247,249,252,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
    .masthead{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}
    .brand{display:flex;align-items:center;gap:17px;white-space:nowrap}
    .brand-mark{width:42px;height:42px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:21px;font-weight:800;box-shadow:0 8px 18px rgba(36,89,197,.22)}
    .brand-name{font-size:23px;font-weight:800;letter-spacing:-.06em}
    .brand-sub{border-left:1px solid var(--line);padding-left:17px;color:var(--muted);font-size:12px;letter-spacing:.12em}
    .main-nav{display:flex;align-items:center;gap:9px}
    .main-nav a{position:relative;padding:12px 18px;color:var(--muted);font-size:14px}
    .main-nav a:after{content:"";position:absolute;left:18px;right:18px;bottom:4px;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .2s}
    .main-nav a:hover,.main-nav a.active{color:var(--blue-dark)}
    .main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
    .header-note{border-top:1px solid var(--line);color:var(--muted);font-size:12px;padding:7px 0;letter-spacing:.02em}
    .menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--blue)}
    .hero{padding:76px 0 88px;background:linear-gradient(180deg,#f7f9fc 0%,#edf4fb 100%);overflow:hidden}
    .hero-grid{display:grid;grid-template-columns:5fr 7fr;gap:62px;align-items:center}
    .eyebrow,.section-kicker{color:var(--blue);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(42px,5.2vw,70px);line-height:1.13;letter-spacing:-.075em;margin:16px 0 24px;max-width:600px}
    .hero-copy{font-size:18px;color:var(--muted);max-width:570px;margin-bottom:31px}
    .button-row{display:flex;gap:12px;flex-wrap:wrap}
    .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:11px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .button.primary{background:var(--blue);color:#fff;box-shadow:0 10px 22px rgba(36,89,197,.2)}
    .button.primary:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 14px 28px rgba(36,89,197,.27)}
    .button.secondary{background:#fff;color:var(--blue);border-color:#c8d6ed}
    .button.secondary:hover{border-color:var(--blue);background:#f3f7ff;transform:translateY(-2px)}
    .button:focus,input:focus,select:focus,textarea:focus,summary:focus{outline:3px solid rgba(36,89,197,.22);outline-offset:2px}
    .hero-points{display:flex;gap:22px;margin-top:34px;flex-wrap:wrap}
    .hero-point{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
    .hero-point b{font-size:23px;color:var(--ink)}
    .cover-stage{position:relative;min-height:430px}
    .cover-panel{height:430px;border-radius:24px;background:#dbe7f2;position:relative;overflow:hidden;box-shadow:var(--shadow);transform:rotate(2deg)}
    .cover-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(36,89,197,.85),rgba(113,182,184,.45) 48%,rgba(248,218,168,.65));}
    .cover-panel:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.28);right:-60px;top:35px}
    .cover-content{position:absolute;inset:30px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;z-index:1}
    .cover-title{font-size:42px;font-weight:800;line-height:1.1;max-width:300px;letter-spacing:-.07em}
    .cover-meta{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.55);padding-top:14px;font-size:12px}
    .index-card{position:absolute;left:-26px;bottom:27px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px 21px;width:230px;box-shadow:var(--shadow);z-index:2}
    .index-card strong{display:block;font-size:30px;color:var(--blue);line-height:1.2}
    .index-card span{font-size:12px;color:var(--muted)}
    .section{padding:var(--space) 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}
    h2{font-size:clamp(29px,3.4vw,43px);line-height:1.2;letter-spacing:-.06em;margin:9px 0 0}
    .section-intro{max-width:520px;color:var(--muted);margin:0}
    .matrix{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}
    .matrix-main,.matrix-side,.stat-board,.compare-card,.faq-wrap,.feedback-box{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
    .matrix-main{padding:34px;min-height:290px;display:flex;flex-direction:column;justify-content:space-between}
    .matrix-main h3{font-size:27px;margin:16px 0 10px}
    .matrix-main p,.matrix-side p{color:var(--muted);max-width:650px}
    .tag-list{display:flex;gap:9px;flex-wrap:wrap}
    .tag{background:var(--soft);color:var(--blue-dark);border-radius:8px;padding:5px 11px;font-size:12px;font-weight:700}
    .matrix-side{padding:27px;display:flex;flex-direction:column;justify-content:space-between}
    .matrix-side + .matrix-side{margin-top:20px}
    .side-stack{display:grid;gap:20px}
    .matrix-side h3{font-size:20px;margin:12px 0 8px}
    .number{color:var(--orange);font-weight:800;font-size:28px}
    .stat-section{background:#eaf1f9}
    .stat-board{padding:30px;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
    .stat{padding:8px 25px;border-right:1px solid var(--line)}
    .stat:last-child{border:0}
    .stat-value{font-size:34px;font-weight:800;color:var(--blue-dark);letter-spacing:-.04em}
    .stat-label{display:block;color:var(--muted);font-size:13px}
    .meter{height:5px;background:#e7edf5;border-radius:5px;margin-top:16px;overflow:hidden}
    .meter i{display:block;height:100%;background:var(--blue);border-radius:5px}
    .comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .compare-card{padding:32px}
    .compare-card.highlight{border-color:#a9c5f1;background:#f8fbff}
    .compare-card h3{font-size:22px;margin:13px 0 20px}
    .compare-card ul{list-style:none;margin:0;padding:0}
    .compare-card li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:14px}
    .compare-card li b{color:var(--ink);font-weight:700;text-align:right}
    .faq-area{background:#fff}
    .faq-wrap{padding:12px 28px}
    details{border-bottom:1px solid var(--line);padding:21px 0}
    details:last-child{border-bottom:0}
    summary{cursor:pointer;font-weight:750;list-style:none;padding-right:35px;position:relative}
    summary::-webkit-details-marker{display:none}
    summary:after{content:"+";position:absolute;right:3px;color:var(--blue);font-size:22px;top:-5px}
    details[open] summary:after{content:"−"}
    details p{color:var(--muted);font-size:14px;max-width:840px;margin:13px 0 0}
    .feedback{padding:var(--space) 0}
    .feedback-box{padding:39px}
    .feedback-grid{display:grid;grid-template-columns: .85fr 1.15fr;gap:55px;align-items:start}
    .feedback-copy p{color:var(--muted);max-width:430px}
    label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
    input,select,textarea{width:100%;border:1px solid var(--line);background:#fbfcfe;border-radius:10px;padding:12px 14px;color:var(--ink);margin-bottom:17px;transition:.2s}
    textarea{min-height:110px;resize:vertical}
    input:hover,select:hover,textarea:hover{border-color:#aabddc}
    .form-note{font-size:12px;color:var(--muted);margin-top:13px}
    .footer{background:#e8eef6;border-top:1px solid var(--line);padding:38px 0 24px}
    .footer-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
    .footer .brand-name{font-size:19px}
    .footer-copy{color:var(--muted);font-size:13px;max-width:390px;margin-top:12px}
    .footer-links{display:flex;gap:24px;color:var(--blue-dark);font-size:13px}
    .footer-links a:hover{color:var(--blue)}
    .footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:17px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;gap:15px}
    .age-badge{color:var(--blue-dark);font-weight:700}
    @media(max-width:900px){
      :root{--space:78px}
      .hero-grid{grid-template-columns:1fr;gap:40px}
      .cover-stage{max-width:650px;width:100%;margin:auto}
      .matrix{grid-template-columns:1fr}
      .stat-board{grid-template-columns:repeat(2,1fr);gap:20px}
      .stat{border-right:0;padding:10px 17px}
      .feedback-grid{grid-template-columns:1fr;gap:25px}
    }
    @media(max-width:640px){
      .container{padding:0 18px}
      .masthead{min-height:72px}
      .brand-sub{display:none}
      .brand-name{font-size:18px}
      .brand-mark{width:35px;height:35px;font-size:17px}
      .menu-toggle{display:block}
      .main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 18px;box-shadow:0 12px 22px rgba(30,58,105,.08)}
      .main-nav.open{display:flex;flex-direction:column;align-items:stretch}
      .main-nav a{padding:12px 4px;border-bottom:1px solid #edf1f6}
      .main-nav a:after{left:0;right:auto;width:28px;bottom:4px}
      .header-note{font-size:11px;white-space:nowrap;overflow:hidden}
      .hero{padding:54px 0 65px}
      h1{font-size:43px}
      .hero-copy{font-size:16px}
      .cover-stage{min-height:320px}
      .cover-panel{height:320px}
      .cover-title{font-size:32px}
      .index-card{left:10px;bottom:15px;width:190px;padding:14px}
      .index-card strong{font-size:25px}
      .section-head{display:block;margin-bottom:25px}
      .section-intro{margin-top:14px}
      .stat-board{display:flex;overflow:auto;gap:0;padding:21px 8px}
      .stat{min-width:145px}
      .stat-value{font-size:28px}
      .matrix-main,.matrix-side,.compare-card,.feedback-box{padding:24px}
      .comparison{grid-template-columns:1fr}
      .footer-top,.footer-bottom{display:block}
      .footer-links{margin-top:24px;flex-wrap:wrap;gap:14px}
      .footer-bottom span{display:block;margin-top:8px}
    }

/* roulang page: category1 */
:root{
      --blue:#2459c5;
      --blue-dark:#173b83;
      --cyan:#dff3f3;
      --orange:#efae62;
      --ink:#17243b;
      --muted:#66728a;
      --paper:#f7f9fc;
      --white:#fff;
      --line:#dce4ef;
      --soft:#eef3fa;
      --radius:18px;
      --shadow:0 16px 42px rgba(30,58,105,.10);
      --max:1220px;
      --space:78px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;font-size:16px;line-height:1.75}
    a{color:inherit;text-decoration:none;transition:color .2s,background .2s,border .2s,transform .2s,box-shadow .2s}
    img{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    h1,h2,h3,h4,p{margin-top:0}
    h1,h2,h3,h4{line-height:1.2;letter-spacing:-.045em}
    .container{max-width:var(--max);margin:0 auto;padding:0 28px}
    .site-header{background:rgba(247,249,252,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
    .header-main{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
    .brand{display:flex;align-items:center;gap:17px;white-space:nowrap}
    .brand-mark{width:42px;height:42px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:21px;font-weight:800;box-shadow:0 8px 18px rgba(36,89,197,.22)}
    .brand-name{font-size:23px;font-weight:800;letter-spacing:-.06em}
    .brand-sub{border-left:1px solid var(--line);padding-left:17px;color:var(--muted);font-size:12px;letter-spacing:.12em}
    .main-nav{display:flex;align-items:center;gap:9px}
    .main-nav a{position:relative;padding:12px 18px;color:var(--muted);font-size:14px}
    .main-nav a:after{content:"";position:absolute;left:18px;right:18px;bottom:4px;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .2s}
    .main-nav a:hover,.main-nav a.active{color:var(--blue-dark)}
    .main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
    .header-note{border-top:1px solid var(--line);color:var(--muted);font-size:12px;padding:7px 0;letter-spacing:.02em}
    .menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--blue)}
    .section{padding:var(--space) 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}
    .section-kicker,.eyebrow{color:var(--blue);font-weight:800;font-size:12px;letter-spacing:.14em}
    .section-head h2{font-size:34px;margin:9px 0 0}
    .section-intro{max-width:540px;color:var(--muted);margin:0}
    .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:11px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.22s}
    .button.primary{background:var(--blue);color:#fff;box-shadow:0 10px 22px rgba(36,89,197,.2)}
    .button.primary:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 14px 28px rgba(36,89,197,.27)}
    .button.secondary{background:#fff;color:var(--blue);border-color:#c8d6ed}
    .button.secondary:hover{border-color:var(--blue);background:#f3f7ff;transform:translateY(-2px)}
    .button:focus,input:focus,select:focus,textarea:focus,summary:focus{outline:3px solid rgba(36,89,197,.22);outline-offset:2px}
    .category-hero{padding:74px 0 68px;background:linear-gradient(180deg,#f7f9fc 0%,#edf4fb 100%)}
    .category-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end}
    .category-hero h1{font-size:clamp(42px,6vw,70px);margin:14px 0 20px;max-width:760px}
    .category-hero p{color:var(--muted);font-size:18px;max-width:700px;margin-bottom:28px}
    .creator-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}
    .creator-cover{height:150px;border-radius:13px;background:#dbe9f7;position:relative;overflow:hidden;margin-bottom:20px}
    .creator-cover:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:#b8d2f2;right:-48px;top:-76px}
    .creator-cover:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(36,89,197,.28);border-radius:50%;left:30px;bottom:-77px}
    .creator-info{display:flex;align-items:center;gap:14px}
    .avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:23px;font-weight:800}
    .creator-info strong{display:block;font-size:18px}
    .creator-info span{display:block;color:var(--muted);font-size:12px}
    .creator-stats{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:22px;padding-top:17px;color:var(--muted);font-size:12px}
    .creator-stats b{display:block;color:var(--ink);font-size:20px}
    .filter-box{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:28px}
    .filter-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
    .field label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
    input,select,textarea{width:100%;border:1px solid var(--line);background:#fbfcfe;border-radius:10px;padding:11px 14px;color:var(--ink);margin:0;transition:.2s}
    input:hover,select:hover,textarea:hover{border-color:#aabddc}
    .feature-banner{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;background:var(--blue-dark);border-radius:var(--radius);padding:30px 34px;color:#fff;margin-bottom:38px;overflow:hidden;position:relative}
    .feature-banner:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-60px;top:-130px}
    .feature-banner h2{font-size:29px;margin:10px 0 12px;position:relative;z-index:1}
    .feature-banner p{color:#dbe7fb;max-width:600px;margin:0;position:relative;z-index:1}
    .banner-meta{display:flex;align-items:center;justify-content:flex-end;gap:13px;position:relative;z-index:1}
    .banner-number{font-size:62px;line-height:1;font-weight:800;color:#a9c5f1}
    .banner-meta span{font-size:13px;color:#dbe7fb}
    .content-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:26px}
    .content-list{display:grid;gap:15px}
    .content-item{display:grid;grid-template-columns:170px 1fr auto;gap:20px;align-items:center;padding:17px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px rgba(30,58,105,.055);transition:.22s}
    .content-item:hover{transform:translateY(-3px);border-color:#afc6ec;box-shadow:var(--shadow)}
    .media-thumb{height:112px;border-radius:10px;background:var(--soft);position:relative;overflow:hidden}
    .media-thumb:before{content:"";position:absolute;inset:18px 24px;background:#c5d8f2;border-radius:7px;transform:rotate(-4deg)}
    .media-thumb:after{content:"合规封面";position:absolute;left:12px;bottom:10px;color:var(--blue-dark);font-size:11px;font-weight:700}
    .tag{display:inline-block;background:var(--soft);color:var(--blue-dark);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700}
    .content-item h3{font-size:20px;margin:10px 0 7px}
    .content-item p{font-size:13px;color:var(--muted);margin:0}
    .item-meta{display:flex;gap:12px;color:var(--muted);font-size:12px;margin-top:11px}
    .item-action{color:var(--blue);font-size:13px;font-weight:700;white-space:nowrap}
    .side-note{background:var(--cyan);border-radius:var(--radius);padding:25px;height:max-content}
    .side-note h3{font-size:21px;margin:0 0 12px}
    .side-note p{color:var(--muted);font-size:14px}
    .side-note ul{padding-left:18px;margin:0;color:var(--blue-dark);font-size:13px}
    .faq-area{background:#fff}
    .faq-wrap{padding:12px 28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
    details{border-bottom:1px solid var(--line);padding:20px 0}
    details:last-child{border-bottom:0}
    summary{cursor:pointer;list-style:none;font-weight:700;padding-right:30px;position:relative}
    summary::-webkit-details-marker{display:none}
    summary:after{content:"+";position:absolute;right:3px;color:var(--blue);font-size:22px;top:-5px}
    details[open] summary:after{content:"−"}
    details p{color:var(--muted);font-size:14px;max-width:800px;margin:13px 0 0}
    .cta-section{padding:70px 0}
    .cta-box{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#edf3fc;border:1px solid #cbdaf0;border-radius:var(--radius);padding:32px 36px}
    .cta-box h2{font-size:29px;margin:0 0 9px}
    .cta-box p{color:var(--muted);margin:0;max-width:650px}
    .footer{background:#e8eef6;border-top:1px solid var(--line);padding:38px 0 24px}
    .footer-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
    .footer .brand-name{font-size:19px}
    .footer-copy{color:var(--muted);font-size:13px;max-width:390px;margin-top:12px}
    .footer-links{display:flex;gap:24px;color:var(--blue-dark);font-size:13px}
    .footer-links a:hover{color:var(--blue)}
    .footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:17px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;gap:15px}
    .age-badge{color:var(--blue-dark);font-weight:700}
    @media(max-width:900px){
      .category-grid,.content-layout{grid-template-columns:1fr}
      .filter-row{grid-template-columns:1fr 1fr}
      .filter-row .button{width:100%}
      .banner-meta{justify-content:flex-start}
      .content-item{grid-template-columns:145px 1fr}
      .item-action{grid-column:2}
    }
    @media(max-width:640px){
      .container{padding:0 18px}
      .header-main{min-height:68px}
      .brand-name{font-size:18px}
      .brand-mark{width:36px;height:36px;font-size:18px}
      .menu-toggle{display:block}
      .main-nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 18px;flex-direction:column;align-items:stretch;box-shadow:0 12px 24px rgba(30,58,105,.08)}
      .main-nav.is-open{display:flex}
      .main-nav a{padding:12px 10px}
      .category-hero{padding:52px 0}
      .category-hero h1{font-size:43px}
      .category-hero p{font-size:16px}
      .section{padding:58px 0}
      .section-head{display:block;margin-bottom:25px}
      .section-intro{margin-top:14px}
      .filter-row{grid-template-columns:1fr}
      .feature-banner{grid-template-columns:1fr;padding:25px}
      .banner-number{font-size:46px}
      .content-item{grid-template-columns:1fr;gap:13px}
      .media-thumb{height:145px}
      .item-action{grid-column:auto}
      .cta-box{display:block;padding:27px}
      .cta-box .button{margin-top:20px;width:100%}
      .footer-top,.footer-bottom{display:block}
      .footer-links{flex-wrap:wrap;margin-top:24px;gap:14px 20px}
      .footer-bottom span{display:block;margin-top:11px}
    }
