/* roulang page: index */
:root{
      --bg:#061224;
      --bg-2:#081b3a;
      --bg-3:#0c2853;
      --surface:rgba(12,31,68,.72);
      --surface-strong:rgba(16,42,86,.88);
      --surface-soft:rgba(255,255,255,.06);
      --text:#f4f8ff;
      --muted:#a9b9d6;
      --subtle:#7890b8;
      --line:rgba(163,195,255,.18);
      --line-strong:rgba(129,176,255,.34);
      --brand:#42d5ff;
      --brand-2:#7367ff;
      --accent:#63ffbf;
      --warning:#ffd166;
      --danger:#ff6b8a;
      --card-radius:26px;
      --radius-lg:32px;
      --radius-md:18px;
      --radius-sm:12px;
      --shadow:0 24px 80px rgba(0,0,0,.34);
      --shadow-soft:0 16px 40px rgba(3,12,31,.28);
      --glow:0 0 32px rgba(66,213,255,.28),0 0 70px rgba(115,103,255,.18);
      --container:1180px;
      --nav-height:76px;
      --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",Arial,sans-serif;
      line-height:1.75;
      background:
        radial-gradient(circle at 20% 5%,rgba(66,213,255,.22),transparent 30%),
        radial-gradient(circle at 78% 8%,rgba(115,103,255,.22),transparent 34%),
        radial-gradient(circle at 80% 65%,rgba(99,255,191,.10),transparent 28%),
        linear-gradient(180deg,#061224 0%,#071a38 44%,#05101f 100%);
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      opacity:.55;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
      background-size:46px 46px;
      mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.2));
      z-index:-2;
    }
    body::after{
      content:"";
      position:fixed;
      inset:auto -20% -22% -20%;
      height:420px;
      background:radial-gradient(ellipse at center,rgba(66,213,255,.16),transparent 70%);
      pointer-events:none;
      z-index:-1;
    }
    a{color:inherit;text-decoration:none;transition:var(--ease)}
    a:hover,a:focus{color:var(--brand)}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer;border:0}
    input{
      width:100%;
      color:var(--text);
      background:rgba(255,255,255,.08);
      border:1px solid var(--line);
      border-radius:999px;
      padding:13px 16px;
      outline:none;
      transition:var(--ease);
    }
    input:focus{
      border-color:rgba(66,213,255,.72);
      box-shadow:0 0 0 4px rgba(66,213,255,.14);
      background:rgba(255,255,255,.12);
    }
    ::selection{background:rgba(66,213,255,.32);color:#fff}
    .grid-container{
      max-width:var(--container);
      padding-left:22px;
      padding-right:22px;
    }
    .section{
      position:relative;
      padding:88px 0;
    }
    .section.compact{padding:58px 0}
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--accent);
      font-size:13px;
      font-weight:800;
      letter-spacing:.08em;
      padding:7px 12px;
      border:1px solid rgba(99,255,191,.24);
      background:rgba(99,255,191,.08);
      border-radius:999px;
      margin-bottom:16px;
    }
    .section-title{
      margin:0;
      color:#fff;
      font-size:clamp(28px,3vw,46px);
      line-height:1.18;
      letter-spacing:-.035em;
      font-weight:900;
    }
    .section-desc{
      margin:16px 0 0;
      max-width:760px;
      color:var(--muted);
      font-size:16px;
    }
    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:28px;
      margin-bottom:34px;
    }
    .section-head .section-desc{max-width:560px}

    .site-header{
      position:fixed;
      top:0;
      left:0;
      width:100%;
      z-index:1000;
      padding:14px 0;
      transition:var(--ease);
    }
    .site-header.is-scrolled{
      padding:8px 0;
      background:rgba(5,15,33,.84);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(18px);
      box-shadow:0 12px 36px rgba(0,0,0,.28);
    }
    .glass-nav{
      min-height:var(--nav-height);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:12px 14px 12px 18px;
      border:1px solid rgba(174,205,255,.20);
      border-radius:24px;
      background:linear-gradient(135deg,rgba(9,25,58,.62),rgba(10,34,72,.38));
      backdrop-filter:blur(18px);
      box-shadow:0 18px 48px rgba(0,0,0,.24);
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      font-weight:950;
      letter-spacing:-.04em;
      color:#fff;
      white-space:nowrap;
    }
    .brand-mark{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:15px;
      color:#061224;
      background:
        radial-gradient(circle at 30% 25%,#fff,transparent 24%),
        linear-gradient(135deg,var(--brand),var(--accent));
      box-shadow:var(--glow);
    }
    .brand-text{font-size:20px}
    .nav-links{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .nav-link{
      display:inline-flex;
      align-items:center;
      min-height:42px;
      padding:0 16px;
      border-radius:999px;
      color:#dce8ff;
      font-size:14px;
      font-weight:800;
      border:1px solid transparent;
    }
    .nav-link:hover,
    .nav-link:focus{
      color:#fff;
      border-color:rgba(66,213,255,.28);
      background:rgba(66,213,255,.10);
      outline:none;
    }
    .nav-link.active{
      color:#071a38;
      background:linear-gradient(135deg,var(--brand),var(--accent));
      box-shadow:0 0 24px rgba(66,213,255,.26);
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .nav-search{
      width:220px;
      position:relative;
    }
    .nav-search i{
      position:absolute;
      left:14px;
      top:50%;
      transform:translateY(-50%);
      color:var(--subtle);
      font-size:13px;
    }
    .nav-search input{
      height:42px;
      padding:9px 12px 9px 38px;
      background:rgba(255,255,255,.07);
    }
    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      border-radius:15px;
      color:#fff;
      background:rgba(255,255,255,.09);
      border:1px solid var(--line);
    }
    .menu-toggle:hover,
    .menu-toggle:focus{
      background:rgba(66,213,255,.16);
      outline:2px solid rgba(66,213,255,.22);
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:48px;
      padding:0 20px;
      border-radius:999px;
      font-weight:900;
      line-height:1;
      transition:var(--ease);
      user-select:none;
      border:1px solid transparent;
      white-space:nowrap;
    }
    .btn-primary{
      color:#061224;
      background:linear-gradient(135deg,var(--brand),var(--accent));
      box-shadow:0 0 24px rgba(66,213,255,.35),0 14px 34px rgba(66,213,255,.16);
    }
    .btn-primary:hover,
    .btn-primary:focus{
      color:#061224;
      transform:translateY(-2px);
      box-shadow:0 0 34px rgba(99,255,191,.32),0 18px 42px rgba(66,213,255,.22);
      outline:none;
    }
    .btn-primary:active{transform:translateY(0) scale(.98)}
    .btn-ghost{
      color:#eaf3ff;
      background:rgba(255,255,255,.07);
      border-color:var(--line);
    }
    .btn-ghost:hover,
    .btn-ghost:focus{
      color:#fff;
      background:rgba(255,255,255,.12);
      border-color:rgba(66,213,255,.38);
      box-shadow:0 0 0 4px rgba(66,213,255,.08);
      outline:none;
    }
    .btn-small{
      min-height:38px;
      padding:0 14px;
      font-size:13px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 11px;
      border-radius:999px;
      font-size:12px;
      font-weight:900;
      color:#dff7ff;
      border:1px solid rgba(66,213,255,.24);
      background:rgba(66,213,255,.09);
    }
    .badge.hot{color:#fff3cd;border-color:rgba(255,209,102,.28);background:rgba(255,209,102,.09)}
    .badge.ok{color:#d9fff0;border-color:rgba(99,255,191,.28);background:rgba(99,255,191,.09)}
    .card{
      position:relative;
      height:100%;
      border:1px solid var(--line);
      border-radius:var(--card-radius);
      background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.038));
      box-shadow:var(--shadow-soft);
      overflow:hidden;
      transition:var(--ease);
    }
    .card::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:radial-gradient(circle at 18% 10%,rgba(66,213,255,.14),transparent 32%);
      opacity:.85;
    }
    .card:hover{
      transform:translateY(-5px);
      border-color:var(--line-strong);
      box-shadow:var(--shadow),0 0 34px rgba(66,213,255,.12);
    }
    .card-body{position:relative;padding:24px}
    .icon-chip{
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      border-radius:17px;
      color:#071a38;
      background:linear-gradient(135deg,var(--brand),var(--accent));
      box-shadow:0 0 22px rgba(66,213,255,.28);
      margin-bottom:18px;
      font-size:18px;
    }

    .hero{
      min-height:760px;
      padding:148px 0 80px;
      display:flex;
      align-items:center;
    }
    .hero-shell{
      position:relative;
      width:100%;
      border:1px solid rgba(174,205,255,.20);
      border-radius:42px;
      padding:30px;
      background:
        linear-gradient(135deg,rgba(8,27,58,.78),rgba(9,40,78,.46)),
        radial-gradient(circle at 50% 0,rgba(66,213,255,.14),transparent 48%);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .hero-shell::before{
      content:"";
      position:absolute;
      inset:-1px;
      background:
        linear-gradient(90deg,transparent,rgba(66,213,255,.16),transparent),
        radial-gradient(circle at 12% 14%,rgba(99,255,191,.12),transparent 26%);
      pointer-events:none;
    }
    .status-strip{
      position:relative;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      margin-bottom:28px;
    }
    .status-item{
      min-height:72px;
      padding:14px;
      border-radius:20px;
      background:rgba(255,255,255,.065);
      border:1px solid var(--line);
      display:flex;
      align-items:center;
      gap:12px;
    }
    .status-dot{
      width:12px;
      height:12px;
      flex:0 0 auto;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 0 6px rgba(99,255,191,.10),0 0 18px rgba(99,255,191,.5);
    }
    .status-item strong{
      display:block;
      font-size:13px;
      color:#fff;
      line-height:1.3;
    }
    .status-item span{
      display:block;
      color:var(--muted);
      font-size:12px;
      margin-top:2px;
      line-height:1.3;
    }
    .hero-center{
      position:relative;
      max-width:900px;
      padding:22px 0 18px;
    }
    .hero h1{
      margin:0;
      font-size:clamp(40px,6vw,74px);
      line-height:1.05;
      letter-spacing:-.055em;
      font-weight:950;
      color:#fff;
      text-shadow:0 0 40px rgba(66,213,255,.18);
    }
    .hero-lead{
      max-width:820px;
      margin:22px 0 0;
      color:#c7d6ef;
      font-size:18px;
      line-height:1.9;
    }
    .hero-actions{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:14px;
      margin-top:30px;
    }
    .hero-data{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
      margin-top:34px;
    }
    .data-tile{
      padding:18px;
      border-radius:22px;
      background:rgba(255,255,255,.06);
      border:1px solid var(--line);
    }
    .data-tile b{
      display:block;
      font-size:28px;
      line-height:1;
      letter-spacing:-.04em;
      color:#fff;
    }
    .data-tile span{
      display:block;
      margin-top:8px;
      color:var(--muted);
      font-size:13px;
    }
    .icon-matrix{
      position:absolute;
      right:28px;
      bottom:28px;
      width:320px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      opacity:.95;
    }
    .matrix-cell{
      aspect-ratio:1;
      display:grid;
      place-items:center;
      border-radius:18px;
      color:#dff6ff;
      background:rgba(255,255,255,.07);
      border:1px solid var(--line);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
      transition:var(--ease);
    }
    .matrix-cell:hover{
      transform:translateY(-4px) scale(1.03);
      color:#071a38;
      background:linear-gradient(135deg,var(--brand),var(--accent));
      box-shadow:var(--glow);
    }
    .matrix-cell:nth-child(2n){transform:translateY(14px)}
    .countdown{
      position:relative;
      margin-top:28px;
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
      padding:14px 16px;
      border-radius:22px;
      border:1px solid rgba(255,209,102,.22);
      background:rgba(255,209,102,.08);
      max-width:690px;
    }
    .countdown-label{font-weight:900;color:#fff}
    .time-box{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:44px;
      height:34px;
      padding:0 10px;
      border-radius:10px;
      color:#061224;
      font-weight:950;
      background:linear-gradient(135deg,#ffd166,#fff1a8);
    }
    .time-unit{color:#ffe8a3;font-size:12px;margin-left:-8px}

    .directory-layout{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:22px;
      align-items:stretch;
    }
    .directory-map{
      min-height:420px;
      padding:26px;
      border-radius:var(--radius-lg);
      border:1px solid var(--line);
      background:
        linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.035)),
        radial-gradient(circle at 20% 20%,rgba(66,213,255,.12),transparent 28%);
      box-shadow:var(--shadow-soft);
      position:relative;
      overflow:hidden;
    }
    .route-line{
      position:absolute;
      left:52px;
      top:92px;
      bottom:64px;
      width:2px;
      background:linear-gradient(to bottom,var(--brand),var(--brand-2),var(--accent));
      opacity:.7;
      box-shadow:0 0 24px rgba(66,213,255,.28);
    }
    .node-card{
      position:relative;
      display:flex;
      gap:16px;
      align-items:flex-start;
      padding:16px 16px 16px 4px;
      margin-left:4px;
    }
    .node-index{
      width:46px;
      height:46px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      color:#071a38;
      font-weight:950;
      border-radius:16px;
      background:linear-gradient(135deg,var(--brand),var(--accent));
      box-shadow:0 0 0 7px rgba(66,213,255,.09);
      z-index:1;
    }
    .node-card h3{margin:0;color:#fff;font-size:18px;font-weight:900}
    .node-card p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.65}
    .directory-panel{
      display:grid;
      gap:16px;
    }
    .mini-card{
      padding:22px;
      border-radius:24px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.06);
      transition:var(--ease);
    }
    .mini-card:hover{
      border-color:var(--line-strong);
      background:rgba(255,255,255,.085);
      transform:translateX(3px);
    }
    .mini-card h3{
      display:flex;
      align-items:center;
      gap:10px;
      margin:0;
      color:#fff;
      font-size:18px;
      font-weight:900;
    }
    .mini-card p{margin:8px 0 0;color:var(--muted);font-size:14px}

    .recommend-wrap{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:24px;
      align-items:stretch;
    }
    .feature-rotator{
      padding:28px;
      min-height:360px;
      border-radius:var(--radius-lg);
      border:1px solid rgba(66,213,255,.24);
      background:
        radial-gradient(circle at 80% 15%,rgba(66,213,255,.18),transparent 28%),
        linear-gradient(135deg,rgba(15,46,92,.86),rgba(10,25,58,.64));
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .rotator-item{display:none;animation:fadeUp .45s ease both}
    .rotator-item.active{display:block}
    @keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
    .rotator-item .tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
    .rotator-item h3{font-size:32px;line-height:1.2;margin:0;color:#fff;font-weight:950;letter-spacing:-.035em}
    .rotator-item p{margin:16px 0 0;color:#c5d5ef}
    .rotator-dots{display:flex;gap:9px;margin-top:28px}
    .rotator-dot{
      width:30px;
      height:8px;
      border-radius:999px;
      background:rgba(255,255,255,.18);
      border:0;
      transition:var(--ease);
    }
    .rotator-dot.active{width:52px;background:linear-gradient(90deg,var(--brand),var(--accent));box-shadow:0 0 18px rgba(66,213,255,.32)}
    .scenario-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:16px;
    }
    .scenario-card{
      padding:22px;
      border-radius:24px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.06);
      min-height:172px;
      transition:var(--ease);
    }
    .scenario-card:hover{
      transform:translateY(-4px);
      border-color:rgba(99,255,191,.28);
      background:rgba(255,255,255,.09);
    }
    .scenario-card h3{margin:0;color:#fff;font-size:18px;font-weight:900}
    .scenario-card p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.65}

    .update-board{
      border-radius:var(--radius-lg);
      border:1px solid var(--line);
      background:rgba(255,255,255,.055);
      overflow:hidden;
      box-shadow:var(--shadow-soft);
    }
    .update-row{
      display:grid;
      grid-template-columns:1.1fr .7fr .55fr .6fr;
      gap:16px;
      align-items:center;
      min-height:72px;
      padding:18px 22px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .update-row:last-child{border-bottom:0}
    .update-row.header-row{
      min-height:54px;
      color:#8ea7cf;
      font-size:13px;
      font-weight:900;
      background:rgba(255,255,255,.045);
    }
    .update-title{font-weight:900;color:#fff}
    .update-meta{color:var(--muted);font-size:14px}
    .state-pill{
      justify-self:start;
      padding:7px 11px;
      border-radius:999px;
      color:#d8fff0;
      background:rgba(99,255,191,.10);
      border:1px solid rgba(99,255,191,.22);
      font-size:12px;
      font-weight:900;
    }
    .state-pill.wait{color:#fff0c2;background:rgba(255,209,102,.10);border-color:rgba(255,209,102,.22)}
    .kpi-strip{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
      margin-top:18px;
    }
    .kpi{
      padding:18px;
      border:1px solid var(--line);
      border-radius:22px;
      background:rgba(255,255,255,.055);
    }
    .kpi b{display:block;color:#fff;font-size:26px;letter-spacing:-.03em}
    .kpi span{color:var(--muted);font-size:13px}

    .topic-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:16px;
    }
    .topic-card{
      min-height:260px;
      padding:24px;
      border-radius:28px;
      border:1px solid var(--line);
      background:
        linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.035)),
        radial-gradient(circle at 70% 18%,rgba(115,103,255,.16),transparent 34%);
      position:relative;
      overflow:hidden;
      transition:var(--ease);
    }
    .topic-card.big{grid-row:span 2;min-height:536px}
    .topic-card:hover{transform:translateY(-5px);border-color:var(--line-strong);box-shadow:var(--shadow-soft)}
    .topic-card h3{position:relative;margin:20px 0 0;color:#fff;font-size:24px;font-weight:950;line-height:1.2}
    .topic-card p{position:relative;margin:12px 0 0;color:var(--muted);font-size:14px}
    .topic-card .topic-icon{
      width:58px;height:58px;border-radius:21px;display:grid;place-items:center;
      background:rgba(66,213,255,.12);border:1px solid rgba(66,213,255,.26);color:var(--brand);font-size:22px;
    }
    .topic-tags{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
    .topic-orbit{
      position:absolute;
      right:-70px;
      bottom:-80px;
      width:270px;
      height:270px;
      border-radius:50%;
      border:1px solid rgba(66,213,255,.18);
      box-shadow:inset 0 0 60px rgba(66,213,255,.08),0 0 50px rgba(115,103,255,.12);
    }

    .progress-zone{
      display:grid;
      grid-template-columns:.82fr 1.18fr;
      gap:24px;
      align-items:stretch;
    }
    .mission-panel{
      padding:28px;
      border-radius:var(--radius-lg);
      border:1px solid rgba(99,255,191,.22);
      background:linear-gradient(135deg,rgba(99,255,191,.10),rgba(255,255,255,.04));
      box-shadow:var(--shadow-soft);
    }
    .progress-ring{
      width:170px;
      height:170px;
      margin:12px auto 24px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:conic-gradient(var(--accent) 0 72%,rgba(255,255,255,.11) 72% 100%);
      box-shadow:0 0 36px rgba(99,255,191,.18);
      position:relative;
    }
    .progress-ring::after{
      content:"";
      position:absolute;
      inset:15px;
      border-radius:50%;
      background:#0a1c3a;
      border:1px solid var(--line);
    }
    .progress-ring b{
      position:relative;
      z-index:1;
      font-size:38px;
      letter-spacing:-.04em;
      color:#fff;
    }
    .mission-list{display:grid;gap:14px}
    .mission-item{
      display:flex;
      align-items:flex-start;
      gap:13px;
      padding:16px;
      border-radius:20px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.055);
    }
    .mission-item i{color:var(--accent);margin-top:5px}
    .mission-item strong{display:block;color:#fff}
    .mission-item span{display:block;color:var(--muted);font-size:14px;margin-top:3px}
    .param-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:16px;
    }
    .param-card{
      padding:22px;
      border-radius:24px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.055);
    }
    .param-card b{display:block;color:#fff;font-size:22px}
    .param-card span{display:block;margin-top:8px;color:var(--muted);font-size:14px}

    .poster-track{
      display:flex;
      gap:18px;
      overflow-x:auto;
      padding:8px 4px 18px;
      scroll-snap-type:x mandatory;
    }
    .poster-track::-webkit-scrollbar{height:8px}
    .poster-track::-webkit-scrollbar-thumb{background:rgba(66,213,255,.26);border-radius:999px}
    .poster{
      flex:0 0 210px;
      height:310px;
      border-radius:28px;
      border:1px solid var(--line);
      background:
        linear-gradient(180deg,rgba(7,18,36,.08),rgba(7,18,36,.85)),
        radial-gradient(circle at 35% 20%,rgba(66,213,255,.42),transparent 28%),
        linear-gradient(135deg,#12366e,#0b1e43 58%,#0f4a68);
      position:relative;
      overflow:hidden;
      scroll-snap-align:start;
      box-shadow:var(--shadow-soft);
      transition:var(--ease);
    }
    .poster:nth-child(2){background:linear-gradient(180deg,rgba(7,18,36,.05),rgba(7,18,36,.86)),radial-gradient(circle at 60% 20%,rgba(255,209,102,.35),transparent 30%),linear-gradient(135deg,#3b245f,#10264e)}
    .poster:nth-child(3){background:linear-gradient(180deg,rgba(7,18,36,.05),rgba(7,18,36,.86)),radial-gradient(circle at 50% 28%,rgba(99,255,191,.32),transparent 32%),linear-gradient(135deg,#123d55,#152a61)}
    .poster:nth-child(4){background:linear-gradient(180deg,rgba(7,18,36,.05),rgba(7,18,36,.86)),radial-gradient(circle at 50% 22%,rgba(255,107,138,.30),transparent 31%),linear-gradient(135deg,#46254f,#10264e)}
    .poster:nth-child(5){background:linear-gradient(180deg,rgba(7,18,36,.05),rgba(7,18,36,.86)),radial-gradient(circle at 50% 22%,rgba(115,103,255,.34),transparent 31%),linear-gradient(135deg,#17316d,#11213e)}
    .poster:hover{
      transform:translateY(-8px) scale(1.015);
      border-color:rgba(66,213,255,.42);
      box-shadow:var(--shadow),var(--glow);
    }
    .poster-content{
      position:absolute;
      inset:auto 0 0;
      padding:20px;
    }
    .poster-content h3{margin:0;color:#fff;font-size:21px;font-weight:950}
    .poster-content p{margin:8px 0 14px;color:#c4d5ef;font-size:13px;line-height:1.55}
    .poster-number{
      position:absolute;
      top:18px;
      left:18px;
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      color:#061224;
      font-weight:950;
      border-radius:15px;
      background:linear-gradient(135deg,#fff,var(--brand));
    }

    .faq-wrap{
      display:grid;
      grid-template-columns:.82fr 1.18fr;
      gap:24px;
      align-items:start;
    }
    .faq-list{display:grid;gap:14px}
    .faq-item{
      border:1px solid var(--line);
      border-radius:24px;
      background:rgba(255,255,255,.055);
      overflow:hidden;
    }
    .faq-question{
      width:100%;
      min-height:64px;
      padding:18px 22px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      color:#fff;
      text-align:left;
      background:transparent;
      font-weight:950;
    }
    .faq-question:hover,
    .faq-question:focus{
      background:rgba(66,213,255,.08);
      outline:none;
    }
    .faq-question i{transition:var(--ease);color:var(--brand)}
    .faq-item.open .faq-question i{transform:rotate(45deg)}
    .faq-answer{
      display:none;
      padding:0 22px 20px;
      color:var(--muted);
      font-size:15px;
    }
    .faq-item.open .faq-answer{display:block}

    .news-layout{
      display:grid;
      grid-template-columns:1.25fr .75fr;
      gap:22px;
      align-items:start;
    }
    .news-list{
      border-radius:var(--radius-lg);
      border:1px solid var(--line);
      background:rgba(255,255,255,.055);
      overflow:hidden;
    }
    .news-link{
      display:grid;
      grid-template-columns:110px 1fr auto;
      gap:16px;
      align-items:center;
      min-height:86px;
      padding:18px 22px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .news-link:last-child{border-bottom:0}
    .news-link:hover{
      color:#fff;
      background:rgba(66,213,255,.08);
    }
    .news-date{color:var(--subtle);font-weight:900;font-size:13px}
    .news-title{color:#fff;font-weight:950}
    .news-brief{display:block;color:var(--muted);font-size:13px;margin-top:3px}
    .news-arrow{color:var(--brand)}
    .side-reco{
      padding:24px;
      border-radius:var(--radius-lg);
      border:1px solid rgba(255,209,102,.22);
      background:linear-gradient(135deg,rgba(255,209,102,.10),rgba(255,255,255,.045));
      box-shadow:var(--shadow-soft);
    }
    .side-reco h3{margin:0;color:#fff;font-size:24px;font-weight:950}
    .side-reco p{margin:12px 0 0;color:var(--muted)}
    .side-list{display:grid;gap:12px;margin-top:20px}
    .side-list a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:13px 14px;
      border-radius:16px;
      color:#e7f1ff;
      background:rgba(255,255,255,.06);
      border:1px solid var(--line);
      font-weight:800;
    }
    .side-list a:hover{background:rgba(255,209,102,.10);border-color:rgba(255,209,102,.26);color:#fff}

    .share-section{
      padding-bottom:104px;
    }
    .share-shell{
      border-radius:40px;
      border:1px solid rgba(66,213,255,.28);
      background:
        radial-gradient(circle at 18% 12%,rgba(66,213,255,.18),transparent 34%),
        radial-gradient(circle at 82% 18%,rgba(99,255,191,.12),transparent 28%),
        linear-gradient(135deg,rgba(9,33,72,.86),rgba(8,18,39,.92));
      box-shadow:var(--shadow),var(--glow);
      overflow:hidden;
    }
    .share-grid{
      display:grid;
      grid-template-columns:1fr .95fr;
      gap:0;
      align-items:stretch;
    }
    .share-copy{padding:40px}
    .share-copy h2{
      margin:0;
      font-size:clamp(30px,4vw,54px);
      line-height:1.12;
      letter-spacing:-.045em;
      font-weight:950;
      color:#fff;
    }
    .share-copy p{margin:18px 0 0;color:#c8d7ef}
    .share-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
    .price-panel{
      padding:28px;
      border-left:1px solid var(--line);
      background:rgba(255,255,255,.045);
    }
    .price-cards{
      display:grid;
      gap:14px;
    }
    .price-card{
      padding:20px;
      border-radius:24px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.065);
      transition:var(--ease);
    }
    .price-card:hover{transform:translateY(-3px);border-color:rgba(66,213,255,.34)}
    .price-card.featured{
      border-color:rgba(99,255,191,.32);
      background:linear-gradient(135deg,rgba(99,255,191,.11),rgba(255,255,255,.06));
    }
    .price-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .price-card h3{margin:0;color:#fff;font-size:19px;font-weight:950}
    .price{margin-top:10px;color:#fff;font-size:28px;font-weight:950;letter-spacing:-.035em}
    .price small{font-size:13px;color:var(--muted);font-weight:700}
    .price-card p{margin:8px 0 0;color:var(--muted);font-size:14px}
    .subscribe-form{
      display:flex;
      gap:10px;
      margin-top:24px;
    }
    .form-note{
      display:block;
      margin-top:10px;
      color:var(--subtle);
      font-size:12px;
    }

    .site-footer{
      border-top:1px solid var(--line);
      background:rgba(2,8,18,.62);
      padding:46px 0 30px;
    }
    .footer-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:28px;
      padding-bottom:28px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      color:#fff;
      font-weight:950;
      font-size:20px;
      letter-spacing:-.04em;
    }
    .footer-text{max-width:560px;margin:14px 0 0;color:var(--muted);font-size:14px}
    .footer-links{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .footer-links a{
      padding:9px 13px;
      border-radius:999px;
      color:#d5e3f7;
      background:rgba(255,255,255,.055);
      border:1px solid var(--line);
      font-size:13px;
      font-weight:800;
    }
    .footer-links a:hover{color:#fff;background:rgba(66,213,255,.10);border-color:rgba(66,213,255,.28)}
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      padding-top:22px;
      color:var(--subtle);
      font-size:13px;
    }

    @media (max-width:1024px){
      :root{--nav-height:68px}
      .nav-search{display:none}
      .hero{min-height:auto;padding-top:132px}
      .icon-matrix{position:relative;right:auto;bottom:auto;width:100%;grid-template-columns:repeat(8,1fr);margin-top:24px}
      .matrix-cell:nth-child(2n){transform:none}
      .directory-layout,.recommend-wrap,.progress-zone,.faq-wrap,.news-layout,.share-grid{grid-template-columns:1fr}
      .price-panel{border-left:0;border-top:1px solid var(--line)}
      .topic-grid{grid-template-columns:1fr 1fr}
      .topic-card.big{grid-row:auto;min-height:320px}
    }
    @media (max-width:768px){
      .grid-container{padding-left:16px;padding-right:16px}
      .section{padding:64px 0}
      .site-header{padding:10px 0}
      .glass-nav{border-radius:20px;min-height:64px}
      .nav-links{
        position:absolute;
        left:16px;
        right:16px;
        top:82px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        padding:12px;
        border-radius:20px;
        border:1px solid var(--line);
        background:rgba(5,15,33,.94);
        backdrop-filter:blur(18px);
        box-shadow:var(--shadow);
      }
      .nav-links.open{display:flex}
      .nav-link{justify-content:center}
      .menu-toggle{display:inline-grid;place-items:center}
      .nav-actions .btn{display:none}
      .hero{padding:112px 0 54px}
      .hero-shell{padding:20px;border-radius:30px}
      .status-strip{grid-template-columns:1fr 1fr}
      .hero-data,.kpi-strip,.param-grid,.scenario-grid,.topic-grid{grid-template-columns:1fr}
      .section-head{display:block}
      .update-row{grid-template-columns:1fr;gap:6px}
      .update-row.header-row{display:none}
      .news-link{grid-template-columns:1fr auto;gap:10px}
      .news-date{grid-column:1/-1}
      .subscribe-form{flex-direction:column}
      .footer-top{display:block}
      .footer-links{justify-content:flex-start;margin-top:22px}
    }
    @media (max-width:520px){
      .brand-text{font-size:17px}
      .brand-mark{width:38px;height:38px;border-radius:14px}
      .hero h1{font-size:38px}
      .hero-lead{font-size:16px}
      .hero-actions{align-items:stretch}
      .hero-actions .btn{width:100%}
      .status-strip{grid-template-columns:1fr}
      .icon-matrix{grid-template-columns:repeat(4,1fr)}
      .data-tile b{font-size:24px}
      .section-title{font-size:28px}
      .poster{flex-basis:180px;height:278px}
      .share-copy,.price-panel{padding:24px}
      .countdown{gap:8px}
      .time-box{min-width:40px}
    }
