/* roulang page: index */
:root{
      --ink:#261913;
      --muted:#76675f;
      --soft:#fff6e8;
      --paper:#fffaf1;
      --cream:#f4e6cf;
      --line:#e0cdae;
      --brand:#8f3d22;
      --brand-2:#c45d34;
      --accent:#f2b84b;
      --accent-2:#6a8f74;
      --dark:#211815;
      --white:#ffffff;
      --danger:#a73b2e;
      --shadow-sm:0 8px 24px rgba(67, 38, 22, .10);
      --shadow-md:0 18px 50px rgba(67, 38, 22, .16);
      --shadow-lg:0 26px 80px rgba(67, 38, 22, .22);
      --radius-sm:12px;
      --radius:20px;
      --radius-lg:30px;
      --container:1180px;
      --nav-h:74px;
      --transition:.22s ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 12% 5%, rgba(242,184,75,.20), transparent 30%),
        radial-gradient(circle at 82% 10%, rgba(106,143,116,.18), transparent 30%),
        linear-gradient(180deg,#fff8ed 0%,#f7ead6 48%,#fffaf1 100%);
      line-height:1.72;
      text-rendering:optimizeLegibility;
    }

    a{color:inherit;text-decoration:none;transition:var(--transition)}
    a:hover{color:var(--brand)}
    img{max-width:100%;display:block}
    button,input,textarea{font:inherit}
    ::selection{background:rgba(242,184,75,.45);color:var(--ink)}

    .container-rl{
      width:min(var(--container), calc(100% - 40px));
      margin-inline:auto;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      background:linear-gradient(135deg,#7d311d 0%,#a84a2b 48%,#563026 100%);
      color:var(--white);
      box-shadow:0 12px 34px rgba(58,29,20,.22);
      border-bottom:1px solid rgba(255,255,255,.14);
    }

    .navbar{
      min-height:var(--nav-h);
      padding:0;
    }

    .brand-mark{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:900;
      letter-spacing:.02em;
      color:var(--white);
      white-space:nowrap;
    }

    .brand-icon{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      color:#562214;
      background:
        linear-gradient(145deg,#ffe0a1,#f1ae41);
      box-shadow:inset 0 -3px 0 rgba(86,34,20,.16),0 8px 20px rgba(0,0,0,.16);
      border:2px solid rgba(255,255,255,.38);
    }

    .brand-text{
      display:flex;
      flex-direction:column;
      line-height:1.12;
      font-size:1.08rem;
    }

    .brand-text small{
      font-size:.72rem;
      opacity:.76;
      font-weight:700;
      margin-top:3px;
    }

    .navbar-toggler{
      border:1px solid rgba(255,255,255,.32);
      color:var(--white);
      border-radius:12px;
      padding:9px 11px;
      box-shadow:none!important;
    }

    .navbar-toggler:focus-visible,
    .btn:focus-visible,
    .form-control:focus{
      outline:3px solid rgba(242,184,75,.55);
      outline-offset:3px;
      box-shadow:none;
    }

    .navbar-nav{
      gap:8px;
      align-items:center;
    }

    .nav-link{
      color:rgba(255,255,255,.86)!important;
      font-weight:800;
      padding:10px 15px!important;
      border-radius:999px;
      position:relative;
    }

    .nav-link:hover,
    .nav-link.active{
      color:var(--white)!important;
      background:rgba(255,255,255,.14);
    }

    .nav-action{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:42px;
      padding:10px 18px;
      border-radius:999px;
      background:var(--accent);
      color:#422113;
      font-weight:900;
      border:1px solid rgba(255,255,255,.35);
      box-shadow:0 10px 24px rgba(38,25,19,.20);
    }

    .nav-action:hover{
      color:#2d160c;
      background:#ffd56d;
      transform:translateY(-1px);
    }

    .section{
      padding:78px 0;
      position:relative;
    }

    .section-tight{padding:52px 0}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(143,61,34,.10);
      color:var(--brand);
      font-weight:900;
      font-size:.86rem;
      border:1px solid rgba(143,61,34,.16);
      margin-bottom:16px;
    }

    .section-title{
      font-size:clamp(1.75rem,3vw,2.72rem);
      line-height:1.18;
      letter-spacing:-.04em;
      font-weight:950;
      margin:0 0 14px;
      color:var(--ink);
    }

    .section-desc{
      color:var(--muted);
      font-size:1.03rem;
      max-width:760px;
      margin:0;
    }

    .btn-rl{
      border:0;
      border-radius:999px;
      padding:13px 22px;
      font-weight:950;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      transition:var(--transition);
      min-height:48px;
      cursor:pointer;
    }

    .btn-primary-rl{
      background:linear-gradient(135deg,#8f3d22,#c45d34);
      color:var(--white);
      box-shadow:0 14px 30px rgba(143,61,34,.26);
    }

    .btn-primary-rl:hover{
      color:var(--white);
      transform:translateY(-2px);
      box-shadow:0 18px 44px rgba(143,61,34,.34);
    }

    .btn-ghost-rl{
      background:#fff6e8;
      color:var(--brand);
      border:1px solid rgba(143,61,34,.20);
      box-shadow:0 10px 24px rgba(67,38,22,.08);
    }

    .btn-ghost-rl:hover{
      color:var(--brand);
      background:#fff0d7;
      transform:translateY(-2px);
    }

    .btn-dark-rl{
      background:var(--dark);
      color:#ffe4b0;
      border:1px solid rgba(255,255,255,.18);
    }

    .btn-dark-rl:hover{
      color:#fff5df;
      background:#3a2822;
      transform:translateY(-2px);
    }

    .hero{
      padding:70px 0 46px;
      overflow:hidden;
    }

    .hero-ribbon{
      background:
        linear-gradient(115deg,rgba(33,24,21,.94),rgba(112,52,34,.94)),
        repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 12px,transparent 12px 24px);
      color:var(--white);
      border-radius:34px;
      border:1px solid rgba(255,255,255,.18);
      box-shadow:var(--shadow-lg);
      overflow:hidden;
      position:relative;
    }

    .hero-ribbon:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 20% 20%,rgba(242,184,75,.34),transparent 26%),
        radial-gradient(circle at 82% 10%,rgba(255,255,255,.10),transparent 24%);
      pointer-events:none;
    }

    .hero-inner{
      position:relative;
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:34px;
      padding:46px;
      align-items:stretch;
    }

    .hero-copy{
      display:flex;
      flex-direction:column;
      justify-content:center;
      min-height:430px;
    }

    .hero-badge{
      width:max-content;
      max-width:100%;
      display:flex;
      align-items:center;
      gap:10px;
      padding:9px 14px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      color:#ffe2a2;
      font-weight:900;
      margin-bottom:20px;
    }

    h1{
      font-size:clamp(2.15rem,5vw,4.6rem);
      line-height:1.05;
      letter-spacing:-.07em;
      font-weight:1000;
      margin:0 0 22px;
      max-width:760px;
    }

    .hero-copy p{
      font-size:1.09rem;
      color:rgba(255,250,241,.82);
      max-width:690px;
      margin:0 0 26px;
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      margin-bottom:26px;
    }

    .hero-actions .btn-ghost-rl{
      background:rgba(255,255,255,.10);
      color:#fff4d8;
      border-color:rgba(255,255,255,.20);
    }

    .hero-actions .btn-ghost-rl:hover{
      background:rgba(255,255,255,.18);
      color:#fff;
    }

    .hero-points{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
    }

    .point-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#fff3d8;
      border:1px solid rgba(255,255,255,.15);
      background:rgba(255,255,255,.08);
      border-radius:999px;
      padding:9px 12px;
      font-weight:800;
      font-size:.92rem;
    }

    .group-panel{
      background:#fff8ec;
      color:var(--ink);
      border-radius:28px;
      padding:24px;
      box-shadow:0 20px 60px rgba(0,0,0,.25);
      border:1px solid rgba(255,255,255,.55);
      align-self:center;
      transform:rotate(1deg);
    }

    .group-ticket{
      border:2px dashed rgba(143,61,34,.32);
      border-radius:24px;
      padding:22px;
      background:
        linear-gradient(180deg,#fffdf7,#fff1d8);
      position:relative;
    }

    .group-ticket:after{
      content:"";
      position:absolute;
      left:20px;
      right:20px;
      top:86px;
      border-top:1px dashed rgba(143,61,34,.22);
    }

    .ticket-top{
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:flex-start;
      margin-bottom:28px;
    }

    .ticket-title{
      font-size:1.25rem;
      font-weight:950;
      margin:0;
    }

    .ticket-label{
      display:inline-flex;
      padding:6px 10px;
      border-radius:999px;
      background:#ffe1a0;
      color:#673018;
      font-weight:950;
      font-size:.78rem;
      white-space:nowrap;
    }

    .people-stack{
      display:flex;
      align-items:center;
      margin:14px 0 8px;
    }

    .avatar-dot{
      width:40px;
      height:40px;
      margin-left:-8px;
      border-radius:50%;
      border:3px solid #fff8ec;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,#8f3d22,#f2b84b);
      color:white;
      font-weight:950;
      box-shadow:0 8px 18px rgba(143,61,34,.20);
    }

    .avatar-dot:first-child{margin-left:0}
    .group-progress{
      height:12px;
      background:#ecd5ad;
      border-radius:999px;
      overflow:hidden;
      margin:14px 0 10px;
    }

    .group-progress span{
      display:block;
      height:100%;
      width:78%;
      border-radius:999px;
      background:linear-gradient(90deg,#6a8f74,#f2b84b,#c45d34);
    }

    .ticket-meta{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
      margin-top:20px;
    }

    .meta-box{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(143,61,34,.13);
      border-radius:16px;
      padding:13px;
    }

    .meta-box strong{
      display:block;
      font-size:1.55rem;
      line-height:1.1;
      color:var(--brand);
      letter-spacing:-.04em;
    }

    .meta-box span{
      color:var(--muted);
      font-size:.86rem;
      font-weight:800;
    }

    .strip-board{
      display:grid;
      grid-template-columns:1fr auto;
      gap:18px;
      align-items:center;
      background:#291c18;
      color:#fff2d5;
      border-radius:24px;
      padding:18px 22px;
      border:1px solid rgba(255,255,255,.10);
      box-shadow:var(--shadow-md);
      margin-top:-22px;
      position:relative;
      z-index:2;
    }

    .strip-board strong{
      color:#ffcf68;
      font-size:1.35rem;
    }

    .ticker{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .ticker span{
      border:1px solid rgba(255,255,255,.13);
      background:rgba(255,255,255,.06);
      border-radius:999px;
      padding:7px 10px;
      font-weight:800;
      font-size:.88rem;
    }

    .latest-layout{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:26px;
      margin-top:28px;
      align-items:stretch;
    }

    .notice-card{
      background:#2a1d18;
      color:#fff5df;
      border-radius:var(--radius-lg);
      padding:30px;
      box-shadow:var(--shadow-md);
      min-height:100%;
      position:relative;
      overflow:hidden;
    }

    .notice-card:before{
      content:"";
      position:absolute;
      width:180px;
      height:180px;
      border-radius:50%;
      right:-50px;
      top:-60px;
      background:rgba(242,184,75,.18);
    }

    .notice-card h3{
      position:relative;
      font-weight:950;
      font-size:1.55rem;
      margin-bottom:12px;
    }

    .notice-card p{
      position:relative;
      color:rgba(255,245,223,.76);
      margin-bottom:22px;
    }

    .mini-stats{
      position:relative;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
    }

    .mini-stats div{
      padding:16px 12px;
      border-radius:18px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
    }

    .mini-stats strong{
      display:block;
      color:#ffd372;
      font-size:1.45rem;
      letter-spacing:-.03em;
    }

    .dynamic-list{
      display:grid;
      gap:14px;
    }

    .dynamic-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:16px;
      align-items:center;
      padding:18px;
      border-radius:22px;
      background:rgba(255,250,241,.86);
      border:1px solid rgba(143,61,34,.13);
      box-shadow:var(--shadow-sm);
      transition:var(--transition);
    }

    .dynamic-item:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-md);
      border-color:rgba(143,61,34,.26);
    }

    .date-chip{
      width:58px;
      height:58px;
      border-radius:18px;
      background:#fff0d2;
      color:var(--brand);
      display:grid;
      place-items:center;
      font-weight:950;
      line-height:1.1;
      border:1px solid rgba(143,61,34,.16);
      text-align:center;
    }

    .dynamic-item h3{
      font-size:1.08rem;
      font-weight:950;
      margin:0 0 4px;
    }

    .dynamic-item p{
      color:var(--muted);
      margin:0;
      font-size:.95rem;
    }

    .quick-wrap{
      background:linear-gradient(180deg,#fffaf1,#f2dfbf);
      border-top:1px solid rgba(143,61,34,.11);
      border-bottom:1px solid rgba(143,61,34,.11);
    }

    .answer-grid{
      margin-top:30px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }

    .answer-card{
      background:#fffaf1;
      border:1px solid rgba(143,61,34,.14);
      border-radius:24px;
      padding:24px;
      box-shadow:var(--shadow-sm);
    }

    .answer-card h3{
      display:flex;
      gap:12px;
      align-items:flex-start;
      font-size:1.18rem;
      font-weight:950;
      margin:0 0 10px;
    }

    .answer-card h3 i{
      color:var(--accent-2);
      margin-top:5px;
    }

    .answer-card p{
      margin:0;
      color:var(--muted);
    }

    .news-layout{
      display:grid;
      grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
      gap:28px;
      margin-top:30px;
    }

    .news-list{
      background:rgba(255,250,241,.82);
      border:1px solid rgba(143,61,34,.13);
      border-radius:var(--radius-lg);
      padding:12px;
      box-shadow:var(--shadow-sm);
    }

    .news-link{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:center;
      padding:17px 16px;
      border-radius:18px;
      border-bottom:1px solid rgba(143,61,34,.10);
    }

    .news-link:last-child{border-bottom:0}
    .news-link:hover{
      background:#fff0d8;
      color:var(--ink);
    }

    .tag{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:74px;
      padding:6px 9px;
      border-radius:999px;
      background:rgba(106,143,116,.13);
      color:#496b52;
      font-size:.82rem;
      font-weight:950;
      border:1px solid rgba(106,143,116,.18);
    }

    .news-link strong{
      display:block;
      font-size:1.02rem;
      font-weight:950;
      line-height:1.35;
      margin-bottom:3px;
    }

    .news-link small{
      color:var(--muted);
      font-weight:700;
    }

    .recommend-box{
      background:#fff2d8;
      border:1px solid rgba(143,61,34,.16);
      border-radius:var(--radius-lg);
      padding:26px;
      box-shadow:var(--shadow-sm);
      position:sticky;
      top:96px;
    }

    .recommend-box h3{
      font-size:1.35rem;
      font-weight:950;
      margin-bottom:12px;
    }

    .recommend-box ul{
      list-style:none;
      padding:0;
      margin:20px 0 0;
      display:grid;
      gap:12px;
    }

    .recommend-box li{
      display:flex;
      gap:10px;
      color:var(--muted);
      font-weight:750;
    }

    .recommend-box li i{
      color:var(--brand);
      margin-top:6px;
    }

    .safety{
      background:#211815;
      color:#fff4dc;
      overflow:hidden;
    }

    .safety .section-title{color:#fff8ec}
    .safety .section-desc{color:rgba(255,244,220,.72)}
    .safety .eyebrow{
      background:rgba(242,184,75,.12);
      color:#ffd47a;
      border-color:rgba(242,184,75,.24);
    }

    .safety-board{
      margin-top:30px;
      display:grid;
      grid-template-columns:1fr .9fr;
      gap:24px;
      align-items:stretch;
    }

    .safety-card{
      border-radius:26px;
      padding:26px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 18px 54px rgba(0,0,0,.18);
      transition:var(--transition);
    }

    .safety-card:hover{
      background:rgba(255,255,255,.10);
      transform:translateY(-3px);
    }

    .safety-card h3{
      font-size:1.25rem;
      font-weight:950;
      margin-bottom:10px;
    }

    .safety-card p{
      color:rgba(255,244,220,.74);
      margin:0;
    }

    .check-list{
      display:grid;
      gap:14px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .check-list li{
      display:flex;
      gap:12px;
      padding:15px;
      border-radius:18px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
      color:rgba(255,244,220,.78);
    }

    .check-list i{
      color:#ffd372;
      margin-top:5px;
    }

    .app-stage{
      display:grid;
      grid-template-columns:.95fr 1.05fr;
      gap:28px;
      align-items:center;
      margin-top:32px;
    }

    .app-card{
      background:linear-gradient(145deg,#fff9ef,#ffe6b7);
      border:1px solid rgba(143,61,34,.16);
      border-radius:32px;
      padding:30px;
      box-shadow:var(--shadow-md);
      position:relative;
      overflow:hidden;
    }

    .app-card:before{
      content:"";
      position:absolute;
      width:220px;
      height:220px;
      border-radius:50%;
      right:-80px;
      bottom:-90px;
      background:rgba(143,61,34,.08);
    }

    .app-card h3{
      position:relative;
      font-weight:950;
      font-size:1.55rem;
      margin-bottom:12px;
    }

    .app-card p{
      position:relative;
      color:var(--muted);
    }

    .app-buttons{
      position:relative;
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:22px;
    }

    .feature-tiles{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:16px;
    }

    .feature-tile{
      background:rgba(255,250,241,.88);
      border:1px solid rgba(143,61,34,.13);
      border-radius:24px;
      padding:22px;
      box-shadow:var(--shadow-sm);
      transition:var(--transition);
    }

    .feature-tile:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-md);
    }

    .feature-tile i{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:14px;
      background:#fff0d2;
      color:var(--brand);
      margin-bottom:14px;
      font-size:1.1rem;
    }

    .feature-tile h3{
      font-size:1.08rem;
      font-weight:950;
      margin-bottom:7px;
    }

    .feature-tile p{
      margin:0;
      color:var(--muted);
      font-size:.95rem;
    }

    .guide-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
      margin-top:30px;
    }

    .guide-card{
      background:#fffaf1;
      border:1px solid rgba(143,61,34,.13);
      border-radius:26px;
      padding:24px;
      box-shadow:var(--shadow-sm);
    }

    .guide-num{
      width:40px;
      height:40px;
      display:grid;
      place-items:center;
      border-radius:14px;
      background:var(--dark);
      color:#ffd372;
      font-weight:950;
      margin-bottom:14px;
    }

    .guide-card h3{
      font-weight:950;
      font-size:1.16rem;
      margin-bottom:8px;
    }

    .guide-card p{
      color:var(--muted);
      margin:0;
    }

    .reward-zone{
      padding-top:0;
    }

    .reward-wrap{
      background:
        linear-gradient(135deg,#7e3320,#c45d34 56%,#e8a847);
      color:#fff8ec;
      border-radius:34px;
      padding:34px;
      box-shadow:var(--shadow-lg);
      overflow:hidden;
      position:relative;
    }

    .reward-wrap:before{
      content:"";
      position:absolute;
      inset:auto -80px -120px auto;
      width:280px;
      height:280px;
      border-radius:50%;
      background:rgba(255,255,255,.13);
    }

    .reward-head{
      position:relative;
      display:grid;
      grid-template-columns:1fr auto;
      gap:20px;
      align-items:end;
      margin-bottom:24px;
    }

    .reward-head h2{
      font-weight:950;
      font-size:clamp(1.65rem,3vw,2.42rem);
      letter-spacing:-.04em;
      margin:0 0 10px;
    }

    .reward-head p{
      color:rgba(255,248,236,.78);
      margin:0;
      max-width:720px;
    }

    .reward-cards{
      position:relative;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
    }

    .reward-card{
      padding:22px;
      border-radius:24px;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.22);
      backdrop-filter:blur(8px);
      transition:var(--transition);
    }

    .reward-card:hover{
      transform:translateY(-4px) rotate(-.5deg);
      background:rgba(255,255,255,.18);
    }

    .reward-card .box-icon{
      width:48px;
      height:48px;
      display:grid;
      place-items:center;
      border-radius:16px;
      background:#ffcf68;
      color:#70311f;
      font-size:1.25rem;
      margin-bottom:14px;
      box-shadow:inset 0 -3px 0 rgba(112,49,31,.12);
    }

    .reward-card h3{
      font-size:1.14rem;
      font-weight:950;
      margin-bottom:8px;
    }

    .reward-card p{
      color:rgba(255,248,236,.78);
      margin:0;
      font-size:.96rem;
    }

    .site-footer{
      background:#1d1512;
      color:#fff3d9;
      padding:54px 0 28px;
      border-top:1px solid rgba(255,255,255,.08);
    }

    .footer-grid{
      display:grid;
      grid-template-columns:1.1fr .8fr .8fr;
      gap:28px;
      padding-bottom:34px;
      border-bottom:1px solid rgba(255,255,255,.10);
    }

    .footer-brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:950;
      font-size:1.15rem;
      margin-bottom:14px;
    }

    .footer-brand .brand-icon{
      width:38px;
      height:38px;
    }

    .footer-text{
      color:rgba(255,243,217,.68);
      max-width:520px;
      margin:0;
    }

    .footer-title{
      font-weight:950;
      margin-bottom:14px;
      color:#ffe0a0;
    }

    .footer-links{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:10px;
    }

    .footer-links a{
      color:rgba(255,243,217,.70);
    }

    .footer-links a:hover{
      color:#ffd372;
      padding-left:3px;
    }

    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      color:rgba(255,243,217,.58);
      font-size:.92rem;
      padding-top:24px;
    }

    .float-cta{
      position:fixed;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      z-index:999;
      width:min(560px, calc(100% - 28px));
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:12px 14px 12px 18px;
      border-radius:999px;
      background:rgba(33,24,21,.92);
      color:#fff3d9;
      box-shadow:0 18px 60px rgba(0,0,0,.24);
      border:1px solid rgba(255,255,255,.12);
      backdrop-filter:blur(12px);
    }

    .float-cta strong{
      font-size:.95rem;
      white-space:nowrap;
    }

    .float-cta a{
      padding:10px 15px;
      min-height:40px;
      font-size:.88rem;
    }

    @media (max-width:1024px){
      .hero-inner,
      .latest-layout,
      .safety-board,
      .app-stage,
      .news-layout{
        grid-template-columns:1fr;
      }

      .hero-copy{min-height:auto}
      .group-panel{transform:none}
      .recommend-box{position:relative;top:auto}
      .footer-grid{grid-template-columns:1fr 1fr}
    }

    @media (max-width:768px){
      :root{--nav-h:66px}
      .container-rl{width:min(100% - 28px, var(--container))}
      .section{padding:58px 0}
      .hero{padding:38px 0 32px}
      .hero-inner{padding:28px;gap:24px}
      .hero-ribbon{border-radius:26px}
      .hero-copy p{font-size:1rem}
      .strip-board{grid-template-columns:1fr}
      .ticker{justify-content:flex-start}
      .answer-grid,
      .feature-tiles,
      .guide-grid,
      .reward-cards{
        grid-template-columns:1fr;
      }
      .news-link,
      .dynamic-item{
        grid-template-columns:auto 1fr;
      }
      .news-link i,
      .dynamic-item > i{
        display:none;
      }
      .mini-stats{grid-template-columns:1fr}
      .reward-head{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
      .navbar-collapse{
        padding:12px 0 18px;
      }
      .navbar-nav{
        align-items:stretch;
      }
      .nav-action{
        width:100%;
        margin-top:8px;
      }
    }

    @media (max-width:520px){
      h1{font-size:2.18rem}
      .hero-inner{padding:22px}
      .group-ticket{padding:18px}
      .ticket-top{flex-direction:column}
      .ticket-meta{grid-template-columns:1fr}
      .hero-actions .btn-rl{width:100%}
      .date-chip{width:50px;height:50px;border-radius:15px;font-size:.9rem}
      .news-link,.dynamic-item{padding:14px}
      .reward-wrap{padding:24px;border-radius:26px}
      .float-cta{
        border-radius:22px;
        align-items:flex-start;
        flex-direction:column;
      }
      .float-cta a{width:100%}
      .site-footer{padding-bottom:110px}
    }

/* 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}
