/* roulang page: index */
:root{
      --bg:#0b1020;
      --bg-2:#11192f;
      --panel:#121a33;
      --panel-2:#16213e;
      --text:#eef2ff;
      --muted:#aab3d0;
      --soft:#cad2f2;
      --line:rgba(255,255,255,.10);
      --line-2:rgba(255,255,255,.16);
      --accent:#f5c542;
      --accent-2:#47d6c5;
      --accent-3:#ff6b6b;
      --ok:#37d67a;
      --shadow:0 18px 48px rgba(0,0,0,.32);
      --shadow-soft:0 10px 24px rgba(0,0,0,.22);
      --radius:18px;
      --radius-sm:12px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"Noto Sans SC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background:
        radial-gradient(1200px 600px at 12% -10%, rgba(71,214,197,.12), transparent 60%),
        radial-gradient(900px 480px at 92% 2%, rgba(245,197,66,.14), transparent 52%),
        linear-gradient(180deg, #09101f 0%, #0a1122 40%, #0d1427 100%);
      color:var(--text);
      line-height:1.7;
      letter-spacing:0;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    ::selection{background:rgba(245,197,66,.28);color:#fff}
    .container-narrow{max-width:var(--container);margin:0 auto;padding:0 18px}
    .topbar{
      background:rgba(255,255,255,.04);
      border-bottom:1px solid var(--line);
      color:var(--soft);
      font-size:.92rem;
    }
    .topbar-inner{
      min-height:44px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:8px 0;
    }
    .topbar .hint{opacity:.92}
    .topbar .meta{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--text);
      font-size:.9rem;
      white-space:nowrap;
    }
    .pill i{color:var(--accent)}
    .pill-ghost{
      background:transparent;
      color:var(--soft);
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      backdrop-filter:blur(14px);
      background:rgba(9,16,31,.76);
      border-bottom:1px solid var(--line);
    }
    .navbar{
      padding:14px 0;
    }
    .navbar-brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:800;
      letter-spacing:0;
      color:var(--text)!important;
    }
    .brand-mark{
      width:42px;height:42px;border-radius:14px;
      background:
        linear-gradient(135deg, rgba(245,197,66,.98), rgba(71,214,197,.88));
      box-shadow:0 12px 28px rgba(245,197,66,.18);
      display:grid;
      place-items:center;
      color:#06101f;
      font-weight:900;
      flex:0 0 auto;
    }
    .brand-title{
      display:flex;
      flex-direction:column;
      line-height:1.15;
    }
    .brand-title strong{font-size:1.08rem}
    .brand-title span{font-size:.82rem;color:var(--muted);font-weight:500}
    .nav-link{
      color:var(--soft)!important;
      font-weight:600;
      padding:.7rem .95rem!important;
      border-radius:12px;
      transition:all .2s ease;
    }
    .nav-link:hover,
    .nav-link:focus{
      color:#fff!important;
      background:rgba(255,255,255,.06);
    }
    .nav-link.active{
      color:#08111f!important;
      background:var(--accent);
      box-shadow:0 10px 22px rgba(245,197,66,.18);
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .btn-theme{
      border:1px solid transparent;
      border-radius:999px;
      padding:.82rem 1.15rem;
      font-weight:700;
      transition:all .2s ease;
      box-shadow:none;
    }
    .btn-theme-primary{
      background:var(--accent);
      color:#09101f;
    }
    .btn-theme-primary:hover,
    .btn-theme-primary:focus{
      background:#ffd24d;
      color:#09101f;
      transform:translateY(-1px);
      box-shadow:0 14px 26px rgba(245,197,66,.18);
    }
    .btn-theme-secondary{
      background:rgba(255,255,255,.04);
      color:var(--text);
      border-color:var(--line);
    }
    .btn-theme-secondary:hover,
    .btn-theme-secondary:focus{
      background:rgba(255,255,255,.08);
      border-color:var(--line-2);
      color:#fff;
      transform:translateY(-1px);
    }
    .navbar-toggler{
      border:1px solid var(--line);
      border-radius:12px;
      padding:.55rem .7rem;
      color:var(--text);
      background:rgba(255,255,255,.04);
    }
    .navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(245,197,66,.18)}
    .dropdown-menu{
      background:#111a31;
      border:1px solid var(--line);
      box-shadow:var(--shadow-soft);
      border-radius:14px;
      padding:.55rem;
    }
    .dropdown-item{
      color:var(--soft);
      border-radius:10px;
      padding:.72rem .85rem;
    }
    .dropdown-item:hover,
    .dropdown-item:focus{
      background:rgba(255,255,255,.06);
      color:#fff;
    }
    .hero{
      position:relative;
      padding:34px 0 24px;
    }
    .hero-shell{
      border:1px solid var(--line);
      background:
        linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
        linear-gradient(180deg, rgba(18,26,51,.92), rgba(11,16,32,.88));
      box-shadow:var(--shadow);
      border-radius:24px;
      overflow:hidden;
      position:relative;
    }
    .hero-shell::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(120deg, rgba(245,197,66,.18), transparent 35%),
        linear-gradient(300deg, rgba(71,214,197,.12), transparent 42%);
      pointer-events:none;
    }
    .hero-grid{
      position:relative;
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:0;
      min-height:560px;
    }
    .hero-copy{
      padding:44px 44px 40px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:20px;
    }
    .hero-copy h1{
      margin:0;
      font-size:clamp(2rem, 4vw, 4rem);
      line-height:1.08;
      letter-spacing:0;
      font-weight:800;
      max-width:12ch;
    }
    .hero-copy .lead{
      color:var(--soft);
      font-size:1.05rem;
      max-width:38rem;
      margin:0;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:6px;
    }
    .stat-strip{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:8px;
      max-width:680px;
    }
    .stat-card{
      background:rgba(255,255,255,.04);
      border:1px solid var(--line);
      border-radius:16px;
      padding:16px 16px 14px;
      min-height:100px;
    }
    .stat-card strong{
      display:block;
      font-size:1.45rem;
      line-height:1.1;
      margin-bottom:6px;
      color:#fff;
    }
    .stat-card span{
      display:block;
      color:var(--muted);
      font-size:.92rem;
    }
    .hero-visual{
      position:relative;
      padding:24px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:
        radial-gradient(500px 260px at 50% 28%, rgba(245,197,66,.16), transparent 60%),
        radial-gradient(380px 210px at 78% 72%, rgba(71,214,197,.12), transparent 56%);
      border-left:1px solid var(--line);
    }
    .stage{
      width:100%;
      max-width:430px;
      border-radius:24px;
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      overflow:hidden;
      box-shadow:var(--shadow-soft);
    }
    .stage-top{
      padding:16px 18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      border-bottom:1px solid var(--line);
      background:rgba(255,255,255,.03);
    }
    .stage-top .badge{
      border-radius:999px;
      padding:8px 12px;
      background:rgba(71,214,197,.14);
      color:#c7fff8;
      border:1px solid rgba(71,214,197,.22);
      font-weight:700;
    }
    .stage-tiles{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      padding:18px;
    }
    .tile{
      min-height:124px;
      border-radius:18px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
      border:1px solid var(--line);
      padding:14px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      transition:transform .2s ease,border-color .2s ease,background .2s ease;
    }
    .tile:hover{
      transform:translateY(-2px);
      border-color:rgba(245,197,66,.36);
      background:rgba(255,255,255,.07);
    }
    .tile .label{
      color:var(--muted);
      font-size:.84rem;
    }
    .tile .num{
      font-size:1.55rem;
      font-weight:800;
      line-height:1;
    }
    .tile .desc{
      color:var(--soft);
      font-size:.88rem;
    }
    .hero-note{
      padding:0 18px 18px;
      color:var(--muted);
      font-size:.92rem;
    }
    .section{
      padding:26px 0;
    }
    .section-head{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:20px;
      margin-bottom:16px;
    }
    .section-head h2{
      margin:0;
      font-size:1.55rem;
      font-weight:800;
      line-height:1.15;
    }
    .section-head p{
      margin:0;
      color:var(--muted);
      max-width:46rem;
      font-size:.98rem;
    }
    .problem-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:14px;
    }
    .problem-card,
    .feature-card,
    .data-card,
    .faq-card,
    .side-panel,
    .recommend-card,
    .entry-card{
      background:linear-gradient(180deg, rgba(18,26,51,.94), rgba(15,22,42,.92));
      border:1px solid var(--line);
      border-radius:18px;
      box-shadow:var(--shadow-soft);
    }
    .problem-card{
      padding:18px;
      min-height:170px;
    }
    .problem-card .icon{
      width:42px;height:42px;border-radius:14px;
      display:grid;place-items:center;
      background:rgba(245,197,66,.12);
      color:#ffe08a;
      border:1px solid rgba(245,197,66,.20);
      margin-bottom:12px;
      font-size:1.1rem;
    }
    .problem-card h3{
      font-size:1.02rem;
      margin:0 0 10px;
      line-height:1.35;
    }
    .problem-card p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
    }
    .solution-grid{
      display:grid;
      grid-template-columns:repeat(12,minmax(0,1fr));
      gap:14px;
    }
    .feature-card{
      padding:18px;
      height:100%;
      position:relative;
      overflow:hidden;
    }
    .feature-card::after{
      content:"";
      position:absolute;
      inset:auto -40px -40px auto;
      width:140px;height:140px;
      background:radial-gradient(circle, rgba(71,214,197,.18), transparent 70%);
      pointer-events:none;
    }
    .feature-card .step{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:34px;height:34px;
      border-radius:12px;
      background:rgba(255,255,255,.06);
      border:1px solid var(--line);
      color:var(--accent);
      font-weight:800;
      margin-bottom:12px;
    }
    .feature-card h3{
      margin:0 0 10px;
      font-size:1.05rem;
    }
    .feature-card p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
    }
    .feature-card .mini{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin-top:14px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--soft);
      font-size:.84rem;
    }
    .data-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:14px;
    }
    .data-card{
      padding:18px;
    }
    .data-card .value{
      font-size:2rem;
      font-weight:800;
      line-height:1;
      color:#fff;
      margin-bottom:8px;
    }
    .data-card .label{
      color:var(--soft);
      font-weight:600;
      margin-bottom:10px;
    }
    .progress{
      height:10px;
      background:rgba(255,255,255,.06);
      border-radius:999px;
      overflow:hidden;
      margin-bottom:10px;
    }
    .progress-bar{
      background:linear-gradient(90deg, var(--accent), #ffd86b);
    }
    .data-card p{
      margin:0;
      color:var(--muted);
      font-size:.93rem;
    }
    .form-panel{
      position:relative;
      overflow:hidden;
      border-radius:22px;
      background:
        linear-gradient(180deg, rgba(22,33,62,.98), rgba(16,24,45,.96));
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      padding:22px;
    }
    .form-panel .section-head{
      margin-bottom:14px;
    }
    .form-panel .small{
      color:var(--muted);
      font-size:.93rem;
      margin-bottom:16px;
    }
    .form-control,
    .form-select{
      background:rgba(255,255,255,.04);
      border:1px solid var(--line);
      color:var(--text);
      border-radius:14px;
      min-height:48px;
    }
    .form-control:focus,
    .form-select:focus{
      background:rgba(255,255,255,.05);
      color:#fff;
      border-color:rgba(245,197,66,.38);
      box-shadow:0 0 0 .2rem rgba(245,197,66,.12);
    }
    .form-control::placeholder{color:#91a0c9}
    textarea.form-control{min-height:120px;resize:vertical}
    .privacy-box{
      border:1px solid var(--line);
      border-radius:18px;
      background:rgba(255,255,255,.03);
      padding:18px;
      color:var(--soft);
    }
    .privacy-box h3{
      margin:0 0 10px;
      font-size:1.04rem;
      color:#fff;
    }
    .privacy-list{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .privacy-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
    }
    .privacy-list i{
      color:var(--ok);
      margin-top:3px;
      flex:0 0 auto;
    }
    .faq-wrap{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:14px;
    }
    .faq-card{
      padding:18px;
    }
    .accordion-item{
      background:transparent;
      border:1px solid var(--line);
      border-radius:16px!important;
      overflow:hidden;
      margin-bottom:12px;
    }
    .accordion-button{
      background:rgba(255,255,255,.03);
      color:#fff;
      font-weight:700;
      box-shadow:none;
      border:none;
      padding:1rem 1rem;
    }
    .accordion-button:not(.collapsed){
      background:rgba(245,197,66,.10);
      color:#fff;
    }
    .accordion-button:focus{
      box-shadow:0 0 0 .18rem rgba(245,197,66,.12);
      border-color:transparent;
    }
    .accordion-button::after{
      filter:invert(1) grayscale(100%) brightness(1.9);
    }
    .accordion-body{
      color:var(--muted);
      background:rgba(255,255,255,.02);
      padding:1rem 1rem 1.05rem;
    }
    .side-panel{
      padding:18px;
    }
    .side-panel .list-group-item{
      background:transparent;
      border-color:var(--line);
      color:var(--soft);
      padding:14px 0;
    }
    .side-panel .list-group-item:first-child{padding-top:0}
    .side-panel .list-group-item:last-child{padding-bottom:0;border-bottom:none}
    .entry-card{
      padding:18px;
      position:sticky;
      top:110px;
    }
    .entry-card h3{
      margin:0 0 10px;
      font-size:1.1rem;
    }
    .entry-card p{
      color:var(--muted);
      font-size:.94rem;
      margin-bottom:16px;
    }
    .footer{
      margin-top:20px;
      padding:26px 0 34px;
      border-top:1px solid var(--line);
      background:rgba(255,255,255,.02);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr .85fr;
      gap:18px;
    }
    .footer h4{
      font-size:1rem;
      margin:0 0 12px;
      color:#fff;
    }
    .footer p,
    .footer a{
      color:var(--muted);
    }
    .footer a:hover{color:#fff}
    .footer-links{
      display:grid;
      gap:10px;
    }
    .copyright{
      margin-top:18px;
      padding-top:18px;
      border-top:1px solid var(--line);
      color:#9eabd1;
      font-size:.92rem;
      display:flex;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
    }
    .top-btn{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:1040;
      width:48px;height:48px;
      border:none;
      border-radius:16px;
      background:var(--accent);
      color:#08111f;
      box-shadow:var(--shadow-soft);
      display:grid;
      place-items:center;
    }
    .top-btn:hover{transform:translateY(-2px)}
    .content-rail{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:14px;
    }
    .news-list{
      display:grid;
      gap:10px;
    }
    .news-item{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:14px 0;
      border-bottom:1px solid var(--line);
    }
    .news-item:last-child{border-bottom:none}
    .news-item a{
      color:#fff;
      font-weight:600;
    }
    .news-item span{
      color:var(--muted);
      font-size:.88rem;
      white-space:nowrap;
    }
    .chip-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .chip{
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--soft);
      padding:8px 12px;
      border-radius:999px;
      font-size:.88rem;
      transition:all .2s ease;
    }
    .chip:hover{
      border-color:rgba(245,197,66,.26);
      color:#fff;
      transform:translateY(-1px);
    }
    .floating-form{
      position:relative;
      margin-top:-10px;
      z-index:2;
    }
    .section-divider{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
      margin:8px 0;
    }
    @media (max-width: 1199.98px){
      .hero-grid{grid-template-columns:1fr}
      .hero-visual{border-left:none;border-top:1px solid var(--line)}
      .content-rail,
      .faq-wrap,
      .footer-grid{grid-template-columns:1fr}
      .entry-card{position:relative;top:0}
      .problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .solution-grid .col-span-4,
      .solution-grid .col-span-5,
      .solution-grid .col-span-7,
      .solution-grid .col-span-6{grid-column:span 12!important}
    }
    @media (max-width: 991.98px){
      .topbar-inner{flex-direction:column;align-items:flex-start}
      .nav-actions{margin-top:10px}
      .navbar-collapse{
        padding-top:10px;
        margin-top:10px;
        border-top:1px solid var(--line);
      }
      .hero-copy{padding:32px 24px}
      .stage-tiles{grid-template-columns:1fr 1fr}
      .section-head{
        flex-direction:column;
        align-items:flex-start;
      }
    }
    @media (max-width: 767.98px){
      .hero{padding-top:18px}
      .hero-copy h1{max-width:none}
      .hero-copy{padding:26px 18px}
      .hero-visual{padding:16px}
      .stage-tiles{grid-template-columns:1fr}
      .stat-strip{grid-template-columns:1fr}
      .problem-grid,
      .data-grid{
        grid-template-columns:1fr;
      }
      .solution-grid{grid-template-columns:1fr}
      .btn-theme{width:auto}
      .topbar{font-size:.85rem}
      .pill{padding:6px 10px}
      .footer .copyright{flex-direction:column}
    }
    .bg-band{
      background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.03));
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .subtle{
      color:var(--muted);
    }
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#f6de8b;
      font-weight:700;
      text-transform:none;
      letter-spacing:0;
      margin-bottom:6px;
    }
    .kicker i{font-size:.95rem}
    .value-list{
      display:grid;
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .value-list li{
      display:flex;
      gap:12px;
      align-items:flex-start;
      color:var(--soft);
    }
    .value-list i{
      color:var(--accent-2);
      margin-top:3px;
      flex:0 0 auto;
    }
    .recommend-card{
      padding:18px;
      display:grid;
      gap:12px;
      height:100%;
    }
    .recommend-card .thumb{
      height:170px;
      border-radius:18px;
      background:
        linear-gradient(135deg, rgba(245,197,66,.18), rgba(71,214,197,.10)),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
      border:1px solid var(--line);
      position:relative;
      overflow:hidden;
    }
    .recommend-card .thumb::before{
      content:"";
      position:absolute;
      inset:18px 18px 18px 18px;
      border:1px dashed rgba(255,255,255,.18);
      border-radius:16px;
      opacity:.7;
    }
    .recommend-card h3{
      margin:0;
      font-size:1.06rem;
    }
    .recommend-card p{
      margin:0;
      color:var(--muted);
      font-size:.94rem;
    }
    .recommend-card .btn{
      align-self:start;
    }

/* roulang page: category2 */
:root{
      --bg:#07111f;
      --bg-soft:#0c1628;
      --panel:#101c31;
      --panel-2:#0f1a2d;
      --panel-3:#16253f;
      --line:rgba(255,255,255,.10);
      --text:#edf2ff;
      --muted:#aab7d0;
      --soft:#7f8ca8;
      --primary:#f0b84d;
      --primary-2:#64d2ff;
      --accent:#7ae0b5;
      --danger:#ff6f7d;
      --shadow:0 18px 50px rgba(0,0,0,.35);
      --shadow-soft:0 12px 32px rgba(0,0,0,.24);
      --radius:18px;
      --radius-lg:26px;
      --container-narrow:1220px;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      background:
        radial-gradient(circle at top left, rgba(100,210,255,.13), transparent 26%),
        radial-gradient(circle at 80% 10%, rgba(240,184,77,.10), transparent 24%),
        linear-gradient(180deg, #08111e 0%, #07111f 42%, #050b15 100%);
      color:var(--text);
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
      line-height:1.65;
      letter-spacing:.2px;
    }
    a{color:inherit;text-decoration:none;transition:all .22s ease}
    a:hover{color:inherit}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    ::selection{background:rgba(100,210,255,.25);color:#fff}
    .site-shell{min-height:100%;overflow:hidden}
    .container-narrow{
      width:min(var(--container-narrow), calc(100% - 2rem));
      margin-inline:auto;
    }
    .topbar{
      position:relative;
      z-index:1031;
      border-bottom:1px solid var(--line);
      background:rgba(6,12,21,.85);
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
    }
    .topbar-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:.72rem 0;
      font-size:.92rem;
      color:var(--muted);
    }
    .topbar-text{
      display:flex;
      flex-wrap:wrap;
      gap:.9rem;
      align-items:center;
    }
    .topbar-text .dot{
      width:.38rem;
      height:.38rem;
      border-radius:50%;
      background:var(--primary);
      display:inline-block;
      box-shadow:0 0 0 .28rem rgba(240,184,77,.12);
    }
    .topbar-right{
      display:flex;
      gap:.6rem;
      align-items:center;
      flex-shrink:0;
    }
    .mini-link{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.42rem .8rem;
      border-radius:999px;
      color:var(--text);
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
    }
    .mini-link:hover{
      transform:translateY(-1px);
      border-color:rgba(255,255,255,.16);
      background:rgba(255,255,255,.08);
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      background:rgba(8,13,23,.82);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      border-bottom:1px solid var(--line);
    }
    .site-header .navbar{
      padding:.95rem 0;
    }
    .navbar-brand{
      display:flex;
      align-items:center;
      gap:.85rem;
      color:var(--text);
      font-weight:700;
      min-width:max-content;
    }
    .navbar-brand:hover{color:var(--text)}
    .brand-mark{
      width:2.95rem;
      height:2.95rem;
      border-radius:1rem;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(135deg, rgba(100,210,255,.24), rgba(240,184,77,.26));
      border:1px solid rgba(255,255,255,.12);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
      color:#fff;
      font-size:1.05rem;
      letter-spacing:.8px;
      flex-shrink:0;
    }
    .brand-title{
      display:flex;
      flex-direction:column;
      line-height:1.1;
    }
    .brand-title strong{
      font-size:1.05rem;
      letter-spacing:.2px;
    }
    .brand-title span{
      margin-top:.24rem;
      font-size:.79rem;
      color:var(--muted);
      font-weight:500;
    }
    .navbar-toggler{
      border:1px solid rgba(255,255,255,.12);
      color:var(--text);
      border-radius:14px;
      padding:.65rem .78rem;
      box-shadow:none;
    }
    .navbar-toggler:focus{
      box-shadow:0 0 0 .2rem rgba(100,210,255,.18);
    }
    .navbar-collapse{
      justify-content:space-between;
      gap:1rem;
    }
    .navbar-nav{
      align-items:center;
      gap:.35rem;
    }
    .nav-link{
      color:var(--muted);
      border-radius:999px;
      padding:.62rem .98rem;
      border:1px solid transparent;
      background:transparent;
      font-weight:600;
    }
    .nav-link:hover,
    .nav-link:focus{
      color:var(--text);
      border-color:rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
    }
    .nav-link.active{
      color:#09111d;
      background:linear-gradient(135deg, var(--primary), #ffd979);
      border-color:rgba(255,255,255,.10);
      box-shadow:0 10px 26px rgba(240,184,77,.18);
    }
    .nav-actions{
      display:flex;
      gap:.65rem;
      align-items:center;
      flex-wrap:wrap;
    }
    .btn-theme{
      border-radius:999px;
      padding:.74rem 1rem;
      font-weight:700;
      border:1px solid transparent;
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      transition:all .22s ease;
    }
    .btn-theme:hover{
      transform:translateY(-1px);
    }
    .btn-theme:focus{
      box-shadow:0 0 0 .2rem rgba(100,210,255,.2);
    }
    .btn-theme-primary{
      color:#09111d;
      background:linear-gradient(135deg, var(--primary), #ffd979);
      box-shadow:0 14px 30px rgba(240,184,77,.16);
    }
    .btn-theme-primary:hover{color:#09111d;filter:saturate(1.03)}
    .btn-theme-secondary{
      color:var(--text);
      background:rgba(255,255,255,.04);
      border-color:rgba(255,255,255,.1);
    }
    .btn-theme-secondary:hover{
      color:var(--text);
      background:rgba(255,255,255,.07);
      border-color:rgba(255,255,255,.16);
    }
    .main-content{padding-bottom:1rem}
    .hero-wrap{
      padding:2rem 0 1rem;
    }
    .hero-panel{
      position:relative;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      background:
        linear-gradient(135deg, rgba(16,28,49,.96), rgba(9,16,29,.96)),
        radial-gradient(circle at top right, rgba(100,210,255,.14), transparent 26%);
      box-shadow:var(--shadow);
      padding:1.35rem;
    }
    .hero-panel::before,
    .hero-panel::after{
      content:"";
      position:absolute;
      inset:auto;
      border-radius:50%;
      pointer-events:none;
    }
    .hero-panel::before{
      width:18rem;height:18rem;
      right:-5rem;top:-7rem;
      background:radial-gradient(circle, rgba(100,210,255,.16), transparent 65%);
    }
    .hero-panel::after{
      width:16rem;height:16rem;
      left:-6rem;bottom:-7rem;
      background:radial-gradient(circle, rgba(240,184,77,.15), transparent 65%);
    }
    .hero-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
      gap:1.3rem;
      align-items:stretch;
    }
    .hero-copy{
      padding:1.4rem 1.2rem 1rem .2rem;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      padding:.45rem .78rem;
      border-radius:999px;
      color:#dfe8ff;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.09);
      font-size:.92rem;
      font-weight:600;
    }
    .hero-title{
      margin:1rem 0 .85rem;
      font-size:clamp(2rem, 4vw, 3.45rem);
      line-height:1.1;
      letter-spacing:-.6px;
      font-weight:800;
    }
    .hero-lead{
      max-width:56rem;
      color:var(--muted);
      font-size:1.03rem;
      margin:0;
    }
    .hero-points{
      display:flex;
      flex-wrap:wrap;
      gap:.7rem;
      margin:1.15rem 0 1.25rem;
      padding:0;
      list-style:none;
    }
    .hero-points li{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.5rem .78rem;
      border-radius:999px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      color:#dbe6ff;
      font-size:.92rem;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.85rem;
      margin-top:1.15rem;
    }
    .hero-subnote{
      margin-top:1rem;
      color:var(--soft);
      font-size:.93rem;
      display:flex;
      align-items:center;
      gap:.5rem;
    }
    .hero-subnote i{color:var(--accent)}
    .hero-visual{
      position:relative;
      z-index:1;
      display:flex;
      flex-direction:column;
      gap:.9rem;
    }
    .visual-card{
      border-radius:22px;
      border:1px solid rgba(255,255,255,.09);
      background:linear-gradient(180deg, rgba(18,31,53,.98), rgba(12,21,37,.98));
      box-shadow:var(--shadow-soft);
      padding:1rem;
    }
    .visual-card h3,
    .visual-card h4{
      margin:0;
    }
    .visual-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:.8rem;
    }
    .visual-title .small{
      color:var(--muted);
    }
    .metric-stack{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:.75rem;
    }
    .metric-box{
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.07);
      border-radius:18px;
      padding:.95rem;
    }
    .metric-box .label{
      color:var(--muted);
      font-size:.84rem;
      margin-bottom:.25rem;
    }
    .metric-box .value{
      font-size:1.55rem;
      font-weight:800;
      letter-spacing:-.3px;
      line-height:1.1;
    }
    .metric-box .desc{
      color:var(--soft);
      font-size:.84rem;
      margin-top:.25rem;
    }
    .faux-board{
      display:grid;
      gap:.72rem;
    }
    .faux-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.8rem;
      padding:.8rem .9rem;
      border-radius:16px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.07);
    }
    .faux-row .k{
      color:var(--muted);
      font-size:.88rem;
    }
    .faux-row .v{
      color:#fff;
      font-weight:700;
    }
    .bar{
      height:.55rem;
      border-radius:999px;
      background:rgba(255,255,255,.07);
      overflow:hidden;
      margin-top:.55rem;
    }
    .bar > span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, var(--primary), var(--primary-2));
    }
    .section-pad{
      padding:3.4rem 0 0;
    }
    .section-soft{
      position:relative;
    }
    .section-soft::before{
      content:"";
      position:absolute;
      inset:2rem 0 auto;
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.11), transparent);
    }
    .section-heading{
      display:flex;
      justify-content:space-between;
      gap:1rem;
      align-items:end;
      margin-bottom:1.4rem;
    }
    .section-heading h2{
      margin:0;
      font-size:clamp(1.5rem, 2.4vw, 2.15rem);
      font-weight:800;
      letter-spacing:-.3px;
    }
    .section-heading p{
      margin:0;
      color:var(--muted);
      max-width:48rem;
    }
    .mini-tags{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
      margin-bottom:1rem;
    }
    .tag-pill{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.45rem .72rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      color:#dbe6ff;
      font-size:.88rem;
    }
    .tag-pill.active{
      background:rgba(100,210,255,.12);
      border-color:rgba(100,210,255,.24);
      color:#f3fbff;
    }
    .question-card,
    .matrix-card,
    .info-card,
    .feature-card,
    .data-card,
    .form-card,
    .faq-shell{
      position:relative;
      height:100%;
      border-radius:var(--radius);
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(17,30,51,.96), rgba(12,20,36,.96));
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .question-card,
    .matrix-card,
    .info-card,
    .feature-card,
    .data-card,
    .form-card{
      padding:1.05rem;
    }
    .question-card{
      transition:transform .2s ease, border-color .2s ease, background .2s ease;
    }
    .question-card:hover,
    .matrix-card:hover,
    .info-card:hover,
    .feature-card:hover{
      transform:translateY(-3px);
      border-color:rgba(100,210,255,.18);
    }
    .question-head{
      display:flex;
      align-items:flex-start;
      gap:.85rem;
      margin-bottom:.65rem;
    }
    .q-icon{
      width:2.45rem;
      height:2.45rem;
      border-radius:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(135deg, rgba(100,210,255,.16), rgba(240,184,77,.12));
      border:1px solid rgba(255,255,255,.08);
      color:#fff;
      flex-shrink:0;
    }
    .question-card h3{
      margin:0;
      font-size:1.02rem;
      font-weight:700;
    }
    .question-card p{
      margin:.35rem 0 0;
      color:var(--muted);
      font-size:.95rem;
    }
    .solution-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:1rem;
    }
    .matrix-card .num{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:2rem;
      height:2rem;
      border-radius:999px;
      background:rgba(240,184,77,.14);
      color:#ffe4a5;
      border:1px solid rgba(240,184,77,.18);
      font-weight:800;
      font-size:.9rem;
      margin-bottom:.85rem;
    }
    .matrix-card h3{
      margin:0 0 .4rem;
      font-size:1.05rem;
      font-weight:700;
    }
    .matrix-card p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
    }
    .matrix-card .foot{
      margin-top:.8rem;
      color:#dbe6ff;
      font-size:.9rem;
      display:flex;
      align-items:center;
      gap:.45rem;
    }
    .side-stack{
      display:grid;
      gap:1rem;
    }
    .feature-card{
      background:
        linear-gradient(180deg, rgba(22,38,63,.98), rgba(12,20,36,.98));
    }
    .feature-card .label{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.42rem .7rem;
      border-radius:999px;
      background:rgba(122,224,181,.12);
      color:#dff9ee;
      border:1px solid rgba(122,224,181,.16);
      font-size:.86rem;
      margin-bottom:.8rem;
    }
    .feature-card h3{
      margin:0;
      font-size:1.25rem;
      font-weight:800;
      line-height:1.3;
    }
    .feature-card p{
      margin:.7rem 0 0;
      color:var(--muted);
    }
    .feature-list{
      margin:.9rem 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:.6rem;
    }
    .feature-list li{
      display:flex;
      gap:.55rem;
      align-items:flex-start;
      color:#dce7ff;
      font-size:.94rem;
    }
    .feature-list i{
      color:var(--accent);
      margin-top:.16rem;
    }
    .feature-card .btn{
      width:100%;
      margin-top:1rem;
    }
    .note-card{
      border-radius:var(--radius);
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      padding:1rem;
    }
    .note-card h4{
      margin:0 0 .5rem;
      font-size:1rem;
      font-weight:700;
    }
    .note-list{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:.55rem;
    }
    .note-list li{
      display:flex;
      gap:.5rem;
      align-items:flex-start;
      color:var(--muted);
      font-size:.92rem;
    }
    .note-list i{
      color:var(--primary);
      margin-top:.12rem;
    }
    .data-strip{
      margin-top:1rem;
      border-radius:var(--radius-lg);
      border:1px solid rgba(255,255,255,.09);
      background:linear-gradient(135deg, rgba(16,28,49,.95), rgba(9,16,28,.95));
      box-shadow:var(--shadow-soft);
      padding:1.05rem;
    }
    .strip-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:.8rem;
      align-items:stretch;
    }
    .stat-card{
      padding:1rem;
      border-radius:18px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      height:100%;
    }
    .stat-card .top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:.5rem;
    }
    .stat-card .top span{
      color:var(--muted);
      font-size:.88rem;
    }
    .stat-card .top i{
      color:var(--primary);
      font-size:1rem;
    }
    .stat-card .num{
      font-size:1.7rem;
      font-weight:800;
      letter-spacing:-.3px;
      line-height:1.1;
    }
    .stat-card .small{
      color:var(--soft);
      font-size:.84rem;
      margin-top:.32rem;
    }
    .progress-wrap{
      margin-top:.4rem;
    }
    .progress-title{
      display:flex;
      justify-content:space-between;
      gap:1rem;
      align-items:center;
      color:#dce7ff;
      font-size:.9rem;
      margin-bottom:.38rem;
    }
    .progress{
      height:.62rem;
      background:rgba(255,255,255,.07);
      border-radius:999px;
    }
    .progress-bar{
      background:linear-gradient(90deg, var(--primary-2), var(--accent));
    }
    .form-shell{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(280px,.55fr);
      gap:1rem;
      align-items:start;
      margin-top:1.05rem;
    }
    .form-card h3{
      margin:0 0 .45rem;
      font-weight:800;
      font-size:1.2rem;
    }
    .form-card p{
      margin:0 0 1rem;
      color:var(--muted);
    }
    .form-control,
    .form-select,
    .form-textarea{
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.10);
      color:var(--text);
      border-radius:14px;
      padding:.82rem .95rem;
      box-shadow:none;
    }
    .form-control::placeholder,
    .form-select::placeholder,
    .form-textarea::placeholder{
      color:#8f9db8;
    }
    .form-control:focus,
    .form-select:focus,
    .form-textarea:focus{
      background:rgba(255,255,255,.05);
      color:var(--text);
      border-color:rgba(100,210,255,.34);
      box-shadow:0 0 0 .2rem rgba(100,210,255,.14);
    }
    .helper-row{
      display:flex;
      flex-wrap:wrap;
      gap:.7rem;
      margin-top:.8rem;
    }
    .helper-pill{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.48rem .72rem;
      border-radius:999px;
      color:#dfe8ff;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      font-size:.88rem;
    }
    .privacy-card{
      border-radius:var(--radius);
      background:linear-gradient(180deg, rgba(18,31,53,.98), rgba(12,20,36,.98));
      border:1px solid var(--line);
      padding:1rem;
    }
    .privacy-card h4{
      margin:0 0 .55rem;
      font-size:1rem;
      font-weight:800;
    }
    .privacy-card p{
      margin:0;
      color:var(--muted);
      font-size:.94rem;
    }
    .privacy-card .mini-list{
      margin:.9rem 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:.55rem;
    }
    .privacy-card .mini-list li{
      display:flex;
      gap:.5rem;
      align-items:flex-start;
      color:#dbe6ff;
      font-size:.92rem;
    }
    .privacy-card .mini-list i{
      color:var(--accent);
      margin-top:.15rem;
    }
    .faq-shell{
      padding:1rem;
    }
    .accordion{
      --bs-accordion-bg:transparent;
      --bs-accordion-color:var(--text);
      --bs-accordion-border-color:rgba(255,255,255,.08);
      --bs-accordion-btn-color:var(--text);
      --bs-accordion-btn-bg:rgba(255,255,255,.03);
      --bs-accordion-active-color:var(--text);
      --bs-accordion-active-bg:rgba(255,255,255,.05);
      --bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(100,210,255,.12);
      --bs-accordion-inner-border-radius:16px;
      --bs-accordion-btn-padding-y:1rem;
      --bs-accordion-btn-padding-x:1rem;
      --bs-accordion-body-padding-y:1rem;
      --bs-accordion-body-padding-x:1rem;
      display:grid;
      gap:.75rem;
    }
    .accordion-item{
      border-radius:18px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.03);
    }
    .accordion-button{
      border:0;
      box-shadow:none;
      font-weight:700;
    }
    .accordion-button::after{
      filter:brightness(2);
    }
    .accordion-button:not(.collapsed){
      box-shadow:none;
      color:var(--text);
    }
    .accordion-body{
      color:var(--muted);
      border-top:1px solid rgba(255,255,255,.07);
    }
    .footer{
      margin-top:3rem;
      padding:2rem 0 1.2rem;
      border-top:1px solid rgba(255,255,255,.09);
      background:rgba(5,10,18,.75);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.25fr .8fr .95fr;
      gap:1.2rem;
      padding-bottom:1.25rem;
    }
    .footer h4{
      margin:0 0 .8rem;
      font-size:1rem;
      font-weight:800;
    }
    .footer p{
      color:var(--muted);
    }
    .footer-links{
      display:grid;
      gap:.55rem;
      color:var(--muted);
    }
    .footer-links a,
    .footer-links span{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      color:var(--muted);
    }
    .footer-links a:hover{color:var(--text)}
    .pill{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.62rem .88rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      color:var(--text);
    }
    .pill:hover{
      background:rgba(255,255,255,.07);
      border-color:rgba(255,255,255,.13);
    }
    .copyright{
      display:flex;
      flex-wrap:wrap;
      gap:.8rem 1.2rem;
      justify-content:space-between;
      padding-top:1rem;
      border-top:1px solid rgba(255,255,255,.08);
      color:var(--soft);
      font-size:.9rem;
    }
    .toast-notice{
      position:fixed;
      right:1rem;
      bottom:1rem;
      z-index:1080;
      min-width:260px;
      max-width:min(92vw, 360px);
      padding:.95rem 1rem;
      border-radius:16px;
      background:rgba(14,24,41,.95);
      border:1px solid rgba(255,255,255,.1);
      box-shadow:var(--shadow);
      color:var(--text);
      transform:translateY(18px);
      opacity:0;
      pointer-events:none;
      transition:all .22s ease;
    }
    .toast-notice.show{
      opacity:1;
      transform:translateY(0);
    }
    .toast-notice .t-title{
      display:flex;
      align-items:center;
      gap:.55rem;
      font-weight:800;
      margin-bottom:.25rem;
    }
    .toast-notice .t-title i{color:var(--accent)}
    .toast-notice p{
      margin:0;
      color:var(--muted);
      font-size:.92rem;
    }
    .focus-ring:focus-visible{
      outline:0;
      box-shadow:0 0 0 .2rem rgba(100,210,255,.22);
    }
    @media (max-width: 1199.98px){
      .hero-grid{grid-template-columns:1fr}
      .form-shell{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width: 991.98px){
      .topbar-inner{
        flex-direction:column;
        align-items:flex-start;
      }
      .navbar-collapse{
        align-items:flex-start;
        padding-top:1rem;
      }
      .nav-actions{
        width:100%;
      }
      .nav-actions .btn-theme{
        flex:1 1 auto;
        justify-content:center;
      }
      .solution-grid{grid-template-columns:1fr}
      .strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .section-heading{
        flex-direction:column;
        align-items:flex-start;
      }
    }
    @media (max-width: 767.98px){
      .container-narrow{width:min(calc(100% - 1.2rem), var(--container-narrow))}
      .hero-panel{padding:1rem}
      .hero-copy{padding:1rem .25rem .3rem}
      .hero-actions .btn-theme{flex:1 1 100%;justify-content:center}
      .metric-stack,
      .strip-grid,
      .footer-grid{grid-template-columns:1fr}
      .topbar-text{
        gap:.5rem .8rem;
      }
      .topbar-right{
        width:100%;
        justify-content:space-between;
      }
      .mini-link{
        justify-content:center;
        flex:1 1 0;
      }
    }
    @media (max-width: 519.98px){
      .brand-title span{display:none}
      .navbar-brand{gap:.7rem}
      .brand-mark{
        width:2.7rem;
        height:2.7rem;
        border-radius:.9rem;
      }
      .hero-title{
        font-size:clamp(1.9rem, 9vw, 2.5rem);
      }
      .hero-lead,
      .section-heading p,
      .question-card p,
      .matrix-card p,
      .feature-card p{
        font-size:.93rem;
      }
      .nav-link{
        width:100%;
        justify-content:center;
      }
    }

/* roulang page: category1 */
:root{
  --bg:#08101f;
  --bg-soft:#0d1729;
  --panel:#111c31;
  --panel-2:#15233d;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.16);
  --text:#eef3ff;
  --muted:#98a6c4;
  --soft:#bcc7e0;
  --accent:#f0b84a;
  --accent-2:#49c8c2;
  --accent-3:#77a8ff;
  --danger:#ff6f7d;
  --shadow:0 18px 40px rgba(0,0,0,.28);
  --shadow-soft:0 10px 28px rgba(0,0,0,.18);
  --radius:8px;
  --radius-sm:6px;
  --container:1180px;
  --gap:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 180px),
    var(--bg);
  color:var(--text);
  line-height:1.65;
  letter-spacing:0;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
::selection{background:rgba(240,184,74,.28);color:#fff}

.container-narrow{
  width:min(var(--container),calc(100% - 32px));
  margin:0 auto;
}
.site-header{
  position:sticky;
  top:0;
  z-index:1030;
  backdrop-filter:saturate(150%) blur(10px);
  background:rgba(8,16,31,.84);
  border-bottom:1px solid var(--line);
}
.top-strip{
  border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(90deg, rgba(240,184,74,.08), rgba(73,200,194,.08));
}
.top-strip .strip-inner{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--soft);
  font-size:.88rem;
}
.strip-note{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.strip-note strong{
  color:var(--text);
  font-weight:600;
}
.strip-note .dot{
  width:8px;height:8px;border-radius:999px;background:var(--accent-2);box-shadow:0 0 0 4px rgba(73,200,194,.12);
  flex:none;
}
.top-strip .btn{
  padding:.45rem .8rem;
}

.navbar{
  padding:.85rem 0;
}
.navbar-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.brand-mark{
  width:42px;height:42px;border-radius:10px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(240,184,74,.92), rgba(73,200,194,.92));
  color:#07101f;
  font-weight:800;
  box-shadow:0 10px 24px rgba(240,184,74,.15);
  flex:none;
}
.brand-title{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.brand-title strong{
  font-size:1.02rem;
  line-height:1.1;
  color:var(--text);
}
.brand-title span{
  font-size:.8rem;
  color:var(--muted);
}
.navbar .navbar-nav{
  align-items:center;
}
.navbar .nav-link{
  color:var(--soft);
  padding:.72rem .95rem;
  border-radius:999px;
  font-weight:500;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color:var(--text);
  background:rgba(255,255,255,.05);
}
.navbar .nav-link.active{
  color:#08101f;
  background:var(--accent);
  box-shadow:0 8px 18px rgba(240,184,74,.18);
}
.nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
.btn-theme{
  border:1px solid transparent;
  border-radius:999px;
  padding:.72rem 1.08rem;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight:600;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.btn-theme:hover,
.btn-theme:focus{
  transform:translateY(-1px);
}
.btn-theme-primary{
  background:var(--accent);
  color:#08101f;
  box-shadow:0 12px 24px rgba(240,184,74,.18);
}
.btn-theme-primary:hover,
.btn-theme-primary:focus{
  background:#ffd06b;
  color:#08101f;
}
.btn-theme-secondary{
  border-color:var(--line-strong);
  background:rgba(255,255,255,.03);
  color:var(--text);
}
.btn-theme-secondary:hover,
.btn-theme-secondary:focus{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.22);
  color:var(--text);
}
.navbar-toggler{
  border:1px solid var(--line);
  color:var(--text);
  border-radius:10px;
  padding:.55rem .7rem;
  box-shadow:none;
}
.navbar-toggler:focus{
  box-shadow:0 0 0 .18rem rgba(73,200,194,.18);
}

main{
  padding:28px 0 28px;
}
.hero-shell,
.section-shell,
.footer{
  position:relative;
}
.hero-shell{
  padding:18px 0 30px;
}
.hero-panel{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(240,184,74,.10), rgba(73,200,194,.06) 36%, rgba(255,255,255,.02)),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0 49.5%, rgba(255,255,255,.04) 49.5% 50.5%, transparent 50.5% 100%),
    linear-gradient(0deg, transparent 0 49.5%, rgba(255,255,255,.04) 49.5% 50.5%, transparent 50.5% 100%);
  background-size:96px 96px;
  opacity:.32;
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:1;
  padding:34px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--accent);
  font-weight:700;
  font-size:.92rem;
  letter-spacing:0;
  text-transform:none;
}
.eyebrow i{
  font-size:.95rem;
}
.hero-title{
  margin:12px 0 14px;
  font-size:clamp(2rem,3vw,3.1rem);
  line-height:1.12;
  letter-spacing:0;
}
.hero-copy{
  max-width:58ch;
  color:var(--soft);
  font-size:1.02rem;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.hero-status{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.status-tile{
  border:1px solid var(--line);
  background:rgba(8,16,31,.38);
  border-radius:var(--radius);
  padding:14px 14px 13px;
  min-height:84px;
  box-shadow:var(--shadow-soft);
}
.status-tile small{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  margin-bottom:8px;
}
.status-tile strong{
  display:block;
  font-size:1.25rem;
  line-height:1.1;
}
.status-tile span{
  display:block;
  color:var(--soft);
  font-size:.82rem;
  margin-top:6px;
}

.hero-rail{
  display:grid;
  gap:14px;
}
.matrix-card,
.signal-card,
.quick-form-card,
.note-card,
.stat-card,
.list-card,
.faq-card{
  border:1px solid var(--line);
  background:rgba(17,28,49,.92);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
}
.matrix-card{
  padding:18px;
}
.matrix-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.matrix-head h2,
.section-title{
  font-size:1.25rem;
  margin:0;
}
.matrix-head p,
.section-subtitle{
  margin:6px 0 0;
  color:var(--muted);
  font-size:.94rem;
}
.icon-matrix{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.icon-cell{
  min-height:94px;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.icon-cell:hover{
  transform:translateY(-2px);
  border-color:rgba(240,184,74,.26);
  background:rgba(255,255,255,.04);
}
.icon-cell i{
  color:var(--accent);
  font-size:1.1rem;
}
.icon-cell strong{
  display:block;
  font-size:1rem;
  margin-top:8px;
}
.icon-cell span{
  color:var(--muted);
  font-size:.84rem;
  line-height:1.45;
}

.signal-card{
  padding:16px 18px;
}
.signal-list{
  display:grid;
  gap:12px;
}
.signal-row{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  align-items:center;
}
.signal-row .label{
  color:var(--muted);
  font-size:.82rem;
}
.signal-bar{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.06);
}
.signal-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--accent), var(--accent-2));
}
.signal-row .value{
  justify-self:end;
  color:var(--soft);
  font-size:.84rem;
}

.pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.pill-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:var(--soft);
  border-radius:999px;
  padding:.45rem .72rem;
  font-size:.86rem;
  cursor:pointer;
  transition:all .18s ease;
}
.pill-chip:hover,
.pill-chip:focus{
  border-color:rgba(240,184,74,.28);
  color:var(--text);
  transform:translateY(-1px);
}
.pill-chip.active{
  background:var(--accent);
  color:#08101f;
  border-color:var(--accent);
  box-shadow:0 10px 18px rgba(240,184,74,.12);
}
.pill-chip i{
  font-size:.9rem;
}
.section-shell{
  padding:14px 0 8px;
}
.section-band{
  margin-top:18px;
}
.block-title{
  margin-bottom:14px;
}
.block-title h3{
  margin:0;
  font-size:1.45rem;
}
.block-title p{
  margin:8px 0 0;
  color:var(--muted);
}
.question-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.question-card{
  padding:18px;
  min-height:162px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  transition:transform .18s ease, border-color .18s ease;
}
.question-card:hover{
  transform:translateY(-2px);
  border-color:rgba(73,200,194,.26);
}
.question-card .tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--accent-2);
  font-size:.84rem;
  font-weight:700;
}
.question-card h4{
  margin:10px 0 8px;
  font-size:1.02rem;
}
.question-card p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}

