/* roulang page: index */
:root{
      --bg:#f3f7fc;
      --bg-soft:#eef4fb;
      --surface:#ffffff;
      --surface-2:#f8fbff;
      --primary:#2457d6;
      --primary-2:#4a78ef;
      --primary-soft:rgba(36,87,214,.10);
      --accent:#f0a33b;
      --accent-soft:rgba(240,163,59,.12);
      --success:#1f9d6a;
      --text:#12304e;
      --muted:#667892;
      --line:#d9e3f0;
      --line-strong:#c8d6e6;
      --shadow:0 18px 50px rgba(26,61,117,.08);
      --shadow-sm:0 10px 24px rgba(26,61,117,.08);
      --radius:20px;
      --radius-sm:14px;
      --radius-lg:28px;
      --container:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      background:
        radial-gradient(1200px 600px at 15% 0%, rgba(36,87,214,.10), transparent 55%),
        radial-gradient(900px 500px at 100% 0%, rgba(74,120,239,.08), transparent 50%),
        linear-gradient(180deg, #f7fbff 0%, var(--bg) 36%, #f6f9fd 100%);
      font-family: "PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
      line-height:1.8;
      overflow-x:hidden;
      padding-top:122px;
    }
    ::selection{background:rgba(36,87,214,.18);color:var(--text)}
    a{color:var(--primary);text-decoration:none;transition:all .22s ease}
    a:hover{color:#1d47b0}
    img{max-width:100%;height:auto}
    button,input,textarea,select{font:inherit}
    .container-xxl{max-width:var(--container)}
    .page-shell{padding:0 0 48px}
    .site-header{
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:1030;
      background:rgba(248,251,255,.88);
      backdrop-filter:saturate(180%) blur(14px);
      border-bottom:1px solid rgba(201,214,230,.75);
      box-shadow:0 10px 30px rgba(26,61,117,.05);
    }
    .nav-top{
      min-height:72px;
      padding:.95rem 0 .75rem;
      gap:1rem;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:.8rem;
      color:var(--text);
      white-space:nowrap;
      flex:0 0 auto;
      font-weight:800;
      letter-spacing:.2px;
    }
    .brand:hover{color:var(--text)}
    .brand-mark{
      width:42px;
      height:42px;
      border-radius:14px;
      background:
        linear-gradient(160deg, rgba(36,87,214,1) 0%, rgba(74,120,239,1) 100%);
      box-shadow:0 12px 26px rgba(36,87,214,.22);
      position:relative;
      overflow:hidden;
      flex:0 0 auto;
    }
    .brand-mark::before,
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:auto;
      background:rgba(255,255,255,.92);
      border-radius:999px;
    }
    .brand-mark::before{
      width:16px;
      height:16px;
      left:9px;
      top:13px;
      box-shadow:0 0 0 6px rgba(255,255,255,.10);
    }
    .brand-mark::after{
      width:15px;
      height:4px;
      right:8px;
      bottom:11px;
      opacity:.95;
    }
    .brand-text{
      font-size:1.02rem;
      line-height:1.2;
    }
    .site-search{
      min-width:0;
      flex:1 1 560px;
      max-width:640px;
    }
    .search-shell{
      display:flex;
      align-items:center;
      gap:.65rem;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:999px;
      padding:.45rem .6rem .45rem 1rem;
      box-shadow:0 10px 28px rgba(36,87,214,.05);
      transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .search-shell:focus-within{
      border-color:rgba(36,87,214,.45);
      box-shadow:0 14px 30px rgba(36,87,214,.10);
    }
    .search-shell input{
      border:0;
      outline:0;
      background:transparent;
      width:100%;
      color:var(--text);
      padding:.3rem 0;
      min-width:0;
    }
    .search-shell input::placeholder{color:#8698ad}
    .search-shell button{
      border:0;
      background:var(--primary);
      color:#fff;
      border-radius:999px;
      padding:.58rem 1rem;
      font-weight:700;
      box-shadow:0 10px 18px rgba(36,87,214,.16);
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
      white-space:nowrap;
    }
    .search-shell button:hover{
      background:#1f4cc0;
      transform:translateY(-1px);
      box-shadow:0 14px 22px rgba(36,87,214,.18);
    }
    .search-shell button:active{transform:translateY(0)}
    .site-tools{
      display:flex;
      align-items:center;
      gap:.65rem;
      flex:0 0 auto;
    }
    .switch-group{
      display:inline-flex;
      align-items:center;
      gap:0;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:999px;
      overflow:hidden;
      box-shadow:0 10px 22px rgba(36,87,214,.05);
    }
    .switch-group button{
      border:0;
      background:transparent;
      color:var(--muted);
      padding:.6rem .9rem;
      font-size:.92rem;
      font-weight:700;
      transition:background .2s ease,color .2s ease;
    }
    .switch-group button + button{
      border-left:1px solid rgba(217,227,240,.85);
    }
    .switch-group button.active,
    .switch-group button:hover{
      background:var(--primary-soft);
      color:var(--primary);
    }
    .header-chip{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.62rem .9rem;
      border:1px solid var(--line);
      background:rgba(255,255,255,.8);
      border-radius:999px;
      color:var(--muted);
      font-size:.9rem;
      font-weight:700;
      white-space:nowrap;
    }
    .header-chip:hover{border-color:rgba(36,87,214,.3);color:var(--primary)}
    .nav-sub{
      min-height:46px;
      padding:0 0 .9rem;
      border-top:1px solid rgba(217,227,240,.45);
      gap:1rem;
    }
    .nav-links{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:.55rem;
    }
    .nav-links a{
      color:var(--muted);
      padding:.42rem .82rem;
      border-radius:999px;
      font-size:.95rem;
      font-weight:700;
      border:1px solid transparent;
    }
    .nav-links a:hover,
    .nav-links a.active{
      color:var(--primary);
      background:var(--primary-soft);
      border-color:rgba(36,87,214,.18);
    }
    .nav-note{
      color:var(--muted);
      font-size:.92rem;
    }
    .navbar-toggler{
      border:1px solid var(--line);
      background:var(--surface);
      border-radius:14px;
      width:48px;
      height:48px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 10px 20px rgba(36,87,214,.05);
      padding:0;
    }
    .navbar-toggler:focus{box-shadow:0 0 0 .25rem rgba(36,87,214,.16)}
    .navbar-toggler .bars{
      width:18px;
      height:12px;
      position:relative;
      display:block;
    }
    .navbar-toggler .bars span{
      position:absolute;
      left:0;
      right:0;
      height:2px;
      border-radius:999px;
      background:var(--text);
    }
    .navbar-toggler .bars span:nth-child(1){top:0}
    .navbar-toggler .bars span:nth-child(2){top:5px;width:70%}
    .navbar-toggler .bars span:nth-child(3){bottom:0}
    .mobile-menu{
      padding:0 0 1rem;
    }
    .mobile-menu .search-shell{
      width:100%;
      max-width:none;
      margin-bottom:.9rem;
    }
    .mobile-menu .nav-links{
      gap:.5rem;
    }
    .mobile-menu .nav-links a{
      background:var(--surface);
      border:1px solid var(--line);
    }
    .layout-grid{
      display:grid;
      grid-template-columns:280px minmax(0,1fr);
      gap:1.25rem;
      align-items:start;
    }
    .sidebar{
      position:sticky;
      top:138px;
      z-index:2;
    }
    .side-card{
      background:rgba(255,255,255,.9);
      border:1px solid rgba(217,227,240,.9);
      border-radius:var(--radius);
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }
    .side-card + .side-card{margin-top:1rem}
    .side-head{
      padding:1rem 1rem .8rem;
      border-bottom:1px solid rgba(217,227,240,.75);
    }
    .side-kicker{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      color:var(--primary);
      background:var(--primary-soft);
      border-radius:999px;
      padding:.35rem .7rem;
      font-size:.82rem;
      font-weight:800;
      margin-bottom:.65rem;
    }
    .side-title{
      font-size:1.02rem;
      font-weight:800;
      margin:0;
      line-height:1.35;
    }
    .side-body{
      padding:.95rem 1rem 1rem;
    }
    .side-nav{
      display:grid;
      gap:.5rem;
    }
    .side-nav a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:.75rem .85rem;
      border-radius:14px;
      border:1px solid transparent;
      color:var(--text);
      background:transparent;
      font-weight:700;
    }
    .side-nav a span{
      color:var(--muted);
      font-size:.86rem;
      font-weight:700;
    }
    .side-nav a:hover,
    .side-nav a.active{
      background:var(--surface-2);
      border-color:rgba(36,87,214,.18);
      color:var(--primary);
      box-shadow:0 10px 18px rgba(36,87,214,.06);
    }
    .side-mini{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:.8rem;
    }
    .mini-stat{
      background:linear-gradient(180deg, rgba(36,87,214,.06) 0%, rgba(255,255,255,.95) 100%);
      border:1px solid rgba(36,87,214,.12);
      border-radius:16px;
      padding:.85rem;
    }
    .mini-stat strong{
      display:block;
      font-size:1.35rem;
      line-height:1.1;
      margin-bottom:.25rem;
    }
    .mini-stat small{
      color:var(--muted);
      display:block;
      line-height:1.5;
    }
    main .section-block{
      margin-bottom:1.35rem;
      scroll-margin-top:140px;
    }
    .panel{
      background:rgba(255,255,255,.9);
      border:1px solid rgba(217,227,240,.9);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .section-pad{padding:1.35rem}
    .section-head{
      display:flex;
      flex-wrap:wrap;
      align-items:flex-end;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:1rem;
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      color:var(--primary);
      background:var(--primary-soft);
      border-radius:999px;
      padding:.4rem .8rem;
      font-size:.82rem;
      font-weight:800;
      letter-spacing:.2px;
      margin-bottom:.75rem;
    }
    .section-title{
      margin:0;
      font-size:clamp(1.5rem,2.4vw,2.1rem);
      line-height:1.22;
      font-weight:900;
      letter-spacing:.1px;
    }
    .section-desc{
      margin:0;
      color:var(--muted);
      max-width:62ch;
      font-size:1rem;
    }
    .hero-panel{
      position:relative;
      overflow:hidden;
      background:
        linear-gradient(135deg, rgba(36,87,214,.08) 0%, rgba(74,120,239,.04) 36%, rgba(255,255,255,.95) 100%);
      border:1px solid rgba(36,87,214,.10);
    }
    .hero-panel::before{
      content:"";
      position:absolute;
      inset:auto -12% -18% auto;
      width:280px;
      height:280px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(36,87,214,.12) 0%, rgba(36,87,214,.03) 50%, transparent 72%);
      pointer-events:none;
    }
    .hero-copy{
      position:relative;
      padding:1.5rem;
      z-index:1;
    }
    .hero-copy h1{
      margin:0 0 .9rem;
      font-size:clamp(2.2rem,5vw,3.7rem);
      line-height:1.08;
      font-weight:900;
      letter-spacing:-.4px;
      max-width:12ch;
    }
    .hero-copy p{
      margin:0;
      color:var(--muted);
      font-size:1.03rem;
      max-width:60ch;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.8rem;
      margin-top:1.25rem;
    }
    .btn{
      border:0;
      border-radius:999px;
      padding:.82rem 1.2rem;
      font-weight:800;
      letter-spacing:.1px;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
    }
    .btn:focus,
    .btn:active{
      outline:none;
      box-shadow:none;
    }
    .btn-brand{
      background:linear-gradient(180deg, var(--primary-2) 0%, var(--primary) 100%);
      color:#fff;
      box-shadow:0 16px 26px rgba(36,87,214,.18);
    }
    .btn-brand:hover{
      color:#fff;
      transform:translateY(-1px);
      box-shadow:0 18px 30px rgba(36,87,214,.20);
    }
    .btn-soft{
      background:rgba(36,87,214,.08);
      color:var(--primary);
      border:1px solid rgba(36,87,214,.14);
    }
    .btn-soft:hover{
      background:rgba(36,87,214,.12);
      color:var(--primary);
      transform:translateY(-1px);
    }
    .btn-ghost{
      background:#fff;
      color:var(--text);
      border:1px solid var(--line);
      box-shadow:0 8px 18px rgba(36,87,214,.05);
    }
    .btn-ghost:hover{
      color:var(--primary);
      border-color:rgba(36,87,214,.22);
      transform:translateY(-1px);
    }
    .hero-tags{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
      margin-top:1.2rem;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.45rem .75rem;
      border-radius:999px;
      background:var(--surface);
      border:1px solid rgba(36,87,214,.12);
      color:var(--muted);
      font-size:.88rem;
      font-weight:700;
    }
    .hero-preview{
      position:relative;
      padding:1.35rem;
      margin:1.2rem 1.2rem 1.2rem 0;
      border-radius:var(--radius-lg);
      background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(246,250,255,.98) 100%);
      border:1px solid rgba(217,227,240,.95);
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }
    .hero-preview::after{
      content:"";
      position:absolute;
      inset:auto -20px -24px auto;
      width:180px;
      height:180px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(240,163,59,.16) 0%, rgba(240,163,59,.05) 48%, transparent 70%);
      pointer-events:none;
    }
    .preview-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.8rem;
      font-weight:800;
      margin-bottom:1rem;
    }
    .soft-badge{
      display:inline-flex;
      align-items:center;
      gap:.3rem;
      padding:.35rem .65rem;
      border-radius:999px;
      background:var(--accent-soft);
      color:#a86a12;
      font-size:.84rem;
      font-weight:800;
    }
    .preview-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:.85rem;
    }
    .preview-stat{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:18px;
      padding:.9rem;
      min-height:98px;
      box-shadow:0 10px 22px rgba(36,87,214,.05);
    }
    .preview-stat strong{
      display:block;
      font-size:1.7rem;
      line-height:1.1;
      letter-spacing:-.2px;
      color:var(--primary);
      margin-bottom:.25rem;
    }
    .preview-stat span{
      display:block;
      color:var(--muted);
      font-size:.9rem;
      line-height:1.55;
    }
    .preview-band{
      margin-top:.9rem;
      padding:.85rem 1rem;
      border-radius:16px;
      background:linear-gradient(90deg, rgba(36,87,214,.08) 0%, rgba(255,255,255,.92) 100%);
      border:1px solid rgba(36,87,214,.12);
      color:var(--text);
      font-weight:700;
    }
    .stats-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:1rem;
    }
    .metric-card{
      padding:1.05rem 1rem;
      border-radius:var(--radius);
      background:linear-gradient(180deg, #fff 0%, #fbfdff 100%);
      border:1px solid rgba(217,227,240,.95);
      box-shadow:var(--shadow-sm);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
      min-height:160px;
      display:flex;
      flex-direction:column;
    }
    .metric-card:hover{
      transform:translateY(-2px);
      border-color:rgba(36,87,214,.18);
      box-shadow:0 20px 38px rgba(26,61,117,.10);
    }
    .metric-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:.8rem;
    }
    .metric-value{
      font-size:2rem;
      line-height:1;
      font-weight:900;
      letter-spacing:-.4px;
      color:var(--primary);
      margin-bottom:.2rem;
    }
    .metric-label{
      color:var(--text);
      font-weight:800;
      line-height:1.3;
      margin-bottom:.35rem;
    }
    .metric-desc{
      color:var(--muted);
      font-size:.92rem;
      line-height:1.65;
      margin:0 0 .9rem;
    }
    .state-pill{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.34rem .62rem;
      border-radius:999px;
      background:var(--bg-soft);
      color:var(--primary);
      font-size:.8rem;
      font-weight:800;
      margin-top:auto;
      width:max-content;
    }
    .dot{
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--success);
      box-shadow:0 0 0 4px rgba(31,157,106,.12);
    }
    .matrix-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0,1fr));
      gap:1rem;
    }
    .feature-card{
      background:linear-gradient(180deg, #fff 0%, #f9fbff 100%);
      border:1px solid rgba(217,227,240,.95);
      border-radius:var(--radius);
      padding:1rem;
      box-shadow:var(--shadow-sm);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
      height:100%;
    }
    .feature-card:hover{
      transform:translateY(-2px);
      border-color:rgba(36,87,214,.20);
      box-shadow:0 20px 38px rgba(26,61,117,.10);
    }
    .feature-card h3,
    .feature-card h4{
      margin:0 0 .55rem;
      font-size:1.05rem;
      line-height:1.35;
      font-weight:900;
    }
    .feature-card p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
      line-height:1.7;
    }
    .feature-meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:.85rem;
    }
    .icon-box{
      width:42px;
      height:42px;
      border-radius:14px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(180deg, rgba(36,87,214,.10) 0%, rgba(36,87,214,.05) 100%);
      color:var(--primary);
      font-weight:900;
      letter-spacing:.2px;
      border:1px solid rgba(36,87,214,.12);
      flex:0 0 auto;
      box-shadow:0 10px 18px rgba(36,87,214,.05);
    }
    .feature-badge{
      display:inline-flex;
      align-items:center;
      padding:.32rem .58rem;
      border-radius:999px;
      background:var(--surface-2);
      border:1px solid rgba(217,227,240,.9);
      color:var(--muted);
      font-size:.78rem;
      font-weight:800;
      white-space:nowrap;
    }
    .feature-card .action-link{
      margin-top:.9rem;
      display:inline-flex;
      align-items:center;
      gap:.3rem;
      color:var(--primary);
      font-weight:800;
      font-size:.92rem;
    }
    .feature-card .action-link span{transition:transform .2s ease}
    .feature-card:hover .action-link span{transform:translateX(2px)}
    .feature-wide{
      grid-column:span 7;
    }
    .feature-tall{
      grid-column:span 5;
    }
    .feature-small{
      grid-column:span 4;
    }
    .feature-medium{
      grid-column:span 6;
    }
    .feature-span-3{
      grid-column:span 3;
    }
    .compare-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:1rem;
    }
    .compare-card{
      padding:1.1rem;
      border-radius:var(--radius);
      background:linear-gradient(180deg, #fff 0%, #fafcff 100%);
      border:1px solid rgba(217,227,240,.95);
      box-shadow:var(--shadow-sm);
    }
    .compare-card.good{
      border-color:rgba(36,87,214,.16);
      background:linear-gradient(180deg, rgba(36,87,214,.05) 0%, #ffffff 36%, #fbfdff 100%);
    }
    .compare-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:.95rem;
    }
    .compare-title{
      font-weight:900;
      margin:0;
      font-size:1.1rem;
    }
    .compare-note{
      color:var(--muted);
      font-size:.9rem;
      margin:0;
    }
    .compare-list{
      display:grid;
      gap:.85rem;
      margin:0;
    }
    .compare-row{
      display:grid;
      grid-template-columns:140px minmax(0,1fr) auto;
      gap:.85rem;
      align-items:center;
    }
    .compare-row span:first-child{
      color:var(--text);
      font-weight:800;
      font-size:.92rem;
    }
    .bar{
      height:11px;
      background:#e9f0f8;
      border-radius:999px;
      overflow:hidden;
      border:1px solid rgba(217,227,240,.8);
    }
    .bar i{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, var(--primary-2), var(--primary));
      box-shadow:0 10px 18px rgba(36,87,214,.18);
    }
    .compare-row strong{
      color:var(--primary);
      font-size:.92rem;
      min-width:42px;
      text-align:right;
    }
    .compare-footer{
      margin-top:1rem;
      padding:.9rem 1rem;
      border-radius:16px;
      background:rgba(240,163,59,.10);
      border:1px solid rgba(240,163,59,.18);
      color:var(--text);
      font-weight:700;
    }
    .trust-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:1rem;
    }
    .trust-card{
      padding:1rem;
      border-radius:var(--radius);
      background:linear-gradient(180deg, #fff 0%, #fbfdff 100%);
      border:1px solid rgba(217,227,240,.95);
      box-shadow:var(--shadow-sm);
      display:flex;
      gap:.9rem;
      align-items:flex-start;
      height:100%;
    }
    .trust-mark{
      width:42px;
      height:42px;
      border-radius:14px;
      background:rgba(36,87,214,.08);
      color:var(--primary);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-weight:900;
      font-size:1rem;
      border:1px solid rgba(36,87,214,.12);
      flex:0 0 auto;
    }
    .trust-card h4{
      margin:0 0 .25rem;
      font-size:1rem;
      font-weight:900;
    }
    .trust-card p{
      margin:0;
      color:var(--muted);
      font-size:.92rem;
      line-height:1.7;
    }
    .latest-grid{
      display:grid;
      grid-template-columns:minmax(0,1fr) 320px;
      gap:1rem;
      align-items:start;
    }
    .update-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:1rem;
    }
    .update-card{
      display:flex;
      flex-direction:column;
      gap:.75rem;
      padding:1rem;
      border-radius:18px;
      background:linear-gradient(180deg, #fff 0%, #fbfdff 100%);
      border:1px solid rgba(217,227,240,.95);
      box-shadow:var(--shadow-sm);
      min-height:220px;
      height:100%;
      color:var(--text);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .update-card:hover{
      transform:translateY(-2px);
      border-color:rgba(36,87,214,.18);
      box-shadow:0 20px 38px rgba(26,61,117,.10);
      color:var(--text);
    }
    .update-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.8rem;
    }
    .update-card h3{
      margin:0;
      font-size:1.04rem;
      line-height:1.45;
      font-weight:900;
    }
    .update-card p{
      margin:0;
      color:var(--muted);
      font-size:.93rem;
      line-height:1.72;
    }
    .badge-soft{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.34rem .62rem;
      border-radius:999px;
      background:var(--surface-2);
      border:1px solid rgba(217,227,240,.9);
      color:var(--primary);
      font-size:.8rem;
      font-weight:800;
      white-space:nowrap;
    }
    .time-dot{
      color:var(--muted);
      font-size:.84rem;
      font-weight:700;
      white-space:nowrap;
    }
    .more-link{
      margin-top:auto;
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      color:var(--primary);
      font-weight:800;
      font-size:.92rem;
    }
    .latest-side{
      display:grid;
      gap:1rem;
      position:sticky;
      top:138px;
    }
    .tip-card{
      padding:1rem;
      border-radius:var(--radius);
      background:linear-gradient(180deg, rgba(36,87,214,.06) 0%, rgba(255,255,255,.96) 100%);
      border:1px solid rgba(36,87,214,.12);
      box-shadow:var(--shadow-sm);
    }
    .tip-card h4{
      margin:0 0 .6rem;
      font-size:1.04rem;
      font-weight:900;
    }
    .tip-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:.65rem;
    }
    .tip-list li{
      display:flex;
      gap:.7rem;
      align-items:flex-start;
      color:var(--text);
      font-size:.94rem;
      line-height:1.65;
    }
    .tip-list li::before{
      content:"";
      width:9px;
      height:9px;
      margin-top:.4rem;
      border-radius:50%;
      background:var(--primary);
      box-shadow:0 0 0 4px rgba(36,87,214,.10);
      flex:0 0 auto;
    }
    .side-action{
      display:grid;
      gap:.7rem;
    }
    .side-action a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:.85rem .95rem;
      border-radius:16px;
      background:var(--surface);
      border:1px solid var(--line);
      color:var(--text);
      font-weight:800;
      box-shadow:0 8px 18px rgba(36,87,214,.05);
    }
    .side-action a:hover{
      color:var(--primary);
      border-color:rgba(36,87,214,.18);
      transform:translateY(-1px);
    }
    .collection-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:1rem;
    }
    .collection-card{
      padding:1.1rem;
      border-radius:var(--radius);
      background:
        linear-gradient(180deg, rgba(36,87,214,.05) 0%, rgba(255,255,255,.96) 38%, #fff 100%);
      border:1px solid rgba(217,227,240,.95);
      box-shadow:var(--shadow-sm);
      height:100%;
      position:relative;
      overflow:hidden;
    }
    .collection-card::before{
      content:"";
      position:absolute;
      top:-12px;
      right:-12px;
      width:86px;
      height:86px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(36,87,214,.10) 0%, rgba(36,87,214,.02) 58%, transparent 72%);
    }
    .collection-card h3{
      margin:0 0 .45rem;
      font-size:1.06rem;
      font-weight:900;
      position:relative;
      z-index:1;
    }
    .collection-card p{
      margin:0 0 .8rem;
      color:var(--muted);
      font-size:.94rem;
      line-height:1.7;
      position:relative;
      z-index:1;
    }
    .count-line{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:.75rem;
      position:relative;
      z-index:1;
    }
    .count-line strong{
      font-size:1.9rem;
      line-height:1;
      color:var(--primary);
      font-weight:900;
    }
    .count-line span{
      color:var(--muted);
      font-size:.9rem;
      font-weight:700;
    }
    .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:.45rem;
      margin-bottom:.9rem;
      position:relative;
      z-index:1;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      padding:.32rem .55rem;
      border-radius:999px;
      background:var(--surface-2);
      border:1px solid rgba(217,227,240,.9);
      color:var(--muted);
      font-size:.78rem;
      font-weight:800;
    }
    .collection-card .btn{
      width:max-content;
      position:relative;
      z-index:1;
    }
    .faq-panel .accordion{
      --bs-accordion-border-color: rgba(217,227,240,.95);
      --bs-accordion-border-width:1px;
      --bs-accordion-bg: transparent;
      --bs-accordion-btn-padding-x:1rem;
      --bs-accordion-btn-padding-y:1rem;
      --bs-accordion-active-bg: rgba(36,87,214,.04);
      --bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(36,87,214,.12);
    }
    .faq-panel .accordion-item{
      background:linear-gradient(180deg, #fff 0%, #fbfdff 100%);
      border-radius:18px;
      overflow:hidden;
      box-shadow:var(--shadow-sm);
      margin-bottom:.85rem;
    }
    .faq-panel .accordion-button{
      font-weight:800;
      color:var(--text);
      background:transparent;
    }
    .faq-panel .accordion-button:focus{box-shadow:none}
    .faq-panel .accordion-button:not(.collapsed){
      color:var(--primary);
      box-shadow:inset 0 -1px 0 rgba(217,227,240,.75);
    }
    .faq-panel .accordion-button::after{
      background-image:none !important;
      content:"+";
      width:1.25rem;
      height:1.25rem;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      color:var(--primary);
      font-size:1.25rem;
      font-weight:900;
      line-height:1;
      margin-left:1rem;
      transform:none;
    }
    .faq-panel .accordion-button:not(.collapsed)::after{
      content:"−";
    }
    .faq-panel .accordion-body{
      color:var(--muted);
      line-height:1.85;
      padding:0 1rem 1rem;
    }
    .form-card{
      padding:1.2rem;
      border-radius:var(--radius-lg);
      background:linear-gradient(180deg, #fff 0%, #f8fbff 100%);
      border:1px solid rgba(217,227,240,.95);
      box-shadow:var(--shadow);
    }
    .form-note{
      display:flex;
      gap:.85rem;
      align-items:flex-start;
      padding:1rem;
      border-radius:18px;
      background:rgba(36,87,214,.05);
      border:1px solid rgba(36,87,214,.12);
      color:var(--text);
    }
    .form-note strong{
      display:block;
      margin-bottom:.2rem;
      font-size:1rem;
    }
    .form-note p{
      margin:0;
      color:var(--muted);
      line-height:1.75;
      font-size:.94rem;
    }
    .form-control,
    .form-select{
      border-radius:16px;
      border:1px solid var(--line);
      padding:.8rem .95rem;
      background:#fff;
      color:var(--text);
      box-shadow:none;
    }
    .form-control:focus,
    .form-select:focus{
      border-color:rgba(36,87,214,.45);
      box-shadow:0 0 0 .25rem rgba(36,87,214,.12);
    }
    .form-label{
      font-weight:800;
      color:var(--text);
      margin-bottom:.5rem;
    }
    .footer{
      padding:2rem 0 2.4rem;
      border-top:1px solid rgba(217,227,240,.9);
      background:rgba(255,255,255,.7);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.6fr 1fr 1fr;
      gap:1rem;
      align-items:start;
    }
    .footer-card{
      background:linear-gradient(180deg, #fff 0%, #fbfdff 100%);
      border:1px solid rgba(217,227,240,.95);
      border-radius:20px;
      padding:1.05rem;
      box-shadow:var(--shadow-sm);
      height:100%;
    }
    .footer-card h4{
      margin:0 0 .75rem;
      font-size:1rem;
      font-weight:900;
    }
    .footer-card p{
      margin:0;
      color:var(--muted);
      font-size:.94rem;
      line-height:1.8;
    }
    .footer-links{
      display:grid;
      gap:.55rem;
    }
    .footer-links a{
      color:var(--muted);
      font-weight:700;
    }
    .footer-links a:hover{color:var(--primary)}
    .footer-bottom{
      margin-top:1rem;
      padding-top:1rem;
      border-top:1px solid rgba(217,227,240,.8);
      color:var(--muted);
      font-size:.92rem;
      display:flex;
      flex-wrap:wrap;
      justify-content:space-between;
      gap:.75rem;
    }
    .empty-state{
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:180px;
      border-radius:18px;
      border:1px dashed rgba(36,87,214,.18);
      background:linear-gradient(180deg, rgba(36,87,214,.04) 0%, rgba(255,255,255,.98) 100%);
      color:var(--muted);
      font-weight:800;
      text-align:center;
      padding:1rem;
    }
    .empty-state::before{
      content:"◎";
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:44px;
      height:44px;
      border-radius:50%;
      margin-right:.65rem;
      color:var(--primary);
      background:rgba(36,87,214,.08);
      flex:0 0 auto;
    }
    .focus-outline:focus-visible{
      outline:3px solid rgba(36,87,214,.25);
      outline-offset:2px;
    }
    @media (max-width: 1199.98px){
      .layout-grid{grid-template-columns:240px minmax(0,1fr)}
      .trust-grid,.collection-grid,.update-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .latest-grid{grid-template-columns:minmax(0,1fr)}
      .latest-side{position:static}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width: 991.98px){
      body{padding-top:112px}
      .layout-grid{grid-template-columns:minmax(0,1fr)}
      .sidebar{display:none}
      .site-search{display:none}
      .nav-note{display:none}
      .nav-sub{display:none !important}
      .hero-copy h1{max-width:none}
      .hero-preview{margin:0 1.2rem 1.2rem}
      .stats-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .matrix-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .feature-wide,.feature-tall,.feature-small,.feature-medium,.feature-span-3{grid-column:span 1}
      .compare-grid{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
      .update-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .collection-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
    }
    @media (max-width: 767.98px){
      body{padding-top:104px}
      .hero-copy{padding:1.2rem}
      .hero-preview{margin:0 1rem 1rem}
      .preview-grid{grid-template-columns:1fr}
      .stats-grid,.trust-grid,.collection-grid,.update-grid{grid-template-columns:1fr}
      .matrix-grid{grid-template-columns:1fr}
      .compare-row{
        grid-template-columns:1fr;
        gap:.45rem;
      }
      .compare-row strong{text-align:left}
      .section-pad{padding:1.1rem}
      .search-shell{padding-left:.85rem}
      .search-shell button{padding:.56rem .9rem}
      .hero-actions .btn{width:100%;justify-content:center}
      .hero-actions{gap:.65rem}
      .footer-bottom{flex-direction:column}
    }
    @media (max-width: 575.98px){
      .container-xxl{padding-left:1rem;padding-right:1rem}
      .brand-text{font-size:.96rem}
      .brand-mark{width:38px;height:38px;border-radius:13px}
      .hero-copy h1{font-size:2rem}
      .section-title{font-size:1.45rem}
      .metric-card,.feature-card,.compare-card,.trust-card,.collection-card,.update-card,.tip-card,.form-card,.footer-card{
        border-radius:18px;
      }
      .footer{padding-bottom:1.6rem}
    }

/* roulang page: article */
:root{
      --bg:#f3f7fc;
      --bg-soft:#eef4fb;
      --surface:#ffffff;
      --surface-2:#f8fbff;
      --primary:#2457d6;
      --primary-2:#4a78ef;
      --primary-soft:rgba(36,87,214,.10);
      --accent:#f0a33b;
      --accent-soft:rgba(240,163,59,.12);
      --success:#1f9d6a;
      --text:#12304e;
      --muted:#667892;
      --line:#d9e3f0;
      --line-strong:#c8d6e6;
      --shadow:0 18px 50px rgba(26,61,117,.08);
      --shadow-sm:0 10px 24px rgba(26,61,117,.08);
      --radius:20px;
      --radius-sm:14px;
      --radius-lg:28px;
      --container:1200px;
    }
    html{scroll-behavior:smooth}
    *{box-sizing:border-box}
    body{
      margin:0;
      color:var(--text);
      background:
        radial-gradient(1200px 600px at 15% 0%, rgba(36,87,214,.10), transparent 55%),
        radial-gradient(900px 500px at 100% 0%, rgba(74,120,239,.08), transparent 50%),
        linear-gradient(180deg, #f7fbff 0%, var(--bg) 36%, #f6f9fd 100%);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
      line-height:1.8;
      overflow-x:hidden;
      padding-top:104px;
    }
    a{
      color:var(--primary);
      text-decoration:none;
      transition:all .22s ease;
    }
    a:hover{color:#1d47b0}
    img{max-width:100%;height:auto}
    button,input,textarea,select{
      font:inherit;
    }
    ::selection{
      background:rgba(36,87,214,.16);
      color:var(--text);
    }
    .container-xxl{
      max-width:var(--container);
    }
    .site-header{
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:1030;
      background:rgba(248,251,255,.90);
      backdrop-filter:saturate(180%) blur(14px);
      border-bottom:1px solid rgba(201,214,230,.78);
      box-shadow:0 10px 30px rgba(26,61,117,.05);
    }
    .nav-top{
      min-height:104px;
      padding:.95rem 0;
      gap:1rem;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:.82rem;
      color:var(--text);
      white-space:nowrap;
      flex:0 0 auto;
      font-weight:800;
      letter-spacing:.2px;
    }
    .brand:hover{color:var(--text)}
    .brand-mark{
      width:44px;
      height:44px;
      border-radius:14px;
      background:
        linear-gradient(160deg, rgba(36,87,214,1) 0%, rgba(74,120,239,1) 100%);
      box-shadow:0 12px 26px rgba(36,87,214,.22);
      position:relative;
      overflow:hidden;
      flex:0 0 auto;
    }
    .brand-mark::before,
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:auto;
      background:rgba(255,255,255,.94);
      border-radius:999px;
    }
    .brand-mark::before{
      width:16px;
      height:16px;
      left:9px;
      top:13px;
      box-shadow:0 0 0 6px rgba(255,255,255,.08);
    }
    .brand-mark::after{
      width:15px;
      height:4px;
      right:8px;
      bottom:11px;
      opacity:.96;
    }
    .brand-text{
      font-size:1.02rem;
      line-height:1.2;
    }
    .top-tools{
      display:flex;
      align-items:center;
      gap:.75rem;
      flex:1 1 auto;
      min-width:0;
    }
    .site-search{
      min-width:0;
      flex:1 1 560px;
      max-width:640px;
    }
    .search-shell{
      display:flex;
      align-items:center;
      gap:.65rem;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:999px;
      padding:.42rem .55rem .42rem 1rem;
      box-shadow:0 10px 28px rgba(36,87,214,.05);
      transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .search-shell:focus-within{
      border-color:rgba(36,87,214,.45);
      box-shadow:0 14px 30px rgba(36,87,214,.10);
      transform:translateY(-1px);
    }
    .search-shell input{
      border:0;
      outline:0;
      background:transparent;
      width:100%;
      color:var(--text);
      padding:.35rem 0;
      min-width:0;
    }
    .search-shell input::placeholder{color:#8698ad}
    .search-shell button{
      border:0;
      background:var(--primary);
      color:#fff;
      border-radius:999px;
      padding:.60rem 1rem;
      font-weight:700;
      box-shadow:0 10px 18px rgba(36,87,214,.16);
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
      white-space:nowrap;
    }
    .search-shell button:hover{
      background:#1f4cc0;
      transform:translateY(-1px);
      box-shadow:0 14px 22px rgba(36,87,214,.18);
    }
    .search-shell button:active{transform:translateY(0)}
    .utility-group{
      display:flex;
      align-items:center;
      gap:.65rem;
      flex:0 0 auto;
    }
    .utility-chip{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.62rem .9rem;
      border:1px solid var(--line);
      background:rgba(255,255,255,.82);
      border-radius:999px;
      color:var(--muted);
      font-size:.9rem;
      font-weight:700;
      white-space:nowrap;
      box-shadow:0 10px 22px rgba(26,61,117,.04);
    }
    .utility-chip:hover{
      border-color:rgba(36,87,214,.3);
      color:var(--primary);
    }
    .switch-group{
      display:flex;
      align-items:center;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(255,255,255,.86);
      box-shadow:0 10px 22px rgba(26,61,117,.04);
    }
    .switch-group button{
      border:0;
      background:transparent;
      color:var(--muted);
      padding:.60rem .95rem;
      font-size:.92rem;
      font-weight:700;
      transition:background .2s ease,color .2s ease, transform .2s ease;
      min-width:72px;
    }
    .switch-group button + button{
      border-left:1px solid rgba(217,227,240,.82);
    }
    .switch-group button.active,
    .switch-group button:hover{
      background:var(--primary-soft);
      color:var(--primary);
    }
    .switch-group button:active{
      transform:scale(.98);
    }
    .menu-btn{
      border:1px solid var(--line);
      background:var(--surface);
      border-radius:14px;
      width:48px;
      height:48px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 10px 20px rgba(36,87,214,.05);
      padding:0;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .menu-btn:hover{
      transform:translateY(-1px);
      border-color:rgba(36,87,214,.28);
      box-shadow:0 14px 24px rgba(36,87,214,.08);
    }
    .menu-btn:focus{
      box-shadow:0 0 0 .25rem rgba(36,87,214,.16);
    }
    .menu-btn .bars{
      width:18px;
      height:12px;
      position:relative;
      display:block;
    }
    .menu-btn .bars span{
      position:absolute;
      left:0;
      right:0;
      height:2px;
      border-radius:999px;
      background:var(--text);
    }
    .menu-btn .bars span:nth-child(1){top:0}
    .menu-btn .bars span:nth-child(2){top:5px;width:70%}
    .menu-btn .bars span:nth-child(3){bottom:0}
    .page-shell{
      display:grid;
      grid-template-columns:260px minmax(0,1fr) 292px;
      gap:1.25rem;
      align-items:start;
    }
    .rail{
      position:relative;
      min-width:0;
    }
    .rail-sticky{
      position:sticky;
      top:124px;
      display:flex;
      flex-direction:column;
      gap:1rem;
    }
    .rail-card{
      background:rgba(255,255,255,.82);
      backdrop-filter:saturate(160%) blur(10px);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow-sm);
      padding:1rem;
    }
    .rail-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      margin-bottom:.9rem;
    }
    .rail-title h3,
    .panel-head h2,
    .panel-head h3{
      margin:0;
      color:var(--text);
      font-weight:800;
      letter-spacing:.1px;
    }
    .rail-title h3{font-size:1rem}
    .rail-title small{
      color:var(--muted);
      font-weight:600;
    }
    .side-nav{
      display:flex;
      flex-direction:column;
      gap:.5rem;
    }
    .side-nav a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      padding:.82rem .9rem;
      border-radius:16px;
      color:var(--text);
      border:1px solid transparent;
      background:transparent;
      transition:all .22s ease;
      font-weight:700;
      line-height:1.4;
    }
    .side-nav a:hover{
      background:var(--surface-2);
      border-color:rgba(36,87,214,.12);
      transform:translateX(2px);
      color:var(--primary);
    }
    .side-nav a.active{
      background:linear-gradient(180deg, rgba(36,87,214,.12), rgba(36,87,214,.08));
      border-color:rgba(36,87,214,.18);
      color:var(--primary);
      box-shadow:inset 0 0 0 1px rgba(36,87,214,.02);
    }
    .side-nav a span{
      color:var(--muted);
      font-size:.82rem;
      font-weight:700;
      background:rgba(255,255,255,.74);
      border:1px solid var(--line);
      border-radius:999px;
      padding:.18rem .55rem;
      white-space:nowrap;
    }
    .hero-strip{
      background:
        radial-gradient(900px 380px at 100% 0%, rgba(74,120,239,.11), transparent 50%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.94));
      border:1px solid rgba(201,214,230,.92);
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:1.2rem 1.2rem 1.05rem;
      margin-bottom:1rem;
      overflow:hidden;
    }
    .breadcrumb-line{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:.45rem;
      color:var(--muted);
      font-size:.92rem;
      margin-bottom:.8rem;
    }
    .breadcrumb-line a{
      color:var(--muted);
      font-weight:700;
    }
    .breadcrumb-line a:hover{color:var(--primary)}
    .breadcrumb-line .sep{
      color:#a8b6c8;
    }
    .hero-labels{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
      margin-bottom:.95rem;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.38rem .72rem;
      border-radius:999px;
      font-size:.84rem;
      font-weight:800;
      border:1px solid transparent;
      white-space:nowrap;
    }
    .chip-primary{
      background:var(--primary-soft);
      color:var(--primary);
      border-color:rgba(36,87,214,.14);
    }
    .chip-soft{
      background:rgba(248,251,255,.96);
      color:var(--muted);
      border-color:var(--line);
    }
    .chip-accent{
      background:var(--accent-soft);
      color:#a0640b;
      border-color:rgba(240,163,59,.16);
    }
    .hero-title{
      margin:0;
      font-size:clamp(1.8rem, 3vw, 3rem);
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:900;
      max-width:18ch;
    }
    .hero-subtitle{
      margin:.95rem 0 0;
      max-width:60ch;
      color:var(--muted);
      font-size:1rem;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.75rem;
      margin-top:1.1rem;
    }
    .btn-site{
      border:1px solid var(--primary);
      background:linear-gradient(180deg, var(--primary-2), var(--primary));
      color:#fff;
      border-radius:999px;
      padding:.78rem 1.1rem;
      font-weight:800;
      box-shadow:0 14px 24px rgba(36,87,214,.18);
      transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
    }
    .btn-site:hover{
      color:#fff;
      transform:translateY(-1px);
      box-shadow:0 16px 30px rgba(36,87,214,.22);
      filter:saturate(1.02);
    }
    .btn-site:active{
      transform:translateY(0);
    }
    .btn-site:focus{
      box-shadow:0 0 0 .25rem rgba(36,87,214,.16), 0 14px 24px rgba(36,87,214,.18);
      color:#fff;
    }
    .btn-site-outline{
      border:1px solid var(--line-strong);
      background:rgba(255,255,255,.9);
      color:var(--text);
      border-radius:999px;
      padding:.78rem 1.1rem;
      font-weight:800;
      transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
    }
    .btn-site-outline:hover{
      transform:translateY(-1px);
      background:var(--surface-2);
      border-color:rgba(36,87,214,.26);
      color:var(--primary);
    }
    .btn-site-outline:focus{
      box-shadow:0 0 0 .25rem rgba(36,87,214,.14);
    }
    .meta-row{
      display:flex;
      flex-wrap:wrap;
      gap:.6rem;
      margin-top:.9rem;
    }
    .meta-item{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.45rem .75rem;
      border-radius:999px;
      background:rgba(255,255,255,.9);
      border:1px solid var(--line);
      color:var(--muted);
      font-size:.88rem;
      font-weight:700;
      box-shadow:0 8px 18px rgba(26,61,117,.04);
    }
    .meta-item strong{color:var(--text)}
    .main-stack{
      display:flex;
      flex-direction:column;
      gap:1rem;
      min-width:0;
    }
    .panel{
      background:rgba(255,255,255,.88);
      backdrop-filter:saturate(160%) blur(10px);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow-sm);
      padding:1.15rem;
      min-width:0;
    }
    .panel + .panel{margin-top:0}
    .panel-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:1rem;
    }
    .panel-head .sub{
      color:var(--muted);
      font-size:.92rem;
      margin:0;
    }
    .dashboard-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:.9rem;
    }
    .stat-card{
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96));
      border:1px solid var(--line);
      border-radius:20px;
      padding:1rem;
      box-shadow:0 10px 24px rgba(26,61,117,.05);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      min-width:0;
    }
    .stat-card:hover{
      transform:translateY(-2px);
      box-shadow:0 18px 34px rgba(26,61,117,.10);
      border-color:rgba(36,87,214,.20);
    }
    .stat-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      margin-bottom:.85rem;
    }
    .stat-kicker{
      color:var(--muted);
      font-size:.86rem;
      font-weight:700;
    }
    .stat-badge{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      border-radius:999px;
      padding:.23rem .55rem;
      font-size:.78rem;
      font-weight:800;
      white-space:nowrap;
      background:var(--primary-soft);
      color:var(--primary);
      border:1px solid rgba(36,87,214,.12);
    }
    .stat-value{
      font-size:1.9rem;
      line-height:1;
      font-weight:900;
      letter-spacing:-.03em;
      color:var(--text);
      margin-bottom:.3rem;
    }
    .stat-desc{
      margin:0;
      color:var(--muted);
      font-size:.93rem;
      line-height:1.65;
    }
    .meter{
      margin-top:.8rem;
      height:8px;
      border-radius:999px;
      background:#e9eff7;
      overflow:hidden;
    }
    .meter span{
      display:block;
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg, var(--primary-2), var(--primary));
    }
    .service-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0,1fr));
      gap:.9rem;
    }
    .service-card{
      grid-column:span 4;
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
      border:1px solid var(--line);
      border-radius:22px;
      padding:1rem;
      box-shadow:0 10px 24px rgba(26,61,117,.05);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      min-width:0;
      height:100%;
      display:flex;
      flex-direction:column;
      gap:.85rem;
    }
    .service-card.wide{
      grid-column:span 8;
    }
    .service-card.tall{
      grid-column:span 4;
      min-height:100%;
    }
    .service-card:hover{
      transform:translateY(-2px);
      border-color:rgba(36,87,214,.18);
      box-shadow:0 18px 34px rgba(26,61,117,.09);
    }
    .service-head{
      display:flex;
      align-items:flex-start;
      gap:.9rem;
    }
    .service-icon{
      width:46px;
      height:46px;
      border-radius:16px;
      background:linear-gradient(180deg, rgba(36,87,214,.12), rgba(36,87,214,.06));
      color:var(--primary);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      font-weight:900;
      border:1px solid rgba(36,87,214,.14);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
    }
    .service-icon::before{
      content:"●";
      transform:scale(.75);
      opacity:.9;
    }
    .service-title{
      margin:0;
      font-size:1.04rem;
      font-weight:900;
      line-height:1.35;
    }
    .service-desc{
      margin:.35rem 0 0;
      color:var(--muted);
      font-size:.94rem;
      line-height:1.72;
    }
    .service-foot{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
      align-items:center;
      margin-top:auto;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      border-radius:999px;
      padding:.33rem .65rem;
      font-size:.78rem;
      font-weight:800;
      border:1px solid transparent;
      white-space:nowrap;
    }
    .pill-reco{
      background:rgba(31,157,106,.10);
      color:var(--success);
      border-color:rgba(31,157,106,.16);
    }
    .pill-hot{
      background:var(--accent-soft);
      color:#a0640b;
      border-color:rgba(240,163,59,.16);
    }
    .pill-stable{
      background:var(--primary-soft);
      color:var(--primary);
      border-color:rgba(36,87,214,.12);
    }
    .text-link{
      margin-left:auto;
      display:inline-flex;
      align-items:center;
      gap:.3rem;
      font-weight:800;
      color:var(--primary);
    }
    .text-link:hover{color:#1d47b0}
    .compare-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:.9rem;
    }
    .compare-card{
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
      border:1px solid var(--line);
      border-radius:22px;
      padding:1rem;
      box-shadow:0 10px 24px rgba(26,61,117,.05);
      min-width:0;
    }
    .compare-card h3{
      margin:0 0 .6rem 0;
      font-size:1.02rem;
      font-weight:900;
    }
    .compare-list{
      display:flex;
      flex-direction:column;
      gap:.8rem;
    }
    .compare-row{
      display:grid;
      grid-template-columns:100px minmax(0,1fr) auto;
      gap:.75rem;
      align-items:center;
    }
    .compare-row .label{
      color:var(--muted);
      font-size:.9rem;
      font-weight:700;
    }
    .compare-row .value{
      font-weight:800;
      color:var(--text);
    }
    .compare-row .score{
      font-weight:900;
      color:var(--primary);
    }
    .bar{
      height:10px;
      border-radius:999px;
      background:#e9eff7;
      overflow:hidden;
      margin-top:.35rem;
    }
    .bar span{
      display:block;
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(36,87,214,.42), rgba(36,87,214,1));
    }
    .compare-summary{
      display:flex;
      flex-direction:column;
      gap:.8rem;
    }
    .compare-note{
      border-radius:18px;
      padding:.9rem;
      background:linear-gradient(180deg, rgba(36,87,214,.10), rgba(36,87,214,.05));
      border:1px solid rgba(36,87,214,.14);
      color:var(--text);
    }
    .compare-note strong{
      display:block;
      margin-bottom:.25rem;
      font-weight:900;
    }
    .check-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:.55rem;
    }
    .check-list li{
      display:flex;
      gap:.6rem;
      align-items:flex-start;
      color:var(--text);
      font-size:.94rem;
    }
    .check-list li::before{
      content:"";
      width:9px;
      height:9px;
      border-radius:999px;
      margin-top:.55rem;
      background:linear-gradient(180deg, var(--primary-2), var(--primary));
      box-shadow:0 0 0 4px rgba(36,87,214,.10);
      flex:0 0 auto;
    }
    .trust-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:.9rem;
    }
    .trust-card{
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
      border:1px solid var(--line);
      border-radius:20px;
      padding:1rem;
      box-shadow:0 10px 24px rgba(26,61,117,.05);
      min-width:0;
    }
    .trust-card h3{
      margin:0 0 .45rem 0;
      font-size:1rem;
      font-weight:900;
    }
    .trust-card p{
      margin:0;
      color:var(--muted);
      font-size:.92rem;
      line-height:1.7;
    }
    .latest-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:.9rem;
    }
    .latest-card{
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
      border:1px solid var(--line);
      border-radius:22px;
      overflow:hidden;
      box-shadow:0 10px 24px rgba(26,61,117,.05);
      min-width:0;
      display:flex;
      flex-direction:column;
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    .latest-card:hover{
      transform:translateY(-2px);
      box-shadow:0 18px 34px rgba(26,61,117,.09);
      border-color:rgba(36,87,214,.18);
    }
    .latest-thumb{
      height:94px;
      background:
        radial-gradient(120px 80px at 18% 40%, rgba(36,87,214,.26), transparent 60%),
        radial-gradient(160px 90px at 84% 30%, rgba(240,163,59,.18), transparent 55%),
        linear-gradient(135deg, rgba(36,87,214,.10), rgba(74,120,239,.05) 42%, rgba(255,255,255,0));
      border-bottom:1px solid rgba(217,227,240,.9);
      position:relative;
    }
    .latest-body{
      padding:1rem;
      display:flex;
      flex-direction:column;
      gap:.65rem;
      min-width:0;
      flex:1;
    }
    .latest-body h3{
      margin:0;
      font-size:1rem;
      font-weight:900;
      line-height:1.45;
    }
    .latest-body p{
      margin:0;
      color:var(--muted);
      font-size:.93rem;
      line-height:1.7;
    }
    .latest-meta{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:.5rem;
      margin-top:auto;
    }
    .tiny{
      display:inline-flex;
      align-items:center;
      gap:.3rem;
      color:var(--muted);
      font-size:.82rem;
      font-weight:700;
    }
    .latest-link{
      margin-left:auto;
      font-weight:800;
      color:var(--primary);
    }
    .collection-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:.9rem;
    }
    .collection-card{
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
      border:1px solid var(--line);
      border-radius:20px;
      padding:1rem;
      box-shadow:0 10px 24px rgba(26,61,117,.05);
    }
    .collection-card h3{
      margin:0 0 .5rem 0;
      font-size:1rem;
      font-weight:900;
    }
    .collection-card ul{
      margin:0;
      padding-left:1.1rem;
      color:var(--muted);
      line-height:1.75;
      font-size:.94rem;
    }
    .collection-card li + li{margin-top:.3rem}
    .article-panel{
      background:rgba(255,255,255,.92);
    }
    .article-body{
      max-width:720px;
      margin:0 auto;
      color:var(--text);
      font-size:1rem;
      line-height:1.85;
      overflow-wrap:anywhere;
    }
    .article-body :is(p,ul,ol,blockquote,pre,table,figure){
      margin-bottom:1rem;
    }
    .article-body h2{
      margin:1.8rem 0 .85rem;
      font-size:1.55rem;
      line-height:1.32;
      font-weight:900;
    }
    .article-body h3{
      margin:1.45rem 0 .65rem;
      font-size:1.18rem;
      line-height:1.38;
      font-weight:900;
    }
    .article-body p{
      color:var(--text);
    }
    .article-body ul,
    .article-body ol{
      padding-left:1.25rem;
    }
    .article-body li + li{margin-top:.35rem}
    .article-body blockquote{
      border-left:4px solid rgba(36,87,214,.35);
      background:linear-gradient(180deg, rgba(36,87,214,.06), rgba(36,87,214,.03));
      padding:1rem 1rem 1rem 1.1rem;
      border-radius:16px;
      color:var(--text);
    }
    .article-body code{
      background:rgba(36,87,214,.08);
      color:#1d47b0;
      padding:.14rem .36rem;
      border-radius:8px;
      font-size:.92em;
    }
    .article-body pre{
      background:#0f1f38;
      color:#e8f0ff;
      padding:1rem;
      border-radius:18px;
      overflow:auto;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }
    .article-body pre code{
      background:transparent;
      color:inherit;
      padding:0;
    }
    .article-body img{
      border-radius:18px;
      box-shadow:0 14px 30px rgba(26,61,117,.10);
      margin:1rem 0;
    }
    .article-body a{
      text-decoration:underline;
      text-decoration-color:rgba(36,87,214,.30);
      text-underline-offset:3px;
    }
    .article-body a:hover{
      text-decoration-color:rgba(29,71,176,.62);
    }
    .empty-state{
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:320px;
      text-align:center;
      padding:1.8rem 1rem;
    }
    .empty-box{
      max-width:460px;
      margin:0 auto;
    }
    .empty-badge{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.36rem .75rem;
      border-radius:999px;
      background:var(--primary-soft);
      color:var(--primary);
      border:1px solid rgba(36,87,214,.14);
      font-weight:800;
      font-size:.84rem;
      margin-bottom:1rem;
    }
    .empty-box h2{
      margin:0 0 .65rem 0;
      font-size:1.7rem;
      font-weight:900;
    }
    .empty-box p{
      margin:0 0 1rem 0;
      color:var(--muted);
    }
    .quick-card{
      display:flex;
      flex-direction:column;
      gap:.85rem;
    }
    .quick-list{
      display:grid;
      gap:.65rem;
    }
    .quick-item{
      display:flex;
      align-items:flex-start;
      gap:.75rem;
      padding:.8rem .85rem;
      border-radius:18px;
      border:1px solid var(--line);
      background:rgba(248,251,255,.92);
    }
    .quick-dot{
      width:10px;
      height:10px;
      border-radius:999px;
      margin-top:.5rem;
      background:linear-gradient(180deg, var(--primary-2), var(--primary));
      box-shadow:0 0 0 4px rgba(36,87,214,.12);
      flex:0 0 auto;
    }
    .quick-item strong{
      display:block;
      color:var(--text);
      font-size:.94rem;
      margin-bottom:.15rem;
    }
    .quick-item span{
      color:var(--muted);
      font-size:.88rem;
      line-height:1.55;
    }
    .tag-cloud{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
    }
    .tag-cloud a{
      display:inline-flex;
      align-items:center;
      padding:.42rem .7rem;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.88);
      color:var(--text);
      font-size:.86rem;
      font-weight:700;
      transition:all .2s ease;
    }
    .tag-cloud a:hover{
      color:var(--primary);
      border-color:rgba(36,87,214,.22);
      background:var(--primary-soft);
    }
    .sticky-box{
      position:sticky;
      top:124px;
      display:flex;
      flex-direction:column;
      gap:1rem;
    }
    .form-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0,1fr));
      gap:.9rem;
      align-items:start;
    }
    .form-copy{
      grid-column:span 5;
      display:flex;
      flex-direction:column;
      gap:.75rem;
      min-width:0;
    }
    .form-copy p{
      margin:0;
      color:var(--muted);
    }
    .form-panel{
      grid-column:span 7;
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
      border:1px solid var(--line);
      border-radius:22px;
      padding:1rem;
      box-shadow:0 10px 24px rgba(26,61,117,.05);
    }
    .form-label{
      font-weight:800;
      color:var(--text);
      margin-bottom:.45rem;
    }
    .form-control,
    .form-select{
      border-radius:16px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--text);
      padding:.8rem .95rem;
      box-shadow:none !important;
      transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .form-control:focus,
    .form-select:focus{
      border-color:rgba(36,87,214,.45);
      box-shadow:0 0 0 .25rem rgba(36,87,214,.12) !important;
    }
    textarea.form-control{
      min-height:120px;
      resize:vertical;
    }
    .footer{
      margin-top:1.2rem;
      padding:2rem 0 1.2rem;
      border-top:1px solid rgba(201,214,230,.72);
      background:rgba(248,251,255,.76);
      backdrop-filter:saturate(140%) blur(10px);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr 1fr;
      gap:1rem;
      margin-bottom:1rem;
    }
    .footer-card{
      background:rgba(255,255,255,.82);
      border:1px solid var(--line);
      border-radius:22px;
      padding:1rem;
      box-shadow:0 10px 22px rgba(26,61,117,.04);
    }
    .footer-card h4{
      margin:0 0 .65rem 0;
      font-size:1rem;
      font-weight:900;
    }
    .footer-card p{
      margin:0;
      color:var(--muted);
      line-height:1.75;
      font-size:.94rem;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
    }
    .footer-links a{
      display:inline-flex;
      align-items:center;
      padding:.42rem .72rem;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.96);
      color:var(--text);
      font-weight:700;
      font-size:.9rem;
    }
    .footer-links a:hover{
      color:var(--primary);
      border-color:rgba(36,87,214,.22);
      background:var(--primary-soft);
    }
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:1rem;
      color:var(--muted);
      font-size:.92rem;
      padding:0 .15rem;
      flex-wrap:wrap;
    }
    .offcanvas{
      background:linear-gradient(180deg, rgba(248,251,255,.98), rgba(243,247,252,.98));
      backdrop-filter:saturate(160%) blur(14px);
    }
    .offcanvas-header{
      border-bottom:1px solid rgba(201,214,230,.72);
    }
    .offcanvas-body{
      padding:1rem;
    }
    .mobile-tools{
      display:none;
      gap:.7rem;
      flex:1 1 100%;
      min-width:0;
      margin-top:.85rem;
    }
    .mobile-tools .search-shell{
      width:100%;
    }
    .mobile-utilities{
      display:flex;
      align-items:center;
      gap:.5rem;
      flex-wrap:wrap;
    }
    .mobile-utilities .utility-chip,
    .mobile-utilities .switch-group{
      width:auto;
    }
    .section-anchor{
      scroll-margin-top:122px;
    }
    .surface-line{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(201,214,230,.95), transparent);
      margin:0.9rem 0;
    }
    .right-note{
      color:var(--muted);
      font-size:.92rem;
      line-height:1.7;
      margin:0;
    }
    .mini-stats{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:.7rem;
    }
    .mini-stat{
      padding:.8rem .82rem;
      border-radius:18px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.94);
    }
    .mini-stat strong{
      display:block;
      font-size:1.05rem;
      color:var(--text);
      font-weight:900;
      margin-bottom:.2rem;
    }
    .mini-stat span{
      display:block;
      color:var(--muted);
      font-size:.86rem;
      line-height:1.55;
    }
    .icon-badge{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:22px;
      height:22px;
      border-radius:999px;
      background:rgba(36,87,214,.10);
      color:var(--primary);
      font-size:.8rem;
      font-weight:900;
      flex:0 0 auto;
    }
    .accordion{
      --bs-accordion-border-color: var(--line);
      --bs-accordion-bg: rgba(255,255,255,.96);
      --bs-accordion-active-bg: rgba(36,87,214,.06);
      --bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(36,87,214,.12);
      --bs-accordion-btn-color: var(--text);
      --bs-accordion-active-color: var(--primary);
      --bs-accordion-color: var(--text);
      --bs-accordion-btn-padding-y: 1rem;
      --bs-accordion-btn-padding-x: 1rem;
      --bs-accordion-body-padding-y: .2rem 1rem 1rem 1rem;
    }
    .accordion-item{
      border-radius:18px !important;
      overflow:hidden;
      box-shadow:0 10px 24px rgba(26,61,117,.05);
      border:1px solid var(--line) !important;
      margin-bottom:.8rem;
      background:#fff;
    }
    .accordion-button{
      font-weight:800;
      line-height:1.5;
    }
    .accordion-button:not(.collapsed){
      box-shadow:none;
    }
    .accordion-body{
      color:var(--muted);
      line-height:1.8;
    }
    .mobile-fab{
      position:fixed;
      right:14px;
      bottom:14px;
      z-index:1020;
      display:none;
      border-radius:999px;
      padding:.82rem 1rem;
      box-shadow:0 16px 34px rgba(36,87,214,.22);
    }
    .label-row{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
    }
    .label-row .chip{
      margin:0;
    }
    .content-note{
      display:flex;
      gap:.8rem;
      align-items:flex-start;
      padding:.9rem 1rem;
      border-radius:18px;
      border:1px solid rgba(36,87,214,.14);
      background:linear-gradient(180deg, rgba(36,87,214,.08), rgba(36,87,214,.04));
      color:var(--text);
      margin-bottom:1rem;
    }
    .content-note strong{
      display:block;
      margin-bottom:.2rem;
      font-weight:900;
    }
    .content-note p{
      margin:0;
      color:var(--muted);
    }
    .search-hint{
      color:var(--muted);
      font-size:.84rem;
      margin-top:.45rem;
      line-height:1.5;
    }
    @media (max-width: 1399.98px){
      .page-shell{grid-template-columns:240px minmax(0,1fr) 280px}
    }
    @media (max-width: 1199.98px){
      body{padding-top:114px}
      .nav-top{min-height:114px;align-items:flex-start;flex-wrap:wrap}
      .top-tools{width:100%;order:3}
      .utility-group{margin-left:auto}
      .page-shell{grid-template-columns:1fr}
      .rail{display:none}
      .hero-title{max-width:100%}
      .dashboard-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .service-card,.service-card.wide,.service-card.tall{grid-column:span 6}
      .compare-grid{grid-template-columns:1fr}
      .trust-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .latest-grid,.collection-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .form-copy,.form-panel{grid-column:span 12}
      .footer-grid{grid-template-columns:1fr}
    }
    @media (max-width: 991.98px){
      body{padding-top:112px}
      .nav-top{min-height:112px}
      .site-search{max-width:none}
      .dashboard-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
      .service-card,.service-card.wide,.service-card.tall{grid-column:span 12}
      .trust-grid,.latest-grid,.collection-grid{grid-template-columns:1fr}
      .hero-strip{padding:1.05rem}
    }
    @media (max-width: 767.98px){
      body{padding-top:106px}
      .top-tools{display:none}
      .mobile-tools{display:flex}
      .utility-group{display:none}
      .dashboard-grid{grid-template-columns:1fr}
      .panel,.hero-strip{padding:1rem}
      .hero-title{font-size:1.72rem}
      .hero-subtitle{font-size:.97rem}
      .panel-head{align-items:flex-start;flex-direction:column}
      .compare-row{grid-template-columns:88px minmax(0,1fr)}
      .compare-row .score{grid-column:2}
      .footer-bottom{justify-content:center;text-align:center}
      .mobile-fab{display:inline-flex}
    }
    @media (max-width: 575.98px){
      body{padding-top:104px}
      .nav-top{padding:.8rem 0}
      .brand-text{font-size:.98rem}
      .brand-mark{width:40px;height:40px;border-radius:13px}
      .search-shell{padding:.38rem .48rem .38rem .82rem}
      .search-shell button{padding:.55rem .82rem;font-size:.92rem}
      .hero-title{font-size:1.55rem}
      .hero-actions{flex-direction:column}
      .hero-actions .btn-site,
      .hero-actions .btn-site-outline{width:100%;justify-content:center;text-align:center}
      .stat-value{font-size:1.55rem}
      .service-head{gap:.7rem}
      .service-icon{width:42px;height:42px;border-radius:14px}
      .footer-card,.rail-card,.compare-card,.trust-card,.latest-card,.collection-card,.form-panel{border-radius:18px}
      .menu-btn{width:44px;height:44px}
      .offcanvas{width:min(86vw, 340px)}
    }

/* 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}
