/* roulang page: index */
:root{
      --bg:#0b0610;
      --bg-2:#140817;
      --bg-3:#201126;
      --surface:#17101d;
      --surface-2:#211528;
      --surface-3:#2a1832;
      --text:#fff7fb;
      --text-soft:#d8c9d8;
      --muted:#a998ad;
      --line:rgba(255,214,246,.14);
      --line-strong:rgba(255,91,190,.42);
      --primary:#ff4fb7;
      --primary-2:#8a5cff;
      --accent:#ffb447;
      --mint:#37e5b0;
      --danger:#ff6b88;
      --purple:#b783ff;
      --container:1180px;
      --radius-sm:12px;
      --radius:20px;
      --radius-lg:30px;
      --shadow:0 22px 70px rgba(0,0,0,.42);
      --shadow-neon:0 0 0 1px rgba(255,79,183,.25), 0 20px 60px rgba(255,79,183,.12);
      --ease:220ms ease;
      --nav-h:76px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 8%, rgba(255,79,183,.18), transparent 30%),
        radial-gradient(circle at 78% 12%, rgba(138,92,255,.22), transparent 32%),
        radial-gradient(circle at 50% 80%, rgba(55,229,176,.08), transparent 28%),
        linear-gradient(180deg, #09050d 0%, var(--bg) 42%, #100714 100%);
      line-height:1.75;
      min-height:100vh;
      overflow-x:hidden;
    }
    body:before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
      background-size:44px 44px;
      mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 82%);
      z-index:-2;
    }
    body:after{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:radial-gradient(circle at center, transparent 0 42%, rgba(0,0,0,.38) 100%);
      z-index:-1;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{border:0;cursor:pointer}
    ::selection{background:rgba(255,79,183,.36);color:#fff}
    .container{width:min(var(--container), calc(100% - 40px));margin-inline:auto}
    .skip-link{
      position:absolute;left:16px;top:-60px;background:#fff;color:#140817;padding:10px 14px;border-radius:12px;z-index:999;
      transition:top var(--ease);
    }
    .skip-link:focus{top:12px}
    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      min-height:var(--nav-h);
      background:rgba(13,7,18,.92);
      border-bottom:1px solid var(--line);
      box-shadow:0 12px 40px rgba(0,0,0,.26);
      backdrop-filter:blur(12px);
    }
    .site-header:after{
      content:"";
      position:absolute;
      left:0;right:0;bottom:-1px;height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,79,183,.78), rgba(138,92,255,.68), transparent);
      opacity:.8;
    }
    .nav-wrap{
      min-height:var(--nav-h);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      min-width:0;
      padding:9px 12px 9px 10px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:999px;
      background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      box-shadow:inset 0 0 0 1px rgba(255,79,183,.08);
    }
    .brand-mark{
      width:34px;height:34px;border-radius:13px;
      display:grid;place-items:center;
      background:
        radial-gradient(circle at 65% 35%, #fff 0 10%, transparent 11%),
        radial-gradient(circle at 44% 44%, rgba(255,79,183,.9) 0 22%, transparent 23%),
        linear-gradient(135deg, var(--primary), var(--primary-2));
      box-shadow:0 0 24px rgba(255,79,183,.38);
      flex:0 0 auto;
    }
    .brand-text{
      font-weight:800;
      letter-spacing:.01em;
      font-size:15px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width:360px;
    }
    .nav-links{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      padding:0;
      margin:0;
      list-style:none;
    }
    .nav-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      min-height:44px;
      padding:0 16px;
      border-radius:999px;
      color:var(--text-soft);
      font-size:15px;
      font-weight:650;
      transition:color var(--ease), background var(--ease), transform var(--ease);
    }
    .nav-link:hover{
      color:#fff;
      background:rgba(255,255,255,.07);
      transform:translateY(-1px);
    }
    .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg, rgba(255,79,183,.16), rgba(138,92,255,.12));
      box-shadow:0 0 26px rgba(255,79,183,.16);
    }
    .nav-link.active:after{
      content:"";
      position:absolute;
      left:18px;right:18px;bottom:4px;height:2px;
      border-radius:99px;
      background:linear-gradient(90deg, var(--primary), var(--primary-2));
      box-shadow:0 0 12px rgba(255,79,183,.78);
    }
    .nav-cta{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:44px;
      padding:0 18px;
      border-radius:999px;
      background:linear-gradient(135deg, var(--primary), var(--primary-2));
      color:#fff;
      font-weight:800;
      box-shadow:0 14px 36px rgba(255,79,183,.25);
      transition:transform var(--ease), box-shadow var(--ease), filter var(--ease);
      white-space:nowrap;
    }
    .nav-cta:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 18px 46px rgba(138,92,255,.33)}
    .mobile-menu-btn{display:none}
    a:focus-visible, button:focus-visible, input:focus-visible{
      outline:3px solid rgba(55,229,176,.82);
      outline-offset:3px;
    }

    main{overflow:hidden}
    .section{padding:92px 0}
    .section-tight{padding:66px 0}
    .section-head{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:24px;
      margin-bottom:34px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      color:#ffe8f7;
      background:rgba(255,79,183,.12);
      border:1px solid rgba(255,79,183,.26);
      font-size:13px;
      font-weight:800;
      letter-spacing:.02em;
    }
    .eyebrow:before{
      content:"";
      width:8px;height:8px;border-radius:50%;
      background:var(--mint);
      box-shadow:0 0 16px var(--mint);
    }
    h1,h2,h3,p{margin-top:0}
    h1{
      margin-bottom:20px;
      font-size:clamp(38px, 6vw, 66px);
      line-height:1.08;
      letter-spacing:-.045em;
    }
    h2{
      margin-bottom:12px;
      font-size:clamp(30px, 3.6vw, 42px);
      line-height:1.18;
      letter-spacing:-.03em;
    }
    h3{
      margin-bottom:10px;
      font-size:22px;
      line-height:1.35;
    }
    .lead{
      color:var(--text-soft);
      font-size:18px;
      max-width:720px;
      margin-bottom:0;
    }
    .muted{color:var(--muted)}
    .gradient-text{
      background:linear-gradient(100deg, #fff 0%, #ffd2ef 38%, #bda6ff 76%);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }

    .hero{
      position:relative;
      padding:82px 0 72px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0, 1.04fr) minmax(360px, .72fr);
      gap:34px;
      align-items:center;
    }
    .hero-copy{
      position:relative;
      z-index:2;
    }
    .hero .lead{
      font-size:19px;
      line-height:1.85;
      margin-bottom:28px;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      margin:30px 0 26px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:50px;
      padding:0 22px;
      border-radius:999px;
      font-weight:850;
      letter-spacing:.01em;
      transition:transform var(--ease), box-shadow var(--ease), background var(--ease), border-color var(--ease), color var(--ease);
    }
    .btn-primary{
      background:linear-gradient(135deg, var(--primary), var(--primary-2));
      color:#fff;
      box-shadow:0 18px 45px rgba(255,79,183,.26);
    }
    .btn-primary:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(138,92,255,.35)}
    .btn-secondary{
      color:#fff;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.16);
      box-shadow:inset 0 0 0 1px rgba(255,79,183,.06);
    }
    .btn-secondary:hover{
      transform:translateY(-3px);
      border-color:rgba(255,79,183,.48);
      background:rgba(255,79,183,.10);
      box-shadow:0 18px 45px rgba(255,79,183,.12);
    }
    .badge-row{display:flex;flex-wrap:wrap;gap:10px}
    .badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      min-height:32px;
      padding:6px 11px;
      border-radius:999px;
      font-size:13px;
      font-weight:800;
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.065);
    }
    .badge.pink{background:rgba(255,79,183,.16);border-color:rgba(255,79,183,.32)}
    .badge.amber{background:rgba(255,180,71,.14);border-color:rgba(255,180,71,.34);color:#ffe7bd}
    .badge.mint{background:rgba(55,229,176,.12);border-color:rgba(55,229,176,.30);color:#c9ffee}
    .badge.purple{background:rgba(138,92,255,.16);border-color:rgba(138,92,255,.34);color:#e6dcff}
    .hero-panel{
      position:relative;
      min-height:520px;
      border-radius:36px;
      padding:24px;
      background:
        linear-gradient(135deg, rgba(255,79,183,.16), rgba(138,92,255,.08) 42%, rgba(55,229,176,.07)),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
      border:1px solid rgba(255,255,255,.14);
      box-shadow:var(--shadow), 0 0 80px rgba(255,79,183,.12);
      overflow:hidden;
    }
    .hero-panel:before{
      content:"";
      position:absolute;
      inset:-30%;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,79,183,.38), transparent 18%),
        radial-gradient(circle at 70% 48%, rgba(138,92,255,.30), transparent 22%),
        conic-gradient(from 180deg, transparent, rgba(255,79,183,.18), transparent, rgba(55,229,176,.14), transparent);
      filter:blur(10px);
      opacity:.8;
      animation:slowTurn 18s linear infinite;
    }
    .hero-panel-inner{
      position:relative;
      height:100%;
      min-height:472px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
      border-radius:28px;
      padding:24px;
      background:rgba(10,6,14,.66);
      border:1px solid rgba(255,255,255,.13);
      overflow:hidden;
    }
    .orbit{
      position:absolute;
      right:-100px;
      top:60px;
      width:310px;height:310px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.12);
      box-shadow:inset 0 0 38px rgba(255,79,183,.16), 0 0 80px rgba(138,92,255,.12);
    }
    .orbit:before,.orbit:after{
      content:"";
      position:absolute;
      border-radius:50%;
      background:linear-gradient(135deg, var(--primary), var(--mint));
      box-shadow:0 0 22px rgba(255,79,183,.5);
    }
    .orbit:before{width:14px;height:14px;left:42px;top:38px}
    .orbit:after{width:9px;height:9px;right:56px;bottom:28px;background:var(--accent)}
    .panel-top,.panel-bottom{position:relative;z-index:2}
    .panel-title{font-size:18px;font-weight:900;margin-bottom:12px}
    .status-list{display:grid;gap:12px}
    .status-item{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.10);
    }
    .status-item strong{font-size:15px}
    .status-item span{font-size:13px;color:var(--muted)}
    .progress{
      height:10px;
      width:100%;
      border-radius:99px;
      background:rgba(255,255,255,.10);
      overflow:hidden;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
    }
    .progress i{
      display:block;height:100%;border-radius:99px;
      background:linear-gradient(90deg, var(--primary), var(--primary-2), var(--mint));
      box-shadow:0 0 18px rgba(255,79,183,.45);
    }
    .panel-stat-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:16px;
    }
    .mini-stat{
      padding:15px;
      border-radius:20px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
    }
    .mini-stat b{display:block;font-size:25px;line-height:1.1}
    .mini-stat small{color:var(--muted);font-weight:700}

    .quick-strip{
      margin-top:28px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
    }
    .quick-card{
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.045);
      border:1px solid var(--line);
    }
    .quick-card b{display:block;font-size:20px;margin-bottom:2px}
    .quick-card span{color:var(--muted);font-size:13px;font-weight:700}

    .steps{
      position:relative;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
    }
    .steps:before{
      content:"";
      position:absolute;
      left:8%;right:8%;top:38px;height:2px;
      background:linear-gradient(90deg, transparent, rgba(255,79,183,.65), rgba(138,92,255,.65), transparent);
      z-index:0;
    }
    .step-card{
      position:relative;
      z-index:1;
      padding:24px;
      border-radius:26px;
      background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
      border:1px solid var(--line);
      box-shadow:0 18px 52px rgba(0,0,0,.22);
      transition:transform var(--ease), border-color var(--ease), box-shadow var(--ease);
    }
    .step-card:hover{
      transform:translateY(-4px);
      border-color:rgba(255,79,183,.48);
      box-shadow:var(--shadow-neon);
    }
    .step-no{
      width:40px;height:40px;border-radius:16px;
      display:grid;place-items:center;
      margin-bottom:18px;
      background:linear-gradient(135deg, var(--primary), var(--primary-2));
      font-weight:900;
      box-shadow:0 0 26px rgba(255,79,183,.32);
    }
    .step-card p{color:var(--text-soft);margin-bottom:14px;font-size:15px}

    .bento{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      grid-auto-rows:minmax(210px, auto);
      gap:18px;
    }
    .bento-card{
      position:relative;
      overflow:hidden;
      padding:28px;
      border-radius:30px;
      border:1px solid var(--line);
      background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
      box-shadow:0 20px 58px rgba(0,0,0,.25);
      transition:transform var(--ease), border-color var(--ease), box-shadow var(--ease);
    }
    .bento-card:hover{
      transform:translateY(-4px);
      border-color:rgba(255,79,183,.48);
      box-shadow:var(--shadow-neon);
    }
    .bento-card.large{grid-row:span 2}
    .bento-card:before{
      content:"";
      position:absolute;
      inset:auto -60px -90px auto;
      width:240px;height:240px;border-radius:50%;
      background:radial-gradient(circle, rgba(255,79,183,.26), transparent 68%);
      pointer-events:none;
    }
    .cover-abstract{
      height:170px;
      border-radius:24px;
      margin-bottom:24px;
      border:1px solid rgba(255,255,255,.12);
      background:
        linear-gradient(135deg, rgba(255,79,183,.20), rgba(138,92,255,.18)),
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.22), transparent 10%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 2px, transparent 2px 12px);
      position:relative;
      overflow:hidden;
    }
    .cover-abstract:after{
      content:"分级 · 标签 · 更新";
      position:absolute;
      right:16px;bottom:14px;
      padding:7px 11px;
      border-radius:999px;
      background:rgba(8,5,12,.72);
      color:#fff;
      font-size:12px;
      font-weight:900;
      border:1px solid rgba(255,255,255,.14);
    }
    .bento-card p{color:var(--text-soft);margin-bottom:20px}
    .card-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#fff;
      font-weight:900;
      border-bottom:1px solid rgba(255,79,183,.55);
      padding-bottom:3px;
    }
    .card-link:hover{color:#ffd1ed}

    .progress-section{
      border-radius:38px;
      padding:42px;
      background:
        radial-gradient(circle at 80% 20%, rgba(55,229,176,.10), transparent 28%),
        linear-gradient(135deg, rgba(255,79,183,.10), rgba(138,92,255,.055));
      border:1px solid rgba(255,255,255,.12);
      box-shadow:var(--shadow);
    }
    .progress-grid{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:34px;
      align-items:center;
    }
    .progress-panel{
      display:grid;
      gap:14px;
    }
    .progress-row{
      padding:18px;
      border-radius:22px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.11);
    }
    .progress-row-head{
      display:flex;
      justify-content:space-between;
      gap:14px;
      margin-bottom:10px;
      font-weight:850;
    }
    .proof-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .proof-card{
      padding:24px;
      border-radius:26px;
      background:rgba(255,255,255,.055);
      border:1px solid var(--line);
    }
    .proof-card b{
      display:block;
      font-size:34px;
      line-height:1.1;
      margin-bottom:8px;
      background:linear-gradient(90deg,#fff,#ffc8ed,#c7b7ff);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }
    .proof-card p{color:var(--text-soft);margin-bottom:0}

    .notice-board{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .notice-card{
      padding:26px;
      border-radius:28px;
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
    }
    .notice-list{
      list-style:none;
      padding:0;
      margin:18px 0 0;
      display:grid;
      gap:12px;
    }
    .notice-list li{
      display:flex;
      gap:12px;
      align-items:flex-start;
      color:var(--text-soft);
    }
    .notice-list li:before{
      content:"";
      flex:0 0 9px;
      width:9px;height:9px;
      border-radius:50%;
      margin-top:10px;
      background:var(--accent);
      box-shadow:0 0 14px rgba(255,180,71,.55);
    }

    .faq-grid{
      display:grid;
      grid-template-columns:.72fr 1.28fr;
      gap:28px;
      align-items:start;
    }
    .faq-list{display:grid;gap:14px}
    .faq-item{
      border-radius:24px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.055);
      overflow:hidden;
      transition:border-color var(--ease), background var(--ease);
    }
    .faq-item:hover{border-color:rgba(255,79,183,.40);background:rgba(255,255,255,.07)}
    .faq-q{
      display:flex;
      justify-content:space-between;
      gap:18px;
      padding:20px 22px 8px;
      font-weight:900;
      font-size:18px;
    }
    .faq-q span:last-child{
      color:var(--primary);
      font-size:22px;
      line-height:1;
    }
    .faq-a{
      padding:0 22px 20px;
      color:var(--text-soft);
      margin:0;
    }

    .cta-box{
      position:relative;
      overflow:hidden;
      border-radius:38px;
      padding:46px;
      border:1px solid rgba(255,79,183,.38);
      background:
        radial-gradient(circle at 82% 24%, rgba(255,180,71,.18), transparent 24%),
        radial-gradient(circle at 18% 20%, rgba(255,79,183,.20), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
      box-shadow:0 24px 80px rgba(255,79,183,.13);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
    .cta-box p{color:var(--text-soft);margin:0;max-width:720px}

    .site-footer{
      margin-top:30px;
      padding:52px 0 28px;
      background:linear-gradient(180deg, rgba(10,6,14,.2), rgba(6,3,9,.95));
      border-top:1px solid var(--line);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .8fr;
      gap:28px;
      padding-bottom:30px;
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:900;
      margin-bottom:14px;
    }
    .footer-title{font-weight:900;margin-bottom:12px}
    .footer-links{
      list-style:none;
      padding:0;margin:0;
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:var(--text-soft);
      transition:color var(--ease), padding-left var(--ease);
    }
    .footer-links a:hover{color:#fff;padding-left:4px}
    .footer-note{color:var(--muted);font-size:14px;margin:0}
    .copyright{
      padding-top:22px;
      border-top:1px solid var(--line);
      color:var(--muted);
      font-size:14px;
      display:flex;
      justify-content:space-between;
      gap:18px;
      flex-wrap:wrap;
    }

    @keyframes slowTurn{to{transform:rotate(360deg)}}
    @media (prefers-reduced-motion: reduce){
      *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}
    }

    @media (max-width: 1100px){
      .hero-grid{grid-template-columns:1fr}
      .hero-panel{min-height:420px}
      .hero-panel-inner{min-height:370px}
      .quick-strip{grid-template-columns:repeat(2,1fr)}
      .steps{grid-template-columns:repeat(2,1fr)}
      .steps:before{display:none}
      .bento{grid-template-columns:1fr 1fr}
      .bento-card.large{grid-row:auto;grid-column:span 2}
      .progress-grid,.faq-grid{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width: 860px){
      .container{width:min(100% - 28px, var(--container))}
      .nav-wrap{flex-wrap:wrap;padding:12px 0}
      .brand-text{max-width:260px}
      .nav-links{
        order:3;
        width:100%;
        justify-content:flex-start;
        overflow-x:auto;
        padding:4px 0 2px;
        scrollbar-width:none;
      }
      .nav-links::-webkit-scrollbar{display:none}
      .nav-cta{display:none}
      .section{padding:66px 0}
      .section-head{display:block}
      .section-head .lead{margin-top:8px}
      .proof-grid,.notice-board{grid-template-columns:1fr}
      .cta-box{display:block;padding:32px}
      .cta-box .btn{margin-top:22px}
    }
    @media (max-width: 640px){
      :root{--nav-h:68px}
      .brand{max-width:100%}
      .brand-mark{width:32px;height:32px}
      .brand-text{max-width:220px;font-size:14px}
      .hero{padding:54px 0 48px}
      .hero .lead{font-size:17px}
      .hero-actions{display:grid;grid-template-columns:1fr;gap:12px}
      .btn{width:100%;min-height:52px}
      .quick-strip,.steps,.bento,.panel-stat-grid,.footer-grid{grid-template-columns:1fr}
      .bento-card.large{grid-column:auto}
      .hero-panel{padding:14px;border-radius:28px}
      .hero-panel-inner{padding:18px;border-radius:22px}
      .progress-section{padding:24px;border-radius:28px}
      .proof-card,.notice-card,.step-card,.bento-card{padding:22px}
      .faq-q{font-size:16px}
      .copyright{display:block}
      .copyright span{display:block;margin-top:8px}
    }
    @media (max-width: 420px){
      .container{width:min(100% - 22px, var(--container))}
      h1{font-size:36px}
      .badge-row .badge:nth-child(n+4){display:none}
      .quick-card b{font-size:18px}
      .cta-box{padding:24px;border-radius:26px}
      .nav-link{padding:0 13px}
    }

/* roulang page: category1 */
:root{
      --bg:#0b0610;
      --bg-2:#130817;
      --bg-3:#1b0d22;
      --surface:#201126;
      --surface-2:#27142f;
      --surface-soft:rgba(255,255,255,.055);
      --text:#fff7fb;
      --muted:#c8b8cb;
      --muted-2:#937f98;
      --line:rgba(255,218,244,.14);
      --line-strong:rgba(255,82,181,.42);
      --primary:#ff3fa6;
      --primary-2:#8c5cff;
      --accent:#ffb347;
      --safe:#45e6b3;
      --danger:#ff6b8b;
      --cyan:#59d8ff;
      --radius-sm:12px;
      --radius:20px;
      --radius-lg:28px;
      --radius-xl:36px;
      --shadow:0 22px 60px rgba(0,0,0,.38);
      --shadow-neon:0 0 24px rgba(255,63,166,.24),0 0 54px rgba(140,92,255,.14);
      --container:1180px;
      --header-h:78px;
      --ease:220ms ease;
      --font:PingFang SC,Microsoft YaHei,Noto Sans 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);
      background:
        radial-gradient(circle at 15% 4%,rgba(255,63,166,.18),transparent 34%),
        radial-gradient(circle at 82% 6%,rgba(140,92,255,.22),transparent 32%),
        radial-gradient(circle at 64% 44%,rgba(69,230,179,.08),transparent 28%),
        linear-gradient(180deg,#09050d 0%,#130817 42%,#0b0610 100%);
      line-height:1.75;
      overflow-x:hidden;
    }
    body:before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      opacity:.34;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
      background-size:44px 44px;
      mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 75%);
      z-index:-1;
    }
    a{color:inherit;text-decoration:none}
    img,svg{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    ::selection{background:rgba(255,63,166,.36);color:#fff}
    .container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      min-height:var(--header-h);
      background:rgba(11,6,16,.93);
      border-bottom:1px solid rgba(255,63,166,.22);
      box-shadow:0 12px 36px rgba(0,0,0,.32);
      backdrop-filter:blur(14px);
    }
    .site-header:after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-1px;
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(255,63,166,.78),rgba(140,92,255,.74),transparent);
      opacity:.78;
    }
    .nav-wrap{
      min-height:var(--header-h);
      display:flex;
      align-items:center;
      gap:22px;
      justify-content:space-between;
    }
    .brand,.footer-brand{
      display:inline-flex;
      align-items:center;
      gap:12px;
      min-width:0;
      font-weight:800;
      letter-spacing:.02em;
    }
    .brand{
      max-width:390px;
      padding:10px 14px 10px 10px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:999px;
      background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,63,166,.06));
      transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
    }
    .brand:hover{
      transform:translateY(-2px);
      border-color:rgba(255,63,166,.45);
      box-shadow:var(--shadow-neon);
    }
    .brand-mark{
      width:34px;
      height:34px;
      flex:0 0 auto;
      border-radius:12px;
      position:relative;
      background:
        radial-gradient(circle at 64% 34%,#fff 0 9%,transparent 10%),
        radial-gradient(circle at 58% 50%,rgba(255,63,166,.95),transparent 43%),
        linear-gradient(135deg,var(--primary),var(--primary-2));
      box-shadow:0 0 22px rgba(255,63,166,.4);
    }
    .brand-mark:after{
      content:"";
      position:absolute;
      inset:9px 7px;
      border:2px solid rgba(255,255,255,.72);
      border-left-color:transparent;
      border-bottom-color:rgba(255,255,255,.25);
      border-radius:50%;
      transform:rotate(-24deg);
    }
    .brand-text{
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      font-size:15px;
    }
    .nav-links{
      display:flex;
      align-items:center;
      gap:6px;
      padding:0;
      margin:0;
      list-style:none;
    }
    .nav-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      min-height:44px;
      padding:10px 16px;
      border-radius:999px;
      color:var(--muted);
      font-size:14px;
      font-weight:700;
      transition:color var(--ease),background var(--ease),box-shadow var(--ease),transform var(--ease);
    }
    .nav-link:hover{
      color:#fff;
      background:rgba(255,255,255,.06);
      transform:translateY(-1px);
    }
    .nav-link.active{
      color:#fff;
      background:linear-gradient(135deg,rgba(255,63,166,.16),rgba(140,92,255,.16));
      box-shadow:0 0 22px rgba(255,63,166,.16);
    }
    .nav-link.active:after{
      content:"";
      position:absolute;
      left:18px;
      right:18px;
      bottom:5px;
      height:2px;
      border-radius:99px;
      background:linear-gradient(90deg,var(--primary),var(--primary-2));
      box-shadow:0 0 10px rgba(255,63,166,.8);
    }
    .nav-cta,.btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      border:0;
      border-radius:999px;
      padding:12px 20px;
      color:#fff;
      font-weight:800;
      line-height:1.2;
      background:linear-gradient(135deg,var(--primary),var(--primary-2));
      box-shadow:0 12px 30px rgba(255,63,166,.22);
      transition:transform var(--ease),box-shadow var(--ease),filter var(--ease),border-color var(--ease),background var(--ease);
      white-space:nowrap;
    }
    .nav-cta:hover,.btn:hover{
      transform:translateY(-2px);
      filter:saturate(1.12);
      box-shadow:0 16px 42px rgba(255,63,166,.32),0 0 24px rgba(140,92,255,.18);
    }
    .btn.secondary{
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,63,166,.35);
      color:#fff;
      box-shadow:none;
    }
    .btn.secondary:hover{background:rgba(255,63,166,.12);box-shadow:var(--shadow-neon)}
    a:focus-visible,button:focus-visible,input:focus-visible{
      outline:3px solid rgba(69,230,179,.72);
      outline-offset:3px;
    }
    main{display:block}
    .hero{
      position:relative;
      padding:64px 0 46px;
      overflow:hidden;
    }
    .hero:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 20% 20%,rgba(255,63,166,.18),transparent 26%),
        radial-gradient(circle at 85% 36%,rgba(255,179,71,.14),transparent 28%);
      pointer-events:none;
    }
    .hero-grid{
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
      gap:30px;
      align-items:stretch;
    }
    .breadcrumb{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
      margin-bottom:20px;
      color:var(--muted);
      font-size:14px;
    }
    .breadcrumb a{color:#fff}
    .breadcrumb span{color:var(--muted-2)}
    .eyebrow,.badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      border-radius:999px;
      padding:7px 11px;
      font-size:13px;
      font-weight:800;
      line-height:1.2;
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.065);
    }
    .eyebrow:before,.badge.dot:before{
      content:"";
      width:8px;
      height:8px;
      border-radius:99px;
      background:var(--safe);
      box-shadow:0 0 12px rgba(69,230,179,.7);
    }
    h1,h2,h3,p{margin-top:0}
    h1{
      margin:18px 0 18px;
      max-width:820px;
      font-size:clamp(36px,5.2vw,64px);
      line-height:1.08;
      letter-spacing:-.05em;
    }
    .grad-text{
      background:linear-gradient(120deg,#fff 0%,#ffd6ee 32%,#ff5fb4 58%,#a78bff 100%);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }
    .lead{
      max-width:760px;
      color:var(--muted);
      font-size:18px;
      line-height:1.82;
      margin-bottom:26px;
    }
    .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
    .hero-stats{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:30px;
      max-width:760px;
    }
    .stat{
      padding:16px;
      border-radius:var(--radius);
      background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
      border:1px solid var(--line);
      box-shadow:0 12px 34px rgba(0,0,0,.2);
    }
    .stat strong{display:block;font-size:22px;line-height:1.1}
    .stat span{display:block;margin-top:5px;color:var(--muted);font-size:13px}
    .panel{
      position:relative;
      border-radius:var(--radius-xl);
      border:1px solid rgba(255,255,255,.14);
      background:
        linear-gradient(155deg,rgba(255,63,166,.12),rgba(140,92,255,.08) 44%,rgba(69,230,179,.06)),
        rgba(24,11,30,.86);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .panel:before{
      content:"";
      position:absolute;
      inset:-90px -80px auto auto;
      width:230px;
      height:230px;
      border-radius:50%;
      background:rgba(255,63,166,.18);
      filter:blur(18px);
    }
    .panel-inner{position:relative;padding:28px}
    .visual-card{
      min-height:340px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .orb{
      height:170px;
      border-radius:30px;
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 26% 44%,rgba(255,255,255,.86),transparent 4%),
        radial-gradient(circle at 39% 52%,rgba(69,230,179,.68),transparent 5%),
        radial-gradient(circle at 62% 35%,rgba(255,179,71,.72),transparent 5%),
        conic-gradient(from 210deg,rgba(255,63,166,.9),rgba(140,92,255,.86),rgba(69,230,179,.48),rgba(255,63,166,.9));
      box-shadow:inset 0 0 60px rgba(0,0,0,.45);
    }
    .orb:after{
      content:"";
      position:absolute;
      inset:20px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.24);
      background:
        linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.2) 12% 13%,transparent 13% 28%,rgba(255,255,255,.16) 28% 29%,transparent 29%),
        rgba(9,5,13,.22);
    }
    .panel-title{margin:22px 0 8px;font-size:24px;line-height:1.25}
    .panel-desc{color:var(--muted);margin-bottom:18px}
    .progress{
      width:100%;
      height:10px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
    }
    .progress > span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,var(--primary),var(--accent),var(--safe));
      box-shadow:0 0 18px rgba(255,63,166,.5);
    }
    .progress-line{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;margin-top:10px}
    .section{padding:62px 0}
    .section-head{
      display:flex;
      justify-content:space-between;
      gap:24px;
      align-items:flex-end;
      margin-bottom:26px;
    }
    .section-kicker{color:var(--accent);font-size:13px;font-weight:900;letter-spacing:.12em;margin-bottom:8px}
    h2{
      margin-bottom:0;
      font-size:clamp(28px,3.4vw,40px);
      line-height:1.2;
      letter-spacing:-.035em;
    }
    .section-desc{max-width:520px;color:var(--muted);margin:0}
    .tagbar{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      padding:18px;
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      background:rgba(255,255,255,.04);
      box-shadow:0 16px 46px rgba(0,0,0,.2);
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:7px;
      min-height:40px;
      padding:9px 14px;
      border-radius:999px;
      color:var(--muted);
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.11);
      font-size:14px;
      font-weight:800;
      transition:transform var(--ease),border-color var(--ease),color var(--ease),background var(--ease);
    }
    .tag:hover,.tag.is-active{
      color:#fff;
      transform:translateY(-2px);
      border-color:rgba(255,63,166,.48);
      background:linear-gradient(135deg,rgba(255,63,166,.16),rgba(140,92,255,.12));
    }
    .tag.safe{color:#c8fff0;border-color:rgba(69,230,179,.28)}
    .search-card{
      margin-top:18px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:12px;
      padding:12px;
      border-radius:24px;
      border:1px solid var(--line);
      background:rgba(12,6,16,.74);
    }
    .search-card input{
      min-height:50px;
      width:100%;
      border:0;
      border-radius:18px;
      padding:0 18px;
      color:#fff;
      background:rgba(255,255,255,.06);
      outline:none;
    }
    .search-card input::placeholder{color:var(--muted-2)}
    .search-card input:focus{box-shadow:inset 0 0 0 1px rgba(69,230,179,.55)}
    .layout{
      display:grid;
      grid-template-columns:minmax(0,1fr) 340px;
      gap:24px;
      align-items:start;
    }
    .content-list{
      display:grid;
      gap:18px;
    }
    .rank-card{
      position:relative;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      gap:18px;
      align-items:center;
      padding:24px;
      border-radius:var(--radius-lg);
      border:1px solid var(--line);
      background:
        linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.028)),
        rgba(23,10,29,.86);
      box-shadow:0 16px 45px rgba(0,0,0,.24);
      transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease),background var(--ease);
      overflow:hidden;
    }
    .rank-card:before{
      content:"";
      position:absolute;
      top:0;
      left:0;
      width:4px;
      height:100%;
      background:linear-gradient(180deg,var(--primary),var(--primary-2));
      opacity:.75;
    }
    .rank-card:hover{
      transform:translateY(-3px);
      border-color:rgba(255,63,166,.42);
      box-shadow:var(--shadow-neon),0 20px 52px rgba(0,0,0,.34);
      background:linear-gradient(135deg,rgba(255,63,166,.11),rgba(140,92,255,.07)),rgba(23,10,29,.9);
    }
    .rank-no{
      width:54px;
      height:54px;
      border-radius:18px;
      display:grid;
      place-items:center;
      color:#fff;
      font-size:20px;
      font-weight:900;
      background:linear-gradient(135deg,rgba(255,63,166,.9),rgba(140,92,255,.88));
      box-shadow:0 0 24px rgba(255,63,166,.25);
    }
    .rank-card h3{font-size:22px;line-height:1.35;margin-bottom:8px}
    .rank-card p{color:var(--muted);margin:0 0 14px}
    .meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
    .badge.pink{background:rgba(255,63,166,.14);border-color:rgba(255,63,166,.32);color:#ffd6ef}
    .badge.amber{background:rgba(255,179,71,.13);border-color:rgba(255,179,71,.36);color:#ffe0ae}
    .badge.green{background:rgba(69,230,179,.12);border-color:rgba(69,230,179,.34);color:#c8fff0}
    .badge.purple{background:rgba(140,92,255,.14);border-color:rgba(140,92,255,.34);color:#ded3ff}
    .mini-progress{margin-top:14px;max-width:420px}
    .card-action{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
    .date{color:var(--muted-2);font-size:13px;font-weight:700}
    .side{
      position:sticky;
      top:calc(var(--header-h) + 20px);
      display:grid;
      gap:16px;
    }
    .side-card,.notice-card,.faq-item,.cta-card{
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.032));
      box-shadow:0 18px 50px rgba(0,0,0,.24);
    }
    .side-card{padding:22px}
    .side-card h3{font-size:20px;margin-bottom:12px}
    .side-card p{color:var(--muted);margin-bottom:14px}
    .status-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:12px;
    }
    .status-list li{
      display:flex;
      justify-content:space-between;
      gap:12px;
      padding:11px 0;
      border-bottom:1px solid rgba(255,255,255,.08);
      color:var(--muted);
      font-size:14px;
    }
    .status-list li:last-child{border-bottom:0}
    .status-list strong{color:#fff}
    .tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
    .tag-cloud a{
      padding:7px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.1);
      color:var(--muted);
      font-size:13px;
      font-weight:800;
      transition:color var(--ease),border-color var(--ease),transform var(--ease);
    }
    .tag-cloud a:hover{color:#fff;border-color:rgba(255,63,166,.42);transform:translateY(-2px)}
    .notice-card{
      padding:24px;
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      gap:16px;
      background:
        radial-gradient(circle at 8% 20%,rgba(69,230,179,.09),transparent 32%),
        linear-gradient(135deg,rgba(255,63,166,.08),rgba(140,92,255,.06));
    }
    .notice-card div{
      padding:18px;
      border-radius:22px;
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.09);
    }
    .notice-card strong{display:block;font-size:24px}
    .notice-card span{color:var(--muted);font-size:14px}
    .pagination{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
      margin-top:24px;
    }
    .page-btn{
      min-width:44px;
      min-height:44px;
      display:inline-grid;
      place-items:center;
      padding:0 14px;
      border-radius:15px;
      color:var(--muted);
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.1);
      font-weight:900;
      transition:transform var(--ease),color var(--ease),border-color var(--ease),background var(--ease),box-shadow var(--ease);
    }
    .page-btn:hover{color:#fff;transform:translateY(-2px);border-color:rgba(255,63,166,.38)}
    .page-btn.active{
      color:#fff;
      background:linear-gradient(135deg,var(--primary),var(--primary-2));
      box-shadow:0 0 22px rgba(255,63,166,.26);
    }
    .faq-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:16px;
    }
    .faq-item{
      padding:22px;
      transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
    }
    .faq-item:hover{transform:translateY(-2px);border-color:rgba(69,230,179,.32);box-shadow:0 0 28px rgba(69,230,179,.1)}
    .faq-item h3{
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:flex-start;
      font-size:19px;
      line-height:1.45;
      margin-bottom:10px;
    }
    .faq-item h3:after{
      content:"+";
      width:28px;
      height:28px;
      flex:0 0 auto;
      border-radius:50%;
      display:grid;
      place-items:center;
      color:#fff;
      background:rgba(255,63,166,.16);
      border:1px solid rgba(255,63,166,.28);
    }
    .faq-item p{color:var(--muted);margin:0}
    .cta-card{
      position:relative;
      overflow:hidden;
      padding:34px;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:24px;
      align-items:center;
      background:
        radial-gradient(circle at 0% 0%,rgba(255,63,166,.22),transparent 34%),
        radial-gradient(circle at 92% 28%,rgba(140,92,255,.25),transparent 30%),
        linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.03));
    }
    .cta-card h2{margin-bottom:12px}
    .cta-card p{color:var(--muted);margin:0;max-width:720px}
    .site-footer{
      margin-top:54px;
      padding:54px 0 28px;
      background:#08040b;
      border-top:1px solid rgba(255,63,166,.24);
      position:relative;
    }
    .site-footer:before{
      content:"";
      position:absolute;
      top:-1px;
      left:0;
      right:0;
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(255,63,166,.72),rgba(69,230,179,.48),transparent);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:minmax(0,1.4fr) .7fr .7fr;
      gap:34px;
      padding-bottom:30px;
    }
    .footer-brand{
      margin-bottom:14px;
      font-size:18px;
    }
    .footer-note{
      color:var(--muted);
      max-width:520px;
      margin:0;
    }
    .footer-title{
      color:#fff;
      font-weight:900;
      margin-bottom:12px;
    }
    .footer-links{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:9px;
    }
    .footer-links a{
      color:var(--muted);
      transition:color var(--ease),padding-left var(--ease);
    }
    .footer-links a:hover{color:#fff;padding-left:4px}
    .copyright{
      display:flex;
      justify-content:space-between;
      gap:20px;
      padding-top:22px;
      border-top:1px solid rgba(255,255,255,.09);
      color:var(--muted-2);
      font-size:13px;
    }
    @media (max-width:1024px){
      .container{width:min(100% - 32px,var(--container))}
      .nav-wrap{gap:12px}
      .brand{max-width:300px}
      .hero-grid,.layout{grid-template-columns:1fr}
      .side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
      .notice-card{grid-template-columns:1fr}
      .rank-card{grid-template-columns:auto 1fr}
      .card-action{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}
      .section-head{align-items:flex-start;flex-direction:column}
    }
    @media (max-width:767px){
      :root{--header-h:auto}
      .site-header{position:relative}
      .nav-wrap{
        padding:12px 0;
        flex-wrap:wrap;
        align-items:center;
      }
      .brand{order:1;max-width:calc(100% - 126px)}
      .nav-cta{order:2;padding-inline:15px}
      .nav-wrap nav{order:3;width:100%;overflow-x:auto;padding-top:4px}
      .nav-links{width:max-content;min-width:100%}
      .nav-link{padding-inline:14px}
      .hero{padding:42px 0 28px}
      .hero-stats{grid-template-columns:1fr}
      .hero-actions .btn{width:100%}
      .panel-inner{padding:22px}
      .section{padding:44px 0}
      .tagbar{padding:14px}
      .search-card{grid-template-columns:1fr}
      .search-card .btn{width:100%}
      .rank-card{grid-template-columns:1fr;gap:14px;padding:22px}
      .rank-card:before{width:100%;height:4px}
      .rank-no{width:48px;height:48px}
      .card-action{grid-column:auto;align-items:stretch;flex-direction:column}
      .card-action .btn{width:100%}
      .side{grid-template-columns:1fr}
      .faq-grid{grid-template-columns:1fr}
      .cta-card{grid-template-columns:1fr;padding:26px}
      .cta-card .btn{width:100%}
      .footer-grid{grid-template-columns:1fr;gap:24px}
      .copyright{flex-direction:column;gap:8px}
    }
    @media (max-width:420px){
      .container{width:min(100% - 24px,var(--container))}
      h1{font-size:34px}
      .brand-text{font-size:13px}
      .brand-mark{width:30px;height:30px}
      .tag{width:100%;justify-content:center}
      .pagination{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
      .page-btn{flex:0 0 auto}
    }
    @media (prefers-reduced-motion:reduce){
      *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
    }