.catalog-layout{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(300px,.95fr);
  gap:24px;
  align-items:start;
}
.list-card{
  padding:18px;
}
.list-head{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:14px;
}
.list-head h3{
  margin:0;
  font-size:1.25rem;
}
.list-head p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:.92rem;
}
.list-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.filter-bar{
  margin:14px 0 18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.entry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.entry-item{
  position:relative;
  padding:18px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08);
  min-height:208px;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.entry-item:hover{
  transform:translateY(-2px);
  border-color:rgba(240,184,74,.24);
  box-shadow:0 18px 30px rgba(0,0,0,.22);
}
.entry-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.entry-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(240,184,74,.14);
  color:var(--accent);
  flex:none;
  border:1px solid rgba(240,184,74,.18);
}
.entry-item h4{
  margin:12px 0 8px;
  font-size:1.08rem;
}
.entry-item p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.meta-line .mini{
  border:1px solid rgba(255,255,255,.08);
  color:var(--soft);
  background:rgba(255,255,255,.03);
  padding:.35rem .55rem;
  border-radius:999px;
  font-size:.8rem;
}
.entry-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
}
.entry-footer .btn{
  border-radius:999px;
  padding:.5rem .88rem;
}
.entry-footer .hint{
  color:var(--muted);
  font-size:.82rem;
}

