/* roulang page: index */
:root{
      --bg:#070A12;
      --bg-2:#0D1324;
      --bg-3:#05070D;
      --primary:#3F7CFF;
      --primary-2:#6EA8FF;
      --accent:#A855F7;
      --accent-2:#B66CFF;
      --warm:#FFB86B;
      --text:#F4F7FB;
      --muted:#AEB8CC;
      --weak:#6F7A92;
      --line:rgba(255,255,255,.12);
      --line-strong:rgba(255,255,255,.18);
      --glass:rgba(255,255,255,.06);
      --glass-hover:rgba(255,255,255,.095);
      --shadow:0 22px 70px rgba(0,0,0,.32), 0 0 36px rgba(63,124,255,.10);
      --shadow-soft:0 16px 45px rgba(0,0,0,.22);
      --radius-lg:28px;
      --radius-md:22px;
      --radius-sm:16px;
      --nav-h:74px;
      --container:1210px;
      --ease:all .24s ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      color:var(--text);
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
      font-size:16px;
      line-height:1.8;
      background:
        radial-gradient(circle at 12% -10%, rgba(168,85,247,.23), transparent 33%),
        radial-gradient(circle at 82% 4%, rgba(63,124,255,.21), transparent 28%),
        radial-gradient(circle at 72% 36%, rgba(255,184,107,.06), transparent 22%),
        linear-gradient(180deg,#070A12 0%,#0A0F1D 48%,#070A12 100%);
      overflow-x:hidden;
    }
    body:before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      opacity:.22;
      z-index:-1;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
      background-size:44px 44px;
      mask-image:linear-gradient(to bottom, rgba(0,0,0,.85), transparent 78%);
    }
    body:after{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-1;
      opacity:.12;
      background-image:radial-gradient(rgba(255,255,255,.7) .55px, transparent .65px);
      background-size:18px 18px;
    }

    a{color:inherit;text-decoration:none;transition:var(--ease)}
    a:hover{color:var(--text)}
    img,svg{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    ::selection{background:rgba(168,85,247,.42);color:#fff}

    .site-container{
      width:min(100% - 32px,var(--container));
      margin-inline:auto;
    }
    .section{
      padding:96px 0;
      position:relative;
    }
    .section-tight{padding:70px 0}
    .section-title{
      max-width:780px;
      margin-bottom:34px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border:1px solid rgba(168,85,247,.32);
      border-radius:999px;
      color:#DCC8FF;
      background:linear-gradient(135deg,rgba(168,85,247,.14),rgba(63,124,255,.08));
      font-size:13px;
      letter-spacing:.02em;
      margin-bottom:14px;
      backdrop-filter:blur(14px);
    }
    h1,h2,h3,h4,p{margin-top:0}
    h1{
      font-size:clamp(34px,5.2vw,56px);
      line-height:1.13;
      font-weight:820;
      letter-spacing:-.045em;
      margin-bottom:22px;
    }
    h2{
      font-size:clamp(28px,3.4vw,38px);
      line-height:1.24;
      font-weight:780;
      letter-spacing:-.035em;
      margin-bottom:14px;
    }
    h3{
      font-size:22px;
      line-height:1.35;
      font-weight:760;
      margin-bottom:12px;
    }
    p{color:var(--muted)}
    .lead{
      font-size:18px;
      line-height:1.85;
      color:#C4CEE0;
      max-width:760px;
    }
    .muted{color:var(--muted)}
    .weak{color:var(--weak)}
    .text-gradient{
      background:linear-gradient(135deg,#F4F7FB 20%,#9FC0FF 50%,#D7B5FF 84%);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }

    .btn{
      border:0;
      border-radius:999px;
      padding:12px 20px;
      font-weight:700;
      letter-spacing:.01em;
      transition:var(--ease);
      position:relative;
      overflow:hidden;
    }
    .btn-primary-glow{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 14px 34px rgba(63,124,255,.22),0 0 28px rgba(168,85,247,.18);
    }
    .btn-primary-glow:hover{
      color:#fff;
      filter:brightness(1.08);
      transform:translateY(-2px);
      box-shadow:0 18px 45px rgba(63,124,255,.32),0 0 38px rgba(168,85,247,.26);
    }
    .btn-ghost{
      color:var(--text);
      border:1px solid var(--line-strong);
      background:rgba(255,255,255,.055);
      backdrop-filter:blur(12px);
    }
    .btn-ghost:hover{
      color:#fff;
      border-color:rgba(111,168,255,.52);
      background:rgba(63,124,255,.11);
      transform:translateY(-2px);
    }
    .btn:focus-visible,
    .nav-link:focus-visible,
    .form-control:focus,
    .form-select:focus,
    .form-check-input:focus{
      outline:3px solid rgba(168,85,247,.35);
      outline-offset:3px;
      box-shadow:0 0 0 4px rgba(63,124,255,.15);
    }

    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.055);
      color:#C8D2E6;
      font-size:13px;
      line-height:1.35;
      white-space:nowrap;
    }
    .tag.warm{
      color:#FFE0BE;
      border-color:rgba(255,184,107,.24);
      background:rgba(255,184,107,.09);
    }
    .tag.blue{
      color:#C9DCFF;
      border-color:rgba(63,124,255,.28);
      background:rgba(63,124,255,.10);
    }
    .tag.purple{
      color:#E6D2FF;
      border-color:rgba(168,85,247,.28);
      background:rgba(168,85,247,.10);
    }

    .glass-card{
      border:1px solid var(--line);
      background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.04));
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);
      backdrop-filter:blur(16px);
      transition:var(--ease);
      position:relative;
      overflow:hidden;
    }
    .glass-card:before{
      content:"";
      position:absolute;
      inset:0;
      background:radial-gradient(circle at 12% 0%,rgba(63,124,255,.13),transparent 32%),
                 radial-gradient(circle at 86% 12%,rgba(168,85,247,.12),transparent 30%);
      opacity:.75;
      pointer-events:none;
    }
    .glass-card > *{position:relative;z-index:1}
    .glass-card:hover{
      transform:translateY(-4px);
      border-color:rgba(111,168,255,.34);
      background:linear-gradient(180deg,var(--glass-hover),rgba(255,255,255,.052));
      box-shadow:var(--shadow);
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      min-height:var(--nav-h);
      border-bottom:1px solid rgba(255,255,255,.09);
      background:rgba(7,10,18,.74);
      backdrop-filter:blur(18px);
    }
    .navbar{
      min-height:var(--nav-h);
      padding:0;
    }
    .brand-wrap{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
    }
    .brand-mark{
      width:42px;
      height:42px;
      border-radius:16px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      color:#fff;
      background:
        radial-gradient(circle at 70% 25%,rgba(255,255,255,.55),transparent 12%),
        linear-gradient(135deg,rgba(63,124,255,.95),rgba(168,85,247,.92));
      box-shadow:0 0 26px rgba(168,85,247,.28);
      position:relative;
    }
    .brand-mark:after{
      content:"";
      width:18px;
      height:18px;
      border:2px solid rgba(255,255,255,.86);
      border-left-color:transparent;
      border-radius:999px;
      transform:rotate(-28deg);
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      line-height:1.22;
      min-width:0;
    }
    .brand-main{
      color:#fff;
      font-weight:820;
      font-size:16px;
      letter-spacing:-.02em;
      white-space:nowrap;
    }
    .brand-sub{
      color:var(--weak);
      font-size:12px;
      white-space:nowrap;
    }
    .navbar-toggler{
      border:1px solid var(--line);
      border-radius:14px;
      padding:9px 11px;
      color:#fff;
      background:rgba(255,255,255,.05);
    }
    .navbar-toggler:focus{box-shadow:0 0 0 4px rgba(63,124,255,.16)}
    .toggler-lines{
      width:22px;
      height:16px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .toggler-lines span{
      display:block;
      height:2px;
      border-radius:99px;
      background:#fff;
    }
    .nav-menu{
      gap:6px;
      align-items:center;
    }
    .nav-menu .nav-link{
      color:#C5CEDF;
      border-radius:999px;
      padding:9px 14px !important;
      font-weight:650;
      font-size:14px;
      position:relative;
    }
    .nav-menu .nav-link:hover{
      color:#fff;
      background:rgba(255,255,255,.06);
    }
    .nav-menu .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg,rgba(63,124,255,.22),rgba(168,85,247,.18));
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 0 24px rgba(63,124,255,.12);
    }

    .age-strip{
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(13,19,36,.54);
      backdrop-filter:blur(16px);
    }
    .age-strip-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:11px 0;
      color:#B9C4D8;
      font-size:14px;
    }
    .age-left{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .age-icon{
      width:30px;
      height:30px;
      display:grid;
      place-items:center;
      border-radius:12px;
      color:#FFE4C5;
      background:rgba(255,184,107,.12);
      border:1px solid rgba(255,184,107,.24);
      font-weight:800;
      font-size:12px;
      flex:0 0 auto;
    }
    .age-strip a{
      color:#D8E4FF;
      font-weight:700;
      border-bottom:1px dashed rgba(216,228,255,.42);
    }
    .age-strip a:hover{color:#fff;border-bottom-color:#fff}

    .hero{
      padding:86px 0 80px;
      min-height:680px;
      display:flex;
      align-items:center;
      position:relative;
      overflow:hidden;
    }
    .hero:before{
      content:"";
      position:absolute;
      width:560px;
      height:560px;
      right:-160px;
      top:42px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(168,85,247,.22),rgba(63,124,255,.09) 44%,transparent 68%);
      filter:blur(4px);
      pointer-events:none;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
      gap:44px;
      align-items:center;
    }
    .hero-badges{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin:24px 0 30px;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      align-items:center;
    }
    .hero-note{
      display:flex;
      align-items:center;
      gap:10px;
      margin-top:22px;
      color:var(--weak);
      font-size:14px;
    }
    .pulse-dot{
      width:9px;
      height:9px;
      border-radius:50%;
      background:var(--warm);
      box-shadow:0 0 0 7px rgba(255,184,107,.10);
      flex:0 0 auto;
    }

    .magazine-panel{
      padding:24px;
      min-height:520px;
    }
    .cover-abstract{
      min-height:230px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(circle at 28% 25%,rgba(255,184,107,.18),transparent 17%),
        radial-gradient(circle at 74% 35%,rgba(168,85,247,.34),transparent 23%),
        radial-gradient(circle at 52% 78%,rgba(63,124,255,.28),transparent 28%),
        linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
      position:relative;
      overflow:hidden;
      margin-bottom:18px;
    }
    .cover-abstract:before{
      content:"";
      position:absolute;
      inset:22px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:22px;
      background:
        linear-gradient(90deg,transparent 0 42%,rgba(255,255,255,.12) 42% 43%,transparent 43%),
        linear-gradient(0deg,transparent 0 54%,rgba(255,255,255,.10) 54% 55%,transparent 55%);
    }
    .cover-abstract:after{
      content:"";
      position:absolute;
      width:120px;
      height:120px;
      right:38px;
      top:42px;
      border:18px solid rgba(255,255,255,.13);
      border-left-color:rgba(255,255,255,.03);
      border-radius:50%;
      transform:rotate(-24deg);
      box-shadow:0 0 40px rgba(110,168,255,.18);
    }
    .panel-top{
      display:flex;
      align-items:start;
      justify-content:space-between;
      gap:14px;
      margin-bottom:14px;
    }
    .panel-title{
      font-size:24px;
      font-weight:800;
      letter-spacing:-.02em;
    }
    .status-pill{
      border:1px solid rgba(255,184,107,.26);
      background:rgba(255,184,107,.10);
      color:#FFE3C2;
      border-radius:999px;
      padding:6px 10px;
      font-size:12px;
      white-space:nowrap;
    }
    .panel-list{
      display:grid;
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .panel-item{
      display:flex;
      justify-content:space-between;
      gap:14px;
      padding:15px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.045);
    }
    .panel-item strong{display:block;color:#fff;margin-bottom:3px}
    .panel-item span{color:var(--weak);font-size:13px}
    .panel-score{
      color:#D7B5FF;
      font-weight:800;
      flex:0 0 auto;
    }

    .feature-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:18px;
    }
    .feature-stack{display:grid;gap:18px}
    .feature-card{
      padding:28px;
      min-height:100%;
    }
    .feature-card.large{
      min-height:405px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .icon-bubble{
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      border-radius:18px;
      color:#fff;
      background:linear-gradient(135deg,rgba(63,124,255,.95),rgba(168,85,247,.86));
      box-shadow:0 12px 30px rgba(63,124,255,.18);
      margin-bottom:18px;
      font-weight:800;
    }
    .feature-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:18px;
    }

    .category-layout{
      display:grid;
      grid-template-columns:5fr 7fr;
      gap:20px;
      align-items:stretch;
    }
    .category-primary,
    .category-side-card{
      padding:30px;
    }
    .category-primary{
      min-height:430px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      background:
        linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045)),
        radial-gradient(circle at 20% 18%,rgba(255,184,107,.12),transparent 30%);
    }
    .category-side{
      display:grid;
      gap:20px;
    }
    .category-meta{
      display:grid;
      gap:12px;
      margin:20px 0 24px;
    }
    .meta-line{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#C4CEE0;
    }
    .meta-line b{
      color:#fff;
      min-width:74px;
    }
    .category-actions{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.10);
    }

    .masonry-grid{
      display:grid;
      grid-template-columns:repeat(12,1fr);
      gap:18px;
    }
    .scene-card{
      padding:26px;
      min-height:250px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .scene-card:nth-child(1){grid-column:span 5;min-height:330px}
    .scene-card:nth-child(2){grid-column:span 3;min-height:270px}
    .scene-card:nth-child(3){grid-column:span 4;min-height:310px}
    .scene-card:nth-child(4){grid-column:span 4;min-height:255px}
    .scene-card:nth-child(5){grid-column:span 4;min-height:290px}
    .scene-card:nth-child(6){grid-column:span 4;min-height:245px}
    .scene-number{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.055);
      color:#D7B5FF;
      font-weight:800;
      margin-bottom:18px;
    }

    .compare-panel{
      padding:26px;
    }
    .compare-grid{
      display:grid;
      grid-template-columns:1.05fr repeat(3,1fr);
      border:1px solid rgba(255,255,255,.11);
      border-radius:24px;
      overflow:hidden;
      background:rgba(255,255,255,.035);
    }
    .compare-cell{
      padding:20px;
      border-right:1px solid rgba(255,255,255,.09);
      border-bottom:1px solid rgba(255,255,255,.09);
      min-height:88px;
    }
    .compare-cell:nth-child(4n){border-right:0}
    .compare-cell.header{
      background:linear-gradient(135deg,rgba(63,124,255,.14),rgba(168,85,247,.12));
      color:#fff;
      font-weight:800;
    }
    .compare-cell.label{
      color:#fff;
      font-weight:760;
      background:rgba(255,255,255,.035);
    }
    .compare-cell p{margin:0;color:#BFC9DB;font-size:14px}
    .compare-cta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:20px;
    }

    .safe-band{
      padding:34px;
      border-radius:30px;
      border:1px solid rgba(255,184,107,.22);
      background:
        linear-gradient(135deg,rgba(255,184,107,.11),rgba(63,124,255,.055) 46%,rgba(168,85,247,.08)),
        rgba(255,255,255,.045);
      box-shadow:var(--shadow-soft);
      backdrop-filter:blur(16px);
    }
    .safe-list{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
      margin-top:24px;
    }
    .safe-item{
      padding:18px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(7,10,18,.34);
    }
    .safe-item strong{display:block;color:#fff;margin-bottom:6px}
    .safe-item span{font-size:13px;color:#AEB8CC}

    .accordion{
      display:grid;
      gap:12px;
    }
    .accordion-item{
      border:1px solid rgba(255,255,255,.11)!important;
      border-radius:20px!important;
      overflow:hidden;
      background:rgba(255,255,255,.052)!important;
      backdrop-filter:blur(14px);
    }
    .accordion-button{
      color:#fff!important;
      background:transparent!important;
      padding:19px 22px;
      font-weight:760;
      box-shadow:none!important;
    }
    .accordion-button:not(.collapsed){
      background:linear-gradient(135deg,rgba(63,124,255,.15),rgba(168,85,247,.10))!important;
      border-bottom:1px solid rgba(255,255,255,.09);
    }
    .accordion-button:after{
      filter:invert(1) grayscale(1);
      opacity:.7;
    }
    .accordion-body{
      color:#BFC9DB;
      padding:18px 22px 22px;
      background:rgba(7,10,18,.18);
    }

    .contact-wrap{
      display:grid;
      grid-template-columns:.92fr 1.08fr;
      gap:24px;
      align-items:stretch;
    }
    .contact-info,
    .contact-form{
      padding:32px;
    }
    .contact-points{
      list-style:none;
      padding:0;
      margin:26px 0 0;
      display:grid;
      gap:14px;
    }
    .contact-points li{
      display:flex;
      gap:12px;
      color:#C8D2E6;
    }
    .check-dot{
      width:22px;
      height:22px;
      border-radius:50%;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      font-size:12px;
      margin-top:4px;
    }
    .form-label{
      color:#DCE5F5;
      font-weight:700;
      margin-bottom:8px;
    }
    .form-control,.form-select{
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      border-radius:16px;
      background-color:rgba(255,255,255,.06);
      padding:12px 14px;
    }
    .form-control::placeholder{color:#7F8AA3}
    .form-control:focus,.form-select:focus{
      color:#fff;
      border-color:rgba(63,124,255,.72);
      background-color:rgba(255,255,255,.075);
      box-shadow:0 0 0 4px rgba(63,124,255,.14),0 0 22px rgba(168,85,247,.12);
    }
    .form-select{
      background-image:none;
    }
    textarea.form-control{min-height:126px;resize:vertical}
    .privacy-note{
      color:var(--weak);
      font-size:13px;
      margin:12px 0 0;
    }

    .site-footer{
      background:#05070D;
      border-top:1px solid rgba(255,255,255,.09);
      padding:62px 0 28px;
      position:relative;
      overflow:hidden;
    }
    .site-footer:before{
      content:"";
      position:absolute;
      inset:0;
      background:radial-gradient(circle at 18% 0%,rgba(63,124,255,.13),transparent 32%),
                 radial-gradient(circle at 84% 18%,rgba(168,85,247,.10),transparent 28%);
      pointer-events:none;
    }
    .footer-grid{
      position:relative;
      display:grid;
      grid-template-columns:1.2fr .8fr 1fr;
      gap:34px;
      margin-bottom:34px;
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:16px;
    }
    .footer-title{
      color:#fff;
      font-weight:820;
      letter-spacing:-.02em;
    }
    .footer-links{
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:#AEB8CC;
      width:max-content;
    }
    .footer-links a:hover{
      color:#fff;
      transform:translateX(3px);
    }
    .footer-note{
      padding:18px;
      border-radius:20px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.045);
      color:#BFC9DB;
      font-size:14px;
    }
    .copyright{
      position:relative;
      padding-top:24px;
      border-top:1px solid rgba(255,255,255,.08);
      color:#7F8AA3;
      font-size:13px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
    }

    .mobile-tabs{
      display:none;
      position:fixed;
      left:0;
      right:0;
      bottom:0;
      z-index:1040;
      padding:8px 12px calc(8px + env(safe-area-inset-bottom));
      border-top:1px solid rgba(255,255,255,.11);
      background:rgba(7,10,18,.88);
      backdrop-filter:blur(18px);
    }
    .mobile-tabs-inner{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:6px;
      max-width:560px;
      margin:0 auto;
    }
    .mobile-tab{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:3px;
      min-height:52px;
      border-radius:16px;
      color:#8F9BB2;
      font-size:12px;
      font-weight:700;
      position:relative;
    }
    .mobile-tab .tab-icon{
      font-size:18px;
      line-height:1;
    }
    .mobile-tab.active{
      color:#fff;
      background:linear-gradient(135deg,rgba(63,124,255,.18),rgba(168,85,247,.14));
    }
    .mobile-tab.active:before{
      content:"";
      position:absolute;
      top:5px;
      width:5px;
      height:5px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 0 12px rgba(168,85,247,.7);
    }

    @media (max-width: 991.98px){
      .navbar-collapse{
        margin:12px 0 16px;
        padding:12px;
        border:1px solid rgba(255,255,255,.10);
        border-radius:22px;
        background:rgba(255,255,255,.055);
      }
      .nav-menu .nav-link{padding:11px 14px!important}
      .hero{padding:70px 0 68px;min-height:auto}
      .hero-grid{
        grid-template-columns:1fr;
        gap:30px;
      }
      .magazine-panel{min-height:auto}
      .feature-grid,.category-layout,.contact-wrap{
        grid-template-columns:1fr;
      }
      .safe-list{grid-template-columns:repeat(2,1fr)}
      .footer-grid{grid-template-columns:1fr 1fr}
      .footer-grid > div:first-child{grid-column:1/-1}
    }

    @media (max-width: 767.98px){
      body{padding-bottom:78px}
      .site-container{width:min(100% - 24px,var(--container))}
      .section{padding:64px 0}
      .section-tight{padding:52px 0}
      .age-strip-inner{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
      }
      .brand-main{font-size:14px}
      .brand-sub{display:none}
      .hero-actions .btn{width:100%;justify-content:center}
      .panel-item{flex-direction:column}
      .masonry-grid{grid-template-columns:1fr}
      .scene-card:nth-child(n){grid-column:auto;min-height:230px}
      .compare-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
        border:0;
        background:transparent;
      }
      .compare-cell{
        border:1px solid rgba(255,255,255,.10)!important;
        border-radius:18px;
        min-height:auto;
        background:rgba(255,255,255,.045);
      }
      .compare-cell.label{display:none}
      .compare-cell.header{margin-top:8px}
      .safe-list{grid-template-columns:1fr}
      .contact-info,.contact-form,.feature-card,.category-primary,.category-side-card,.safe-band{
        padding:22px;
      }
      .footer-grid{grid-template-columns:1fr}
      .mobile-tabs{display:block}
    }

    @media (max-width: 575.98px){
      .hero{padding-top:52px}
      .hero-badges{gap:8px}
      .tag{font-size:12px}
      .cover-abstract{min-height:190px}
      .panel-title{font-size:21px}
      .glass-card{border-radius:22px}
      .category-actions{align-items:stretch}
      .category-actions .btn{width:100%;justify-content:center}
      .copyright{display:block}
      .copyright span{display:block;margin-top:8px}
    }

/* roulang page: category1 */
:root{
      --bg:#070A12;
      --bg-2:#0D1324;
      --bg-3:#10182D;
      --surface:rgba(255,255,255,.06);
      --surface-strong:rgba(255,255,255,.095);
      --surface-soft:rgba(255,255,255,.035);
      --border:rgba(255,255,255,.12);
      --border-strong:rgba(255,255,255,.2);
      --text:#F4F7FB;
      --muted:#AEB8CC;
      --weak:#6F7A92;
      --primary:#3F7CFF;
      --primary-2:#6EA8FF;
      --accent:#A855F7;
      --accent-2:#B66CFF;
      --warm:#FFB86B;
      --danger-soft:rgba(255,184,107,.14);
      --radius-lg:28px;
      --radius-md:20px;
      --radius-sm:14px;
      --shadow:0 22px 70px rgba(0,0,0,.32), 0 0 36px rgba(63,124,255,.09);
      --shadow-hover:0 28px 90px rgba(0,0,0,.38), 0 0 46px rgba(168,85,247,.16);
      --container:1200px;
      --header-h:72px;
      --trans:all .25s ease;
      --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      font-family:var(--font);
      color:var(--text);
      line-height:1.8;
      background:
        radial-gradient(circle at 12% 5%, rgba(255,184,107,.13), transparent 28%),
        radial-gradient(circle at 82% 12%, rgba(168,85,247,.18), transparent 30%),
        radial-gradient(circle at 50% 36%, rgba(63,124,255,.10), transparent 38%),
        linear-gradient(180deg,#070A12 0%,#0A0F1D 42%,#060913 100%);
      overflow-x:hidden;
      padding-bottom:0;
    }
    body:before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-2;
      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:44px 44px;
      mask-image:linear-gradient(to bottom, rgba(0,0,0,.8), transparent 78%);
    }
    body:after{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-1;
      opacity:.22;
      background:
        radial-gradient(circle, rgba(255,255,255,.08) 1px, transparent 1.5px) 0 0/34px 34px;
      mask-image:linear-gradient(to bottom, transparent 0%, #000 8%, transparent 78%);
    }
    a{color:inherit;text-decoration:none;transition:var(--trans)}
    a:hover{color:var(--text)}
    img{max-width:100%;display:block}
    button,input,select,textarea{font-family:inherit}
    ::selection{background:rgba(168,85,247,.36);color:#fff}

    .site-container{
      width:min(100% - 40px, var(--container));
      margin-inline:auto;
    }
    .weak{color:var(--weak)}
    .text-muted-custom{color:var(--muted)}
    .section{
      position:relative;
      padding:88px 0;
    }
    .section-tight{padding:58px 0}
    .section-head{
      max-width:780px;
      margin-bottom:34px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border:1px solid rgba(255,184,107,.22);
      border-radius:999px;
      background:rgba(255,184,107,.09);
      color:#FFD6A8;
      font-size:13px;
      font-weight:700;
      letter-spacing:.02em;
    }
    .eyebrow:before{
      content:"";
      width:7px;
      height:7px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--warm),var(--accent));
      box-shadow:0 0 16px rgba(255,184,107,.75);
    }
    h1,h2,h3,h4,p{margin-top:0}
    h1{
      font-size:clamp(34px,5vw,54px);
      line-height:1.14;
      font-weight:820;
      letter-spacing:-.045em;
      margin-bottom:22px;
    }
    h2{
      font-size:clamp(26px,3.2vw,38px);
      line-height:1.22;
      font-weight:780;
      letter-spacing:-.03em;
      margin-bottom:14px;
    }
    h3{
      font-size:21px;
      line-height:1.35;
      font-weight:740;
      margin-bottom:10px;
    }
    p{color:var(--muted)}
    .lead{
      font-size:18px;
      line-height:1.85;
      color:#C3CADB;
      max-width:780px;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      background:rgba(7,10,18,.74);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(255,255,255,.09);
    }
    .navbar{
      min-height:var(--header-h);
      padding:0;
    }
    .navbar .site-container{
      display:flex;
      align-items:center;
    }
    .brand-wrap{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      padding:12px 0;
    }
    .brand-mark{
      width:42px;
      height:42px;
      flex:0 0 42px;
      border-radius:16px;
      position:relative;
      background:
        radial-gradient(circle at 68% 28%, rgba(255,255,255,.9) 0 10%, transparent 11%),
        linear-gradient(135deg, rgba(63,124,255,.92), rgba(168,85,247,.88));
      box-shadow:0 0 28px rgba(63,124,255,.28), inset 0 0 18px rgba(255,255,255,.13);
      overflow:hidden;
    }
    .brand-mark:before{
      content:"";
      position:absolute;
      width:23px;
      height:23px;
      border-radius:50%;
      border:2px solid rgba(255,255,255,.72);
      left:9px;
      top:9px;
      box-shadow:6px 0 0 rgba(7,10,18,.5);
    }
    .brand-mark:after{
      content:"";
      position:absolute;
      inset:auto 8px 8px auto;
      width:12px;
      height:12px;
      border-radius:50%;
      background:var(--warm);
      box-shadow:0 0 18px rgba(255,184,107,.75);
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      line-height:1.2;
      min-width:0;
    }
    .brand-main{
      font-size:16px;
      font-weight:800;
      color:#fff;
      white-space:nowrap;
      letter-spacing:-.02em;
    }
    .brand-sub{
      font-size:12px;
      color:var(--weak);
      margin-top:3px;
      white-space:nowrap;
    }
    .nav-menu{
      align-items:center;
      gap:6px;
    }
    .nav-menu .nav-link{
      position:relative;
      color:#B8C1D5;
      font-size:15px;
      font-weight:700;
      padding:9px 15px!important;
      border-radius:999px;
    }
    .nav-menu .nav-link:hover{
      color:#fff;
      background:rgba(255,255,255,.07);
    }
    .nav-menu .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg, rgba(63,124,255,.24), rgba(168,85,247,.22));
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.1), 0 0 22px rgba(63,124,255,.12);
    }
    .nav-menu .nav-link.active:after{
      content:"";
      position:absolute;
      left:18px;
      right:18px;
      bottom:3px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg,var(--primary),var(--accent));
    }
    .navbar-toggler{
      border:1px solid var(--border);
      border-radius:14px;
      width:46px;
      height:42px;
      padding:0;
      box-shadow:none!important;
      background:rgba(255,255,255,.05);
    }
    .navbar-toggler:focus-visible{
      outline:3px solid rgba(63,124,255,.45);
      outline-offset:3px;
    }
    .toggler-lines{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:5px;
    }
    .toggler-lines span{
      width:19px;
      height:2px;
      border-radius:999px;
      background:#E8EEFF;
    }

    .btn{
      border:0;
      border-radius:999px;
      padding:12px 20px;
      font-weight:760;
      letter-spacing:-.01em;
      transition:var(--trans);
    }
    .btn-primary-glow{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 12px 34px rgba(63,124,255,.28), 0 0 30px rgba(168,85,247,.15);
    }
    .btn-primary-glow:hover{
      color:#fff;
      transform:translateY(-2px);
      filter:brightness(1.08);
      box-shadow:0 18px 46px rgba(63,124,255,.36), 0 0 44px rgba(168,85,247,.22);
    }
    .btn-ghost{
      color:#EAF0FF;
      background:rgba(255,255,255,.055);
      border:1px solid var(--border);
      backdrop-filter:blur(12px);
    }
    .btn-ghost:hover{
      color:#fff;
      background:rgba(255,255,255,.09);
      border-color:rgba(111,168,255,.46);
      transform:translateY(-2px);
    }
    .btn-warm{
      color:#1B1220;
      background:linear-gradient(135deg,#FFD39D,var(--warm));
      box-shadow:0 12px 34px rgba(255,184,107,.18);
    }
    .btn-warm:hover{
      color:#1B1220;
      transform:translateY(-2px);
      filter:brightness(1.04);
    }
    .btn:focus-visible,
    .nav-link:focus-visible,
    .footer-links a:focus-visible,
    .mobile-tab a:focus-visible{
      outline:3px solid rgba(63,124,255,.5);
      outline-offset:3px;
      box-shadow:none;
    }

    .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:8px 12px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:999px;
      background:rgba(255,255,255,.055);
      color:#DDE6F8;
      font-size:13px;
      font-weight:700;
      backdrop-filter:blur(10px);
    }
    .chip.warm{
      border-color:rgba(255,184,107,.25);
      background:rgba(255,184,107,.09);
      color:#FFD5A4;
    }
    .chip.blue{
      border-color:rgba(63,124,255,.28);
      background:rgba(63,124,255,.09);
      color:#BFD4FF;
    }

    .glass-card{
      position:relative;
      border:1px solid var(--border);
      border-radius:var(--radius-lg);
      background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.04));
      box-shadow:var(--shadow);
      backdrop-filter:blur(16px);
      overflow:hidden;
      transition:var(--trans);
    }
    .glass-card:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 18% 0%, rgba(255,184,107,.10), transparent 28%),
        radial-gradient(circle at 86% 16%, rgba(168,85,247,.14), transparent 30%);
      pointer-events:none;
      opacity:.9;
    }
    .glass-card > *{position:relative;z-index:1}
    .glass-card:hover{
      transform:translateY(-4px);
      border-color:rgba(255,255,255,.22);
      box-shadow:var(--shadow-hover);
      background:linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.05));
    }

    .notice-strip{
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(13,19,36,.72);
      backdrop-filter:blur(14px);
    }
    .notice-inner{
      min-height:44px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      color:#C7D0E3;
      font-size:14px;
    }
    .notice-inner strong{
      color:#FFD6A8;
      font-weight:800;
    }
    .notice-link{
      color:#CDE0FF;
      font-weight:760;
      white-space:nowrap;
    }
    .notice-link:hover{color:#fff}

    .category-hero{
      padding:78px 0 48px;
      position:relative;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);
      gap:34px;
      align-items:stretch;
    }
    .hero-copy{
      padding:42px;
      min-height:520px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .hero-copy .tag-row{margin:24px 0 28px}
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:8px;
    }
    .hero-panel{
      padding:26px;
      min-height:520px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .abstract-cover{
      height:250px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(circle at 72% 24%, rgba(255,184,107,.38), transparent 19%),
        radial-gradient(circle at 28% 76%, rgba(168,85,247,.36), transparent 24%),
        linear-gradient(135deg, rgba(63,124,255,.34), rgba(13,19,36,.52) 55%, rgba(255,184,107,.14));
      position:relative;
      overflow:hidden;
      box-shadow:inset 0 0 50px rgba(255,255,255,.06);
    }
    .abstract-cover:before{
      content:"";
      position:absolute;
      width:230px;
      height:230px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.18);
      right:-60px;
      top:-58px;
      box-shadow:0 0 50px rgba(63,124,255,.15);
    }
    .abstract-cover:after{
      content:"18+ 合规提示";
      position:absolute;
      left:20px;
      bottom:20px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(7,10,18,.58);
      border:1px solid rgba(255,255,255,.16);
      color:#FFE0BA;
      font-weight:800;
      font-size:13px;
      backdrop-filter:blur(12px);
    }
    .panel-list{
      display:grid;
      gap:12px;
      margin-top:18px;
    }
    .panel-item{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.1);
    }
    .panel-dot{
      width:32px;
      height:32px;
      border-radius:12px;
      flex:0 0 32px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,rgba(255,184,107,.25),rgba(168,85,247,.24));
      color:#FFD7A6;
      font-weight:900;
    }
    .panel-item b{display:block;color:#fff;margin-bottom:2px}
    .panel-item span{font-size:13px;color:var(--muted);line-height:1.6}

    .chips-filter{
      padding:24px;
      border-radius:26px;
      background:rgba(255,255,255,.045);
      border:1px solid var(--border);
      backdrop-filter:blur(14px);
    }
    .chips-filter .tag-row{margin-top:14px}
    .filter-note{
      display:flex;
      align-items:center;
      gap:12px;
      margin-top:18px;
      padding:14px 16px;
      border-radius:18px;
      border:1px solid rgba(255,184,107,.18);
      background:rgba(255,184,107,.075);
      color:#FFD9AD;
      font-size:14px;
    }

    .feature-layout{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
      gap:26px;
      align-items:stretch;
    }
    .large-explain{
      padding:34px;
      min-height:420px;
    }
    .large-explain p{font-size:16px}
    .line-list{
      display:grid;
      gap:14px;
    }
    .line-card{
      padding:20px;
      border-radius:22px;
      background:rgba(255,255,255,.052);
      border:1px solid rgba(255,255,255,.105);
      transition:var(--trans);
    }
    .line-card:hover{
      transform:translateX(4px);
      border-color:rgba(255,184,107,.25);
      background:rgba(255,255,255,.076);
    }
    .line-card .num{
      display:inline-flex;
      width:28px;
      height:28px;
      align-items:center;
      justify-content:center;
      border-radius:10px;
      margin-bottom:10px;
      color:#1B1220;
      background:linear-gradient(135deg,#FFE3BE,var(--warm));
      font-weight:900;
    }
    .quality-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:14px;
      margin-top:24px;
    }
    .quality-box{
      padding:16px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(7,10,18,.28);
    }
    .quality-box b{
      display:block;
      font-size:22px;
      color:#fff;
      line-height:1.2;
      margin-bottom:4px;
    }
    .quality-box span{font-size:13px;color:var(--weak)}

    .magazine-stack{
      display:grid;
      gap:18px;
    }
    .article-card{
      display:grid;
      grid-template-columns:120px minmax(0,1fr) auto;
      gap:20px;
      align-items:center;
      padding:22px;
      border-radius:26px;
      border:1px solid var(--border);
      background:rgba(255,255,255,.052);
      backdrop-filter:blur(14px);
      transition:var(--trans);
      overflow:hidden;
      position:relative;
    }
    .article-card:before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(90deg, rgba(255,184,107,.08), transparent 36%, rgba(63,124,255,.05));
      opacity:.7;
      pointer-events:none;
    }
    .article-card > *{position:relative;z-index:1}
    .article-card:hover{
      transform:translateY(-3px);
      border-color:rgba(255,184,107,.26);
      box-shadow:0 18px 54px rgba(0,0,0,.28),0 0 28px rgba(255,184,107,.08);
      background:rgba(255,255,255,.075);
    }
    .article-index{
      height:96px;
      border-radius:22px;
      display:flex;
      align-items:flex-end;
      justify-content:flex-start;
      padding:14px;
      background:
        radial-gradient(circle at 75% 20%, rgba(255,184,107,.42), transparent 22%),
        linear-gradient(135deg, rgba(63,124,255,.26), rgba(168,85,247,.22), rgba(255,184,107,.16));
      color:#fff;
      font-size:26px;
      font-weight:900;
      border:1px solid rgba(255,255,255,.12);
    }
    .article-content h3{margin-bottom:6px}
    .article-content p{
      margin-bottom:12px;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .read-meta{
      color:#FFD6A8;
      font-size:13px;
      font-weight:800;
      white-space:nowrap;
    }

    .safety-card{
      padding:34px;
      border-radius:30px;
      border:1px solid rgba(255,184,107,.24);
      background:
        radial-gradient(circle at 10% 12%, rgba(255,184,107,.18), transparent 24%),
        linear-gradient(135deg, rgba(255,184,107,.10), rgba(255,255,255,.05));
      box-shadow:0 20px 60px rgba(0,0,0,.28), 0 0 34px rgba(255,184,107,.08);
    }
    .check-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
      margin-top:22px;
    }
    .check-item{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:16px;
      border-radius:18px;
      background:rgba(7,10,18,.26);
      border:1px solid rgba(255,255,255,.1);
    }
    .check-icon{
      width:26px;
      height:26px;
      flex:0 0 26px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(255,184,107,.18);
      color:#FFD39D;
      font-weight:900;
      line-height:1;
    }
    .check-item b{display:block;color:#fff;margin-bottom:2px}
    .check-item span{display:block;color:var(--muted);font-size:14px;line-height:1.65}

    .path-flow{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
    }
    .path-step{
      padding:22px;
      min-height:190px;
      border-radius:24px;
      border:1px solid var(--border);
      background:rgba(255,255,255,.05);
      backdrop-filter:blur(12px);
      position:relative;
      overflow:hidden;
      transition:var(--trans);
    }
    .path-step:hover{
      transform:translateY(-4px);
      border-color:rgba(63,124,255,.28);
      background:rgba(255,255,255,.075);
    }
    .path-step:after{
      content:"";
      position:absolute;
      width:110px;
      height:110px;
      right:-44px;
      bottom:-48px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(63,124,255,.18), transparent 70%);
    }
    .step-no{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:34px;
      height:34px;
      border-radius:13px;
      margin-bottom:18px;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      color:#fff;
      font-weight:900;
    }

    .accordion{
      display:grid;
      gap:14px;
    }
    .accordion-item{
      color:var(--text);
      border:1px solid var(--border);
      border-radius:20px!important;
      overflow:hidden;
      background:rgba(255,255,255,.052);
      backdrop-filter:blur(14px);
    }
    .accordion-button{
      color:#fff;
      background:rgba(255,255,255,.045);
      padding:18px 20px;
      font-weight:760;
      box-shadow:none!important;
      border:0;
    }
    .accordion-button:not(.collapsed){
      color:#fff;
      background:linear-gradient(135deg, rgba(63,124,255,.16), rgba(168,85,247,.12));
      border-bottom:1px solid rgba(255,255,255,.1);
    }
    .accordion-button:after{
      filter:invert(1) grayscale(1);
      opacity:.85;
    }
    .accordion-button:focus{
      box-shadow:none;
      border-color:transparent;
    }
    .accordion-button:focus-visible{
      outline:3px solid rgba(63,124,255,.5);
      outline-offset:-3px;
    }
    .accordion-body{
      color:var(--muted);
      padding:18px 20px 22px;
      background:rgba(7,10,18,.16);
    }

    .cta-panel{
      display:grid;
      grid-template-columns:minmax(0,.9fr) minmax(320px,.65fr);
      gap:24px;
      padding:34px;
      align-items:center;
    }
    .cta-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      justify-content:flex-end;
    }

    .site-footer{
      background:#05070D;
      border-top:1px solid rgba(255,255,255,.1);
      padding:58px 0 28px;
      position:relative;
    }
    .site-footer:before{
      content:"";
      position:absolute;
      inset:0 0 auto 0;
      height:1px;
      background:linear-gradient(90deg,transparent,var(--primary),var(--accent),transparent);
      opacity:.45;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.25fr .55fr .9fr;
      gap:34px;
      padding-bottom:32px;
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:16px;
    }
    .footer-title{
      color:#fff;
      font-weight:820;
      font-size:17px;
      line-height:1.3;
    }
    .site-footer p{
      max-width:520px;
      margin-bottom:0;
    }
    .site-footer h3{
      font-size:16px;
      margin-bottom:14px;
    }
    .footer-links{
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:var(--muted);
      font-weight:650;
    }
    .footer-links a:hover{
      color:#fff;
      transform:translateX(3px);
    }
    .footer-note{
      padding:16px;
      border-radius:18px;
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.1);
      color:var(--muted);
      font-size:14px;
    }
    .copyright{
      border-top:1px solid rgba(255,255,255,.09);
      padding-top:22px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      color:var(--weak);
      font-size:13px;
    }
    .copyright span{
      color:#8D98B0;
      white-space:nowrap;
    }

    .mobile-tab{
      display:none;
      position:fixed;
      left:0;
      right:0;
      bottom:0;
      z-index:1001;
      background:rgba(7,10,18,.89);
      backdrop-filter:blur(16px);
      border-top:1px solid rgba(255,255,255,.12);
      padding:7px max(10px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right));
    }
    .mobile-tab .tab-inner{
      width:min(100%,560px);
      margin:0 auto;
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:4px;
    }
    .mobile-tab a{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      min-height:52px;
      border-radius:16px;
      color:#8F9AB2;
      font-size:12px;
      font-weight:760;
      gap:2px;
      position:relative;
    }
    .mobile-tab .tab-icon{
      font-size:17px;
      line-height:1;
    }
    .mobile-tab a.active{
      color:#fff;
      background:linear-gradient(135deg, rgba(63,124,255,.18), rgba(168,85,247,.16));
    }
    .mobile-tab a.active:before{
      content:"";
      position:absolute;
      top:5px;
      width:5px;
      height:5px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 0 14px rgba(63,124,255,.7);
    }

    @media (max-width: 991.98px){
      body{padding-bottom:78px}
      .site-container{width:min(100% - 30px, var(--container))}
      .navbar .site-container{flex-wrap:wrap}
      .navbar-collapse{
        flex-basis:100%;
        margin:0 0 14px;
        padding:12px;
        border:1px solid rgba(255,255,255,.1);
        border-radius:20px;
        background:rgba(255,255,255,.045);
      }
      .nav-menu{align-items:stretch;gap:4px}
      .nav-menu .nav-link{padding:11px 14px!important}
      .hero-grid,
      .feature-layout,
      .cta-panel{
        grid-template-columns:1fr;
      }
      .hero-copy,
      .hero-panel{
        min-height:auto;
      }
      .quality-grid{grid-template-columns:repeat(3,1fr)}
      .path-flow{grid-template-columns:repeat(2,1fr)}
      .footer-grid{grid-template-columns:1fr 1fr}
      .footer-grid > div:first-child{grid-column:1 / -1}
      .mobile-tab{display:block}
    }

    @media (max-width: 767.98px){
      .section{padding:64px 0}
      .section-tight{padding:44px 0}
      .category-hero{padding:48px 0 30px}
      .hero-copy,
      .hero-panel,
      .large-explain,
      .safety-card,
      .cta-panel{
        padding:24px;
      }
      .notice-inner{
        align-items:flex-start;
        flex-direction:column;
        padding:10px 0;
        gap:6px;
      }
      .article-card{
        grid-template-columns:1fr;
        gap:14px;
      }
      .article-index{
        width:100%;
        height:82px;
      }
      .read-meta{white-space:normal}
      .check-grid,
      .path-flow,
      .quality-grid{
        grid-template-columns:1fr;
      }
      .cta-actions{justify-content:flex-start}
      .copyright{
        flex-direction:column;
      }
      .copyright span{white-space:normal}
    }

    @media (max-width: 575.98px){
      .site-container{width:min(100% - 24px, var(--container))}
      .brand-mark{
        width:38px;
        height:38px;
        flex-basis:38px;
        border-radius:14px;
      }
      .brand-main{
        font-size:14px;
        max-width:210px;
        overflow:hidden;
        text-overflow:ellipsis;
      }
      .brand-sub{display:none}
      .hero-actions .btn,
      .cta-actions .btn{
        width:100%;
        justify-content:center;
      }
      .abstract-cover{height:210px}
      .chip{font-size:12px;padding:7px 10px}
      .footer-grid{grid-template-columns:1fr}
      .mobile-tab a{font-size:11px}
    }

