/* roulang page: index */
:root{
      --plum:#281a32;
      --plum-2:#3b2748;
      --plum-3:#5f436d;
      --jade:#24b58a;
      --jade-dark:#168968;
      --jade-soft:#dff6ee;
      --coral:#f47c5b;
      --coral-soft:#fff0ea;
      --cream:#f6f1e8;
      --paper:#fffdf8;
      --ink:#281f2f;
      --muted:#716a75;
      --line:#e5ddd3;
      --line-dark:rgba(255,255,255,.18);
      --shadow:0 15px 42px rgba(48,31,54,.10);
      --shadow-hover:0 22px 44px rgba(48,31,54,.16);
      --radius-sm:12px;
      --radius:18px;
      --radius-lg:28px;
      --container:1200px;
      --ease:all .24s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;background:var(--cream);color:var(--ink);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
      font-size:16px;line-height:1.72;letter-spacing:.01em;
    }
    a{color:inherit;text-decoration:none}
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    img{display:block;max-width:100%}
    ::selection{background:var(--jade);color:#fff}
    .container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
    .site-header{
      position:sticky;top:0;z-index:100;background:rgba(246,241,232,.94);
      border-bottom:1px solid rgba(40,26,50,.08);backdrop-filter:blur(14px)
    }
    .nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand{display:flex;align-items:center;gap:11px;min-width:220px}
    .brand-mark{
      width:39px;height:39px;border-radius:12px;background:var(--plum);position:relative;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)
    }
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--jade);border-radius:2px}
    .brand-mark:before{width:19px;height:5px;left:10px;top:11px;transform:skewY(-30deg)}
    .brand-mark:after{width:11px;height:5px;left:16px;top:21px;transform:skewY(-30deg);background:#f7bd82}
    .brand-text{display:flex;flex-direction:column;line-height:1.1}
    .brand-name{font-size:17px;font-weight:800;letter-spacing:.02em;color:var(--plum)}
    .brand-sub{font-size:11px;color:var(--muted);margin-top:4px}
    .desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px}
    .desktop-nav a{
      position:relative;padding:9px 11px;color:#594f5d;font-size:14px;white-space:nowrap;
      border-radius:8px;transition:var(--ease)
    }
    .desktop-nav a:hover{color:var(--plum);background:#eee7df}
    .desktop-nav a.active{color:var(--plum);font-weight:800}
    .desktop-nav a.active:after{
      content:"";position:absolute;left:11px;right:11px;bottom:2px;height:3px;border-radius:4px;background:var(--jade)
    }
    .nav-download{
      display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
      background:var(--plum);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:700;
      transition:var(--ease);box-shadow:0 6px 16px rgba(40,26,50,.16)
    }
    .nav-download:hover{background:var(--jade-dark);transform:translateY(-2px)}
    .menu-toggle{
      display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);border-radius:10px;
      color:var(--plum);font-size:20px
    }
    .mobile-panel{display:none}
    .hero{position:relative;overflow:hidden;background:var(--plum);color:#fff;padding:72px 0 62px}
    .hero:before{
      content:"";position:absolute;inset:0;opacity:.45;pointer-events:none;
      background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
      background-size:32px 32px;mask-image:linear-gradient(90deg,#000 0%,transparent 75%)
    }
    .hero:after{
      content:"";position:absolute;width:500px;height:500px;right:-160px;top:-260px;border:1px solid rgba(36,181,138,.43);
      border-radius:50%;box-shadow:0 0 0 40px rgba(36,181,138,.05),0 0 0 80px rgba(36,181,138,.035)
    }
    .hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:end;gap:54px}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.08em;color:#bdeedc}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(244,124,91,.16)}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(36px,4.2vw,56px);line-height:1.18;letter-spacing:-.045em;margin:17px 0 18px;max-width:760px}
    .hero h1 em{font-style:normal;color:#76d9bd}
    .hero-lead{max-width:650px;margin:0;color:#dfd7e4;font-size:18px;line-height:1.8}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}
    .btn{
      min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;
      padding:11px 19px;border-radius:11px;font-weight:800;font-size:15px;transition:var(--ease)
    }
    .btn-primary{background:var(--jade);color:#102a25;box-shadow:0 8px 20px rgba(36,181,138,.22)}
    .btn-primary:hover{background:#43c79e;transform:translateY(-2px);box-shadow:0 12px 24px rgba(36,181,138,.28)}
    .btn-secondary{border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.06)}
    .btn-secondary:hover{background:#fff;color:var(--plum);transform:translateY(-2px)}
    .btn:focus-visible,.menu-toggle:focus-visible,.desktop-nav a:focus-visible,.footer-links a:focus-visible,.faq-q:focus-visible{outline:3px solid #f7bd82;outline-offset:3px}
    .hero-note{font-size:12px;color:#bcb1c3;margin:15px 0 0}
    .signal-panel{
      position:relative;background:#34223f;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-lg);
      padding:22px;box-shadow:20px 20px 0 rgba(0,0,0,.10)
    }
    .panel-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--line-dark)}
    .panel-title{font-size:14px;font-weight:800}
    .live-dot{font-size:11px;color:#a9e7d4;display:flex;align-items:center;gap:6px}
    .live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--jade)}
    .headline-card{padding:20px 0 17px;border-bottom:1px solid var(--line-dark)}
    .date-chip{display:inline-flex;background:rgba(244,124,91,.17);color:#ffb49f;font-size:12px;padding:3px 8px;border-radius:5px}
    .headline-card h3{font-size:22px;line-height:1.42;margin:12px 0 7px;letter-spacing:-.02em}
    .headline-card p{font-size:13px;color:#c9bfce;margin:0}
    .signal-list{list-style:none;padding:0;margin:13px 0 0}
    .signal-list li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;color:#e7e0ea;font-size:13px}
    .signal-num{color:#6be1bd;font-weight:800;font-size:12px;padding-top:1px}
    .section{padding:86px 0}
    .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
    .section-kicker{font-size:13px;color:var(--jade-dark);font-weight:800;letter-spacing:.08em;margin-bottom:6px}
    h2{font-size:clamp(27px,3vw,38px);line-height:1.25;letter-spacing:-.035em;margin-bottom:0;color:var(--plum)}
    .section-intro{max-width:470px;color:var(--muted);font-size:15px;margin:0}
    .text-link{font-size:14px;font-weight:800;color:var(--jade-dark);white-space:nowrap}
    .text-link:hover{color:var(--plum);text-decoration:underline;text-underline-offset:4px}
    .news-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}
    .feature-news{
      min-height:360px;position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--plum);
      padding:31px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow)
    }
    .feature-news:before{
      content:"";position:absolute;width:380px;height:380px;right:-100px;top:-110px;border:1px solid rgba(255,255,255,.17);border-radius:42% 58% 65% 35% / 45% 43% 57% 55%;
      box-shadow:0 0 0 35px rgba(36,181,138,.11),0 0 0 70px rgba(244,124,91,.05)
    }
    .feature-news>*{position:relative}
    .badge{display:inline-flex;width:max-content;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;font-size:12px;font-weight:800}
    .badge-new{background:var(--coral);color:#fff}
    .badge-jade{background:var(--jade-soft);color:#147257}
    .badge-plum{background:#eee7f1;color:var(--plum)}
    .feature-news h3{font-size:29px;line-height:1.35;letter-spacing:-.03em;max-width:570px;margin:15px 0 10px}
    .feature-news p{color:#dad0df;max-width:530px;margin:0 0 18px;font-size:15px}
    .news-meta{font-size:12px;color:#b9adbf;display:flex;align-items:center;gap:12px}
    .compact-news{display:flex;flex-direction:column;gap:10px}
    .compact-item{
      flex:1;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px 17px;
      display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;transition:var(--ease)
    }
    .compact-item:hover{transform:translateX(4px);box-shadow:var(--shadow);border-color:#cfc2d4}
    .compact-index{font-weight:900;font-size:20px;color:#d9cdd9;letter-spacing:-.08em}
    .compact-item h3{font-size:15px;line-height:1.45;margin:0 0 3px;color:var(--plum)}
    .compact-item p{font-size:12px;color:var(--muted);margin:0}
    .arrow{font-size:21px;color:var(--jade-dark);transition:var(--ease)}
    .compact-item:hover .arrow{transform:translateX(3px)}
    .theme-strip{padding:0 0 86px}
    .theme-board{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
    .theme-item{padding:29px 23px 28px;border-right:1px solid var(--line);transition:var(--ease)}
    .theme-item:last-child{border-right:0}
    .theme-item:hover{background:var(--paper)}
    .theme-no{font-size:12px;font-weight:900;color:var(--coral);letter-spacing:.1em}
    .theme-item h3{font-size:20px;color:var(--plum);margin:9px 0 7px}
    .theme-item p{font-size:13px;color:var(--muted);margin:0 0 10px}
    .theme-item a{font-size:13px;color:var(--jade-dark);font-weight:800}
    .topic-section{background:#ece4db;padding:82px 0}
    .category-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
    .category-stack{display:grid;gap:18px}
    .category-card{
      position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
      padding:25px;transition:var(--ease)
    }
    .category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#cdbfd1}
    .category-card.large{min-height:330px;background:var(--plum);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
    .category-card.large:after{content:"01";position:absolute;right:20px;top:-27px;font-size:145px;line-height:1;font-weight:900;color:rgba(255,255,255,.06)}
    .category-card.large h3,.category-card.large p,.category-card.large .category-count{position:relative}
    .category-card h3{font-size:24px;line-height:1.35;margin:12px 0 8px;color:var(--plum)}
    .category-card.large h3{font-size:30px;color:#fff}
    .category-card p{font-size:14px;color:var(--muted);margin:0 0 18px;max-width:510px}
    .category-card.large p{color:#d3c7d9}
    .category-count{font-size:12px;color:var(--jade-dark);font-weight:800;margin-bottom:15px}
    .category-card.large .category-count{color:#8be6ca}
    .category-label{font-size:12px;color:var(--coral);font-weight:900;letter-spacing:.08em}
    .category-link{font-size:14px;font-weight:800;color:var(--jade-dark)}
    .category-card.large .category-link{color:#8be6ca}
    .download-section{padding:90px 0}
    .download-shell{
      overflow:hidden;display:grid;grid-template-columns:.92fr 1.08fr;border-radius:var(--radius-lg);background:var(--paper);
      border:1px solid var(--line);box-shadow:var(--shadow)
    }
    .download-visual{padding:44px;background:#e0f1e9;position:relative;min-height:430px;overflow:hidden}
    .download-visual:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;border:1px solid rgba(22,137,104,.2);left:-150px;top:-115px;box-shadow:0 0 0 35px rgba(22,137,104,.055),0 0 0 70px rgba(22,137,104,.035)}
    .app-symbol{
      position:relative;width:95px;height:95px;background:var(--plum);border-radius:27px;display:grid;place-items:center;
      font-size:38px;font-weight:900;color:#fff;box-shadow:0 18px 28px rgba(40,26,50,.18)
    }
    .app-symbol span{color:#77dfc0}
    .device-card{
      position:absolute;right:37px;bottom:-31px;width:225px;background:#fffdf8;border:7px solid var(--plum);border-radius:25px;
      padding:18px 15px 50px;box-shadow:0 16px 25px rgba(40,26,50,.18);transform:rotate(5deg)
    }
    .device-head{height:9px;width:58px;border-radius:9px;background:#e3dce2;margin:0 auto 19px}
    .device-title{font-size:12px;font-weight:900;color:var(--plum);margin-bottom:13px}
    .device-line{height:8px;border-radius:6px;background:#e9e2e5;margin:8px 0}
    .device-line.green{width:75%;background:var(--jade)}
    .device-tag{display:inline-block;margin-top:9px;padding:4px 7px;background:var(--coral-soft);color:#b4523a;border-radius:5px;font-size:10px;font-weight:800}
    .download-content{padding:43px 46px}
    .download-content h2{margin:7px 0 12px}
    .download-content>p{color:var(--muted);margin-bottom:22px}
    .download-row{display:grid;grid-template-columns:1fr 120px;gap:22px;align-items:center}
    .download-steps{list-style:none;padding:0;margin:0}
    .download-steps li{display:flex;gap:10px;padding:8px 0;font-size:14px;color:#504756}
    .step-no{flex:0 0 23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--jade-soft);color:var(--jade-dark);font-size:11px;font-weight:900;margin-top:1px}
    .qr-box{width:120px;height:120px;border:8px solid var(--plum);background:
      linear-gradient(90deg,var(--plum) 10%,transparent 10% 20%,var(--plum) 20% 30%,transparent 30% 40%,var(--plum) 40% 50%,transparent 50% 60%,var(--plum) 60% 70%,transparent 70% 80%,var(--plum) 80% 90%,transparent 90%),
      linear-gradient(var(--plum) 10%,transparent 10% 20%,var(--plum) 20% 30%,transparent 30% 40%,var(--plum) 40% 50%,transparent 50% 60%,var(--plum) 60% 70%,transparent 70% 80%,var(--plum) 80% 90%,transparent 90%);
      background-size:18px 18px;background-color:#fff;border-radius:6px;position:relative
    }
    .qr-box:after{content:"扫码";position:absolute;inset:35px 29px;background:#fff;color:var(--plum);font-size:12px;font-weight:900;display:grid;place-items:center}
    .download-action{display:flex;align-items:center;gap:14px;margin-top:25px}
    .download-action small{font-size:12px;line-height:1.5;color:var(--muted)}
    .trust-section{background:var(--plum);color:#fff;padding:81px 0}
    .trust-section h2{color:#fff}
    .trust-section .section-kicker{color:#8be6ca}
    .trust-section .section-intro{color:#c9becf}
    .trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
    .trust-item{background:var(--plum);padding:28px 26px}
    .trust-num{font-size:13px;color:#7be0c2;font-weight:900;letter-spacing:.12em}
    .trust-item h3{font-size:20px;margin:12px 0 8px;color:#fff}
    .trust-item p{font-size:14px;color:#cfc3d4;margin:0}
    .faq-section{padding:88px 0}
    .faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:68px;align-items:start}
    .faq-side p{color:var(--muted);font-size:15px}
    .faq-quick{margin-top:24px;padding:18px;background:#e9f5ef;border-radius:var(--radius-sm);font-size:13px;color:#386054}
    .faq-list{border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-q{
      width:100%;border:0;background:transparent;color:var(--plum);padding:19px 2px;text-align:left;font-weight:800;font-size:16px;
      display:flex;justify-content:space-between;align-items:center;gap:20px
    }
    .faq-q span:last-child{color:var(--jade-dark);font-size:23px;font-weight:400;transition:var(--ease)}
    .faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
    .faq-a{display:none;padding:0 35px 19px 2px;color:var(--muted);font-size:14px}
    .faq-item.open .faq-a{display:block}
    .cta-section{padding:0 0 88px}
    .cta-box{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:48px 52px;background:var(--coral);color:#fff}
    .cta-box:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.25);border-radius:50%;right:-150px;top:-220px;box-shadow:0 0 0 36px rgba(255,255,255,.08)}
    .cta-box>*{position:relative}
    .cta-box h2{color:#fff;max-width:660px;margin-bottom:11px}
    .cta-box p{max-width:620px;color:#fff4ef;margin:0 0 23px}
    .cta-actions{display:flex;gap:12px;flex-wrap:wrap}
    .cta-box .btn-primary{background:#fff;color:#a94732;box-shadow:none}
    .cta-box .btn-primary:hover{background:#fff5ef}
    .cta-box .btn-secondary{color:#fff;border-color:rgba(255,255,255,.65)}
    .site-footer{background:#1f1526;color:#d5cad9;padding:51px 0 23px}
    .footer-top{display:grid;grid-template-columns:1.25fr repeat(2,.75fr);gap:40px;padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.13)}
    .footer-brand .brand-name{color:#fff}
    .footer-brand .brand-sub{color:#ab9fb2}
    .footer-brand p{max-width:380px;margin:16px 0 0;font-size:13px;color:#b9adbf}
    .footer-title{font-size:14px;font-weight:900;color:#fff;margin:3px 0 12px}
    .footer-links{list-style:none;padding:0;margin:0}
    .footer-links li{margin:7px 0}
    .footer-links a{font-size:13px;color:#beb3c4;transition:var(--ease)}
    .footer-links a:hover{color:#83e3c6}
    .footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:20px;font-size:12px;color:#988d9f}
    .footer-bottom p{margin:0;max-width:760px}
    @media (max-width:1024px){
      .desktop-nav{gap:0}.desktop-nav a{padding:8px 7px;font-size:13px}
      .brand{min-width:195px}.hero-grid{gap:30px}
      .category-grid{grid-template-columns:1fr 1fr}.download-content{padding:37px 31px}
      .faq-layout{gap:40px}
    }
    @media (max-width:768px){
      .container{width:min(calc(100% - 32px),var(--container))}
      .nav-wrap{height:68px}.desktop-nav,.nav-download{display:none}.menu-toggle{display:block}
      .mobile-panel{background:var(--paper);border-top:1px solid var(--line);padding:10px 16px 16px}
      .mobile-panel.open{display:block}.mobile-panel a{display:block;padding:11px 8px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700;color:var(--plum)}
      .mobile-panel a:last-child{border-bottom:0}.mobile-panel a.active{color:var(--jade-dark)}
      .mobile-download{margin-top:12px;background:var(--jade);color:#173b32!important;text-align:center;border-radius:9px;border:0!important}
      .hero{padding:52px 0 44px}.hero-grid,.news-layout,.download-shell,.faq-layout{grid-template-columns:1fr}
      .hero-grid{gap:32px}.hero-lead{font-size:16px}.signal-panel{max-width:570px}
      .section{padding:63px 0}.section-head{display:block;margin-bottom:24px}.section-intro{margin-top:10px}.section-head .text-link{display:inline-block;margin-top:12px}
      .feature-news{min-height:305px}.feature-news h3{font-size:24px}.compact-item{padding:13px 14px}
      .theme-strip{padding:0 0 63px}.theme-board{grid-template-columns:1fr 1fr}.theme-item:nth-child(2){border-right:0}.theme-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
      .topic-section{padding:62px 0}.category-grid{grid-template-columns:1fr}.category-card.large{min-height:265px}
      .download-section{padding:64px 0}.download-visual{min-height:320px;padding:30px}.device-card{right:24px;width:190px;bottom:-40px}.download-content{padding:33px 26px}
      .trust-section{padding:62px 0}.trust-grid{grid-template-columns:1fr}.trust-item{padding:24px}
      .faq-layout{gap:22px}.cta-section{padding:0 0 65px}.cta-box{padding:34px 26px}.footer-top{grid-template-columns:1fr 1fr;gap:27px}.footer-brand{grid-column:1/-1}
    }
    @media (max-width:520px){
      .brand-name{font-size:15px}.brand-sub{font-size:10px}.brand{min-width:0}.hero-actions,.cta-actions{flex-direction:column}.btn{width:100%}
      h1{font-size:35px}.hero-note{font-size:11px}.signal-panel{padding:17px}.headline-card h3{font-size:19px}
      .feature-news{padding:23px}.compact-item{grid-template-columns:auto 1fr}.compact-item .arrow{display:none}
      .theme-board{grid-template-columns:1fr}.theme-item,.theme-item:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.theme-item:last-child{border-bottom:0}
      .category-card{padding:21px}.category-card.large h3{font-size:25px}.download-row{grid-template-columns:1fr}.qr-box{display:none}
      .download-action{display:block}.download-action small{display:block;margin-top:10px}.footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom p+p{margin-top:8px}
    }

/* roulang page: category1 */
:root{
      --plum:#281a32;
      --plum-2:#3b2748;
      --plum-3:#5f436d;
      --jade:#24b58a;
      --jade-dark:#168968;
      --jade-soft:#dff6ee;
      --coral:#f47c5b;
      --coral-soft:#fff0ea;
      --cream:#f6f1e8;
      --paper:#fffdf8;
      --ink:#281f2f;
      --muted:#716a75;
      --line:#e5ddd3;
      --line-dark:rgba(255,255,255,.18);
      --shadow:0 15px 42px rgba(48,31,54,.10);
      --shadow-hover:0 22px 44px rgba(48,31,54,.16);
      --radius-sm:12px;
      --radius:18px;
      --radius-lg:28px;
      --container:1200px;
      --ease:all .24s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;background:var(--cream);color:var(--ink);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
      font-size:16px;line-height:1.72;letter-spacing:.01em
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    .container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
    .site-header{
      position:sticky;top:0;z-index:100;background:rgba(246,241,232,.95);
      border-bottom:1px solid rgba(40,26,50,.08);backdrop-filter:blur(14px)
    }
    .nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand{display:flex;align-items:center;gap:11px;min-width:220px}
    .brand-mark{
      width:39px;height:39px;border-radius:12px;background:var(--plum);position:relative;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)
    }
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--jade);border-radius:2px}
    .brand-mark:before{width:19px;height:5px;left:10px;top:11px;transform:skewY(-30deg)}
    .brand-mark:after{width:11px;height:5px;left:16px;top:21px;transform:skewY(-30deg);background:#f7bd82}
    .brand-text{display:flex;flex-direction:column;line-height:1.1}
    .brand-name{font-size:17px;font-weight:800;letter-spacing:.02em;color:var(--plum)}
    .brand-sub{font-size:11px;color:var(--muted);margin-top:4px}
    .desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px}
    .desktop-nav a{
      position:relative;padding:9px 11px;color:#594f5d;font-size:14px;white-space:nowrap;
      border-radius:8px;transition:var(--ease)
    }
    .desktop-nav a:hover{color:var(--plum);background:#eee7df}
    .desktop-nav a.active{color:var(--plum);font-weight:800}
    .desktop-nav a.active:after{
      content:"";position:absolute;left:11px;right:11px;bottom:2px;height:3px;
      border-radius:4px;background:var(--jade)
    }
    .nav-download{
      display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
      background:var(--plum);color:#fff;padding:10px 16px;border-radius:10px;
      font-size:14px;font-weight:700;transition:var(--ease);box-shadow:0 6px 16px rgba(40,26,50,.16)
    }
    .nav-download:hover{background:var(--jade-dark);transform:translateY(-2px);color:#fff}
    .menu-toggle{
      display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);
      border-radius:10px;color:var(--plum);font-size:20px
    }
    .mobile-panel{display:none}
    .btn{
      min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
      border:1px solid transparent;padding:11px 19px;border-radius:11px;font-weight:800;
      font-size:15px;transition:var(--ease)
    }
    .btn-primary{background:var(--jade);color:#102a25;box-shadow:0 8px 20px rgba(36,181,138,.22)}
    .btn-primary:hover{background:#43c79e;transform:translateY(-2px);color:#102a25;box-shadow:0 12px 24px rgba(36,181,138,.28)}
    .btn-dark{background:var(--plum);color:#fff}
    .btn-dark:hover{background:var(--jade-dark);color:#fff;transform:translateY(-2px)}
    .btn:focus-visible,.menu-toggle:focus-visible,.desktop-nav a:focus-visible,
    .mobile-panel a:focus-visible,.footer-links a:focus-visible,.faq-q:focus-visible{
      outline:3px solid #f7bd82;outline-offset:3px
    }
    .page-hero{background:var(--plum);color:#fff;padding:56px 0 50px;position:relative;overflow:hidden}
    .page-hero:before{
      content:"";position:absolute;inset:0;opacity:.42;
      background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
      background-size:32px 32px;mask-image:linear-gradient(90deg,#000,transparent 80%)
    }
    .page-hero:after{
      content:"";position:absolute;width:440px;height:440px;right:-170px;top:-245px;
      border:1px solid rgba(36,181,138,.4);border-radius:50%;
      box-shadow:0 0 0 38px rgba(36,181,138,.05),0 0 0 76px rgba(36,181,138,.03)
    }
    .hero-inner{position:relative;display:grid;grid-template-columns:1fr 360px;gap:60px;align-items:end}
    .crumbs{font-size:13px;color:#c9bfce;margin-bottom:18px}
    .crumbs a:hover{color:#76d9bd}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#bdeedc;font-size:13px;font-weight:800;letter-spacing:.08em}
    .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(244,124,91,.16)}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(36px,4.2vw,52px);line-height:1.18;letter-spacing:0;margin:13px 0 18px;font-weight:900}
    .page-hero h1 em{font-style:normal;color:#76d9bd}
    .hero-lead{max-width:700px;color:#dfd7e4;font-size:17px;margin:0}
    .hero-brief{border-left:3px solid var(--jade);padding:8px 0 8px 18px;color:#e7e0ea;font-size:14px}
    .hero-brief strong{display:block;color:#fff;font-size:18px;margin-bottom:4px}
    .section{padding:78px 0}
    .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
    .section-kicker{font-size:13px;color:var(--jade-dark);font-weight:800;letter-spacing:.08em;margin-bottom:6px}
    h2{font-size:32px;line-height:1.3;margin:0;font-weight:900;color:var(--plum)}
    .section-intro{max-width:500px;color:var(--muted);font-size:15px;margin:0}
    .filter-bar{
      display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:15px 18px;
      background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
      box-shadow:0 8px 24px rgba(48,31,54,.05);margin-bottom:30px
    }
    .filter-label{font-size:14px;font-weight:800;color:var(--plum);margin-right:5px}
    .filter-btn{
      border:1px solid var(--line);background:transparent;color:var(--muted);padding:7px 13px;
      border-radius:8px;font-size:13px;transition:var(--ease)
    }
    .filter-btn:hover,.filter-btn.active{background:var(--jade-soft);border-color:#a5e4d0;color:var(--jade-dark);font-weight:700}
    .news-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:26px}
    .focus-news{
      min-height:390px;border-radius:var(--radius-lg);background:var(--plum);color:#fff;
      padding:32px;position:relative;overflow:hidden;display:flex;align-items:flex-end;
      box-shadow:var(--shadow)
    }
    .focus-news:before{
      content:"";position:absolute;inset:0;background:
      linear-gradient(135deg,rgba(36,181,138,.3),transparent 44%),
      repeating-linear-gradient(135deg,transparent 0 19px,rgba(255,255,255,.045) 20px 21px)
    }
    .focus-content{position:relative;max-width:570px}
    .tag{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;background:var(--coral-soft);color:#c45135;font-size:12px;font-weight:800}
    .tag-dark{background:rgba(244,124,91,.18);color:#ffb49f}
    .focus-news h3{font-size:28px;line-height:1.4;margin:16px 0 10px}
    .focus-news p{font-size:14px;color:#d9d0df;margin:0 0 18px}
    .meta{font-size:12px;color:var(--muted)}
    .focus-news .meta{color:#bcb1c3}
    .news-list{display:flex;flex-direction:column;gap:12px}
    .news-item{
      background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 20px;
      transition:var(--ease);position:relative
    }
    .news-item:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:var(--jade);border-radius:0 4px 4px 0}
    .news-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#c7b9cc}
    .news-item h3{font-size:17px;line-height:1.45;color:var(--plum);margin:9px 0 6px}
    .news-item p{font-size:13px;color:var(--muted);margin:0}
    .news-item a:hover h3{color:var(--jade-dark)}
    .content-band{background:#eee7df;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
    .topic{
      padding:25px 22px 22px;border-right:1px solid var(--line);min-height:190px
    }
    .topic:last-child{border-right:0}
    .topic-num{font-size:13px;font-weight:900;color:var(--coral);letter-spacing:.08em}
    .topic h3{font-size:19px;color:var(--plum);margin:13px 0 7px}
    .topic p{font-size:14px;color:var(--muted);margin-bottom:14px}
    .topic a{font-size:13px;color:var(--jade-dark);font-weight:800}
    .topic a:hover{text-decoration:underline;text-underline-offset:4px}
    .split-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
    .index-panel{background:var(--plum);color:#fff;border-radius:var(--radius);padding:28px}
    .index-panel h3{font-size:21px;margin-bottom:18px}
    .index-list{list-style:none;margin:0;padding:0}
    .index-list li{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line-dark);padding:13px 0;color:#e7e0ea;font-size:14px}
    .index-list span{color:#a9dfce;font-weight:800}
    .timeline{border-top:1px solid var(--line)}
    .timeline-item{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
    .timeline-date{font-size:13px;color:var(--jade-dark);font-weight:800}
    .timeline-item h3{font-size:19px;color:var(--plum);margin:0 0 5px}
    .timeline-item p{font-size:14px;color:var(--muted);margin:0}
    .faq-wrap{max-width:850px;margin:0 auto}
    .faq-item{border-top:1px solid var(--line)}
    .faq-item:last-child{border-bottom:1px solid var(--line)}
    .faq-q{
      width:100%;display:flex;justify-content:space-between;gap:20px;padding:19px 0;
      border:0;background:transparent;text-align:left;color:var(--plum);font-weight:800
    }
    .faq-q span:last-child{font-size:22px;color:var(--jade-dark);line-height:1;transition:var(--ease)}
    .faq-a{display:none;color:var(--muted);font-size:14px;padding:0 40px 19px 0}
    .faq-item.open .faq-a{display:block}
    .faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
    .cta{background:var(--jade-soft);padding:47px 0;border-top:1px solid #c8ecdf}
    .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
    .cta h2{font-size:28px;margin-bottom:8px}
    .cta p{color:var(--muted);margin:0}
    .cta-actions{display:flex;gap:10px;flex-wrap:wrap}
    .site-footer{background:var(--plum);color:#e7e0ea;padding:52px 0 24px}
    .footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px;padding-bottom:38px}
    .footer-brand .brand-name{color:#fff}
    .footer-brand .brand-sub{color:#bcb1c3}
    .footer-brand p{max-width:390px;color:#bcb1c3;font-size:13px;margin:18px 0 0}
    .footer-title{font-size:14px;font-weight:800;color:#fff;margin-bottom:14px}
    .footer-links{list-style:none;padding:0;margin:0}
    .footer-links li{margin:8px 0}
    .footer-links a{font-size:13px;color:#bcb1c3;transition:var(--ease)}
    .footer-links a:hover{color:#76d9bd}
    .footer-bottom{border-top:1px solid var(--line-dark);padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
    .footer-bottom p{font-size:12px;color:#a99eaf;margin:0}
    .footer-bottom a{color:#76d9bd}
    @media(max-width:1024px){
      .desktop-nav{gap:0}.desktop-nav a{padding-left:7px;padding-right:7px;font-size:13px}
      .desktop-nav a.active:after{left:7px;right:7px}
      .hero-inner{gap:35px}.topic-grid{grid-template-columns:repeat(2,1fr)}
      .topic:nth-child(2){border-right:0}.topic:nth-child(-n+2){border-bottom:1px solid var(--line)}
    }
    @media(max-width:768px){
      .container{width:min(calc(100% - 32px),var(--container))}
      .nav-wrap{height:68px}.desktop-nav,.nav-download{display:none}.menu-toggle{display:block}
      .brand{min-width:0}.brand-name{font-size:15px}
      .mobile-panel{padding:10px 16px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
      .mobile-panel a{display:block;padding:11px 4px;border-bottom:1px solid var(--line);font-size:14px;color:var(--plum)}
      .mobile-panel a.active{color:var(--jade-dark);font-weight:800}
      .mobile-panel .mobile-download{margin-top:12px;text-align:center;background:var(--jade);border:0;border-radius:10px;font-weight:800}
      .mobile-panel.open{display:block}
      .page-hero{padding:42px 0 40px}.hero-inner{display:block}
      .hero-brief{margin-top:28px}.section{padding:58px 0}
      .section-head,.cta-inner{display:block}.section-head .section-intro{margin-top:12px}
      .news-layout,.split-section{grid-template-columns:1fr;gap:20px}
      .focus-news{min-height:330px;padding:25px}.focus-news h3{font-size:23px}
      .topic-grid{grid-template-columns:1fr}.topic{border-right:0!important;border-bottom:1px solid var(--line)}
      .topic:last-child{border-bottom:0}.timeline-item{grid-template-columns:1fr;gap:3px}
      .cta-actions{margin-top:22px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}
      .footer-brand{grid-column:1/-1}
    }
    @media(max-width:520px){
      h1{font-size:35px}.hero-lead{font-size:15px}.filter-bar{align-items:flex-start}
      .filter-label{width:100%}.focus-news{min-height:360px}
      .footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}
      .footer-bottom{display:block}.footer-bottom p+p{margin-top:8px}
    }

/* roulang page: category2 */
:root{
 --plum:#281a32;--plum-2:#3b2748;--plum-3:#5f436d;--jade:#24b58a;--jade-dark:#168968;
 --jade-soft:#dff6ee;--coral:#f47c5b;--coral-soft:#fff0ea;--cream:#f6f1e8;
 --paper:#fffdf8;--ink:#281f2f;--muted:#716a75;--line:#e5ddd3;
 --line-dark:rgba(255,255,255,.18);--shadow:0 15px 42px rgba(48,31,54,.1);
 --shadow-hover:0 22px 44px rgba(48,31,54,.16);--radius-sm:12px;--radius:18px;
 --radius-lg:28px;--container:1200px;--ease:all .24s ease
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;font-size:16px;line-height:1.72;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(246,241,232,.95);border-bottom:1px solid rgba(40,26,50,.08);backdrop-filter:blur(14px)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:11px;min-width:220px}
.brand-mark{width:39px;height:39px;border-radius:12px;background:var(--plum);position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--jade);border-radius:2px}
.brand-mark:before{width:19px;height:5px;left:10px;top:11px;transform:skewY(-30deg)}
.brand-mark:after{width:11px;height:5px;left:16px;top:21px;transform:skewY(-30deg);background:#f7bd82}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-size:17px;font-weight:800;letter-spacing:.02em;color:var(--plum)}
.brand-sub{font-size:11px;color:var(--muted);margin-top:4px}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px}
.desktop-nav a{position:relative;padding:9px 11px;color:#594f5d;font-size:14px;white-space:nowrap;border-radius:8px;transition:var(--ease)}
.desktop-nav a:hover{color:var(--plum);background:#eee7df}
.desktop-nav a.active{color:var(--plum);font-weight:800}
.desktop-nav a.active:after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:3px;border-radius:4px;background:var(--jade)}
.nav-download{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--plum);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:700;transition:var(--ease);box-shadow:0 6px 16px rgba(40,26,50,.16)}
.nav-download:hover{background:var(--jade-dark);transform:translateY(-2px)}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);border-radius:10px;color:var(--plum);font-size:20px}
.mobile-panel{display:none}
.hero{position:relative;overflow:hidden;background:var(--plum);color:#fff;padding:68px 0 64px}
.hero:before{content:"";position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,#000 0%,transparent 80%)}
.hero:after{content:"";position:absolute;width:500px;height:500px;right:-180px;top:-260px;border:1px solid rgba(36,181,138,.43);border-radius:50%;box-shadow:0 0 0 40px rgba(36,181,138,.05),0 0 0 80px rgba(36,181,138,.035)}
.hero-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:62px;align-items:center}
.crumb{position:relative;z-index:1;color:#bcb1c3;font-size:13px;margin-bottom:24px}
.crumb a{color:#8fe2c5}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.08em;color:#bdeedc}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(244,124,91,.16)}
h1,h2,h3,p{margin-top:0}
.hero h1{font-size:clamp(34px,4.6vw,52px);line-height:1.22;letter-spacing:-.045em;margin:15px 0 19px}
.hero h1 em{font-style:normal;color:#76d9bd}
.hero-lead{max-width:600px;margin:0;color:#dfd7e4;font-size:17px;line-height:1.85}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;padding:11px 19px;border-radius:11px;font-weight:800;font-size:15px;transition:var(--ease)}
.btn-primary{background:var(--jade);color:#102a25;box-shadow:0 8px 20px rgba(36,181,138,.22)}
.btn-primary:hover{background:#43c79e;transform:translateY(-2px);box-shadow:0 12px 24px rgba(36,181,138,.28)}
.btn-secondary{border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.06)}
.btn-secondary:hover{background:#fff;color:var(--plum);transform:translateY(-2px)}
.btn-dark{background:var(--plum);color:#fff}.btn-dark:hover{background:var(--jade-dark);transform:translateY(-2px)}
.btn:focus-visible,.menu-toggle:focus-visible,.desktop-nav a:focus-visible,.footer-links a:focus-visible,.faq-q:focus-visible{outline:3px solid #f7bd82;outline-offset:3px}
.hero-note{font-size:12px;color:#bcb1c3;margin:15px 0 0}
.content-map{position:relative;z-index:1;background:#33223d;border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:24px;box-shadow:0 20px 44px rgba(0,0,0,.2)}
.map-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-dark);padding-bottom:18px}
.map-label{font-size:13px;color:#cfc4d4;font-weight:700}.map-status{color:#8fe2c5;font-size:12px;display:flex;gap:7px;align-items:center}.map-status i{width:7px;height:7px;border-radius:50%;background:var(--jade)}
.map-title{font-size:25px;line-height:1.35;margin:23px 0 22px}
.topic-track{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-top:1px solid rgba(255,255,255,.12)}
.topic-track:first-child{border-top:0}.track-no{font-size:12px;color:#f7bd82;font-weight:800}.track-name{font-weight:700;color:#f7f1f5}.track-desc{font-size:12px;color:#bcb1c3;margin-top:3px}.track-arrow{color:#76d9bd;font-size:20px}
.section{padding:84px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.section-kicker{font-size:13px;color:var(--jade-dark);font-weight:800;letter-spacing:.08em;margin-bottom:6px}
.section h2{font-size:32px;line-height:1.3;letter-spacing:-.035em;margin-bottom:0}.section-intro{max-width:500px;color:var(--muted);font-size:15px;margin:0}
.split-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:end;margin-bottom:38px}
.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.topic-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px 25px;transition:var(--ease);overflow:hidden}
.topic-card:hover{transform:translateY(-4px);border-color:#b7ddcf;box-shadow:var(--shadow-hover)}
.topic-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--jade)}
.topic-card:nth-child(2):before{background:var(--coral)}.topic-card:nth-child(3):before{background:var(--plum-3)}background:var(--plum-3)}.topic-card:nth-child(4):before{background:#f7bd82}
.topic-index{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.08em}
.topic-card h3{font-size:21px;margin:12px 0 8px;line-height:1.4}
.topic-card p{font-size:14px;color:var(--muted);margin:0 0 16px}
.topic-card a{font-size:14px;color:var(--jade-dark);font-weight:800}
.topic-card a:hover{color:var(--plum)}
.content-section{background:#eee7df}
.content-directory{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}
.directory-feature{background:var(--plum);color:#fff;border-radius:var(--radius-lg);padding:35px;min-height:345px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.directory-feature:after{content:"";position:absolute;width:250px;height:250px;right:-80px;bottom:-110px;border:1px solid rgba(118,217,189,.4);border-radius:50%;box-shadow:0 0 0 24px rgba(118,217,189,.05),0 0 0 48px rgba(118,217,189,.04)}
.directory-feature>*{position:relative;z-index:1}
.directory-feature .number{font-size:14px;color:#f7bd82;font-weight:800;letter-spacing:.1em}
.directory-feature h3{font-size:30px;line-height:1.35;max-width:520px;margin:18px 0 10px}
.directory-feature p{max-width:550px;color:#d8cfdd;margin:0}
.directory-side{display:grid;grid-template-rows:1fr 1fr;gap:20px}
.directory-item{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;transition:var(--ease)}
.directory-item:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.directory-item .number{color:var(--coral);font-size:13px;font-weight:800}.directory-item h3{font-size:20px;margin:10px 0 7px}.directory-item p{color:var(--muted);font-size:14px;margin:0}.directory-item a{align-self:flex-start;color:var(--jade-dark);font-size:14px;font-weight:800;margin-top:14px}
.info-band{padding:27px 0;background:var(--jade-soft);border-top:1px solid #c6eadd;border-bottom:1px solid #c6eadd}
.info-band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.info-band strong{color:var(--plum);font-size:18px}.info-band p{margin:4px 0 0;color:#557068;font-size:14px}
.app-section{padding:86px 0}.app-panel{display:grid;grid-template-columns:.78fr 1.22fr;gap:44px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:38px;box-shadow:var(--shadow)}
.app-visual{border-radius:20px;background:var(--plum);min-height:300px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.app-visual:before{content:"金年会";font-size:100px;font-weight:900;color:rgba(255,255,255,.045);position:absolute;transform:rotate(-18deg)}
.app-icon{position:relative;width:112px;height:112px;border-radius:30px;background:var(--jade);display:flex;align-items:center;justify-content:center;color:var(--plum);font-size:25px;font-weight:900;box-shadow:0 16px 32px rgba(0,0,0,.24)}
.app-copy h2{font-size:30px;line-height:1.35;margin:8px 0 12px}.app-copy>p{color:var(--muted);font-size:15px;margin-bottom:22px}
.app-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}
.meta-box{background:#f1ebe3;border-radius:12px;padding:12px 14px}.meta-box small{display:block;color:var(--muted);font-size:12px}.meta-box strong{font-size:15px;color:var(--plum)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.step{border-left:2px solid var(--jade);padding-left:12px;font-size:13px;color:var(--muted)}.step b{display:block;color:var(--plum);font-size:16px;margin-bottom:3px}
.qr-note{font-size:12px;color:var(--muted);margin:14px 0 0}
.faq-section{background:var(--plum);color:#fff}.faq-section .section-kicker{color:#76d9bd}.faq-section .section-intro{color:#c8bdce}
.faq-list{border-top:1px solid var(--line-dark)}
.faq-item{border-bottom:1px solid var(--line-dark)}.faq-q{width:100%;border:0;background:transparent;color:#fff;text-align:left;padding:19px 4px;display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:16px}
.faq-q span:last-child{color:#76d9bd;font-size:22px;font-weight:400;transition:var(--ease)}.faq-a{display:none;padding:0 38px 19px 4px;color:#cfc4d4;font-size:14px;line-height:1.8}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
.cta-section{padding:78px 0}.cta-box{background:var(--coral-soft);border:1px solid #f5cdbf;border-radius:var(--radius-lg);padding:38px 42px;display:flex;justify-content:space-between;align-items:center;gap:28px}.cta-box h2{font-size:29px;line-height:1.35;margin:0 0 8px}.cta-box p{color:var(--muted);margin:0;font-size:15px}.cta-actions{display:flex;gap:10px;flex-shrink:0}
.site-footer{background:var(--plum);color:#fff;padding:50px 0 22px}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px;padding-bottom:40px;border-bottom:1px solid var(--line-dark)}
.footer-brand .brand-name{color:#fff}.footer-brand .brand-sub{color:#bcb1c3}.footer-brand p{max-width:390px;color:#c8bdce;font-size:13px;margin:18px 0 0}.footer-title{font-size:14px;font-weight:800;color:#fff;margin:4px 0 15px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:8px 0}.footer-links a{font-size:13px;color:#c8bdce;transition:var(--ease)}.footer-links a:hover{color:#76d9bd;padding-left:3px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:19px;color:#a99eae;font-size:12px}.footer-bottom p{margin:0}.footer-bottom a{color:#76d9bd}
@media(max-width:1024px){.desktop-nav{gap:0}.desktop-nav a{padding:8px 7px;font-size:13px}.nav-download{padding:9px 12px}.hero-grid{gap:35px}.content-directory{grid-template-columns:1fr}.directory-side{grid-template-columns:1fr 1fr;grid-template-rows:none}.app-panel{gap:28px}}
@media(max-width:768px){
 .container{width:min(calc(100% - 32px),var(--container))}.nav-wrap{height:68px}.desktop-nav,.site-header>.nav-wrap>.nav-download{display:none}.menu-toggle{display:block}
 .brand{min-width:0}.mobile-panel{display:none;background:var(--paper);border-top:1px solid var(--line);padding:10px 16px 18px;box-shadow:0 16px 25px rgba(40,26,50,.1)}
 .mobile-panel.open{display:block}.mobile-panel a{display:block;padding:11px 4px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}.mobile-panel a.active{color:var(--jade-dark);font-weight:800}.mobile-panel .mobile-download{margin-top:12px;border:0;text-align:center;background:var(--plum);color:#fff;border-radius:10px}
 .hero{padding:46px 0 48px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:38px}.hero-lead{font-size:16px}.content-map{padding:21px}.section,.app-section{padding:62px 0}.section-head,.split-intro{display:block}.section-intro{margin-top:12px}.topic-list{grid-template-columns:1fr}.content-directory{gap:14px}.directory-side{gap:14px}.app-panel{grid-template-columns:1fr;padding:22px}.app-visual{min-height:220px}.steps{grid-template-columns:1fr}.info-band-inner{display:block}.info-band .btn{margin-top:15px}.cta-box{display:block;padding:28px}.cta-actions{margin-top:20px;flex-wrap:wrap}.footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom p+p{margin-top:8px}
}
@media(max-width:520px){.hero h1{font-size:32px}.hero-actions,.cta-actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.directory-side{grid-template-columns:1fr}.map-title{font-size:21px}.topic-track{grid-template-columns:34px 1fr auto}.app-meta{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}}

/* roulang page: category3 */
:root{
 --plum:#281a32;--plum-2:#3b2748;--plum-3:#5f436d;--jade:#24b58a;
 --jade-dark:#168968;--jade-soft:#dff6ee;--coral:#f47c5b;--coral-soft:#fff0ea;
 --cream:#f6f1e8;--paper:#fffdf8;--ink:#281f2f;--muted:#716a75;
 --line:#e5ddd3;--line-dark:rgba(255,255,255,.18);--shadow:0 15px 42px rgba(48,31,54,.10);
 --shadow-hover:0 22px 44px rgba(48,31,54,.16);--radius-sm:12px;--radius:18px;
 --radius-lg:28px;--container:1200px;--ease:all .24s ease
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;font-size:16px;line-height:1.72;letter-spacing:.01em}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}
.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(246,241,232,.94);border-bottom:1px solid rgba(40,26,50,.08);backdrop-filter:blur(14px)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:11px;min-width:220px}
.brand-mark{width:39px;height:39px;border-radius:12px;background:var(--plum);position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--jade);border-radius:2px}
.brand-mark:before{width:19px;height:5px;left:10px;top:11px;transform:skewY(-30deg)}
.brand-mark:after{width:11px;height:5px;left:16px;top:21px;transform:skewY(-30deg);background:#f7bd82}
.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-name{font-size:17px;font-weight:800;color:var(--plum)}.brand-sub{font-size:11px;color:var(--muted);margin-top:4px}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px}.desktop-nav a{position:relative;padding:9px 11px;color:#594f5d;font-size:14px;white-space:nowrap;border-radius:8px;transition:var(--ease)}
.desktop-nav a:hover{color:var(--plum);background:#eee7df}.desktop-nav a.active{color:var(--plum);font-weight:800}
.desktop-nav a.active:after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:3px;border-radius:4px;background:var(--jade)}
.nav-download{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--plum);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:700;transition:var(--ease);box-shadow:0 6px 16px rgba(40,26,50,.16)}
.nav-download:hover{background:var(--jade-dark);transform:translateY(-2px)}.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);border-radius:10px;color:var(--plum);font-size:20px}
.mobile-panel{display:none}
.hero{position:relative;overflow:hidden;background:var(--plum);color:#fff;padding:62px 0 68px}.hero:before{content:"";position:absolute;inset:0;opacity:.45;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.hero:after{content:"";position:absolute;width:520px;height:520px;right:-210px;top:-280px;border:1px solid rgba(36,181,138,.43);border-radius:50%;box-shadow:0 0 0 40px rgba(36,181,138,.05),0 0 0 80px rgba(36,181,138,.035)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.02fr;gap:64px;align-items:center}
.breadcrumb{position:relative;z-index:1;color:#c8bdce;font-size:13px;margin-bottom:28px}.breadcrumb a{color:#8bdac3}.breadcrumb a:hover{text-decoration:underline}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.08em;color:#bdeedc}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(244,124,91,.16)}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4.4vw,52px);line-height:1.18;letter-spacing:-.04em;margin:16px 0 18px}h1 em{font-style:normal;color:#76d9bd}
.hero-lead{max-width:590px;margin:0;color:#dfd7e4;font-size:18px;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;padding:11px 19px;border-radius:11px;font-weight:800;font-size:15px;transition:var(--ease)}
.btn-primary{background:var(--jade);color:#102a25;box-shadow:0 8px 20px rgba(36,181,138,.22)}.btn-primary:hover{background:#43c79e;transform:translateY(-2px);box-shadow:0 12px 24px rgba(36,181,138,.28)}
.btn-secondary{border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.06)}.btn-secondary:hover{background:#fff;color:var(--plum);transform:translateY(-2px)}
.btn-dark{background:var(--plum);color:#fff}.btn-dark:hover{background:var(--jade-dark);transform:translateY(-2px)}
.btn:focus-visible,.menu-toggle:focus-visible,.desktop-nav a:focus-visible,.footer-links a:focus-visible,.faq-q:focus-visible{outline:3px solid #f7bd82;outline-offset:3px}
.download-panel{background:var(--paper);color:var(--ink);border-radius:24px;padding:27px;box-shadow:0 22px 50px rgba(17,9,22,.25);position:relative}
.panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.panel-label{font-weight:800;color:var(--plum)}.status{color:var(--jade-dark);font-size:12px;font-weight:800;display:flex;align-items:center;gap:6px}.status:before{content:"";width:7px;height:7px;background:var(--jade);border-radius:50%}
.app-preview{display:grid;grid-template-columns:108px 1fr;gap:22px;align-items:center;padding:25px 0 22px}.app-icon{width:108px;height:108px;border-radius:27px;background:var(--plum);display:grid;place-items:center;color:#fff;font-size:30px;font-weight:900;box-shadow:inset 0 0 0 7px rgba(255,255,255,.07)}
.app-preview h2{font-size:25px;margin:0 0 5px;color:var(--plum)}.app-preview p{font-size:14px;color:var(--muted);margin:0}.version{display:inline-block;margin-top:11px;padding:4px 9px;border-radius:6px;background:var(--jade-soft);color:var(--jade-dark);font-size:12px;font-weight:800}
.panel-bottom{display:grid;grid-template-columns:1fr 108px;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.panel-bottom p{font-size:13px;color:var(--muted);margin:0 0 12px}.qr{width:108px;height:108px;padding:9px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.qr span{background:var(--plum)}.qr span:nth-child(3n),.qr span:nth-child(7n+1){background:var(--jade)}.qr span:nth-child(5n){background:transparent}
.section{padding:82px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-kicker{font-size:13px;color:var(--jade-dark);font-weight:800;letter-spacing:.08em;margin-bottom:6px}.section h2{font-size:32px;line-height:1.25;letter-spacing:-.03em;margin:0}.section-intro{max-width:520px;color:var(--muted);font-size:15px;margin:0}
.notice-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.notice-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.notice-card h3{font-size:21px;color:var(--plum);margin:0 0 12px}.notice-card p{color:var(--muted);margin-bottom:0}.notice-card.accent{background:var(--jade-soft);border-color:#c3eddf}.notice-card.accent h3{color:var(--jade-dark)}
.step-layout{display:grid;grid-template-columns:300px 1fr;gap:50px;align-items:start}.step-intro{background:var(--plum);color:#fff;border-radius:var(--radius-lg);padding:30px}.step-intro h2{font-size:27px;margin-bottom:14px}.step-intro p{color:#d8ccdd;font-size:14px}.step-list{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:62px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.step-no{font-size:28px;font-weight:900;color:var(--jade-dark)}.step h3{font-size:19px;margin:0 0 4px}.step p{font-size:14px;color:var(--muted);margin:0}.step-tag{font-size:12px;color:var(--plum-3);background:var(--coral-soft);padding:5px 9px;border-radius:6px;white-space:nowrap}
.info-strip{background:#eee6dc;padding:24px 0}.strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.strip-item{display:flex;gap:14px;align-items:flex-start}.strip-number{font-size:24px;color:var(--coral);font-weight:900;line-height:1}.strip-item strong{display:block;color:var(--plum);margin-bottom:3px}.strip-item span{display:block;color:var(--muted);font-size:13px}
.faq-wrap{max-width:900px;margin:0 auto}.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden}.faq-q{width:100%;border:0;background:transparent;color:var(--plum);padding:18px 20px;text-align:left;font-weight:800;display:flex;justify-content:space-between;align-items:center}.faq-q span:last-child{color:var(--jade-dark);font-size:22px}.faq-a{padding:0 20px 18px;color:var(--muted);font-size:14px}
.cta{padding:70px 0;background:var(--plum);color:#fff}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:30px;margin:0 0 10px}.cta p{color:#d8ccdd;margin:0;max-width:650px}.cta .hero-actions{margin-top:0}
.site-footer{background:#211629;color:#e9e0eb;padding:54px 0 20px}.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:52px;padding-bottom:38px;border-bottom:1px solid var(--line-dark)}.footer-brand .brand-name{color:#fff}.footer-brand .brand-sub{color:#b8aabc}.footer-brand p{max-width:420px;color:#bdb1c2;font-size:13px;margin:20px 0 0}.footer-title{font-size:14px;font-weight:800;color:#fff;margin-bottom:14px}.footer-links{padding:0;margin:0;list-style:none}.footer-links li{margin:8px 0}.footer-links a{font-size:13px;color:#bdb1c2;transition:var(--ease)}.footer-links a:hover{color:#76d9bd;padding-left:3px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;color:#998c9f;font-size:12px}.footer-bottom p{margin:0}.footer-bottom a{color:#bdeedc}
@media(max-width:1024px){.desktop-nav{gap:0}.desktop-nav a{padding:8px 7px;font-size:13px}.brand{min-width:195px}.hero-grid{gap:35px}.step-layout{gap:28px}}
@media(max-width:768px){.container{width:min(calc(100% - 32px),var(--container))}.desktop-nav,.nav-download{display:none}.menu-toggle{display:block}.nav-wrap{height:68px}.mobile-panel{display:none;background:var(--paper);padding:10px 16px 18px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.mobile-panel.open{display:flex;flex-direction:column}.mobile-panel a{padding:11px 8px;color:var(--plum);border-bottom:1px solid var(--line);font-size:14px}.mobile-panel a.active{color:var(--jade-dark);font-weight:800}.mobile-panel .mobile-download{margin-top:12px;background:var(--plum);color:#fff;text-align:center;border-radius:9px;border:0}.hero{padding:42px 0 48px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero-lead{font-size:16px}.section{padding:60px 0}.section-head{display:block}.section-intro{margin-top:12px}.notice-grid,.step-layout{grid-template-columns:1fr}.strip-grid{grid-template-columns:1fr}.step-intro{border-radius:20px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.cta-box{display:block}.cta .hero-actions{margin-top:24px}}
@media(max-width:520px){h1{font-size:34px}.brand-name{font-size:15px}.brand-sub{font-size:10px}.app-preview{grid-template-columns:78px 1fr;gap:15px}.app-icon{width:78px;height:78px;border-radius:20px;font-size:23px}.app-preview h2{font-size:21px}.panel-bottom{grid-template-columns:1fr}.qr{margin-top:4px}.step{grid-template-columns:42px 1fr;gap:12px}.step-tag{grid-column:2;width:max-content}.section h2,.cta h2{font-size:26px}.footer-top{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom p+p{margin-top:8px}}

/* roulang page: category4 */
:root{
 --plum:#281a32;--plum-2:#3b2748;--plum-3:#5f436d;
 --jade:#24b58a;--jade-dark:#168968;--jade-soft:#dff6ee;
 --coral:#f47c5b;--coral-soft:#fff0ea;--cream:#f6f1e8;
 --paper:#fffdf8;--ink:#281f2f;--muted:#716a75;--line:#e5ddd3;
 --line-dark:rgba(255,255,255,.18);--shadow:0 15px 42px rgba(48,31,54,.10);
 --shadow-hover:0 22px 44px rgba(48,31,54,.16);--radius-sm:12px;
 --radius:18px;--radius-lg:28px;--container:1200px;--ease:all .24s ease
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;font-size:16px;line-height:1.72;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(246,241,232,.94);border-bottom:1px solid rgba(40,26,50,.08);backdrop-filter:blur(14px)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:11px;min-width:220px}
.brand-mark{width:39px;height:39px;border-radius:12px;background:var(--plum);position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--jade);border-radius:2px}
.brand-mark:before{width:19px;height:5px;left:10px;top:11px;transform:skewY(-30deg)}
.brand-mark:after{width:11px;height:5px;left:16px;top:21px;transform:skewY(-30deg);background:#f7bd82}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-size:17px;font-weight:800;letter-spacing:.02em;color:var(--plum)}
.brand-sub{font-size:11px;color:var(--muted);margin-top:4px}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px}
.desktop-nav a{position:relative;padding:9px 11px;color:#594f5d;font-size:14px;white-space:nowrap;border-radius:8px;transition:var(--ease)}
.desktop-nav a:hover{color:var(--plum);background:#eee7df}
.desktop-nav a.active{color:var(--plum);font-weight:800}
.desktop-nav a.active:after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:3px;border-radius:4px;background:var(--jade)}
.nav-download{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--plum);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:700;transition:var(--ease);box-shadow:0 6px 16px rgba(40,26,50,.16)}
.nav-download:hover{background:var(--jade-dark);transform:translateY(-2px);color:#fff}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);border-radius:10px;color:var(--plum);font-size:20px}
.mobile-panel{display:none}
.hero{position:relative;overflow:hidden;background:var(--plum);color:#fff;padding:62px 0 70px}
.hero:before{content:"";position:absolute;inset:0;opacity:.42;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.hero:after{content:"";position:absolute;width:470px;height:470px;right:-150px;top:-230px;border:1px solid rgba(36,181,138,.45);border-radius:50%;box-shadow:0 0 0 40px rgba(36,181,138,.05),0 0 0 80px rgba(36,181,138,.035)}
.hero-inner{position:relative;z-index:1}
.breadcrumb{display:flex;gap:9px;align-items:center;color:#c9bfce;font-size:13px;margin-bottom:29px}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{color:#8d7c94}
.hero-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:center}
.eyebrow,.section-kicker{font-size:13px;font-weight:800;letter-spacing:.08em}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#bdeedc}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(244,124,91,.16)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(36px,5vw,54px);line-height:1.2;letter-spacing:-.045em;margin:15px 0 20px;font-weight:850}
h1 em{font-style:normal;color:#76d9bd}
.hero-lead{max-width:650px;color:#dfd7e4;font-size:18px;line-height:1.85;margin-bottom:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;padding:11px 19px;border-radius:11px;font-weight:800;font-size:15px;transition:var(--ease)}
.btn-primary{background:var(--jade);color:#102a25;box-shadow:0 8px 20px rgba(36,181,138,.22)}
.btn-primary:hover{background:#43c79e;transform:translateY(-2px);box-shadow:0 12px 24px rgba(36,181,138,.28);color:#102a25}
.btn-secondary{border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.06)}
.btn-secondary:hover{background:#fff;color:var(--plum);transform:translateY(-2px)}
.btn:focus-visible,.menu-toggle:focus-visible,.desktop-nav a:focus-visible,.footer-links a:focus-visible,.faq-q:focus-visible{outline:3px solid #f7bd82;outline-offset:3px}
.hero-note{font-size:12px;color:#bcb1c3;margin:15px 0 0}
.topic-board{background:#33213d;border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:25px;box-shadow:0 20px 45px rgba(0,0,0,.16)}
.board-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line-dark)}
.board-label{font-size:13px;color:#d9cfe0;font-weight:700}
.board-status{font-size:12px;color:#8ee2c7;display:flex;gap:7px;align-items:center}
.board-status:before{content:"";width:7px;height:7px;background:var(--jade);border-radius:50%}
.board-title{font-size:26px;line-height:1.35;font-weight:800;margin:25px 0 9px}
.board-copy{font-size:14px;color:#c9bfce;margin-bottom:22px}
.board-row{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line-dark);align-items:flex-start}
.board-num{font-size:12px;color:#f7bd82;font-weight:800;padding-top:2px}
.board-row strong{display:block;font-size:14px;color:#fff}
.board-row small{display:block;color:#aaa0b0;font-size:12px;margin-top:3px}
.section{padding:84px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.section-kicker{color:var(--jade-dark);margin-bottom:6px}
.section h2{font-size:32px;line-height:1.3;letter-spacing:-.035em;margin-bottom:9px;font-weight:850}
.section-intro{max-width:520px;color:var(--muted);font-size:15px;margin:0}
.principles{display:grid;grid-template-columns:1.15fr .85fr;gap:25px}
.principle-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 30px;box-shadow:var(--shadow)}
.principle-item{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}
.principle-item:last-child{border-bottom:0}
.principle-no{width:42px;height:42px;border-radius:12px;background:var(--jade-soft);color:var(--jade-dark);display:grid;place-items:center;font-weight:850}
.principle-item h3{font-size:19px;margin:0 0 5px;font-weight:800}
.principle-item p{font-size:14px;color:var(--muted);margin:0}
.info-card{background:var(--plum);color:#fff;border-radius:var(--radius-lg);padding:31px;position:relative;overflow:hidden}
.info-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(118,217,189,.28);border-radius:50%;right:-75px;top:-65px}
.info-card h3{font-size:24px;line-height:1.35;margin-bottom:14px;position:relative;z-index:1}
.info-card p{font-size:14px;color:#d8cfdd;position:relative;z-index:1}
.info-points{list-style:none;padding:0;margin:25px 0 0;position:relative;z-index:1}
.info-points li{border-top:1px solid var(--line-dark);padding:13px 0;font-size:14px;color:#f0eaf2}
.info-points li:before{content:"✓";color:#76d9bd;font-weight:800;margin-right:10px}
.timeline-wrap{background:#eee7df;padding:74px 0}
.timeline{position:relative;max-width:900px;margin:0 auto;padding-left:58px}
.timeline:before{content:"";position:absolute;left:17px;top:5px;bottom:5px;width:2px;background:#cfc4d1}
.timeline-item{position:relative;padding:0 0 34px}
.timeline-item:last-child{padding-bottom:0}
.timeline-dot{position:absolute;left:-48px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--jade);border:5px solid #eee7df;box-shadow:0 0 0 1px var(--jade)}
.timeline-meta{font-size:12px;color:var(--coral);font-weight:800;letter-spacing:.06em}
.timeline-item h3{font-size:20px;margin:7px 0 5px}
.timeline-item p{color:var(--muted);font-size:14px;margin:0;max-width:720px}
.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.detail-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px;transition:var(--ease)}
.detail-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#c9e8dc}
.detail-icon{width:38px;height:38px;border-radius:10px;background:var(--coral-soft);color:var(--coral);display:grid;place-items:center;font-weight:850;margin-bottom:17px}
.detail-card h3{font-size:19px;margin-bottom:8px}
.detail-card p{font-size:14px;color:var(--muted);margin:0}
.faq-section{background:var(--paper)}
.faq-list{max-width:900px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;background:transparent;color:var(--ink);padding:21px 3px;font-size:16px;font-weight:800}
.faq-q span:last-child{font-size:22px;color:var(--jade-dark);font-weight:400;transition:var(--ease)}
.faq-a{display:none;color:var(--muted);font-size:14px;padding:0 42px 20px 3px}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
.cta{padding:72px 0}
.cta-box{background:var(--plum-2);border-radius:var(--radius-lg);padding:42px 48px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden}
.cta-box:before{content:"";position:absolute;right:15%;top:-110px;width:290px;height:290px;border:1px solid rgba(118,217,189,.24);border-radius:50%}
.cta-box h2{font-size:29px;margin-bottom:9px;position:relative}
.cta-box p{color:#d6cdda;margin:0;position:relative}
.cta-actions{display:flex;flex-wrap:wrap;gap:10px;position:relative;flex-shrink:0}
.site-footer{background:var(--plum);color:#fff;padding:54px 0 24px}
.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:60px;padding-bottom:40px;border-bottom:1px solid var(--line-dark)}
.footer-brand p{max-width:350px;color:#c4b9ca;font-size:13px;margin:20px 0 0}
.footer-title{font-size:14px;font-weight:800;color:#fff;margin:9px 0 15px}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:8px 0}
.footer-links a{color:#c4b9ca;font-size:13px;transition:var(--ease)}
.footer-links a:hover{color:#76d9bd;padding-left:3px}
.site-footer .brand-name{color:#fff}.site-footer .brand-sub{color:#bcb1c3}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:21px;color:#9f93a7;font-size:12px}
.footer-bottom p{margin:0}.footer-bottom a{color:#bfeedd}
@media(max-width:1024px){
 .desktop-nav{gap:0}.desktop-nav a{padding:8px 7px;font-size:13px}.nav-download{padding:9px 12px}
 .hero-layout,.principles{gap:30px}.container{width:min(calc(100% - 36px),var(--container))}
}
@media(max-width:768px){
 .desktop-nav,.nav-download{display:none}.menu-toggle{display:block}
 .nav-wrap{height:70px}.brand{min-width:0}.mobile-panel{display:none;padding:9px 18px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(40,26,50,.08)}
 .mobile-panel.show{display:flex;flex-direction:column}.mobile-panel a{padding:11px 4px;border-bottom:1px solid var(--line);font-size:14px}.mobile-panel a.active{color:var(--jade-dark);font-weight:800}
 .mobile-panel .mobile-download{margin-top:12px;background:var(--plum);color:#fff;border:0;border-radius:9px;text-align:center;font-weight:800}
 .hero{padding:42px 0 48px}.hero-layout{grid-template-columns:1fr}.hero-lead{font-size:16px}.topic-board{margin-top:10px}
 .section{padding:62px 0}.section-head{display:block;margin-bottom:24px}.section-intro{margin-top:10px}.section h2{font-size:28px}
 .principles{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr 1fr}.cta-box{display:block;padding:34px 27px}.cta-actions{margin-top:24px}
 .footer-top{grid-template-columns:1.4fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom p+p{margin-top:8px}
}
@media(max-width:520px){
 .container{width:min(calc(100% - 28px),var(--container))}.brand-name{font-size:15px}.brand-sub{font-size:10px}
 h1{font-size:35px}.hero-actions,.cta-actions{display:grid;grid-template-columns:1fr}.btn{width:100%}
 .topic-board{padding:20px}.board-title{font-size:22px}.principle-list{padding:5px 20px}.principle-item{grid-template-columns:43px 1fr;gap:13px;padding:20px 0}
 .principle-item h3{font-size:17px}.details-grid{grid-template-columns:1fr}.timeline{padding-left:45px}.timeline:before{left:12px}.timeline-dot{left:-40px}
 .footer-top{grid-template-columns:1fr 1fr;gap:20px}.footer-brand{grid-column:1/-1}
}

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