.sidebar{
  display:grid;
  gap:14px;
  position:sticky;
  top:120px;
}
.note-card,
.quick-form-card{
  padding:18px;
}
.note-card h4,
.quick-form-card h4,
.faq-card h4{
  margin:0 0 12px;
  font-size:1.08rem;
}
.note-card p,
.quick-form-card p{
  color:var(--muted);
  margin-bottom:12px;
}
.note-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.note-list li{
  display:flex;
  gap:10px;
  color:var(--soft);
  align-items:flex-start;
}
.note-list i{
  color:var(--accent-2);
  margin-top:.18rem;
}
.form-control,
.form-select{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  color:var(--text);
  border-radius:8px;
  padding:.82rem .9rem;
}
.form-control:focus,
.form-select:focus{
  border-color:rgba(73,200,194,.46);
  box-shadow:0 0 0 .18rem rgba(73,200,194,.12);
  background:rgba(255,255,255,.04);
  color:var(--text);
}
.form-control::placeholder{color:#7987a6}
.form-label{
  color:var(--soft);
  font-size:.88rem;
}
.form-text{
  color:var(--muted);
}
.form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
}
.form-actions .btn{
  border-radius:999px;
}
.stats-strip{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.stat-card{
  padding:18px;
}
.stat-card .kpi{
  display:block;
  font-size:1.7rem;
  line-height:1;
  margin-bottom:8px;
  color:var(--accent);
  font-weight:800;
}
.stat-card small{
  color:var(--muted);
  display:block;
  margin-bottom:10px;
}
.progress{
  height:8px;
  background:rgba(255,255,255,.06);
  border-radius:999px;
}
.progress-bar{
  background:linear-gradient(90deg, var(--accent), var(--accent-2));
  border-radius:inherit;
}
.privacy-block{
  margin-top:20px;
  padding:18px;
  border:1px solid rgba(73,200,194,.18);
  background:linear-gradient(180deg, rgba(73,200,194,.08), rgba(255,255,255,.02));
  border-radius:var(--radius);
}
.privacy-block h3{
  margin:0 0 8px;
  font-size:1.15rem;
}
.privacy-block p{
  margin:0;
  color:var(--soft);
}

.faq-wrap{
  margin-top:20px;
}
.faq-card{
  padding:18px;
}
.accordion{
  --bs-accordion-bg:transparent;
  --bs-accordion-border-color:rgba(255,255,255,.08);
  --bs-accordion-btn-color:var(--text);
  --bs-accordion-btn-bg:transparent;
  --bs-accordion-active-bg:rgba(255,255,255,.03);
  --bs-accordion-active-color:var(--text);
  --bs-accordion-btn-focus-box-shadow:0 0 0 .18rem rgba(73,200,194,.12);
  --bs-accordion-btn-padding-x:0;
  --bs-accordion-btn-padding-y:1rem;
  --bs-accordion-body-padding-x:0;
  --bs-accordion-body-padding-y:0 0 1rem 0;
}
.accordion-item{
  background:transparent;
  border-left:0;
  border-right:0;
}
.accordion-button{
  border-radius:0!important;
  padding-left:0;
  padding-right:0;
  background:transparent;
  color:var(--text);
  box-shadow:none!important;
}
.accordion-button::after{
  filter:invert(1) grayscale(1) brightness(1.5);
}
.accordion-body{
  color:var(--muted);
  padding-top:0;
}
.accordion-button:not(.collapsed){
  color:var(--accent);
}
.accordion-item:first-of-type .accordion-button,
.accordion-item:last-of-type .accordion-button{
  border-radius:0;
}

.footer{
  margin-top:30px;
  padding:34px 0 22px;
  border-top:1px solid var(--line);
  background:rgba(5,10,19,.52);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:24px;
}
.footer h4{
  font-size:1rem;
  margin:0 0 14px;
}
.footer p{
  color:var(--muted);
}
.footer-links{
  display:grid;
  gap:10px;
}
.footer-links a,
.footer-links span{
  color:var(--soft);
  font-size:.92rem;
}
.footer-links a:hover{
  color:var(--accent);
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:.62rem .88rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:var(--text);
}
.pill:hover{
  border-color:rgba(240,184,74,.22);
  color:var(--text);
}
.copyright{
  margin-top:22px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  font-size:.88rem;
}
.badge-soft{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:.34rem .62rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  color:var(--soft);
  background:rgba(255,255,255,.03);
  font-size:.8rem;
}
.content-divider{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  margin:18px 0;
}
.btn-check:focus+.btn, .btn:focus{
  box-shadow:0 0 0 .18rem rgba(73,200,194,.14);
}
.btn-check:checked+.btn{
  background:var(--accent);
  color:#08101f;
  border-color:var(--accent);
}
[data-filter-hidden="true"]{display:none !important;}

@media (max-width: 1199.98px){
  .catalog-layout{grid-template-columns:1fr}
  .sidebar{position:static}
}
@media (max-width: 991.98px){
  .hero-status,
  .stats-strip,
  .question-grid,
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .hero-inner{padding:28px}
  .navbar .nav-link{padding:.64rem .8rem}
  .nav-actions{margin-left:0; margin-top:12px}
}
@media (max-width: 767.98px){
  main{padding-top:18px}
  .top-strip .strip-inner{
    gap:8px;
    font-size:.82rem;
  }
  .top-strip .strip-note span:last-child{display:none}
  .hero-inner{padding:22px}
  .hero-status,
  .stats-strip,
  .question-grid,
  .footer-grid,
  .entry-grid{
    grid-template-columns:1fr;
  }
  .icon-matrix{grid-template-columns:1fr}
  .list-head{align-items:flex-start}
  .nav-actions{width:100%; flex-direction:column; align-items:stretch}
  .nav-actions .btn{justify-content:center}
  .navbar-collapse{
    padding-top:10px;
  }
}
@media (max-width: 575.98px){
  .container-narrow{width:min(var(--container),calc(100% - 20px))}
  .brand-title span{display:none}
  .hero-title{font-size:1.85rem}
  .hero-copy{font-size:.98rem}
  .question-card,
  .entry-item,
  .note-card,
  .quick-form-card,
  .stat-card,
  .list-card,
  .matrix-card,
  .signal-card{
    padding:16px;
  }
}