/* roulang page: category2 */
:root{
      --bg:#070A12;
      --bg-2:#0D1324;
      --bg-3:#10182D;
      --panel:rgba(255,255,255,.06);
      --panel-strong:rgba(255,255,255,.09);
      --panel-soft:rgba(255,255,255,.045);
      --border:rgba(255,255,255,.12);
      --border-strong:rgba(142,172,255,.28);
      --text:#F4F7FB;
      --muted:#AEB8CC;
      --weak:#6F7A92;
      --primary:#3F7CFF;
      --primary-2:#6EA8FF;
      --accent:#A855F7;
      --accent-2:#B66CFF;
      --warm:#FFB86B;
      --silver:#C7D2E6;
      --danger-soft:rgba(255,184,107,.13);
      --radius-xl:28px;
      --radius-lg:24px;
      --radius-md:18px;
      --radius-sm:14px;
      --shadow:0 20px 60px rgba(0,0,0,.28),0 0 30px rgba(63,124,255,.08);
      --shadow-hover:0 26px 76px rgba(0,0,0,.34),0 0 42px rgba(168,85,247,.16);
      --container:1200px;
      --header-h:72px;
      --transition:all .25s ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 8%, rgba(63,124,255,.24), transparent 34%),
        radial-gradient(circle at 80% 14%, rgba(168,85,247,.18), transparent 30%),
        radial-gradient(circle at 50% 80%, rgba(110,168,255,.08), transparent 36%),
        linear-gradient(180deg,#070A12 0%,#091020 46%,#05070D 100%);
      line-height:1.8;
      overflow-x:hidden;
      padding-bottom:0;
    }
    body:before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-1;
      opacity:.36;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size:56px 56px;
      mask-image:linear-gradient(to bottom, rgba(0,0,0,.95), transparent 82%);
    }
    body:after{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-1;
      opacity:.12;
      background-image:radial-gradient(rgba(255,255,255,.75) .7px, transparent .7px);
      background-size:24px 24px;
    }
    a{color:inherit;text-decoration:none;transition:var(--transition)}
    a:hover{color:var(--primary-2)}
    img,svg{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    ::selection{background:rgba(168,85,247,.42);color:#fff}

    .site-container{
      width:min(100% - 32px,var(--container));
      margin-inline:auto;
    }
    .weak{color:var(--weak)}
    .text-muted-custom{color:var(--muted)!important}
    .section{
      padding:94px 0;
      position:relative;
    }
    .section.compact{padding:72px 0}
    .section-title{
      max-width:760px;
      margin-bottom:34px;
    }
    .section-title.center{
      margin-inline:auto;
      text-align:center;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border:1px solid rgba(110,168,255,.22);
      border-radius:999px;
      background:rgba(63,124,255,.08);
      color:#DDE8FF;
      font-size:13px;
      line-height:1.4;
      margin-bottom:16px;
    }
    .eyebrow:before{
      content:"";
      width:7px;
      height:7px;
      border-radius:999px;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 0 16px rgba(110,168,255,.75);
    }
    h1,h2,h3,h4,p{margin-top:0}
    h1{
      font-size:clamp(34px,5vw,56px);
      line-height:1.14;
      font-weight:800;
      letter-spacing:-.04em;
      margin-bottom:22px;
    }
    h2{
      font-size:clamp(28px,3.6vw,38px);
      line-height:1.22;
      font-weight:780;
      letter-spacing:-.03em;
      margin-bottom:14px;
    }
    h3{
      font-size:22px;
      line-height:1.34;
      font-weight:740;
      margin-bottom:10px;
    }
    p{color:var(--muted);font-size:16px}
    .lead{
      font-size:18px;
      line-height:1.9;
      color:#C7D2E6;
      max-width:720px;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      background:rgba(7,10,18,.74);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(255,255,255,.09);
    }
    .navbar{
      min-height:var(--header-h);
      padding:0;
    }
    .navbar .site-container{
      display:flex;
      align-items:center;
      min-height:var(--header-h);
    }
    .brand-wrap{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      color:var(--text)!important;
      padding:0;
    }
    .brand-mark{
      width:42px;
      height:42px;
      flex:0 0 42px;
      position:relative;
      border-radius:15px;
      background:
        radial-gradient(circle at 66% 32%, rgba(255,255,255,.95) 0 10%, transparent 11%),
        linear-gradient(135deg,rgba(63,124,255,.95),rgba(168,85,247,.84));
      box-shadow:0 0 24px rgba(63,124,255,.28), inset 0 0 18px rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.18);
    }
    .brand-mark:before{
      content:"";
      position:absolute;
      width:19px;
      height:19px;
      border-radius:50%;
      left:11px;
      top:9px;
      border:2px solid rgba(255,255,255,.78);
      border-right-color:transparent;
      transform:rotate(-24deg);
    }
    .brand-mark:after{
      content:"";
      position:absolute;
      left:12px;
      right:12px;
      bottom:9px;
      height:8px;
      border-radius:0 0 8px 8px;
      border:1px solid rgba(255,255,255,.55);
      border-top:0;
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      line-height:1.2;
      min-width:0;
    }
    .brand-main{
      font-size:16px;
      font-weight:760;
      letter-spacing:-.02em;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width:330px;
    }
    .brand-sub{
      margin-top:3px;
      font-size:12px;
      color:var(--weak);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width:330px;
    }
    .navbar-toggler{
      border:1px solid var(--border);
      border-radius:14px;
      padding:9px 10px;
      background:rgba(255,255,255,.06);
      box-shadow:none!important;
    }
    .navbar-toggler:focus-visible{
      outline:2px solid var(--primary);
      outline-offset:3px;
    }
    .toggler-lines{
      display:flex;
      flex-direction:column;
      gap:4px;
      width:22px;
    }
    .toggler-lines span{
      display:block;
      height:2px;
      border-radius:2px;
      background:#EAF0FF;
    }
    .nav-menu{
      gap:8px;
      align-items:center;
    }
    .nav-link{
      position:relative;
      color:#C8D2E6!important;
      padding:10px 15px!important;
      border-radius:999px;
      font-size:15px;
      font-weight:650;
    }
    .nav-link:hover{
      color:#fff!important;
      background:rgba(255,255,255,.07);
    }
    .nav-link.active{
      color:#fff!important;
      background:linear-gradient(135deg,rgba(63,124,255,.22),rgba(168,85,247,.18));
      border:1px solid rgba(110,168,255,.22);
      box-shadow:0 0 20px rgba(63,124,255,.12);
    }
    .nav-link.active:after{
      content:"";
      position:absolute;
      left:18px;
      right:18px;
      bottom:5px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg,var(--primary),var(--accent));
    }

    .mobile-tab{
      display:none;
      position:fixed;
      z-index:1040;
      left:12px;
      right:12px;
      bottom:12px;
      padding:9px 8px calc(9px + env(safe-area-inset-bottom));
      border:1px solid rgba(255,255,255,.12);
      border-radius:24px;
      background:rgba(7,10,18,.88);
      backdrop-filter:blur(18px);
      box-shadow:0 14px 40px rgba(0,0,0,.34);
    }
    .mobile-tab a{
      flex:1;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:2px;
      min-height:48px;
      border-radius:18px;
      color:#91A0BB;
      font-size:12px;
      font-weight:650;
    }
    .mobile-tab .tab-icon{
      font-size:17px;
      line-height:1;
    }
    .mobile-tab a.active{
      color:#fff;
      background:linear-gradient(135deg,rgba(63,124,255,.22),rgba(168,85,247,.16));
    }
    .mobile-tab a.active .tab-icon{
      text-shadow:0 0 16px rgba(110,168,255,.9);
    }

    .btn{
      border:0;
      border-radius:999px;
      padding:13px 20px;
      font-weight:720;
      line-height:1.2;
      transition:var(--transition);
    }
    .btn-primary-glow{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 12px 32px rgba(63,124,255,.28),0 0 22px rgba(168,85,247,.15);
    }
    .btn-primary-glow:hover{
      color:#fff;
      filter:brightness(1.08);
      transform:translateY(-2px);
      box-shadow:0 18px 42px rgba(63,124,255,.34),0 0 32px rgba(168,85,247,.22);
    }
    .btn-ghost{
      color:#E8EEFF;
      background:rgba(255,255,255,.06);
      border:1px solid var(--border);
    }
    .btn-ghost:hover{
      color:#fff;
      background:rgba(255,255,255,.1);
      border-color:rgba(110,168,255,.34);
      transform:translateY(-2px);
    }
    .btn:focus-visible,.form-control:focus,.form-select:focus,.accordion-button:focus-visible,a:focus-visible{
      outline:2px solid rgba(110,168,255,.86);
      outline-offset:3px;
      box-shadow:0 0 0 4px rgba(63,124,255,.15)!important;
    }

    .glass-card{
      position:relative;
      overflow:hidden;
      border:1px solid var(--border);
      border-radius:var(--radius-lg);
      background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045));
      backdrop-filter:blur(14px);
      box-shadow:var(--shadow);
      transition:var(--transition);
    }
    .glass-card:before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      opacity:.6;
      background:radial-gradient(circle at 18% 0%, rgba(110,168,255,.16), transparent 34%),
                 radial-gradient(circle at 90% 12%, rgba(168,85,247,.12), transparent 28%);
    }
    .glass-card:hover{
      transform:translateY(-4px);
      border-color:rgba(110,168,255,.3);
      background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.055));
      box-shadow:var(--shadow-hover);
    }
    .glass-card > *{position:relative;z-index:1}
    .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:9px;
      margin-top:18px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.11);
      background:rgba(255,255,255,.055);
      color:#C9D5EA;
      font-size:13px;
      line-height:1.3;
    }
    .tag.silver{
      border-color:rgba(199,210,230,.22);
      background:rgba(199,210,230,.08);
    }
    .tag.accent{
      border-color:rgba(168,85,247,.26);
      background:rgba(168,85,247,.11);
      color:#E9D7FF;
    }
    .tag.warm{
      border-color:rgba(255,184,107,.32);
      background:rgba(255,184,107,.11);
      color:#FFE0B9;
    }

    .notice-bar{
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(13,19,36,.58);
      backdrop-filter:blur(14px);
    }
    .notice-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:11px 0;
      color:#C9D5EA;
      font-size:14px;
    }
    .notice-left{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .notice-icon{
      width:24px;
      height:24px;
      border-radius:9px;
      display:grid;
      place-items:center;
      color:#fff;
      background:linear-gradient(135deg,rgba(63,124,255,.9),rgba(168,85,247,.88));
      box-shadow:0 0 18px rgba(110,168,255,.28);
      font-size:13px;
      flex:0 0 24px;
    }
    .notice-inner a{
      color:#E4ECFF;
      font-weight:700;
      white-space:nowrap;
    }

    .hero{
      position:relative;
      padding:86px 0 72px;
      overflow:hidden;
    }
    .hero:before{
      content:"";
      position:absolute;
      right:-150px;
      top:40px;
      width:540px;
      height:540px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(63,124,255,.2), transparent 64%);
      filter:blur(3px);
      pointer-events:none;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(360px,.82fr);
      gap:34px;
      align-items:center;
    }
    .hero-copy{
      padding:18px 0;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:30px;
    }
    .hero-panel{
      padding:24px;
      min-height:460px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .topic-map{
      min-height:250px;
      border-radius:22px;
      padding:22px;
      border:1px solid rgba(255,255,255,.12);
      background:
        linear-gradient(135deg,rgba(63,124,255,.2),rgba(168,85,247,.14)),
        radial-gradient(circle at 70% 20%, rgba(255,255,255,.12), transparent 24%);
      position:relative;
      overflow:hidden;
    }
    .topic-map:before{
      content:"";
      position:absolute;
      inset:22px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:50%;
      transform:rotate(-16deg);
    }
    .topic-map:after{
      content:"";
      position:absolute;
      width:110px;
      height:110px;
      border-radius:50%;
      right:34px;
      bottom:28px;
      border:1px solid rgba(255,255,255,.18);
      background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.2),rgba(255,255,255,.04));
      box-shadow:0 0 42px rgba(110,168,255,.18);
    }
    .map-label{
      position:relative;
      z-index:2;
      display:inline-flex;
      padding:7px 10px;
      border-radius:999px;
      color:#fff;
      font-size:13px;
      font-weight:700;
      background:rgba(7,10,18,.38);
      border:1px solid rgba(255,255,255,.14);
      backdrop-filter:blur(10px);
    }
    .map-title{
      position:relative;
      z-index:2;
      max-width:280px;
      margin-top:54px;
      font-size:28px;
      line-height:1.25;
      font-weight:800;
      letter-spacing:-.03em;
    }
    .panel-stats{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
      margin-top:18px;
    }
    .stat-item{
      padding:14px 12px;
      border-radius:18px;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.1);
    }
    .stat-num{
      display:block;
      color:#fff;
      font-size:20px;
      font-weight:800;
      line-height:1.2;
    }
    .stat-label{
      color:var(--weak);
      font-size:12px;
    }

    .topic-index{
      display:grid;
      grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
      gap:22px;
      align-items:stretch;
    }
    .index-large{
      padding:30px;
      min-height:430px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .index-visual{
      min-height:170px;
      border-radius:24px;
      background:
        linear-gradient(115deg,rgba(63,124,255,.18),rgba(168,85,247,.1) 52%,rgba(199,210,230,.08)),
        repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 34px);
      border:1px solid rgba(255,255,255,.11);
      position:relative;
      overflow:hidden;
    }
    .index-visual span{
      position:absolute;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.035);
    }
    .index-visual span:nth-child(1){width:160px;height:160px;left:30px;top:26px}
    .index-visual span:nth-child(2){width:94px;height:94px;right:58px;top:52px}
    .index-visual span:nth-child(3){width:54px;height:54px;right:28px;bottom:32px;background:rgba(110,168,255,.12)}
    .small-topic-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:16px;
    }
    .topic-mini{
      padding:22px;
      min-height:207px;
    }
    .mini-icon{
      width:44px;
      height:44px;
      border-radius:16px;
      display:grid;
      place-items:center;
      margin-bottom:18px;
      background:linear-gradient(135deg,rgba(63,124,255,.2),rgba(168,85,247,.18));
      border:1px solid rgba(255,255,255,.12);
      color:#fff;
      font-size:20px;
    }

    .timeline-wrap{
      padding:30px;
    }
    .timeline{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:0;
      position:relative;
    }
    .timeline:before{
      content:"";
      position:absolute;
      left:8%;
      right:8%;
      top:34px;
      height:2px;
      background:linear-gradient(90deg,var(--primary),rgba(168,85,247,.8),rgba(199,210,230,.3));
    }
    .step{
      position:relative;
      padding:0 16px;
    }
    .step-dot{
      width:68px;
      height:68px;
      border-radius:24px;
      display:grid;
      place-items:center;
      margin-bottom:20px;
      color:#fff;
      font-weight:800;
      background:linear-gradient(135deg,rgba(63,124,255,.88),rgba(168,85,247,.82));
      border:1px solid rgba(255,255,255,.18);
      box-shadow:0 0 28px rgba(63,124,255,.2);
      position:relative;
      z-index:2;
    }
    .step h3{font-size:20px}
    .step p{font-size:15px;margin-bottom:0}

    .magazine-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:22px;
      align-items:start;
    }
    .feature-story{
      padding:30px;
      min-height:520px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .story-kicker{
      color:#DDE8FF;
      font-size:14px;
      font-weight:750;
      margin-bottom:10px;
    }
    .story-title{
      font-size:30px;
      line-height:1.25;
      letter-spacing:-.03em;
    }
    .story-abstract{
      font-size:17px;
      color:#C5D0E4;
    }
    .story-strip{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
      margin-top:26px;
    }
    .story-strip div{
      min-height:86px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.1);
      background:linear-gradient(135deg,rgba(63,124,255,.14),rgba(168,85,247,.08));
      padding:13px;
      color:#DDE8FF;
      font-size:13px;
      font-weight:700;
    }
    .side-stories{
      display:grid;
      gap:18px;
    }
    .story-card{
      padding:24px;
      min-height:160px;
    }
    .story-meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:12px;
      color:var(--weak);
      font-size:13px;
    }
    .story-card h3{font-size:21px}
    .story-card p{font-size:15px;margin-bottom:0}
    .read-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-top:18px;
      color:#DDE8FF;
      font-weight:760;
    }
    .read-link:after{
      content:"›";
      width:22px;
      height:22px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
    }

    .compare-band{
      border-radius:var(--radius-xl);
      overflow:hidden;
      border:1px solid var(--border);
      background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.04));
      box-shadow:var(--shadow);
    }
    .compare-row{
      display:grid;
      grid-template-columns:220px repeat(3,1fr);
      border-bottom:1px solid rgba(255,255,255,.09);
    }
    .compare-row:last-child{border-bottom:0}
    .compare-cell{
      padding:20px;
      border-right:1px solid rgba(255,255,255,.08);
      color:#C8D2E6;
    }
    .compare-cell:last-child{border-right:0}
    .compare-head{
      color:#fff;
      font-weight:780;
      background:rgba(255,255,255,.045);
    }
    .compare-label{
      color:#fff;
      font-weight:750;
    }
    .compare-cell .btn{padding:10px 14px;font-size:14px}

    .safety-section{
      background:
        radial-gradient(circle at 20% 30%,rgba(63,124,255,.16),transparent 34%),
        linear-gradient(180deg,rgba(13,19,36,.42),rgba(5,7,13,.18));
      border-block:1px solid rgba(255,255,255,.07);
    }
    .safety-grid{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:22px;
      align-items:center;
    }
    .notice-card{
      padding:30px;
      border-color:rgba(255,184,107,.24);
      background:linear-gradient(180deg,rgba(255,184,107,.09),rgba(255,255,255,.045));
    }
    .check-list{
      display:grid;
      gap:14px;
    }
    .check-item{
      display:flex;
      gap:13px;
      align-items:flex-start;
      padding:17px;
      border-radius:18px;
      background:rgba(255,255,255,.052);
      border:1px solid rgba(255,255,255,.1);
    }
    .check-item span:first-child{
      width:26px;
      height:26px;
      flex:0 0 26px;
      border-radius:9px;
      display:grid;
      place-items:center;
      background:rgba(63,124,255,.16);
      color:#BFD2FF;
      border:1px solid rgba(110,168,255,.22);
      line-height:1;
    }
    .check-item strong{
      display:block;
      color:#fff;
      margin-bottom:2px;
    }
    .check-item em{
      display:block;
      color:var(--muted);
      font-style:normal;
      font-size:14px;
      line-height:1.6;
    }

    .accordion{
      display:grid;
      gap:14px;
    }
    .accordion-item{
      overflow:hidden;
      border:1px solid var(--border)!important;
      border-radius:18px!important;
      background:rgba(255,255,255,.055)!important;
      backdrop-filter:blur(12px);
    }
    .accordion-button{
      padding:20px 22px;
      color:#fff!important;
      font-weight:740;
      background:rgba(255,255,255,.025)!important;
      box-shadow:none!important;
    }
    .accordion-button:not(.collapsed){
      background:linear-gradient(135deg,rgba(63,124,255,.18),rgba(168,85,247,.12))!important;
      border-bottom:1px solid rgba(255,255,255,.09);
    }
    .accordion-button:after{
      filter:invert(1) grayscale(1);
      opacity:.8;
    }
    .accordion-body{
      padding:18px 22px 22px;
      color:var(--muted);
      line-height:1.85;
    }

    .cta-panel{
      padding:34px;
      border-radius:var(--radius-xl);
      background:
        radial-gradient(circle at 80% 10%,rgba(168,85,247,.18),transparent 35%),
        linear-gradient(135deg,rgba(63,124,255,.16),rgba(255,255,255,.055));
      border:1px solid rgba(110,168,255,.22);
      box-shadow:var(--shadow);
    }
    .cta-grid{
      display:grid;
      grid-template-columns:1fr 420px;
      gap:28px;
      align-items:center;
    }
    .mini-form{
      padding:22px;
      border-radius:24px;
      background:rgba(7,10,18,.38);
      border:1px solid rgba(255,255,255,.12);
    }
    .form-control,.form-select{
      min-height:48px;
      color:#fff;
      background-color:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      border-radius:14px;
    }
    textarea.form-control{min-height:104px}
    .form-control::placeholder{color:#7F8AA3}
    .form-control:focus,.form-select:focus{
      color:#fff;
      background-color:rgba(255,255,255,.08);
      border-color:rgba(63,124,255,.72);
    }
    .form-select{
      --bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23AEB8CC' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    }
    .form-select option{background:#0D1324;color:#fff}
    label{
      color:#DDE8FF;
      font-size:14px;
      font-weight:700;
      margin-bottom:7px;
    }
    .privacy-tip{
      color:var(--weak);
      font-size:13px;
      margin-top:12px;
      margin-bottom:0;
    }

    .site-footer{
      background:#05070D;
      border-top:1px solid rgba(255,255,255,.09);
      padding:62px 0 32px;
      position:relative;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.25fr .7fr 1fr;
      gap:34px;
      align-items:start;
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:18px;
    }
    .footer-title{
      color:#fff;
      font-size:18px;
      font-weight:780;
      line-height:1.25;
    }
    .site-footer p{
      max-width:520px;
      margin-bottom:0;
      font-size:15px;
    }
    .site-footer h3{
      font-size:16px;
      margin-bottom:16px;
    }
    .footer-links{
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:var(--muted);
      font-size:15px;
    }
    .footer-links a:hover{
      color:#fff;
      transform:translateX(3px);
    }
    .footer-note{
      padding:18px;
      border-radius:18px;
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.09);
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .copyright{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      margin-top:38px;
      padding-top:22px;
      border-top:1px solid rgba(255,255,255,.08);
      color:var(--weak);
      font-size:13px;
    }
    .copyright span{
      white-space:nowrap;
      color:#8996B0;
    }

    @media (max-width: 1199px){
      .brand-main,.brand-sub{max-width:260px}
      .hero-grid,.topic-index,.magazine-grid,.safety-grid,.cta-grid{
        grid-template-columns:1fr;
      }
      .hero-panel{min-height:auto}
      .topic-index .small-topic-grid{grid-template-columns:repeat(4,1fr)}
      .topic-mini{min-height:190px}
    }
    @media (max-width: 991px){
      body{padding-bottom:88px}
      .navbar .site-container{flex-wrap:wrap}
      .navbar-collapse{
        width:100%;
        padding:12px 0 18px;
      }
      .nav-menu{
        align-items:stretch;
        gap:8px;
      }
      .nav-link{
        display:block;
        padding:12px 14px!important;
      }
      .nav-link.active:after{display:none}
      .brand-main{max-width:360px}
      .brand-sub{max-width:360px}
      .mobile-tab{display:flex}
      .notice-inner{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
      }
      .hero{padding:62px 0 52px}
      .section{padding:72px 0}
      .timeline{
        grid-template-columns:1fr;
        gap:18px;
      }
      .timeline:before{
        left:33px;
        right:auto;
        top:20px;
        bottom:20px;
        width:2px;
        height:auto;
      }
      .step{
        display:grid;
        grid-template-columns:82px 1fr;
        gap:2px 0;
        padding:0;
      }
      .step-dot{
        margin-bottom:0;
        grid-row:1 / span 2;
      }
      .compare-row{
        grid-template-columns:1fr;
        border-bottom:0;
        margin:14px;
        border:1px solid rgba(255,255,255,.08);
        border-radius:20px;
        overflow:hidden;
      }
      .compare-cell{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.08);
      }
      .compare-cell:last-child{border-bottom:0}
      .compare-row:first-child{display:none}
      .compare-label{
        background:rgba(255,255,255,.055);
      }
      .footer-grid{
        grid-template-columns:1fr;
      }
      .copyright{
        flex-direction:column;
        align-items:flex-start;
      }
    }
    @media (max-width: 767px){
      .site-container{width:min(100% - 24px,var(--container))}
      .brand-mark{width:38px;height:38px;flex-basis:38px;border-radius:14px}
      .brand-main{font-size:14px;max-width:230px}
      .brand-sub{font-size:11px;max-width:230px}
      h1{font-size:36px}
      .lead{font-size:16px}
      .hero-actions .btn{
        width:100%;
        justify-content:center;
      }
      .hero-panel,.index-large,.topic-mini,.feature-story,.story-card,.notice-card,.timeline-wrap,.cta-panel{
        padding:22px;
      }
      .panel-stats,.story-strip,.topic-index .small-topic-grid{
        grid-template-columns:1fr;
      }
      .topic-map{min-height:220px}
      .map-title{font-size:24px;margin-top:42px}
      .story-title{font-size:25px}
      .small-topic-grid{grid-template-columns:1fr}
      .step{
        grid-template-columns:70px 1fr;
      }
      .step-dot{
        width:58px;
        height:58px;
        border-radius:20px;
      }
      .footer-title{font-size:16px}
      .site-footer{padding-bottom:104px}
    }
    @media (max-width: 520px){
      .notice-left{align-items:flex-start}
      .tag-row{gap:7px}
      .tag{font-size:12px}
      .section-title{margin-bottom:24px}
      .mobile-tab{
        left:8px;
        right:8px;
        bottom:8px;
        border-radius:20px;
      }
      .mobile-tab a{
        font-size:11px;
        min-height:46px;
      }
      .cta-panel{padding:18px}
      .mini-form{padding:18px;border-radius:20px}
    }

/* roulang page: category3 */
:root{
      --bg:#070A12;
      --bg-deep:#05070D;
      --bg-soft:#0D1324;
      --bg-panel:rgba(255,255,255,.06);
      --bg-panel-strong:rgba(255,255,255,.09);
      --primary:#3F7CFF;
      --primary-soft:#6EA8FF;
      --accent:#A855F7;
      --accent-2:#B66CFF;
      --warm:#FFB86B;
      --text:#F4F7FB;
      --muted:#AEB8CC;
      --weak:#6F7A92;
      --border:rgba(255,255,255,.12);
      --border-strong:rgba(110,168,255,.35);
      --shadow:0 20px 60px rgba(0,0,0,.28),0 0 34px rgba(63,124,255,.10);
      --shadow-hover:0 24px 72px rgba(0,0,0,.34),0 0 46px rgba(168,85,247,.16);
      --radius-xl:28px;
      --radius-lg:24px;
      --radius-md:18px;
      --radius-sm:14px;
      --container:1200px;
      --header-h:72px;
      --ease:all .28s ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 76% 8%,rgba(110,168,255,.22),transparent 30%),
        radial-gradient(circle at 20% 0%,rgba(168,85,247,.16),transparent 26%),
        linear-gradient(180deg,#070A12 0%,#08101E 36%,#070A12 72%,#05070D 100%);
      line-height:1.8;
      overflow-x:hidden;
      padding-bottom:0;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-2;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
      background-size:54px 54px;
      mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.18) 62%,transparent);
    }
    body::after{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-1;
      opacity:.35;
      background:
        radial-gradient(circle at 12% 22%,rgba(255,255,255,.08) 0 1px,transparent 2px),
        radial-gradient(circle at 78% 28%,rgba(255,255,255,.10) 0 1px,transparent 2px),
        radial-gradient(circle at 62% 66%,rgba(110,168,255,.12) 0 1px,transparent 2px),
        radial-gradient(circle at 28% 74%,rgba(182,108,255,.10) 0 1px,transparent 2px);
      background-size:420px 420px,520px 520px,460px 460px,580px 580px;
    }
    a{color:inherit;text-decoration:none;transition:var(--ease)}
    a:hover{color:var(--primary-soft)}
    img{max-width:100%;display:block}
    button,input,select,textarea{font:inherit}
    ::selection{background:rgba(110,168,255,.35);color:#fff}
    .site-container{
      width:min(var(--container),calc(100% - 40px));
      margin:0 auto;
    }
    .weak{color:var(--weak)}
    .muted{color:var(--muted)}
    .gradient-text{
      background:linear-gradient(135deg,#F4F7FB 0%,#9EC2FF 45%,#D7B2FF 100%);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      background:rgba(7,10,18,.72);
      border-bottom:1px solid rgba(255,255,255,.09);
      backdrop-filter:blur(18px);
      box-shadow:0 10px 34px rgba(0,0,0,.18);
    }
    .navbar{min-height:var(--header-h);padding:0}
    .navbar .site-container{
      display:flex;
      align-items:center;
      gap:18px;
    }
    .brand-wrap{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      padding:12px 0;
    }
    .brand-mark{
      width:42px;
      height:42px;
      flex:0 0 42px;
      border-radius:16px;
      position:relative;
      background:
        radial-gradient(circle at 68% 30%,rgba(255,255,255,.92) 0 3px,transparent 4px),
        radial-gradient(circle at 62% 38%,rgba(7,10,18,1) 0 12px,transparent 13px),
        linear-gradient(135deg,rgba(63,124,255,.96),rgba(168,85,247,.92));
      box-shadow:0 0 28px rgba(110,168,255,.35);
      border:1px solid rgba(255,255,255,.22);
    }
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:9px;
      border:1px solid rgba(255,255,255,.38);
      border-radius:12px;
      clip-path:polygon(50% 0,100% 20%,88% 82%,50% 100%,12% 82%,0 20%);
      opacity:.72;
    }
    .brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}
    .brand-main{
      color:#fff;
      font-weight:800;
      letter-spacing:.01em;
      font-size:17px;
      white-space:nowrap;
    }
    .brand-sub{
      color:var(--weak);
      font-size:12px;
      margin-top:2px;
      white-space:nowrap;
    }
    .navbar-collapse{flex-grow:1}
    .nav-menu{
      align-items:center;
      gap:8px;
    }
    .nav-link{
      color:var(--muted);
      border:1px solid transparent;
      border-radius:999px;
      padding:9px 16px!important;
      font-weight:650;
      font-size:15px;
      position:relative;
    }
    .nav-link:hover{
      color:#fff;
      background:rgba(255,255,255,.06);
      border-color:rgba(255,255,255,.10);
    }
    .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg,rgba(63,124,255,.20),rgba(168,85,247,.20));
      border-color:rgba(110,168,255,.35);
      box-shadow:0 0 24px rgba(63,124,255,.14);
    }
    .nav-link.active::after{
      content:"";
      position:absolute;
      left:20px;
      right:20px;
      bottom:4px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg,var(--primary),var(--accent));
    }
    .navbar-toggler{
      width:46px;
      height:42px;
      border:1px solid var(--border);
      border-radius:14px;
      background:rgba(255,255,255,.06);
      box-shadow:none!important;
      display:none;
      align-items:center;
      justify-content:center;
      padding:0;
    }
    .toggler-lines{display:grid;gap:5px}
    .toggler-lines span{
      width:20px;
      height:2px;
      background:#fff;
      border-radius:999px;
      display:block;
    }

    .adult-strip{
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(13,19,36,.54);
      backdrop-filter:blur(14px);
    }
    .adult-strip-inner{
      min-height:44px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      color:var(--muted);
      font-size:14px;
    }
    .adult-strip b{
      color:#fff;
      font-weight:750;
    }
    .adult-strip a{
      color:#D7E5FF;
      font-weight:700;
      border-bottom:1px solid rgba(110,168,255,.42);
    }

    .btn{
      border:0;
      border-radius:999px;
      padding:12px 20px;
      font-weight:750;
      letter-spacing:.01em;
      transition:var(--ease);
    }
    .btn-primary-custom{
      color:#fff!important;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 14px 34px rgba(63,124,255,.22),0 0 26px rgba(168,85,247,.16);
    }
    .btn-primary-custom:hover{
      filter:brightness(1.08);
      transform:translateY(-2px);
      box-shadow:0 18px 46px rgba(63,124,255,.30),0 0 38px rgba(168,85,247,.22);
    }
    .btn-ghost{
      color:#fff!important;
      background:rgba(255,255,255,.06);
      border:1px solid var(--border);
    }
    .btn-ghost:hover{
      background:rgba(255,255,255,.10);
      border-color:rgba(110,168,255,.45);
      transform:translateY(-2px);
    }
    .btn:focus-visible,
    .nav-link:focus-visible,
    .form-control:focus,
    .form-select:focus,
    .accordion-button:focus{
      outline:3px solid rgba(110,168,255,.35);
      outline-offset:3px;
      box-shadow:0 0 0 4px rgba(168,85,247,.12)!important;
    }

    .hero{
      position:relative;
      padding:92px 0 72px;
      overflow:hidden;
    }
    .hero::before{
      content:"";
      position:absolute;
      right:-160px;
      top:40px;
      width:520px;
      height:520px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(110,168,255,.22),rgba(168,85,247,.10) 42%,transparent 70%);
      filter:blur(8px);
      pointer-events:none;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
      gap:36px;
      align-items:center;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:9px;
      border:1px solid rgba(110,168,255,.28);
      background:rgba(255,255,255,.055);
      color:#DDE9FF;
      border-radius:999px;
      padding:8px 13px;
      font-size:13px;
      font-weight:750;
      margin-bottom:20px;
      box-shadow:0 0 24px rgba(63,124,255,.10);
    }
    .eyebrow::before{
      content:"18+";
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:34px;
      height:22px;
      border-radius:999px;
      color:#10131D;
      background:linear-gradient(135deg,var(--warm),#FFE1B8);
      font-size:12px;
      font-weight:900;
    }
    h1{
      font-size:clamp(34px,5vw,56px);
      line-height:1.12;
      letter-spacing:-.04em;
      font-weight:850;
      margin:0 0 20px;
    }
    .hero-lead{
      max-width:720px;
      color:var(--muted);
      font-size:18px;
      line-height:1.9;
      margin:0 0 26px;
    }
    .hero-actions{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:12px;
      margin:26px 0 24px;
    }
    .hero-tags{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:#D8E4F8;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.12);
      border-radius:999px;
      padding:7px 11px;
      font-size:13px;
      font-weight:650;
    }
    .tag::before{
      content:"";
      width:6px;
      height:6px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--primary-soft),var(--accent-2));
      box-shadow:0 0 12px rgba(110,168,255,.7);
    }

    .moon-panel{
      position:relative;
      min-height:470px;
      border-radius:32px;
      padding:26px;
      background:
        linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035)),
        radial-gradient(circle at 70% 18%,rgba(110,168,255,.24),transparent 32%);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:var(--shadow);
      backdrop-filter:blur(16px);
      overflow:hidden;
    }
    .moon-panel::before{
      content:"";
      position:absolute;
      width:220px;
      height:220px;
      right:34px;
      top:42px;
      border-radius:50%;
      background:
        radial-gradient(circle at 64% 38%,rgba(7,10,18,.92) 0 74px,transparent 75px),
        linear-gradient(135deg,rgba(210,226,255,.92),rgba(110,168,255,.34));
      box-shadow:0 0 80px rgba(110,168,255,.28);
      opacity:.82;
    }
    .moon-panel::after{
      content:"";
      position:absolute;
      inset:auto 22px 22px 22px;
      height:180px;
      border-radius:26px;
      background:linear-gradient(180deg,rgba(7,10,18,.14),rgba(7,10,18,.72));
      border:1px solid rgba(255,255,255,.10);
    }
    .panel-content{
      position:relative;
      z-index:2;
      display:flex;
      flex-direction:column;
      min-height:420px;
      justify-content:space-between;
    }
    .panel-top{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:14px;
    }
    .panel-kicker{
      color:#DDE9FF;
      font-weight:800;
      font-size:15px;
    }
    .mini-badge{
      color:#111827;
      background:linear-gradient(135deg,var(--warm),#FFE2BF);
      border-radius:999px;
      padding:6px 10px;
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
    }
    .night-metrics{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      margin-top:auto;
    }
    .metric-card{
      padding:18px;
      border-radius:20px;
      background:rgba(7,10,18,.48);
      border:1px solid rgba(255,255,255,.12);
      backdrop-filter:blur(12px);
    }
    .metric-value{
      font-size:28px;
      font-weight:850;
      line-height:1;
      color:#fff;
    }
    .metric-label{
      color:var(--muted);
      font-size:13px;
      margin-top:8px;
    }

    .section{
      padding:84px 0;
      position:relative;
    }
    .section-alt{
      background:linear-gradient(180deg,rgba(13,19,36,.46),rgba(7,10,18,.18));
      border-top:1px solid rgba(255,255,255,.07);
      border-bottom:1px solid rgba(255,255,255,.07);
    }
    .section-head{
      max-width:780px;
      margin-bottom:34px;
    }
    .section-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#DDE9FF;
      font-size:13px;
      font-weight:800;
      border-radius:999px;
      border:1px solid rgba(110,168,255,.24);
      background:rgba(110,168,255,.08);
      padding:7px 12px;
      margin-bottom:14px;
    }
    .section-label::before{
      content:"";
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--primary-soft);
      box-shadow:0 0 14px rgba(110,168,255,.75);
    }
    h2{
      font-size:clamp(27px,3.4vw,38px);
      line-height:1.22;
      font-weight:820;
      letter-spacing:-.03em;
      margin:0 0 12px;
    }
    .section-desc{
      color:var(--muted);
      font-size:16px;
      margin:0;
      line-height:1.9;
    }

    .glass-card{
      border:1px solid var(--border);
      background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow);
      backdrop-filter:blur(14px);
      transition:var(--ease);
      overflow:hidden;
    }
    .glass-card:hover{
      transform:translateY(-4px);
      border-color:rgba(110,168,255,.36);
      background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
      box-shadow:var(--shadow-hover);
    }
    .night-mode-card{
      padding:32px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:26px;
      align-items:center;
    }
    .mode-visual{
      min-height:300px;
      border-radius:26px;
      border:1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(circle at 50% 44%,rgba(110,168,255,.34),transparent 24%),
        radial-gradient(circle at 50% 44%,rgba(168,85,247,.16),transparent 42%),
        linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
      position:relative;
      overflow:hidden;
    }
    .mode-visual::before{
      content:"";
      position:absolute;
      inset:40px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.16);
      box-shadow:0 0 52px rgba(110,168,255,.18),inset 0 0 38px rgba(168,85,247,.10);
    }
    .mode-visual::after{
      content:"低亮度 · 少干扰 · 清晰分区";
      position:absolute;
      left:22px;
      right:22px;
      bottom:22px;
      padding:15px 18px;
      border-radius:18px;
      color:#F5F8FF;
      font-weight:800;
      text-align:center;
      background:rgba(7,10,18,.58);
      border:1px solid rgba(255,255,255,.12);
      backdrop-filter:blur(12px);
    }
    .mode-list{
      display:grid;
      gap:14px;
      margin-top:22px;
    }
    .mode-item{
      display:flex;
      gap:12px;
      padding:15px;
      border-radius:18px;
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.10);
    }
    .mode-icon{
      flex:0 0 34px;
      height:34px;
      border-radius:12px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 0 22px rgba(110,168,255,.22);
      font-weight:900;
    }
    .mode-item h3{
      margin:0 0 4px;
      font-size:18px;
      font-weight:800;
    }
    .mode-item p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }

    .check-grid{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:16px;
    }
    .check-card{
      padding:22px;
      min-height:210px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .check-number{
      width:40px;
      height:40px;
      border-radius:15px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      font-weight:900;
      background:linear-gradient(135deg,rgba(63,124,255,.88),rgba(168,85,247,.88));
      margin-bottom:18px;
      box-shadow:0 0 24px rgba(63,124,255,.18);
    }
    .check-card h3{
      font-size:18px;
      font-weight:820;
      margin:0 0 10px;
    }
    .check-card p{
      color:var(--muted);
      font-size:14px;
      margin:0;
      line-height:1.75;
    }
    .warm-card{
      border-color:rgba(255,184,107,.28);
      background:
        linear-gradient(145deg,rgba(255,184,107,.10),rgba(255,255,255,.035));
    }

    .path-wrap{
      position:relative;
    }
    .path-line{
      position:absolute;
      left:34px;
      top:26px;
      bottom:26px;
      width:1px;
      background:linear-gradient(180deg,rgba(110,168,255,.55),rgba(168,85,247,.22),transparent);
    }
    .path-list{
      display:grid;
      gap:18px;
      position:relative;
      z-index:1;
    }
    .path-item{
      display:grid;
      grid-template-columns:70px 1fr;
      gap:18px;
      align-items:stretch;
    }
    .path-dot{
      width:68px;
      height:68px;
      border-radius:24px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(7,10,18,.72);
      border:1px solid rgba(110,168,255,.35);
      box-shadow:0 0 28px rgba(110,168,255,.16);
      color:#fff;
      font-weight:900;
      font-size:18px;
    }
    .path-content{
      padding:22px 24px;
      border-radius:22px;
      background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
      border:1px solid rgba(255,255,255,.12);
      transition:var(--ease);
    }
    .path-content:hover{
      transform:translateX(4px);
      border-color:rgba(110,168,255,.36);
      background:rgba(255,255,255,.085);
    }
    .path-content h3{
      margin:0 0 8px;
      font-size:20px;
      font-weight:820;
    }
    .path-content p{
      margin:0;
      color:var(--muted);
    }

    .scene-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:20px;
      align-items:stretch;
    }
    .scene-large{
      padding:30px;
      min-height:390px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .scene-large h3{
      font-size:28px;
      line-height:1.25;
      margin:0 0 14px;
      font-weight:850;
    }
    .scene-large p{
      color:var(--muted);
      margin:0;
      max-width:680px;
    }
    .scene-stack{
      display:grid;
      gap:20px;
    }
    .scene-mini{
      padding:24px;
    }
    .scene-mini h3{
      font-size:20px;
      font-weight:820;
      margin:0 0 8px;
    }
    .scene-mini p{
      margin:0 0 16px;
      color:var(--muted);
      font-size:15px;
    }
    .scene-bars{
      display:grid;
      gap:12px;
      margin-top:26px;
    }
    .bar-row{
      display:grid;
      grid-template-columns:92px 1fr;
      gap:12px;
      align-items:center;
      color:var(--muted);
      font-size:14px;
    }
    .bar{
      height:10px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
    }
    .bar span{
      display:block;
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg,var(--primary-soft),var(--accent-2));
      box-shadow:0 0 18px rgba(110,168,255,.26);
    }

    .notice-panel{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:22px;
      padding:30px;
      align-items:center;
      border-color:rgba(255,184,107,.24);
      background:
        radial-gradient(circle at 20% 12%,rgba(255,184,107,.12),transparent 28%),
        linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
    }
    .notice-badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      width:max-content;
      padding:8px 12px;
      border-radius:999px;
      color:#111827;
      background:linear-gradient(135deg,var(--warm),#FFE0B5);
      font-weight:900;
      font-size:13px;
      margin-bottom:14px;
    }
    .notice-panel h2{margin-bottom:12px}
    .notice-panel p{color:var(--muted);margin:0}
    .notice-list{
      display:grid;
      gap:12px;
    }
    .notice-list div{
      padding:15px 16px;
      border-radius:17px;
      color:#DDE9FF;
      background:rgba(7,10,18,.42);
      border:1px solid rgba(255,255,255,.10);
    }
    .notice-list strong{color:#fff}

    .accordion{
      display:grid;
      gap:14px;
    }
    .accordion-item{
      color:var(--text);
      background:transparent;
      border:0;
    }
    .accordion-button{
      color:#fff;
      background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
      border:1px solid rgba(255,255,255,.12);
      border-radius:20px!important;
      font-weight:800;
      padding:18px 20px;
      box-shadow:none;
    }
    .accordion-button:not(.collapsed){
      color:#fff;
      background:linear-gradient(135deg,rgba(63,124,255,.16),rgba(168,85,247,.14));
      border-color:rgba(110,168,255,.36);
      box-shadow:0 0 26px rgba(63,124,255,.10);
    }
    .accordion-button::after{
      filter:invert(1) grayscale(1);
      opacity:.78;
    }
    .accordion-collapse{
      border:1px solid rgba(255,255,255,.10);
      border-top:0;
      border-radius:0 0 20px 20px;
      background:rgba(255,255,255,.045);
    }
    .accordion-body{
      color:var(--muted);
      padding:18px 20px 22px;
      line-height:1.9;
    }

    .contact-card{
      padding:32px;
      display:grid;
      grid-template-columns:.92fr 1.08fr;
      gap:30px;
      align-items:stretch;
    }
    .contact-info{
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:24px;
    }
    .contact-info p{
      color:var(--muted);
      margin:0;
    }
    .privacy-note{
      padding:16px;
      border-radius:18px;
      background:rgba(110,168,255,.08);
      border:1px solid rgba(110,168,255,.20);
      color:#DDE9FF;
      font-size:14px;
    }
    .form-control,.form-select{
      color:#fff;
      background-color:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      border-radius:16px;
      min-height:50px;
      padding:12px 14px;
      transition:var(--ease);
    }
    .form-control::placeholder{color:#7F8AA3}
    .form-control:focus,.form-select:focus{
      color:#fff;
      background-color:rgba(255,255,255,.08);
      border-color:var(--primary);
    }
    .form-select{
      color:#DDE9FF;
      background-image:none;
    }
    textarea.form-control{min-height:118px;resize:vertical}
    label.form-label{
      color:#DDE9FF;
      font-size:14px;
      font-weight:750;
      margin-bottom:7px;
    }

    .site-footer{
      background:#05070D;
      border-top:1px solid rgba(255,255,255,.10);
      padding:58px 0 28px;
      color:var(--muted);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.25fr .7fr 1fr;
      gap:36px;
      align-items:start;
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:16px;
    }
    .footer-title{
      color:#fff;
      font-weight:850;
      font-size:18px;
    }
    .site-footer p{
      margin:0;
      max-width:520px;
      line-height:1.85;
    }
    .site-footer h3{
      color:#fff;
      font-size:16px;
      font-weight:820;
      margin:0 0 16px;
    }
    .footer-links{
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:var(--muted);
      width:max-content;
    }
    .footer-links a:hover{
      color:#fff;
      transform:translateX(4px);
    }
    .footer-note{
      padding:16px;
      border-radius:18px;
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.10);
      line-height:1.85;
    }
    .copyright{
      margin-top:34px;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.09);
      display:flex;
      justify-content:space-between;
      gap:18px;
      color:var(--weak);
      font-size:13px;
    }

    .mobile-tabbar{
      position:fixed;
      left:0;
      right:0;
      bottom:0;
      z-index:999;
      display:none;
      padding:8px 10px calc(8px + env(safe-area-inset-bottom));
      background:rgba(7,10,18,.88);
      border-top:1px solid rgba(255,255,255,.12);
      backdrop-filter:blur(16px);
      box-shadow:0 -14px 34px rgba(0,0,0,.30);
    }
    .tabbar-inner{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:6px;
      max-width:520px;
      margin:0 auto;
    }
    .tab-link{
      position:relative;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:3px;
      color:var(--weak);
      font-size:12px;
      padding:6px 4px;
      border-radius:16px;
      min-height:54px;
      justify-content:center;
    }
    .tab-icon{
      font-size:18px;
      line-height:1;
    }
    .tab-link:hover{
      color:#fff;
      background:rgba(255,255,255,.06);
    }
    .tab-link.active{
      color:#fff;
      background:linear-gradient(135deg,rgba(63,124,255,.16),rgba(168,85,247,.14));
    }
    .tab-link.active::before{
      content:"";
      position:absolute;
      top:5px;
      width:5px;
      height:5px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--primary-soft),var(--accent-2));
      box-shadow:0 0 12px rgba(110,168,255,.8);
    }

    @media (max-width:1199px){
      .check-grid{grid-template-columns:repeat(3,1fr)}
      .hero-grid{grid-template-columns:1fr .82fr}
    }
    @media (max-width:991px){
      .navbar-toggler{display:flex}
      .navbar .site-container{flex-wrap:wrap}
      .navbar-collapse{
        flex-basis:100%;
        border-top:1px solid rgba(255,255,255,.09);
        padding:12px 0 16px;
      }
      .nav-menu{
        align-items:stretch;
        gap:8px;
      }
      .nav-link{
        border-radius:16px;
      }
      .hero{padding:70px 0 56px}
      .hero-grid,
      .night-mode-card,
      .notice-panel,
      .contact-card,
      .scene-grid{
        grid-template-columns:1fr;
      }
      .moon-panel{min-height:420px}
      .footer-grid{grid-template-columns:1fr 1fr}
      .copyright{flex-direction:column}
    }
    @media (max-width:767px){
      body{padding-bottom:82px}
      .site-container{width:min(100% - 28px,var(--container))}
      .brand-main{font-size:15px}
      .brand-sub{display:none}
      .brand-mark{width:38px;height:38px;flex-basis:38px;border-radius:14px}
      .adult-strip-inner{
        align-items:flex-start;
        flex-direction:column;
        padding:10px 0;
        gap:4px;
      }
      .hero-lead{font-size:16px}
      .hero-actions{align-items:stretch}
      .hero-actions .btn{width:100%}
      .moon-panel{padding:20px;min-height:390px;border-radius:26px}
      .night-metrics{grid-template-columns:1fr}
      .section{padding:62px 0}
      .check-grid{grid-template-columns:1fr}
      .path-line{left:24px}
      .path-item{grid-template-columns:50px 1fr;gap:14px}
      .path-dot{width:50px;height:50px;border-radius:18px;font-size:15px}
      .path-content{padding:18px}
      .scene-large,.night-mode-card,.notice-panel,.contact-card{padding:22px}
      .scene-large h3{font-size:23px}
      .bar-row{grid-template-columns:78px 1fr}
      .footer-grid{grid-template-columns:1fr}
      .mobile-tabbar{display:block}
    }
    @media (max-width:520px){
      .tag{font-size:12px}
      .section-head{margin-bottom:24px}
      .mode-item{padding:13px}
      .mode-icon{width:32px;height:32px;flex-basis:32px}
      .contact-card{padding:18px}
      .copyright{font-size:12px}
    }
