/* roulang page: index */
:root{
      --bg:#05070c;
      --panel:rgba(11,18,32,.82);
      --panel-strong:#0f172a;
      --line:rgba(148,163,184,.16);
      --line-strong:rgba(41,214,255,.34);
      --text:#e5eefb;
      --muted:#94a3b8;
      --cyan:#29d6ff;
      --violet:#9b5cff;
      --rose:#ff4fd8;
      --green:#22c55e;
      --radius:22px;
      --shadow:0 18px 60px rgba(0,0,0,.38);
      --shadow-soft:0 10px 30px rgba(0,0,0,.24);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:
        radial-gradient(circle at top left, rgba(41,214,255,.10), transparent 28%),
        radial-gradient(circle at 85% 15%, rgba(155,92,255,.12), transparent 24%),
        radial-gradient(circle at 20% 85%, rgba(255,79,216,.08), transparent 18%),
        linear-gradient(180deg, #05070c 0%, #060a12 42%, #05070c 100%);
      color:var(--text);
      font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height:1.7;
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
      background-size:38px 38px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.65), transparent 85%);
      opacity:.45;
      z-index:-1;
    }
    a{
      color:inherit;
      text-decoration:none;
      transition:color .25s ease, opacity .25s ease, transform .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
    }
    img{max-width:100%; display:block}
    button, input, textarea{
      font:inherit;
      outline:none;
    }
    ::selection{
      background:rgba(41,214,255,.22);
      color:#fff;
    }
    .site-shell{
      width:min(1200px, calc(100% - 32px));
      margin-inline:auto;
    }
    @media (min-width: 640px){
      .site-shell{width:min(1200px, calc(100% - 48px))}
    }
    @media (min-width: 1280px){
      .site-shell{width:min(1240px, calc(100% - 64px))}
    }
    .neo-panel{
      position:relative;
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(15,23,42,.92), rgba(11,18,32,.78));
      box-shadow:var(--shadow);
      border-radius:var(--radius);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
    }
    .neo-panel::after{
      content:"";
      position:absolute;
      inset:0;
      border-radius:inherit;
      padding:1px;
      background:linear-gradient(135deg, rgba(41,214,255,.24), rgba(155,92,255,.12), rgba(255,79,216,.10));
      -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite:xor;
      mask-composite:exclude;
      pointer-events:none;
    }
    .soft-panel{
      border:1px solid rgba(148,163,184,.14);
      background:linear-gradient(180deg, rgba(15,23,42,.75), rgba(8,12,20,.66));
      border-radius:18px;
      box-shadow:var(--shadow-soft);
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      border:1px solid rgba(41,214,255,.25);
      background:rgba(41,214,255,.08);
      color:#c5f7ff;
      border-radius:999px;
      padding:.35rem .8rem;
      font-size:.78rem;
      letter-spacing:.02em;
    }
    .badge-violet{
      border-color:rgba(155,92,255,.28);
      background:rgba(155,92,255,.10);
      color:#eadcff;
    }
    .badge-rose{
      border-color:rgba(255,79,216,.24);
      background:rgba(255,79,216,.10);
      color:#ffd5f3;
    }
    .btn-primary,
    .btn-secondary{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.5rem;
      min-height:46px;
      border-radius:999px;
      padding:.82rem 1.2rem;
      font-weight:700;
      letter-spacing:.01em;
      transform:translateY(0);
      user-select:none;
      border:1px solid transparent;
      transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease, opacity .25s ease;
    }
    .btn-primary{
      color:#021016;
      background:linear-gradient(135deg, var(--cyan), #8af2ff 42%, var(--violet));
      box-shadow:0 0 0 1px rgba(41,214,255,.25), 0 18px 36px rgba(41,214,255,.16);
    }
    .btn-primary:hover{
      transform:translateY(-1px);
      box-shadow:0 0 0 1px rgba(41,214,255,.38), 0 0 34px rgba(41,214,255,.18), 0 18px 36px rgba(41,214,255,.20);
    }
    .btn-primary:active{
      transform:translateY(0);
      box-shadow:0 0 0 1px rgba(41,214,255,.30), 0 10px 24px rgba(41,214,255,.14);
    }
    .btn-secondary{
      color:#dce9ff;
      background:rgba(255,255,255,.03);
      border-color:rgba(148,163,184,.20);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
    }
    .btn-secondary:hover{
      transform:translateY(-1px);
      border-color:rgba(41,214,255,.36);
      background:rgba(41,214,255,.07);
      box-shadow:0 0 0 1px rgba(41,214,255,.18), 0 14px 34px rgba(0,0,0,.22);
    }
    .btn-secondary:active{
      transform:translateY(0);
    }
    .nav-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.4rem .1rem;
      color:#c8d4e8;
      font-weight:600;
      letter-spacing:.01em;
    }
    .nav-link::after{
      content:"";
      position:absolute;
      left:0;
      bottom:-.08rem;
      width:100%;
      height:2px;
      border-radius:999px;
      transform:scaleX(0);
      transform-origin:left;
      background:linear-gradient(90deg, var(--cyan), var(--violet));
      box-shadow:0 0 18px rgba(41,214,255,.32);
      transition:transform .22s ease;
    }
    .nav-link:hover,
    .nav-link:focus-visible,
    .nav-link[aria-current="page"]{
      color:#ffffff;
    }
    .nav-link:hover::after,
    .nav-link:focus-visible::after,
    .nav-link[aria-current="page"]::after{
      transform:scaleX(1);
    }
    .nav-link:focus-visible,
    .btn-primary:focus-visible,
    .btn-secondary:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    summary:focus-visible,
    .card-link:focus-visible{
      outline:none;
      box-shadow:0 0 0 3px rgba(41,214,255,.18), 0 0 0 1px rgba(41,214,255,.55);
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:.55rem;
      color:#c8efff;
      font-size:.82rem;
      letter-spacing:.14em;
      text-transform:uppercase;
    }
    .section-kicker::before{
      content:"";
      width:28px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--cyan), var(--violet));
      box-shadow:0 0 16px rgba(41,214,255,.35);
    }
    .section-title{
      font-size:clamp(1.45rem, 2vw, 2.2rem);
      line-height:1.18;
      font-weight:800;
      letter-spacing:-.02em;
    }
    .section-desc{
      color:#9fb0c8;
      max-width:72ch;
      margin-top:.75rem;
    }
    .hero-title{
      font-size:clamp(2.2rem, 4.8vw, 4.9rem);
      line-height:.96;
      letter-spacing:-.045em;
      font-weight:900;
      text-wrap:balance;
    }
    .hero-copy{
      color:#a7b7cf;
      max-width:62ch;
      font-size:1.02rem;
    }
    .hero-metric{
      border:1px solid rgba(148,163,184,.16);
      background:linear-gradient(180deg, rgba(15,23,42,.82), rgba(8,12,20,.70));
      border-radius:18px;
      padding:1rem 1rem .95rem;
      box-shadow:0 12px 26px rgba(0,0,0,.24);
    }
    .hero-metric .num{
      font-size:1.35rem;
      font-weight:800;
      letter-spacing:-.02em;
    }
    .bar{
      height:8px;
      border-radius:999px;
      background:rgba(148,163,184,.12);
      overflow:hidden;
    }
    .bar > span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, var(--cyan), var(--violet));
      box-shadow:0 0 20px rgba(41,214,255,.22);
    }
    .trend-spark{
      display:flex;
      align-items:end;
      gap:4px;
      height:34px;
      margin-top:.85rem;
    }
    .trend-spark i{
      flex:1;
      display:block;
      border-radius:999px 999px 6px 6px;
      background:linear-gradient(180deg, rgba(41,214,255,.85), rgba(155,92,255,.86));
      opacity:.9;
    }
    .trend-spark i:nth-child(1){height:35%}
    .trend-spark i:nth-child(2){height:58%}
    .trend-spark i:nth-child(3){height:42%}
    .trend-spark i:nth-child(4){height:76%}
    .trend-spark i:nth-child(5){height:64%}
    .trend-spark i:nth-child(6){height:88%}
    .trend-spark i:nth-child(7){height:55%}
    .trend-spark i:nth-child(8){height:92%}
    .trend-spark i:nth-child(9){height:72%}
    .trend-spark i:nth-child(10){height:100%}
    .grid-balance{
      display:grid;
      gap:1rem;
    }
    .kpi-grid{
      display:grid;
      gap:1rem;
      grid-template-columns:repeat(12, minmax(0, 1fr));
    }
    .kpi-grid > article{min-height:100%}
    .kpi-a{grid-column:span 5}
    .kpi-b{grid-column:span 3}
    .kpi-c{grid-column:span 4}
    .kpi-d{grid-column:span 6}
    .kpi-e{grid-column:span 6}
    .service-grid{
      display:grid;
      gap:1rem;
      grid-template-columns:repeat(12, minmax(0, 1fr));
    }
    .compare-grid{
      display:grid;
      gap:1rem;
      grid-template-columns:repeat(12, minmax(0, 1fr));
    }
    .update-grid{
      display:grid;
      gap:1rem;
      grid-template-columns:repeat(12, minmax(0, 1fr));
    }
    .update-list{grid-column:span 8}
    .update-side{grid-column:span 4}
    .faq-item{
      border:1px solid rgba(148,163,184,.16);
      background:linear-gradient(180deg, rgba(15,23,42,.82), rgba(11,18,32,.74));
      border-radius:18px;
      overflow:hidden;
      box-shadow:var(--shadow-soft);
      transition:border-color .22s ease, transform .22s ease, box-shadow .22s ease;
    }
    .faq-item:hover{
      border-color:rgba(41,214,255,.28);
      box-shadow:0 0 0 1px rgba(41,214,255,.10), 0 16px 34px rgba(0,0,0,.18);
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:1rem 1.05rem;
      font-weight:700;
      color:#f2f7ff;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-icon{
      width:2rem;
      height:2rem;
      flex:none;
      display:grid;
      place-items:center;
      border-radius:999px;
      border:1px solid rgba(148,163,184,.22);
      background:rgba(255,255,255,.04);
      color:#dff9ff;
      transition:transform .22s ease, background-color .22s ease, border-color .22s ease, color .22s ease;
    }
    .faq-item[open] .faq-icon{
      transform:rotate(45deg);
      background:rgba(41,214,255,.12);
      border-color:rgba(41,214,255,.36);
      color:#fff;
    }
    .faq-body{
      padding:0 1.05rem 1rem 1.05rem;
      color:#9fb0c8;
    }
    .field{
      width:100%;
      border:1px solid rgba(148,163,184,.18);
      background:rgba(255,255,255,.03);
      color:#eef5ff;
      border-radius:16px;
      padding: .95rem 1rem;
      transition:border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
    }
    .field::placeholder{color:#7383a1}
    .field:hover{border-color:rgba(41,214,255,.28)}
    .field:focus{
      border-color:rgba(41,214,255,.48);
      box-shadow:0 0 0 3px rgba(41,214,255,.13);
      background:rgba(255,255,255,.045);
    }
    .floating-glow{
      position:absolute;
      inset:auto;
      pointer-events:none;
      border-radius:999px;
      filter:blur(24px);
      opacity:.56;
    }
    .card-link{
      display:block;
      height:100%;
      transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
    }
    .card-link:hover{
      transform:translateY(-2px);
    }
    .muted{
      color:var(--muted);
    }
    .foot-link{
      color:#b6c6de;
    }
    .foot-link:hover{color:#fff}
    .menu-panel{
      border-top:1px solid rgba(148,163,184,.16);
      background:rgba(6,10,18,.96);
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }
    .kicker-dot{
      width:.5rem;
      height:.5rem;
      border-radius:999px;
      background:linear-gradient(135deg, var(--cyan), var(--violet));
      box-shadow:0 0 18px rgba(41,214,255,.45);
    }
    .clamp-2{
      display:-webkit-box;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:2;
      overflow:hidden;
    }
    .clamp-3{
      display:-webkit-box;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:3;
      overflow:hidden;
    }
    @media (max-width: 1024px){
      .kpi-a,.kpi-b,.kpi-c,.kpi-d,.kpi-e,
      .update-list,.update-side{
        grid-column:span 12;
      }
    }
    @media (max-width: 768px){
      .hero-title{font-size:clamp(2rem, 10vw, 3rem)}
      .section-title{font-size:1.4rem}
      .site-shell{width:min(1200px, calc(100% - 24px))}
      .faq-item summary{padding: .95rem .95rem}
      .faq-body{padding:0 .95rem .95rem .95rem}
    }
    @media (max-width: 640px){
      .btn-primary,.btn-secondary{
        width:100%;
      }
      .hero-copy{font-size:.98rem}
    }

/* roulang page: article */
:root{
      --bg:#05070c;
      --panel:rgba(11,18,32,.82);
      --panel-strong:#0f172a;
      --line:rgba(148,163,184,.16);
      --line-strong:rgba(41,214,255,.34);
      --text:#e5eefb;
      --muted:#94a3b8;
      --cyan:#29d6ff;
      --violet:#9b5cff;
      --rose:#ff4fd8;
      --green:#22c55e;
      --radius:22px;
      --shadow:0 18px 60px rgba(0,0,0,.38);
      --shadow-soft:0 10px 30px rgba(0,0,0,.24);
    }

    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:
        radial-gradient(circle at top left, rgba(41,214,255,.10), transparent 28%),
        radial-gradient(circle at 85% 15%, rgba(155,92,255,.12), transparent 24%),
        radial-gradient(circle at 20% 85%, rgba(255,79,216,.08), transparent 18%),
        linear-gradient(180deg, #05070c 0%, #060a12 42%, #05070c 100%);
      color:var(--text);
      font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height:1.7;
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
      background-size:38px 38px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.65), transparent 85%);
      opacity:.45;
      z-index:-1;
    }
    *, *::before, *::after{box-sizing:border-box}
    a{
      color:inherit;
      text-decoration:none;
      transition:color .25s ease, opacity .25s ease, transform .25s ease, border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
    }
    img{max-width:100%; display:block}
    button, input, textarea{
      font:inherit;
      outline:none;
    }
    ::selection{
      background:rgba(41,214,255,.25);
      color:#fff;
    }
    ::-webkit-scrollbar{width:10px;height:10px}
    ::-webkit-scrollbar-thumb{
      background:linear-gradient(180deg, rgba(41,214,255,.55), rgba(155,92,255,.45));
      border-radius:999px;
      border:2px solid rgba(5,7,12,.95);
    }
    ::-webkit-scrollbar-track{background:rgba(255,255,255,.03)}

    .site-shell{
      width:min(1200px, calc(100% - 2rem));
      margin-inline:auto;
    }
    .panel{
      position:relative;
      overflow:hidden;
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(15,23,42,.86), rgba(8,12,20,.72));
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
      backdrop-filter:blur(16px);
    }
    .panel::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      border-radius:inherit;
      background:linear-gradient(180deg, rgba(255,255,255,.05), transparent 22%);
      opacity:.6;
    }
    .panel > *{position:relative; z-index:1}
    .nav-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.4rem .1rem;
      color:#c8d4e8;
      font-weight:600;
      letter-spacing:.01em;
    }
    .nav-link::after{
      content:"";
      position:absolute;
      left:0;
      bottom:-.08rem;
      width:100%;
      height:2px;
      border-radius:999px;
      transform:scaleX(0);
      transform-origin:left;
      background:linear-gradient(90deg, var(--cyan), var(--violet));
      box-shadow:0 0 18px rgba(41,214,255,.32);
      transition:transform .22s ease;
    }
    .nav-link:hover,
    .nav-link:focus-visible,
    .nav-link[aria-current="page"]{
      color:#ffffff;
    }
    .nav-link:hover::after,
    .nav-link:focus-visible::after,
    .nav-link[aria-current="page"]::after{
      transform:scaleX(1);
    }
    .nav-link:focus-visible,
    .btn-primary:focus-visible,
    .btn-secondary:focus-visible,
    .card-link:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    summary:focus-visible{
      outline:none;
      box-shadow:0 0 0 3px rgba(41,214,255,.18), 0 0 0 1px rgba(41,214,255,.55);
    }
    .btn-primary,
    .btn-secondary{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.5rem;
      min-height:46px;
      border-radius:999px;
      padding:.82rem 1.2rem;
      font-weight:700;
      letter-spacing:.01em;
      transform:translateY(0);
      user-select:none;
      border:1px solid transparent;
      transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease, opacity .25s ease;
    }
    .btn-primary{
      color:#021016;
      background:linear-gradient(135deg, var(--cyan), #8af2ff 42%, var(--violet));
      box-shadow:0 0 0 1px rgba(41,214,255,.25), 0 18px 36px rgba(41,214,255,.16);
    }
    .btn-primary:hover{
      transform:translateY(-1px);
      box-shadow:0 0 0 1px rgba(41,214,255,.38), 0 0 34px rgba(41,214,255,.18), 0 18px 36px rgba(41,214,255,.20);
    }
    .btn-primary:active{
      transform:translateY(0);
      box-shadow:0 0 0 1px rgba(41,214,255,.30), 0 10px 24px rgba(41,214,255,.14);
    }
    .btn-secondary{
      color:#dce9ff;
      background:rgba(255,255,255,.03);
      border-color:rgba(148,163,184,.20);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
    }
    .btn-secondary:hover{
      transform:translateY(-1px);
      border-color:rgba(41,214,255,.36);
      background:rgba(41,214,255,.07);
      box-shadow:0 0 0 1px rgba(41,214,255,.18), 0 14px 34px rgba(0,0,0,.22);
    }
    .btn-secondary:active{transform:translateY(0)}
    .badge{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      border:1px solid rgba(41,214,255,.25);
      background:rgba(41,214,255,.08);
      color:#c5f7ff;
      border-radius:999px;
      padding:.35rem .8rem;
      font-size:.78rem;
      letter-spacing:.02em;
    }
    .badge-violet{
      border-color:rgba(155,92,255,.28);
      background:rgba(155,92,255,.10);
      color:#eadcff;
    }
    .badge-rose{
      border-color:rgba(255,79,216,.24);
      background:rgba(255,79,216,.10);
      color:#ffd5f3;
    }
    .badge-green{
      border-color:rgba(34,197,94,.24);
      background:rgba(34,197,94,.10);
      color:#cbffd9;
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:.55rem;
      color:#c8efff;
      font-size:.82rem;
      letter-spacing:.14em;
      text-transform:uppercase;
    }
    .section-kicker::before{
      content:"";
      width:28px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--cyan), var(--violet));
      box-shadow:0 0 16px rgba(41,214,255,.35);
    }
    .section-title{
      font-size:clamp(1.45rem, 2vw, 2.2rem);
      line-height:1.18;
      font-weight:800;
      letter-spacing:-.02em;
      text-wrap:balance;
    }
    .section-desc{
      color:#9fb0c8;
      max-width:72ch;
      margin-top:.75rem;
    }
    .hero-title{
      font-size:clamp(2.2rem, 4.8vw, 4.9rem);
      line-height:.96;
      letter-spacing:-.045em;
      font-weight:900;
      text-wrap:balance;
    }
    .hero-copy{
      color:#a7b7cf;
      max-width:62ch;
      font-size:1.02rem;
    }
    .hero-metric{
      border:1px solid rgba(148,163,184,.16);
      background:linear-gradient(180deg, rgba(15,23,42,.82), rgba(8,12,20,.70));
      border-radius:18px;
      padding:1rem 1rem .95rem;
      box-shadow:0 12px 26px rgba(0,0,0,.24);
    }
    .hero-metric .num{
      font-size:1.35rem;
      font-weight:800;
      letter-spacing:-.02em;
      color:#fff;
    }
    .hero-metric .label{
      color:#9fb0c8;
      font-size:.82rem;
    }
    .metric-bar{
      height:8px;
      border-radius:999px;
      background:rgba(255,255,255,.05);
      overflow:hidden;
      margin-top:.65rem;
    }
    .metric-bar > span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, var(--cyan), var(--violet), var(--rose));
      box-shadow:0 0 18px rgba(41,214,255,.25);
    }
    .card-link{
      display:block;
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
      border-radius:18px;
      padding:1rem 1rem;
      box-shadow:0 10px 24px rgba(0,0,0,.16);
      transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
    }
    .card-link:hover{
      transform:translateY(-2px);
      border-color:rgba(41,214,255,.28);
      box-shadow:0 14px 34px rgba(0,0,0,.22);
      background:rgba(41,214,255,.05);
    }
    .stat-value{
      font-size:1.25rem;
      font-weight:800;
      letter-spacing:-.02em;
      line-height:1.1;
      color:#fff;
    }
    .stat-label{
      color:#9fb0c8;
      font-size:.82rem;
      margin-top:.2rem;
    }
    .subtle-line{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(148,163,184,.18), transparent);
    }
    .article-body{
      color:#dbe6f6;
      font-size:1.02rem;
      line-height:1.9;
    }
    .article-body > *:first-child{margin-top:0}
    .article-body h2,
    .article-body h3,
    .article-body h4{
      color:#f6fbff;
      line-height:1.25;
      letter-spacing:-.02em;
      margin-top:2rem;
      margin-bottom:1rem;
      font-weight:800;
    }
    .article-body h2{font-size:1.55rem}
    .article-body h3{font-size:1.25rem}
    .article-body h4{font-size:1.08rem}
    .article-body p{
      margin:1rem 0;
      color:#cfdbec;
    }
    .article-body a{
      color:#8af2ff;
      text-decoration:none;
      border-bottom:1px solid rgba(41,214,255,.24);
    }
    .article-body a:hover{color:#c5f7ff; border-bottom-color:rgba(41,214,255,.5)}
    .article-body ul,
    .article-body ol{
      margin:1rem 0;
      padding-left:1.2rem;
      color:#d6e0f0;
    }
    .article-body li + li{margin-top:.5rem}
    .article-body blockquote{
      margin:1.2rem 0;
      border-left:3px solid rgba(41,214,255,.65);
      background:rgba(41,214,255,.06);
      padding:1rem 1.1rem;
      border-radius:16px;
      color:#e5eefb;
    }
    .article-body img{
      margin:1.4rem 0;
      border-radius:20px;
      border:1px solid rgba(148,163,184,.18);
      box-shadow:0 18px 36px rgba(0,0,0,.28);
    }
    .article-body hr{
      margin:1.6rem 0;
      border:0;
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(148,163,184,.18), transparent);
    }
    .article-body pre{
      overflow:auto;
      margin:1.2rem 0;
      padding:1rem 1.1rem;
      border-radius:18px;
      background:#06101e;
      border:1px solid rgba(148,163,184,.16);
      color:#dce9ff;
    }
    .article-body code{
      color:#c5f7ff;
      background:rgba(41,214,255,.08);
      padding:.12rem .34rem;
      border-radius:8px;
    }
    .article-body pre code{
      background:transparent;
      padding:0;
      color:inherit;
    }
    .article-body table{
      width:100%;
      border-collapse:collapse;
      margin:1.2rem 0;
      display:block;
      overflow:auto;
      border-radius:18px;
      border:1px solid rgba(148,163,184,.16);
    }
    .article-body th,
    .article-body td{
      border-bottom:1px solid rgba(148,163,184,.14);
      padding:.85rem .9rem;
      text-align:left;
      white-space:nowrap;
    }
    .article-body th{
      background:rgba(255,255,255,.03);
      color:#f8fbff;
      font-weight:700;
    }
    .article-body tbody tr:hover td{background:rgba(41,214,255,.03)}
    .faq-item{
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
      border-radius:18px;
      overflow:hidden;
      transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
    }
    .faq-item:hover{
      border-color:rgba(41,214,255,.28);
      box-shadow:0 14px 34px rgba(0,0,0,.22);
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:1rem 1rem;
      font-weight:700;
      color:#f4f8fe;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-mark{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:28px;
      height:28px;
      border-radius:999px;
      border:1px solid rgba(41,214,255,.24);
      background:rgba(41,214,255,.08);
      color:#c5f7ff;
      flex:none;
      transition:transform .22s ease, background-color .22s ease, border-color .22s ease;
    }
    .faq-item[open] .faq-mark{
      transform:rotate(45deg);
      border-color:rgba(155,92,255,.34);
      background:rgba(155,92,255,.10);
    }
    .faq-answer{
      padding:0 1rem 1rem 1rem;
      color:#a7b7cf;
      font-size:.96rem;
      line-height:1.85;
    }
    .foot-link{
      color:#9fb0c8;
    }
    .foot-link:hover,
    .foot-link:focus-visible{
      color:#c5f7ff;
    }
    .mini-dash{
      position:relative;
      overflow:hidden;
      border-radius:18px;
      border:1px solid rgba(148,163,184,.16);
      background:linear-gradient(180deg, rgba(15,23,42,.86), rgba(8,12,20,.70));
      padding:1rem;
    }
    .mini-dash::after{
      content:"";
      position:absolute;
      inset:auto -20% -55% auto;
      width:140px;
      height:140px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(41,214,255,.18), transparent 70%);
      pointer-events:none;
    }
    [id]{scroll-margin-top:100px}
    @media (max-width: 1280px){
      .site-shell{width:min(1160px, calc(100% - 1.5rem))}
    }
    @media (max-width: 1024px){
      .hero-title{font-size:clamp(2rem, 6vw, 3.6rem)}
      .section-title{font-size:clamp(1.3rem, 2.6vw, 1.9rem)}
    }
    @media (max-width: 768px){
      body{line-height:1.75}
      .site-shell{width:min(100%, calc(100% - 1rem))}
      .panel{border-radius:20px}
      .hero-title{font-size:clamp(1.9rem, 10vw, 3rem)}
      .article-body{font-size:1rem}
      .article-body h2{font-size:1.32rem}
      .article-body h3{font-size:1.12rem}
    }
    @media (max-width: 640px){
      .btn-primary,
      .btn-secondary{
        width:100%;
      }
      .faq-item summary{padding:.95rem .95rem}
      .faq-answer{padding:0 .95rem .95rem .95rem}
    }
