/* roulang page: index */
:root{
      --bg:#080716;
      --bg-soft:#111027;
      --surface:#17152f;
      --surface-2:#201d3d;
      --card:#ffffff;
      --text:#f8f7ff;
      --text-dark:#17152b;
      --muted:#b8b4d6;
      --muted-dark:#66627a;
      --primary:#ff4f7b;
      --primary-2:#ff8a3d;
      --accent:#7c5cff;
      --cyan:#24d2ff;
      --success:#3ee28b;
      --warning:#ffd166;
      --border:rgba(255,255,255,.14);
      --border-dark:rgba(22,19,46,.12);
      --shadow:0 24px 80px rgba(7,5,25,.38);
      --shadow-card:0 18px 45px rgba(20,16,49,.14);
      --radius-xl:32px;
      --radius-lg:24px;
      --radius-md:18px;
      --radius-sm:12px;
      --container:1180px;
      --nav-h:76px;
      --ease:all .24s 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",Arial,sans-serif;
      color:var(--text-dark);
      background:
        radial-gradient(circle at 12% 8%, rgba(124,92,255,.30), transparent 28%),
        radial-gradient(circle at 86% 16%, rgba(255,79,123,.20), transparent 27%),
        linear-gradient(180deg,#090817 0%,#101026 42%,#f6f5fb 42%,#f6f5fb 100%);
      line-height:1.7;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none;transition:var(--ease)}
    a:hover{color:var(--primary)}
    img{max-width:100%;height:auto;display:block}
    button,input,textarea,select{font:inherit}
    button{border:0}
    ::selection{background:rgba(255,79,123,.30);color:#fff}
    .container{max-width:var(--container);padding-left:20px;padding-right:20px}
    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      min-height:var(--nav-h);
      background:rgba(8,7,22,.78);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(255,255,255,.10);
    }
    .navbar{padding:14px 0}
    .brand-mark{
      display:inline-flex;
      align-items:center;
      gap:11px;
      font-weight:900;
      letter-spacing:.2px;
      color:#fff;
      font-size:1.12rem;
      white-space:nowrap;
    }
    .brand-icon{
      width:42px;
      height:42px;
      border-radius:15px;
      display:grid;
      place-items:center;
      color:#fff;
      font-weight:900;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      box-shadow:0 12px 28px rgba(255,79,123,.28);
      position:relative;
      overflow:hidden;
    }
    .brand-icon:after{
      content:"";
      position:absolute;
      width:18px;
      height:70px;
      background:rgba(255,255,255,.28);
      transform:rotate(28deg);
      right:2px;
      top:-16px;
    }
    .navbar-toggler{
      border:1px solid rgba(255,255,255,.18);
      border-radius:14px;
      padding:9px 11px;
      color:#fff;
      box-shadow:none!important;
    }
    .navbar-toggler:focus{outline:3px solid rgba(36,210,255,.24)}
    .navbar-toggler-icon{filter:invert(1)}
    .nav-link{
      color:rgba(255,255,255,.72);
      font-weight:700;
      padding:10px 14px!important;
      border-radius:999px;
    }
    .nav-link:hover,.nav-link.active{
      color:#fff;
      background:rgba(255,255,255,.10);
    }
    .nav-actions{display:flex;align-items:center;gap:10px;margin-left:18px}
    .btn-neo{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:46px;
      padding:12px 18px;
      border-radius:999px;
      font-weight:850;
      letter-spacing:.1px;
      transition:var(--ease);
      border:1px solid transparent;
      cursor:pointer;
      white-space:nowrap;
    }
    .btn-neo:focus{outline:4px solid rgba(255,79,123,.24);outline-offset:2px}
    .btn-primary-neo{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--primary-2));
      box-shadow:0 16px 34px rgba(255,79,123,.30);
    }
    .btn-primary-neo:hover{
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 20px 42px rgba(255,79,123,.38);
    }
    .btn-ghost-neo{
      color:#fff;
      background:rgba(255,255,255,.08);
      border-color:rgba(255,255,255,.16);
    }
    .btn-ghost-neo:hover{
      color:#fff;
      background:rgba(255,255,255,.15);
      transform:translateY(-2px);
    }
    .btn-light-neo{
      color:var(--text-dark);
      background:#fff;
      border-color:rgba(255,255,255,.78);
      box-shadow:0 14px 28px rgba(0,0,0,.12);
    }
    .btn-light-neo:hover{color:var(--text-dark);transform:translateY(-2px)}
    .section{
      padding:88px 0;
      position:relative;
    }
    .section-tight{padding:62px 0}
    .section-dark{
      color:#fff;
      background:linear-gradient(180deg,#111027 0%,#080716 100%);
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--primary);
      background:rgba(255,79,123,.10);
      border:1px solid rgba(255,79,123,.18);
      border-radius:999px;
      padding:7px 12px;
      font-size:.88rem;
      font-weight:850;
      margin-bottom:14px;
    }
    .section-kicker.dark{
      color:#fff;
      background:rgba(255,255,255,.10);
      border-color:rgba(255,255,255,.16);
    }
    .section-title{
      font-size:clamp(2rem,3.5vw,3.25rem);
      line-height:1.12;
      font-weight:950;
      letter-spacing:-.04em;
      margin:0 0 16px;
      color:var(--text-dark);
    }
    .section-dark .section-title{color:#fff}
    .section-desc{
      max-width:760px;
      color:var(--muted-dark);
      margin:0;
      font-size:1.05rem;
    }
    .section-dark .section-desc{color:var(--muted)}
    .hero{
      min-height:690px;
      padding:86px 0 56px;
      color:#fff;
      display:flex;
      align-items:center;
      position:relative;
      overflow:hidden;
    }
    .hero:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(8,7,22,.88),rgba(8,7,22,.48),rgba(8,7,22,.82)),
        radial-gradient(circle at 72% 34%,rgba(255,79,123,.35),transparent 24%),
        radial-gradient(circle at 26% 70%,rgba(36,210,255,.18),transparent 28%);
      z-index:0;
    }
    .hero:after{
      content:"";
      position:absolute;
      inset:72px 28px 28px;
      border-radius:42px;
      border:1px solid rgba(255,255,255,.12);
      background:
        linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.02)),
        repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 86px);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.12), var(--shadow);
      z-index:0;
    }
    .hero-inner{position:relative;z-index:2}
    .hero-layout{
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:34px;
      align-items:end;
    }
    .hero-copy{
      padding:54px 0 32px;
      max-width:720px;
    }
    .hero-badge{
      display:inline-flex;
      align-items:center;
      gap:9px;
      padding:8px 13px;
      border-radius:999px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.15);
      color:#fff;
      font-weight:850;
      margin-bottom:20px;
    }
    .live-dot{
      width:9px;height:9px;border-radius:50%;
      background:var(--success);
      box-shadow:0 0 0 6px rgba(62,226,139,.14);
    }
    h1{
      margin:0;
      font-size:clamp(3rem,7vw,6.8rem);
      line-height:.95;
      letter-spacing:-.075em;
      font-weight:1000;
      text-wrap:balance;
    }
    .hero-lead{
      margin:24px 0 28px;
      max-width:650px;
      color:rgba(255,255,255,.78);
      font-size:1.16rem;
      line-height:1.85;
    }
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:28px}
    .hero-points{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      padding:0;
      margin:0;
      list-style:none;
    }
    .hero-points li{
      display:flex;
      align-items:center;
      gap:8px;
      padding:10px 13px;
      border-radius:999px;
      color:rgba(255,255,255,.82);
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      font-weight:750;
      font-size:.94rem;
    }
    .stage-panel{
      border-radius:var(--radius-xl);
      background:rgba(13,12,33,.72);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:var(--shadow);
      padding:18px;
      backdrop-filter:blur(18px);
      transform:translateY(22px);
    }
    .stage-top{
      height:238px;
      border-radius:26px;
      overflow:hidden;
      position:relative;
      background:
        linear-gradient(135deg,rgba(255,79,123,.78),rgba(124,92,255,.76)),
        radial-gradient(circle at 25% 22%,rgba(255,255,255,.36),transparent 24%);
    }
    .stage-top:before{
      content:"";
      position:absolute;
      inset:18px;
      border:1px solid rgba(255,255,255,.26);
      border-radius:22px;
    }
    .stage-top-text{
      position:absolute;
      left:24px;
      right:24px;
      bottom:22px;
    }
    .stage-top-text strong{
      display:block;
      font-size:1.6rem;
      line-height:1.2;
      letter-spacing:-.03em;
      margin-bottom:8px;
    }
    .stage-top-text span{color:rgba(255,255,255,.82)}
    .stage-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:12px;
    }
    .stage-mini{
      min-height:116px;
      border-radius:22px;
      padding:16px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
    }
    .stage-mini b{font-size:1.55rem;display:block;color:#fff}
    .stage-mini span{color:rgba(255,255,255,.68);font-size:.92rem}
    .notice-strip{
      margin-top:-24px;
      position:relative;
      z-index:5;
    }
    .notice-box{
      border-radius:24px;
      padding:18px 22px;
      background:#fff;
      box-shadow:var(--shadow-card);
      border:1px solid rgba(255,255,255,.8);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .notice-box strong{font-size:1.02rem}
    .notice-box span{color:var(--muted-dark)}
    .badge-soft{
      display:inline-flex;
      align-items:center;
      gap:6px;
      border-radius:999px;
      padding:7px 11px;
      font-size:.82rem;
      font-weight:850;
      background:rgba(124,92,255,.10);
      color:var(--accent);
      border:1px solid rgba(124,92,255,.18);
    }
    .card-neo{
      background:#fff;
      border:1px solid var(--border-dark);
      border-radius:var(--radius-lg);
      box-shadow:0 12px 34px rgba(20,16,49,.08);
      transition:var(--ease);
      overflow:hidden;
    }
    .card-neo:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow-card);
      border-color:rgba(124,92,255,.24);
    }
    .latest-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:22px;
      margin-top:34px;
    }
    .update-feature{
      padding:30px;
      min-height:330px;
      color:#fff;
      background:
        linear-gradient(135deg,rgba(16,14,43,.92),rgba(51,27,69,.92)),
        radial-gradient(circle at 82% 18%,rgba(255,79,123,.36),transparent 30%);
      position:relative;
    }
    .update-feature h3{font-size:2rem;line-height:1.2;font-weight:950;margin:18px 0 12px}
    .update-feature p{color:rgba(255,255,255,.74);margin:0 0 22px}
    .update-meta{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:24px;
    }
    .update-meta span{
      border-radius:999px;
      padding:8px 12px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.12);
      color:rgba(255,255,255,.80);
      font-weight:750;
      font-size:.9rem;
    }
    .update-list{
      display:grid;
      gap:14px;
    }
    .update-item{
      padding:18px;
      display:flex;
      gap:14px;
      align-items:flex-start;
    }
    .date-pill{
      min-width:66px;
      border-radius:18px;
      text-align:center;
      padding:10px 8px;
      color:#fff;
      background:linear-gradient(135deg,var(--accent),var(--primary));
      font-weight:900;
      line-height:1.1;
    }
    .date-pill small{display:block;font-size:.74rem;opacity:.82;margin-top:4px}
    .update-item h3{font-size:1.05rem;font-weight:900;margin:0 0 5px}
    .update-item p{margin:0;color:var(--muted-dark);font-size:.94rem}
    .quick-layout{
      margin-top:34px;
      display:grid;
      grid-template-columns:.82fr 1.18fr;
      gap:24px;
      align-items:start;
    }
    .answer-side{
      border-radius:var(--radius-xl);
      padding:28px;
      color:#fff;
      background:
        linear-gradient(180deg,rgba(124,92,255,.95),rgba(255,79,123,.88)),
        radial-gradient(circle at 30% 12%,rgba(255,255,255,.35),transparent 26%);
      box-shadow:var(--shadow-card);
    }
    .answer-side h3{font-weight:950;font-size:1.7rem;margin:0 0 12px;line-height:1.22}
    .answer-side p{color:rgba(255,255,255,.82);margin:0 0 20px}
    .check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
    .check-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:rgba(255,255,255,.88);
      font-weight:750;
    }
    .check-list li:before{
      content:"✓";
      flex:0 0 24px;
      width:24px;height:24px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.18);
      color:#fff;
      font-weight:950;
    }
    .accordion{display:grid;gap:12px}
    .accordion-item{
      border:1px solid var(--border-dark)!important;
      border-radius:20px!important;
      overflow:hidden;
      box-shadow:0 10px 24px rgba(20,16,49,.06);
    }
    .accordion-button{
      padding:18px 20px;
      font-weight:900;
      color:var(--text-dark);
      background:#fff;
      box-shadow:none!important;
      border-radius:0!important;
    }
    .accordion-button:not(.collapsed){
      color:#fff;
      background:linear-gradient(135deg,var(--surface),var(--surface-2));
    }
    .accordion-button:focus{box-shadow:0 0 0 4px rgba(124,92,255,.18)!important}
    .accordion-body{color:var(--muted-dark);padding:18px 20px 22px;background:#fff}
    .hot-wrap{
      margin-top:34px;
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:22px;
    }
    .hot-main{
      min-height:410px;
      padding:30px;
      color:#fff;
      position:relative;
      overflow:hidden;
      background:
        linear-gradient(135deg,rgba(8,7,22,.18),rgba(8,7,22,.82)),
        radial-gradient(circle at 70% 20%,rgba(255,209,102,.26),transparent 24%),
        linear-gradient(135deg,#30245e,#16132f 55%,#090817);
    }
    .hot-main:after{
      content:"";
      position:absolute;
      width:260px;height:260px;
      border-radius:55px;
      right:-70px;top:40px;
      background:linear-gradient(135deg,rgba(255,79,123,.78),rgba(36,210,255,.50));
      transform:rotate(18deg);
      opacity:.7;
    }
    .hot-main > *{position:relative;z-index:1}
    .hot-main h3{font-size:2.35rem;line-height:1.1;font-weight:1000;margin:18px 0 14px}
    .hot-main p{max-width:520px;color:rgba(255,255,255,.76);margin:0 0 22px}
    .hot-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
    .hot-mini{
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.14);
    }
    .hot-mini b{display:block;font-size:1.1rem;margin-bottom:4px}
    .hot-mini span{color:rgba(255,255,255,.68);font-size:.9rem}
    .recommend-list{display:grid;gap:14px}
    .recommend-item{
      padding:18px;
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:center;
    }
    .rank{
      width:38px;height:38px;border-radius:14px;
      display:grid;place-items:center;
      font-weight:950;
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--accent));
    }
    .recommend-item h3{font-size:1rem;font-weight:900;margin:0 0 4px}
    .recommend-item p{margin:0;color:var(--muted-dark);font-size:.9rem}
    .mini-link{
      color:var(--primary);
      font-weight:900;
      white-space:nowrap;
    }
    .progress-board{
      margin-top:34px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
    }
    .mission-card{
      padding:22px;
      position:relative;
    }
    .mission-card h3{font-size:1.08rem;font-weight:950;margin:0 0 9px}
    .mission-card p{color:var(--muted-dark);margin:0 0 16px;font-size:.94rem}
    .progress{
      height:10px;
      border-radius:999px;
      background:#eeeaf8;
      overflow:hidden;
    }
    .progress-bar{
      border-radius:999px;
      background:linear-gradient(90deg,var(--primary),var(--primary-2));
    }
    .reward{
      display:flex;
      align-items:center;
      justify-content:space-between;
      margin-top:12px;
      color:var(--muted-dark);
      font-size:.88rem;
      font-weight:750;
    }
    .news-layout{
      margin-top:34px;
      display:grid;
      grid-template-columns:1.28fr .72fr;
      gap:24px;
      align-items:start;
    }
    .news-list{
      background:#fff;
      border-radius:var(--radius-xl);
      border:1px solid var(--border-dark);
      overflow:hidden;
      box-shadow:0 14px 34px rgba(20,16,49,.07);
    }
    .news-row{
      display:grid;
      grid-template-columns:118px 1fr auto;
      gap:18px;
      align-items:center;
      padding:20px 22px;
      border-bottom:1px solid rgba(22,19,46,.08);
    }
    .news-row:last-child{border-bottom:0}
    .news-row:hover{background:#fbfaff}
    .news-type{
      display:inline-flex;
      justify-content:center;
      border-radius:999px;
      padding:7px 10px;
      color:var(--accent);
      background:rgba(124,92,255,.10);
      font-weight:900;
      font-size:.86rem;
    }
    .news-row h3{font-size:1.04rem;font-weight:950;margin:0 0 4px}
    .news-row p{margin:0;color:var(--muted-dark);font-size:.92rem}
    .arrow-link{
      width:38px;height:38px;border-radius:50%;
      display:grid;place-items:center;
      color:var(--text-dark);
      background:#f1eefb;
      font-weight:950;
    }
    .news-row:hover .arrow-link{background:var(--primary);color:#fff}
    .side-reco{
      padding:24px;
      position:sticky;
      top:98px;
    }
    .side-reco h3{font-size:1.35rem;font-weight:950;margin:0 0 12px}
    .side-reco p{color:var(--muted-dark);margin:0 0 18px}
    .topic-tags{display:flex;flex-wrap:wrap;gap:10px}
    .topic-tags a{
      padding:8px 12px;
      border-radius:999px;
      background:#f4f1ff;
      color:#51467d;
      font-weight:850;
      font-size:.9rem;
    }
    .topic-tags a:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}
    .security-grid{
      margin-top:34px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .security-card{
      padding:24px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.12);
      border-radius:var(--radius-lg);
      transition:var(--ease);
    }
    .security-card:hover{
      transform:translateY(-5px);
      background:rgba(255,255,255,.10);
      border-color:rgba(36,210,255,.28);
    }
    .icon-bubble{
      width:50px;height:50px;
      border-radius:18px;
      display:grid;place-items:center;
      margin-bottom:16px;
      color:#fff;
      font-weight:950;
      background:linear-gradient(135deg,var(--cyan),var(--accent));
      box-shadow:0 14px 28px rgba(36,210,255,.18);
    }
    .security-card h3{font-size:1.15rem;font-weight:950;margin:0 0 8px;color:#fff}
    .security-card p{margin:0;color:var(--muted);font-size:.96rem}
    .app-panel{
      border-radius:36px;
      overflow:hidden;
      color:#fff;
      background:
        radial-gradient(circle at 18% 20%,rgba(255,255,255,.18),transparent 24%),
        linear-gradient(135deg,#201744,#ff4f7b 130%);
      box-shadow:var(--shadow-card);
      padding:34px;
      display:grid;
      grid-template-columns:1fr .86fr;
      gap:30px;
      align-items:center;
    }
    .app-panel h2{font-size:clamp(2rem,3.6vw,3.7rem);line-height:1.08;font-weight:1000;letter-spacing:-.05em;margin:0 0 14px}
    .app-panel p{color:rgba(255,255,255,.78);font-size:1.05rem;margin:0 0 22px}
    .app-buttons{display:flex;flex-wrap:wrap;gap:12px}
    .device-stack{
      display:grid;
      gap:14px;
    }
    .device-card{
      border-radius:24px;
      padding:18px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:18px;
    }
    .device-card strong{display:block;font-size:1.05rem}
    .device-card span{color:rgba(255,255,255,.70);font-size:.92rem}
    .qr{
      flex:0 0 58px;
      width:58px;height:58px;
      border-radius:16px;
      background:
        linear-gradient(90deg,#fff 10px,transparent 10px 16px,#fff 16px 26px,transparent 26px),
        linear-gradient(#fff 10px,transparent 10px 16px,#fff 16px 26px,transparent 26px),
        rgba(255,255,255,.20);
      opacity:.9;
    }
    .floating-cta{
      position:fixed;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      z-index:999;
      width:min(720px,calc(100% - 28px));
      border-radius:999px;
      padding:10px 12px 10px 18px;
      background:rgba(13,12,33,.86);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:0 18px 50px rgba(7,5,25,.36);
      backdrop-filter:blur(18px);
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
    }
    .floating-cta span{color:rgba(255,255,255,.76);font-size:.94rem}
    .site-footer{
      background:#080716;
      color:#fff;
      padding:54px 0 86px;
      border-top:1px solid rgba(255,255,255,.10);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:30px;
      align-items:start;
    }
    .footer-brand{font-size:1.25rem;font-weight:950;margin-bottom:12px}
    .footer-text{color:var(--muted);max-width:650px;margin:0}
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      gap:12px;
      margin-bottom:14px;
    }
    .footer-links a{
      color:rgba(255,255,255,.72);
      padding:8px 10px;
      border-radius:999px;
    }
    .footer-links a:hover{color:#fff;background:rgba(255,255,255,.10)}
    .copyright{
      text-align:right;
      color:rgba(255,255,255,.52);
      font-size:.92rem;
    }
    @media (max-width:1024px){
      .hero-layout,.latest-grid,.quick-layout,.hot-wrap,.news-layout,.app-panel{grid-template-columns:1fr}
      .stage-panel{transform:none}
      .progress-board{grid-template-columns:repeat(2,1fr)}
      .security-grid{grid-template-columns:1fr 1fr}
      .side-reco{position:static}
      .hero{min-height:auto}
    }
    @media (max-width:991px){
      .navbar-collapse{
        margin-top:14px;
        padding:14px;
        border-radius:22px;
        background:rgba(255,255,255,.08);
        border:1px solid rgba(255,255,255,.12);
      }
      .nav-actions{margin-left:0;margin-top:12px;flex-wrap:wrap}
      .nav-actions .btn-neo{flex:1}
    }
    @media (max-width:768px){
      body{background:linear-gradient(180deg,#090817 0%,#101026 34%,#f6f5fb 34%,#f6f5fb 100%)}
      .container{padding-left:16px;padding-right:16px}
      .section{padding:68px 0}
      .section-tight{padding:46px 0}
      .hero{padding:64px 0 40px}
      .hero:after{inset:60px 14px 18px;border-radius:28px}
      .hero-copy{padding:36px 0 18px}
      h1{font-size:clamp(2.6rem,14vw,4.4rem)}
      .hero-lead{font-size:1rem}
      .hero-actions .btn-neo{width:100%}
      .notice-box{align-items:flex-start;flex-direction:column}
      .stage-grid,.hot-mini-grid,.security-grid,.footer-grid{grid-template-columns:1fr}
      .progress-board{grid-template-columns:1fr}
      .news-row{grid-template-columns:1fr;gap:10px}
      .arrow-link{width:100%;border-radius:14px}
      .app-panel{padding:24px;border-radius:26px}
      .footer-links{justify-content:flex-start}
      .copyright{text-align:left}
      .floating-cta{
        border-radius:22px;
        align-items:flex-start;
        flex-direction:column;
        padding:14px;
      }
      .floating-cta .btn-neo{width:100%}
    }
    @media (max-width:520px){
      .brand-mark{font-size:1rem}
      .brand-icon{width:38px;height:38px;border-radius:13px}
      .section-title{font-size:2rem}
      .stage-top{height:210px}
      .update-feature{padding:22px;min-height:auto}
      .hot-main{padding:22px;min-height:auto}
      .recommend-item{grid-template-columns:auto 1fr}
      .recommend-item .mini-link{grid-column:1 / -1}
      .device-card{align-items:flex-start;flex-direction:column}
      .qr{flex:0 0 auto}
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
