/* roulang page: index */
:root{
      --bg: #F5F3EF;
      --panel: #FFFDF9;
      --ink: #29252F;
      --muted: #716B78;
      --dark: #17131F;
      --dark-2: #221B2E;
      --dark-3: #2B2338;
      --line: #DDD8D0;
      --line-dark: #3A3246;
      --accent: #C7F34A;
      --accent-2: #FF765C;
      --accent-3: #7CF0D0;
      --shadow: 0 10px 30px rgba(35, 27, 45, .08);
      --shadow-strong: 0 18px 42px rgba(23, 19, 31, .16);
      --radius-sm: 10px;
      --radius-md: 14px;
      --radius-lg: 18px;
      --radius-xl: 26px;
      --radius-pill: 999px;
      --container: 1220px;
      --transition: 180ms ease;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:
        radial-gradient(circle at top left, rgba(199,243,74,.12), transparent 28%),
        radial-gradient(circle at top right, rgba(255,118,92,.08), transparent 22%),
        var(--bg);
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;
      line-height:1.78;
      overflow-x:hidden;
    }
    ::selection{background:rgba(199,243,74,.35); color:#17131F}
    a{color:inherit; text-decoration:none; transition:color var(--transition), border-color var(--transition), background-color var(--transition), transform var(--transition), opacity var(--transition)}
    a:hover{color:var(--accent-2)}
    img{max-width:100%; display:block}
    button, input, textarea, select{font:inherit}
    .container, .container-xl, .container-xxl{max-width:var(--container)}
    .section-pad{padding:78px 0}
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:20px;
      margin-bottom:24px;
    }
    .section-head .copy{max-width:760px}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:.82rem;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--dark);
      background:rgba(199,243,74,.22);
      border:1px solid rgba(199,243,74,.35);
      border-radius:var(--radius-pill);
      padding:8px 14px;
    }
    .eyebrow.dark{
      color:#E9E4EC;
      background:rgba(199,243,74,.16);
      border-color:rgba(199,243,74,.22);
    }
    .section-title{
      margin:14px 0 10px;
      font-size:clamp(1.6rem, 2.8vw, 2.55rem);
      line-height:1.18;
      font-weight:900;
      letter-spacing:-.03em;
    }
    .section-desc{
      margin:0;
      color:var(--muted);
      line-height:1.8;
      font-size:1rem;
    }
    .mini-note{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--muted);
      font-size:.92rem;
    }
    .mini-dot{
      width:9px;
      height:9px;
      border-radius:50%;
      background:var(--accent-2);
      box-shadow:0 0 0 5px rgba(255,118,92,.12);
      flex:0 0 auto;
    }
    .link-arrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-weight:700;
    }
    .link-arrow i{transition:transform var(--transition)}
    .link-arrow:hover i{transform:translateX(2px)}

    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      background:rgba(23,19,31,.98);
      border-bottom:1px solid rgba(58,50,70,.95);
    }
    .site-header .navbar{
      padding:14px 0;
    }
    .navbar-brand{
      display:flex;
      align-items:center;
      gap:12px;
      color:#FFFDF9;
      margin-right:24px;
      min-width: 240px;
    }
    .brand-mark{
      width:42px;
      height:42px;
      border-radius:14px;
      background:linear-gradient(145deg, #DDFE72 0%, #C7F34A 52%, #A7CB25 100%);
      color:#17131F;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 10px 20px rgba(199,243,74,.16);
      font-size:1.15rem;
      flex:0 0 auto;
    }
    .brand-text{
      display:flex;
      flex-direction:column;
      line-height:1.1;
    }
    .brand-title{
      font-size:1.02rem;
      font-weight:900;
      letter-spacing:.02em;
      color:#FFFDF9;
    }
    .brand-sub{
      margin-top:4px;
      font-size:.76rem;
      color:#A9A0B1;
    }
    .navbar .nav-link{
      color:#E9E4EC;
      font-weight:700;
      padding:.75rem 1rem;
      border:1px solid transparent;
      border-radius:var(--radius-pill);
      margin:0 .15rem;
    }
    .navbar .nav-link:hover,
    .navbar .nav-link:focus-visible{
      color:var(--accent);
      border-color:rgba(199,243,74,.22);
      background:rgba(199,243,74,.08);
    }
    .navbar .nav-link.active{
      color:#C7F34A;
      background:rgba(199,243,74,.14);
      border-color:rgba(199,243,74,.24);
    }
    .navbar-toggler{
      border:1px solid rgba(255,255,255,.14);
      border-radius:12px;
      padding:.55rem .7rem;
      color:#FFFDF9;
      box-shadow:none !important;
    }
    .navbar-toggler:focus{
      box-shadow:0 0 0 .2rem rgba(199,243,74,.18) !important;
    }
    .navbar-toggler-icon{
      filter:invert(1);
    }
    .nav-search{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:320px;
      background:#231c2f;
      border:1px solid var(--line-dark);
      border-radius:var(--radius-pill);
      padding:5px 6px 5px 14px;
    }
    .nav-search .form-control{
      background:transparent;
      border:none;
      color:#E9E4EC;
      min-height:40px;
      box-shadow:none !important;
      padding-left:0;
      padding-right:0;
    }
    .nav-search .form-control::placeholder{color:#A9A0B1}
    .nav-search .form-control:focus{color:#FFFDF9}
    .nav-search .btn{
      min-width:90px;
      border-radius:var(--radius-pill);
    }

    .btn{
      border-radius:var(--radius-pill);
      padding:.8rem 1.2rem;
      font-weight:800;
      transition:transform var(--transition), box-shadow var(--transition), background-color var(--transition), border-color var(--transition), color var(--transition);
    }
    .btn:focus-visible{
      box-shadow:0 0 0 .2rem rgba(199,243,74,.2) !important;
    }
    .btn-main{
      background:var(--accent);
      color:#17131F;
      border:1px solid var(--accent);
      box-shadow:0 10px 24px rgba(199,243,74,.16);
    }
    .btn-main:hover{
      background:#D5F86B;
      color:#17131F;
      transform:translateY(-1px);
      box-shadow:0 12px 28px rgba(199,243,74,.24);
    }
    .btn-soft{
      background:#FFFDF9;
      color:var(--dark);
      border:1px solid var(--line);
      box-shadow:none;
    }
    .btn-soft:hover{
      background:#F6F1E8;
      color:var(--dark);
      transform:translateY(-1px);
    }
    .btn-darkline{
      background:transparent;
      color:#E9E4EC;
      border:1px solid rgba(233,228,236,.18);
    }
    .btn-darkline:hover{
      background:rgba(255,255,255,.05);
      color:#FFFDF9;
      transform:translateY(-1px);
    }
    .btn-text{
      padding:.55rem 0;
      border:none;
      background:none;
      color:var(--dark);
      font-weight:800;
    }
    .btn-text:hover{color:var(--accent-2)}
    .btn-icon{
      display:inline-flex;
      align-items:center;
      gap:8px;
    }

    .channel-strip{
      background:linear-gradient(90deg, rgba(23,19,31,.97), rgba(34,27,46,.97));
      color:#E9E4EC;
      border-bottom:1px solid rgba(58,50,70,.95);
    }
    .channel-strip .container{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:10px 0;
      flex-wrap:wrap;
    }
    .channel-tags{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
    }
    .channel-chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:var(--radius-pill);
      border:1px solid rgba(233,228,236,.12);
      background:rgba(255,255,255,.03);
      color:#E9E4EC;
      font-size:.86rem;
      font-weight:700;
    }
    .channel-chip .badge-dot{
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 0 5px rgba(199,243,74,.1);
    }
    .channel-status{
      display:flex;
      align-items:center;
      gap:12px;
      color:#A9A0B1;
      font-size:.92rem;
    }
    .channel-status strong{color:#FFFDF9}
    .status-line{
      width:120px;
      height:4px;
      border-radius:999px;
      background:#332A42;
      overflow:hidden;
    }
    .status-line span{
      display:block;
      width:68%;
      height:100%;
      background:linear-gradient(90deg, var(--accent), var(--accent-2));
    }

    .hero{
      padding:26px 0 18px;
    }
    .hero-shell{
      position:relative;
      overflow:hidden;
      padding:34px;
      border-radius:28px;
      border:1px solid var(--line-dark);
      background:
        radial-gradient(circle at 82% 14%, rgba(199,243,74,.12), transparent 22%),
        radial-gradient(circle at 92% 88%, rgba(255,118,92,.12), transparent 16%),
        linear-gradient(135deg, #17131F 0%, #1C1726 52%, #211B2E 100%);
      color:#E9E4EC;
      box-shadow:var(--shadow-strong);
    }
    .hero-shell::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size:44px 44px;
      opacity:.22;
      pointer-events:none;
    }
    .hero-shell > *{position:relative; z-index:1}
    .hero-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#FFFDF9;
      background:rgba(199,243,74,.12);
      border:1px solid rgba(199,243,74,.22);
      border-radius:var(--radius-pill);
      padding:8px 14px;
      font-size:.84rem;
      font-weight:800;
      letter-spacing:.05em;
    }
    .hero-kicker .pulse{
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--accent-2);
      box-shadow:0 0 0 5px rgba(255,118,92,.16);
    }
    .hero h1{
      margin:16px 0 18px;
      font-size:clamp(2.35rem, 4.8vw, 4.8rem);
      line-height:1.06;
      font-weight:950;
      letter-spacing:-.04em;
      color:#FFFDF9;
    }
    .hero h1 span{color:var(--accent)}
    .hero-desc{
      max-width:41rem;
      margin:0;
      font-size:1.05rem;
      line-height:1.88;
      color:#E9E4EC;
    }
    .hero-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin:28px 0 24px;
    }
    .hero-kpis{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      max-width:620px;
    }
    .kpi{
      background:rgba(255,255,255,.04);
      border:1px solid rgba(58,50,70,.95);
      border-radius:16px;
      padding:14px 16px;
      min-height:88px;
    }
    .kpi strong{
      display:block;
      font-size:1.25rem;
      line-height:1.2;
      color:#FFFDF9;
      margin-bottom:6px;
    }
    .kpi span{
      display:block;
      color:#A9A0B1;
      line-height:1.55;
      font-size:.92rem;
    }
    .hero-panel{
      background:var(--panel);
      color:var(--ink);
      border-radius:24px;
      border:1px solid var(--line);
      box-shadow:0 14px 34px rgba(35, 27, 45, .12);
      padding:18px;
      position:relative;
    }
    .countdown{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      background:var(--dark);
      color:#E9E4EC;
      border-radius:18px;
      padding:12px 14px;
      margin-bottom:14px;
      border:1px solid var(--line-dark);
    }
    .countdown small{
      display:block;
      color:#A9A0B1;
      letter-spacing:.02em;
      margin-top:4px;
    }
    .countdown strong{
      color:var(--accent);
      font-size:1.18rem;
      letter-spacing:.04em;
    }
    .preview-stack{
      display:grid;
      gap:14px;
    }
    .preview-card{
      border:1px solid var(--line);
      border-radius:18px;
      padding:16px;
      background:#FFFDF9;
      box-shadow:0 10px 24px rgba(35,27,45,.04);
    }
    .preview-card.dark{
      background:linear-gradient(180deg, #17131F 0%, #201A2A 100%);
      color:#E9E4EC;
      border-color:var(--line-dark);
    }
    .preview-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:10px;
    }
    .preview-title{
      font-weight:900;
      font-size:1.02rem;
      margin:0;
      line-height:1.5;
    }
    .preview-meta{
      font-size:.84rem;
      color:var(--muted);
      line-height:1.5;
    }
    .preview-card.dark .preview-meta{color:#A9A0B1}
    .pill{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:var(--radius-pill);
      font-size:.77rem;
      font-weight:800;
      letter-spacing:.03em;
      background:rgba(199,243,74,.14);
      color:#17131F;
      flex:0 0 auto;
    }
    .pill.hot{
      background:rgba(255,118,92,.14);
      color:#FF765C;
    }
    .pill.neutral{
      background:#EBE5DA;
      color:#463A54;
    }
    .progress-track{
      margin-top:14px;
      height:7px;
      border-radius:999px;
      background:#E8E2D6;
      overflow:hidden;
    }
    .preview-card.dark .progress-track{background:#332A42}
    .progress-track span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg, var(--accent), var(--accent-2));
    }
    .preview-list{
      display:grid;
      gap:10px;
      margin-top:14px;
    }
    .preview-item{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      padding:12px 14px;
      border-radius:14px;
      background:#F8F5EF;
      border:1px solid var(--line);
    }
    .preview-card.dark .preview-item{
      background:#231B2E;
      border-color:#3A3246;
    }
    .preview-item strong{display:block; margin-bottom:4px}
    .preview-item span{font-size:.86rem; color:var(--muted); line-height:1.5}
    .preview-card.dark .preview-item span{color:#A9A0B1}
    .preview-state{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:var(--accent-2);
      font-size:.82rem;
      font-weight:800;
      white-space:nowrap;
      margin-top:2px;
    }
    .preview-state .dot{
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--accent-2);
      box-shadow:0 0 0 5px rgba(255,118,92,.12);
    }

    .soft-slab{
      padding:24px;
      border-radius:24px;
      background:var(--panel);
      border:1px solid var(--line);
      box-shadow:var(--shadow);
    }
    .info-card{
      height:100%;
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      padding:24px;
      box-shadow:var(--shadow);
      transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);
    }
    .info-card:hover{
      transform:translateY(-3px);
      border-color:rgba(199,243,74,.85);
      box-shadow:0 14px 28px rgba(35,27,45,.10);
    }
    .info-icon{
      width:46px;
      height:46px;
      border-radius:14px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:rgba(199,243,74,.14);
      color:#17131F;
      font-size:1.2rem;
      margin-bottom:16px;
    }
    .info-card h3{
      margin:0 0 10px;
      font-size:1.08rem;
      font-weight:900;
      line-height:1.35;
    }
    .info-card p{
      margin:0;
      color:var(--muted);
      line-height:1.72;
      font-size:.96rem;
    }

    .route-grid{
      display:grid;
      gap:18px;
    }
    .route-step{
      height:100%;
      border-radius:20px;
      background:linear-gradient(180deg, #FFFDF9 0%, #F7F2EA 100%);
      border:1px solid var(--line);
      padding:24px;
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .route-step.dark{
      background:linear-gradient(180deg, #17131F 0%, #211B2E 100%);
      color:#E9E4EC;
      border-color:var(--line-dark);
    }
    .route-step .num{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:46px;
      height:46px;
      border-radius:15px;
      background:rgba(199,243,74,.14);
      color:#17131F;
      font-weight:900;
      font-size:1.05rem;
      margin-bottom:16px;
    }
    .route-step.dark .num{
      background:rgba(199,243,74,.18);
      color:#FFFDF9;
    }
    .route-step h3{
      margin:0 0 10px;
      font-size:1.08rem;
      font-weight:900;
      line-height:1.38;
    }
    .route-step p{
      margin:0;
      color:var(--muted);
      line-height:1.75;
      font-size:.96rem;
    }
    .route-step.dark p{color:#A9A0B1}
    .route-step::after{
      content:"";
      position:absolute;
      right:-28px;
      top:-28px;
      width:110px;
      height:110px;
      border-radius:50%;
      border:1px solid rgba(199,243,74,.18);
      opacity:.45;
    }

    .category-card{
      height:100%;
      border-radius:24px;
      padding:26px;
      box-shadow:var(--shadow-strong);
      position:relative;
      overflow:hidden;
      border:1px solid transparent;
    }
    .category-card.dark{
      background:linear-gradient(145deg, #17131F 0%, #201A2A 100%);
      color:#E9E4EC;
      border-color:var(--line-dark);
    }
    .category-card.light{
      background:linear-gradient(180deg, #FFFDF9 0%, #F8F3EA 100%);
      color:var(--ink);
      border-color:var(--line);
    }
    .category-card .tag-line{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin-bottom:14px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:.78rem;
      font-weight:800;
      border-radius:var(--radius-pill);
      padding:6px 10px;
      line-height:1;
    }
    .tag.green{
      color:#17131F;
      background:var(--accent);
    }
    .tag.orange{
      color:#FF765C;
      background:rgba(255,118,92,.10);
    }
    .tag.neutral{
      color:#463A54;
      background:#EBE5DA;
    }
    .category-card h3{
      margin:0 0 10px;
      font-size:1.38rem;
      line-height:1.28;
      font-weight:900;
      letter-spacing:-.02em;
    }
    .category-card p{
      margin:0;
      line-height:1.82;
      color:inherit;
      opacity:.9;
    }
    .category-list{
      list-style:none;
      padding:0;
      margin:18px 0 22px;
      display:grid;
      gap:10px;
    }
    .category-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      line-height:1.65;
      color:inherit;
      opacity:.95;
    }
    .category-list i{
      color:var(--accent);
      margin-top:3px;
      flex:0 0 auto;
    }
    .category-stats{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:20px;
      margin-bottom:22px;
    }
    .stat-chip{
      padding:10px 12px;
      border-radius:16px;
      border:1px solid rgba(58,50,70,.16);
      background:rgba(255,255,255,.36);
      font-size:.88rem;
      font-weight:700;
    }
    .category-card.dark .stat-chip{
      background:rgba(255,255,255,.04);
      border-color:rgba(233,228,236,.12);
    }
    .category-card.dark .btn-soft{
      background:#FFFDF9;
    }

    .news-layout{
      display:grid;
      gap:18px;
    }
    .news-list{
      display:grid;
      gap:12px;
    }
    .news-item{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      padding:15px 16px;
      border-radius:16px;
      background:var(--panel);
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      transition:transform var(--transition), border-color var(--transition);
    }
    .news-item:hover{
      transform:translateX(2px);
      border-color:rgba(199,243,74,.8);
    }
    .news-item strong{
      display:block;
      font-size:1rem;
      line-height:1.55;
      margin-bottom:6px;
    }
    .news-item .meta{
      font-size:.84rem;
      color:var(--muted);
    }
    .news-item .side{
      color:var(--accent-2);
      white-space:nowrap;
      font-size:.84rem;
      font-weight:800;
      margin-top:1px;
    }
    .news-side{
      background:linear-gradient(145deg, #17131F 0%, #211B2E 100%);
      color:#E9E4EC;
      border-radius:24px;
      padding:24px;
      border:1px solid var(--line-dark);
      box-shadow:var(--shadow-strong);
      height:100%;
    }
    .news-side .top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
      margin-bottom:14px;
    }
    .news-side h3{
      margin:0;
      font-size:1.24rem;
      font-weight:900;
      line-height:1.35;
    }
    .news-side p{
      margin:0;
      color:#A9A0B1;
      line-height:1.8;
      font-size:.95rem;
    }
    .news-side .focus-box{
      margin-top:18px;
      padding:18px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(233,228,236,.12);
      border-radius:18px;
    }
    .focus-box .focus-title{
      font-weight:900;
      color:#FFFDF9;
      margin-bottom:8px;
    }
    .focus-box ul{
      padding-left:18px;
      margin:0;
      color:#E9E4EC;
      line-height:1.78;
    }
    .focus-box li{margin-bottom:6px}
    .news-side .btn-soft{
      margin-top:18px;
    }

    .case-grid{
      display:grid;
      gap:18px;
    }
    .case-main{
      background:linear-gradient(145deg, #17131F 0%, #201A2A 100%);
      color:#E9E4EC;
      border-radius:26px;
      border:1px solid var(--line-dark);
      padding:28px;
      box-shadow:var(--shadow-strong);
      height:100%;
    }
    .case-main .topline{
      display:flex;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
      margin-bottom:14px;
    }
    .case-main h3{
      margin:0 0 10px;
      font-size:1.6rem;
      line-height:1.25;
      font-weight:900;
      letter-spacing:-.02em;
    }
    .case-main p{
      margin:0;
      color:#E9E4EC;
      opacity:.88;
      line-height:1.86;
    }
    .case-main .bullet{
      margin:18px 0 22px;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .case-main .bullet li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#E9E4EC;
    }
    .case-main .bullet i{
      color:var(--accent);
      margin-top:4px;
    }
    .case-aside{
      display:grid;
      gap:14px;
      height:100%;
    }
    .case-row{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:18px;
      padding:16px 18px;
      box-shadow:var(--shadow);
    }
    .case-row .row-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:8px;
    }
    .case-row h4{
      margin:0;
      font-size:1rem;
      font-weight:900;
    }
    .case-row p{
      margin:0;
      color:var(--muted);
      line-height:1.72;
      font-size:.94rem;
    }

    .plans-grid{
      display:grid;
      gap:18px;
    }
    .plan-card{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:24px;
      padding:26px;
      box-shadow:var(--shadow);
      height:100%;
      transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);
    }
    .plan-card:hover{
      transform:translateY(-3px);
      border-color:rgba(199,243,74,.85);
    }
    .plan-card.featured{
      background:linear-gradient(145deg, #17131F 0%, #201A2A 100%);
      color:#E9E4EC;
      border-color:var(--accent);
      box-shadow:var(--shadow-strong);
    }
    .plan-tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 11px;
      border-radius:var(--radius-pill);
      background:rgba(199,243,74,.14);
      color:#17131F;
      font-size:.78rem;
      font-weight:900;
      margin-bottom:14px;
    }
    .plan-card.featured .plan-tag{
      background:var(--accent);
      color:#17131F;
    }
    .plan-card h3{
      margin:0 0 12px;
      font-size:1.22rem;
      font-weight:900;
      line-height:1.35;
    }
    .price-line{
      display:flex;
      align-items:flex-end;
      gap:10px;
      margin:16px 0 12px;
    }
    .price-value{
      font-size:2.35rem;
      line-height:1;
      font-weight:950;
      letter-spacing:-.03em;
      color:inherit;
    }
    .price-unit{
      color:var(--muted);
      font-size:.92rem;
      padding-bottom:4px;
    }
    .plan-card.featured .price-unit,
    .plan-card.featured .plan-desc,
    .plan-card.featured li{color:#A9A0B1}
    .plan-desc{
      margin:0;
      line-height:1.82;
      color:var(--muted);
      font-size:.95rem;
    }
    .plan-list{
      list-style:none;
      padding:0;
      margin:18px 0 22px;
      display:grid;
      gap:10px;
    }
    .plan-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      line-height:1.7;
      color:inherit;
    }
    .plan-list i{
      color:var(--accent);
      margin-top:3px;
    }
    .plan-note{
      font-size:.86rem;
      color:var(--muted);
      line-height:1.7;
      margin-top:10px;
    }
    .plan-card.featured .plan-note{color:#A9A0B1}

    .accordion-wrap{
      background:var(--panel);
      border:1px solid var(--line);
      border-radius:24px;
      padding:8px;
      box-shadow:var(--shadow);
    }
    .accordion-item{
      border:0;
      background:transparent;
      margin-bottom:10px;
    }
    .accordion-button{
      border-radius:18px !important;
      background:#FFFDF9;
      color:var(--ink);
      font-weight:800;
      padding:18px 18px;
      box-shadow:none !important;
      border:1px solid var(--line);
    }
    .accordion-button:not(.collapsed){
      background:#F9F5EC;
      color:var(--ink);
      border-color:rgba(199,243,74,.85);
      box-shadow:none;
    }
    .accordion-button:focus{
      box-shadow:0 0 0 .2rem rgba(199,243,74,.16) !important;
    }
    .accordion-button::after{
      background-size:1rem;
      filter:none;
      opacity:.8;
    }
    .accordion-body{
      background:transparent;
      color:var(--muted);
      line-height:1.86;
      padding:16px 18px 6px;
    }

    .cta-band{
      padding:0 0 72px;
    }
    .cta-shell{
      position:relative;
      overflow:hidden;
      border-radius:28px;
      background:linear-gradient(145deg, #17131F 0%, #211B2E 100%);
      color:#E9E4EC;
      border:1px solid var(--line-dark);
      padding:30px;
      box-shadow:var(--shadow-strong);
    }
    .cta-shell::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
      background-size:46px 46px;
      opacity:.2;
      pointer-events:none;
    }
    .cta-shell > *{position:relative; z-index:1}
    .cta-shell h2{
      margin:0 0 12px;
      font-size:clamp(1.7rem, 3vw, 2.7rem);
      line-height:1.2;
      font-weight:900;
      letter-spacing:-.03em;
    }
    .cta-shell p{
      margin:0;
      max-width:760px;
      line-height:1.84;
      color:#E9E4EC;
      opacity:.9;
    }
    .cta-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:22px;
    }
    .cta-kpis{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:18px;
    }
    .cta-kpi{
      padding:10px 14px;
      border-radius:16px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(233,228,236,.12);
      color:#E9E4EC;
      font-size:.88rem;
      font-weight:700;
    }

    .site-footer{
      background:var(--dark);
      color:#E9E4EC;
      border-top:1px solid var(--line-dark);
      padding:34px 0 28px;
    }
    .footer-top{
      display:flex;
      justify-content:space-between;
      gap:22px;
      flex-wrap:wrap;
      padding-bottom:18px;
      border-bottom:1px solid rgba(58,50,70,.9);
      margin-bottom:18px;
    }
    .footer-brand{
      display:flex;
      align-items:flex-start;
      gap:12px;
      max-width:520px;
    }
    .footer-brand .brand-mark{
      width:40px;
      height:40px;
      border-radius:13px;
    }
    .footer-brand h3{
      margin:0 0 8px;
      font-size:1.1rem;
      font-weight:900;
      color:#FFFDF9;
    }
    .footer-brand p{
      margin:0;
      color:#A9A0B1;
      line-height:1.8;
      font-size:.94rem;
    }
    .footer-nav{
      display:flex;
      gap:10px 16px;
      flex-wrap:wrap;
      align-items:center;
    }
    .footer-nav a{
      color:#E9E4EC;
      font-weight:700;
      padding:6px 0;
    }
    .footer-nav a:hover{color:var(--accent)}
    .footer-meta{
      display:flex;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      color:#A9A0B1;
      font-size:.88rem;
      line-height:1.7;
    }
    .footer-meta strong{color:#FFFDF9}

    .label-row{
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
    }
    .label{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border-radius:var(--radius-pill);
      background:rgba(199,243,74,.14);
      color:#17131F;
      font-size:.78rem;
      font-weight:900;
    }
    .label.orange{
      background:rgba(255,118,92,.12);
      color:#FF765C;
    }
    .label.dark{
      background:#EBE5DA;
      color:#463A54;
    }

    .shadow-soft{box-shadow:var(--shadow)}
    .border-soft{border:1px solid var(--line)}
    .rounded-xxl{border-radius:28px}

    .section-spacer{height:6px}

    .focusable:focus-visible,
    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible{
      outline:none;
      box-shadow:0 0 0 .2rem rgba(199,243,74,.2);
    }

    @media (max-width: 1199.98px){
      .nav-search{min-width:280px}
      .hero-shell{padding:28px}
      .section-pad{padding:70px 0}
    }
    @media (max-width: 991.98px){
      .navbar-brand{min-width:unset}
      .nav-search{
        width:100%;
        min-width:0;
        margin-top:10px;
      }
      .hero-shell{padding:24px}
      .hero h1{font-size:clamp(2.1rem, 7vw, 3.8rem)}
      .hero-kpis{max-width:none}
      .section-head{
        align-items:flex-start;
        flex-direction:column;
      }
      .section-pad{padding:62px 0}
      .cta-shell,.case-main,.news-side{padding:24px}
    }
    @media (max-width: 767.98px){
      .hero{padding-top:20px}
      .hero-shell{border-radius:24px}
      .hero-actions{gap:10px}
      .hero-actions .btn,
      .cta-actions .btn{
        width:100%;
      }
      .hero-kpis{
        grid-template-columns:1fr;
      }
      .channel-strip .container{
        padding:12px 0;
      }
      .channel-status{
        width:100%;
        justify-content:space-between;
      }
      .section-pad{padding:54px 0}
      .category-card,
      .plan-card,
      .info-card,
      .route-step,
      .preview-card,
      .news-item,
      .case-row{
        border-radius:18px;
      }
      .footer-top{
        flex-direction:column;
      }
      .footer-nav{
        gap:8px 14px;
      }
    }
    @media (max-width: 575.98px){
      .site-header .navbar{padding:12px 0}
      .brand-title{font-size:.98rem}
      .brand-sub{font-size:.72rem}
      .hero h1{font-size:2.1rem}
      .hero-desc{font-size:1rem}
      .hero-shell,
      .soft-slab,
      .cta-shell{
        padding:20px;
      }
      .preview-top{
        flex-direction:column;
        align-items:flex-start;
      }
      .section-title{font-size:1.55rem}
      .section-desc{font-size:.96rem}
      .countdown{
        flex-direction:column;
        align-items:flex-start;
      }
      .news-item{
        flex-direction:column;
      }
      .news-item .side{
        margin-top:0;
      }
      .price-value{font-size:2rem}
    }

/* roulang page: category1 */
:root{
      --ink:#17131F;
      --ink-2:#29252F;
      --muted:#716B78;
      --muted-dark:#A9A0B1;
      --paper:#F5F3EF;
      --card:#FFFDF9;
      --line:#DDD8D0;
      --line-dark:#3A3246;
      --lime:#C7F34A;
      --lime-2:#D7FF63;
      --coral:#FF765C;
      --purple:#241C2F;
      --radius-sm:10px;
      --radius-md:14px;
      --radius-lg:18px;
      --shadow:0 10px 30px rgba(35,27,45,.08);
      --shadow-strong:0 18px 50px rgba(23,19,31,.16);
      --ease:all .22s ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;
      background:var(--paper);
      color:var(--ink-2);
      line-height:1.78;
      text-rendering:optimizeLegibility;
    }
    a{color:inherit;text-decoration:none;transition:var(--ease)}
    a:hover{color:var(--lime)}
    img{max-width:100%;height:auto;display:block}
    button,input,select{font:inherit}
    .container{max-width:1200px}
    ::selection{background:var(--lime);color:var(--ink)}
    .site-header{
      position:sticky;
      top:0;
      z-index:1030;
      background:var(--ink);
      border-bottom:1px solid var(--line-dark);
      box-shadow:0 8px 24px rgba(10,8,14,.18);
    }
    .navbar{padding:14px 0;background:var(--ink)}
    .navbar-brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:250px;
      color:var(--card);
    }
    .brand-mark{
      width:42px;
      height:42px;
      border-radius:12px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:var(--lime);
      color:var(--ink);
      box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);
      flex:0 0 auto;
    }
    .brand-mark i{font-size:20px}
    .brand-title{
      display:block;
      color:var(--card);
      font-weight:900;
      letter-spacing:.2px;
      line-height:1.2;
      font-size:17px;
    }
    .brand-sub{
      display:block;
      margin-top:2px;
      color:var(--muted-dark);
      font-size:12px;
      line-height:1.25;
    }
    .navbar-toggler{
      border:1px solid var(--line-dark);
      border-radius:10px;
      padding:8px 10px;
      color:var(--card);
    }
    .navbar-toggler:focus{box-shadow:0 0 0 3px rgba(199,243,74,.25)}
    .navbar-toggler-icon{
      background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,253,249,.88%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    .navbar-nav .nav-link{
      color:#E9E4EC;
      font-weight:800;
      font-size:14px;
      padding:9px 14px !important;
      border-radius:999px;
      position:relative;
    }
    .navbar-nav .nav-link:hover{
      color:var(--lime);
      background:rgba(255,255,255,.06);
    }
    .navbar-nav .nav-link.active{
      color:var(--ink);
      background:var(--lime);
    }
    .nav-search{
      min-width:300px;
      height:42px;
      display:flex;
      align-items:center;
      gap:8px;
      padding:0 6px 0 13px;
      background:#261F31;
      border:1px solid var(--line-dark);
      border-radius:999px;
    }
    .nav-search .form-control{
      height:34px;
      border:0;
      background:transparent;
      color:var(--card);
      box-shadow:none;
      padding:4px 2px;
      font-size:14px;
    }
    .nav-search .form-control::placeholder{color:#91879B}
    .nav-search:focus-within{
      border-color:var(--lime);
      box-shadow:0 0 0 3px rgba(199,243,74,.14);
    }
    .btn{
      border-radius:999px;
      font-weight:900;
      letter-spacing:.1px;
      transition:var(--ease);
      border-width:1px;
      min-height:40px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:9px 17px;
    }
    .btn-sm{min-height:32px;padding:5px 13px;font-size:13px}
    .btn-main{
      background:var(--lime);
      border-color:var(--lime);
      color:var(--ink);
      box-shadow:0 8px 18px rgba(199,243,74,.16);
    }
    .btn-main:hover,.btn-main:focus{
      background:var(--lime-2);
      border-color:var(--lime-2);
      color:var(--ink);
      transform:translateY(-1px);
      box-shadow:0 12px 24px rgba(199,243,74,.24);
    }
    .btn-darkline{
      color:var(--card);
      background:transparent;
      border-color:var(--line-dark);
    }
    .btn-darkline:hover,.btn-darkline:focus{
      color:var(--lime);
      border-color:var(--lime);
      background:rgba(199,243,74,.08);
    }
    .btn-soft{
      background:var(--card);
      color:var(--ink);
      border-color:var(--line);
    }
    .btn-soft:hover{
      border-color:var(--lime);
      color:var(--ink);
      transform:translateY(-1px);
      box-shadow:var(--shadow);
    }
    .channel-strip{
      background:#201927;
      color:var(--muted-dark);
      border-top:1px solid rgba(255,255,255,.04);
      font-size:13px;
    }
    .channel-strip .container{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding-top:9px;
      padding-bottom:9px;
      overflow-x:auto;
    }
    .strip-item{white-space:nowrap}
    .status-dot{
      width:8px;height:8px;border-radius:50%;display:inline-block;
      background:var(--lime);
      margin-right:7px;
      box-shadow:0 0 0 4px rgba(199,243,74,.12);
    }
    .page-hero{
      position:relative;
      overflow:hidden;
      background:linear-gradient(135deg,var(--ink) 0%,#21182B 56%,#16111D 100%);
      color:var(--card);
      padding:74px 0 64px;
      border-bottom:1px solid var(--line-dark);
    }
    .page-hero:before{
      content:"";
      position:absolute;
      inset:0;
      opacity:.14;
      background-image:
        linear-gradient(rgba(199,243,74,.25) 1px,transparent 1px),
        linear-gradient(90deg,rgba(199,243,74,.22) 1px,transparent 1px);
      background-size:44px 44px;
      mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);
    }
    .page-hero .container{position:relative;z-index:1}
    .crumbs{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
      color:var(--muted-dark);
      font-size:14px;
      margin-bottom:22px;
    }
    .crumbs a:hover{color:var(--lime)}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 11px;
      border:1px solid var(--line-dark);
      border-radius:999px;
      background:rgba(255,255,255,.05);
      color:var(--lime);
      font-weight:900;
      font-size:13px;
      margin-bottom:16px;
    }
    h1{
      font-size:clamp(34px,5vw,62px);
      line-height:1.08;
      letter-spacing:-1.4px;
      font-weight:950;
      margin:0 0 18px;
      max-width:760px;
    }
    .hero-lead{
      max-width:680px;
      color:#E9E4EC;
      font-size:18px;
      line-height:1.85;
      margin:0 0 24px;
    }
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
    .invite-panel{
      background:#FFFDF9;
      color:var(--ink-2);
      border:1px solid rgba(199,243,74,.32);
      border-radius:var(--radius-lg);
      padding:22px;
      box-shadow:var(--shadow-strong);
      position:relative;
      overflow:hidden;
    }
    .invite-panel:before{
      content:"精选进度";
      position:absolute;
      top:14px;
      right:-32px;
      transform:rotate(28deg);
      background:var(--coral);
      color:#fff;
      font-size:12px;
      font-weight:900;
      padding:4px 36px;
      letter-spacing:.5px;
    }
    .panel-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding-right:66px;
      margin-bottom:16px;
    }
    .panel-title{font-size:20px;font-weight:950;margin:0;line-height:1.35}
    .badge-live,.tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      border-radius:999px;
      padding:6px 10px;
      font-size:12px;
      font-weight:900;
      line-height:1;
      white-space:nowrap;
    }
    .badge-live{background:#231C2E;color:var(--lime)}
    .tag{background:#F1EEE8;color:var(--muted);border:1px solid var(--line)}
    .tag.hot{background:rgba(255,118,92,.12);color:#B6422E;border-color:rgba(255,118,92,.28)}
    .tag.lime{background:rgba(199,243,74,.20);color:#3A4C00;border-color:rgba(199,243,74,.4)}
    .reward-box{
      border:1px solid var(--line);
      border-radius:var(--radius-md);
      padding:16px;
      background:#F7F4EE;
      margin-bottom:16px;
    }
    .reward-row{
      display:flex;
      justify-content:space-between;
      gap:12px;
      color:var(--muted);
      font-size:14px;
      margin-bottom:10px;
    }
    .reward-row strong{color:var(--ink)}
    .progress{
      height:10px;
      border-radius:999px;
      background:#E4DED5;
      overflow:hidden;
    }
    .progress-bar{
      width:72%;
      background:linear-gradient(90deg,var(--lime),var(--coral));
      border-radius:999px;
    }
    .invite-code{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:12px 14px;
      background:var(--ink);
      color:var(--card);
      border-radius:var(--radius-md);
      border:1px solid var(--line-dark);
      margin-bottom:14px;
    }
    .invite-code span{color:var(--muted-dark);font-size:13px}
    .invite-code strong{color:var(--lime);letter-spacing:.8px}
    .mini-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
    .mini-list li{
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px 0;
      border-top:1px solid var(--line);
      font-size:14px;
      color:var(--muted);
    }
    .mini-list i{color:var(--coral)}
    main{overflow:hidden}
    .section{padding:78px 0}
    .section-sm{padding:56px 0}
    .section-title{
      max-width:760px;
      margin-bottom:30px;
    }
    .section-title .kicker{
      color:#6B7C00;
      font-weight:950;
      font-size:13px;
      letter-spacing:.6px;
      margin-bottom:8px;
      display:inline-flex;
      align-items:center;
      gap:8px;
    }
    .section-title h2{
      font-size:clamp(26px,3vw,40px);
      line-height:1.22;
      font-weight:950;
      letter-spacing:-.6px;
      margin:0 0 12px;
      color:var(--ink);
    }
    .section-title p{
      margin:0;
      color:var(--muted);
      font-size:16px;
      max-width:680px;
    }
    .filter-card{
      margin-top:-34px;
      position:relative;
      z-index:2;
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow);
      padding:18px;
    }
    .filter-card label{
      font-size:13px;
      color:var(--muted);
      font-weight:900;
      margin-bottom:6px;
    }
    .form-control,.form-select{
      border-color:var(--line);
      border-radius:12px;
      min-height:44px;
      color:var(--ink-2);
      background-color:#FFFDF9;
    }
    .form-control:focus,.form-select:focus{
      border-color:var(--lime);
      box-shadow:0 0 0 3px rgba(199,243,74,.20);
    }
    .chip-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:14px;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:8px 12px;
      border-radius:999px;
      background:#F1EEE8;
      border:1px solid var(--line);
      color:var(--muted);
      font-weight:900;
      font-size:13px;
    }
    .chip.active,.chip:hover{
      background:var(--lime);
      border-color:var(--lime);
      color:var(--ink);
    }
    .feature-layout{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:24px;
      align-items:stretch;
    }
    .main-feature{
      background:var(--ink);
      color:var(--card);
      border-radius:var(--radius-lg);
      border:1px solid var(--line-dark);
      padding:26px;
      min-height:390px;
      position:relative;
      overflow:hidden;
      box-shadow:var(--shadow);
    }
    .main-feature:after{
      content:"";
      position:absolute;
      right:-70px;
      bottom:-90px;
      width:240px;
      height:240px;
      background:radial-gradient(circle,rgba(199,243,74,.28),transparent 66%);
    }
    .main-feature h3{
      font-size:30px;
      line-height:1.25;
      font-weight:950;
      margin:18px 0 14px;
      position:relative;
      z-index:1;
    }
    .main-feature p{
      color:#D9D3DE;
      margin:0 0 20px;
      max-width:520px;
      position:relative;
      z-index:1;
    }
    .stat-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      position:relative;
      z-index:1;
      margin-top:26px;
    }
    .stat{
      border:1px solid var(--line-dark);
      border-radius:14px;
      padding:14px;
      background:rgba(255,255,255,.04);
    }
    .stat strong{
      display:block;
      color:var(--lime);
      font-size:24px;
      line-height:1.1;
      font-weight:950;
    }
    .stat span{display:block;color:var(--muted-dark);font-size:12px;margin-top:5px}
    .side-stack{display:grid;gap:16px}
    .quick-card,.content-card,.timeline-card,.faq-card{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius-md);
      box-shadow:var(--shadow);
      transition:var(--ease);
    }
    .quick-card{
      padding:20px;
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:14px;
      align-items:center;
    }
    .quick-card:hover,.content-card:hover,.timeline-card:hover{
      transform:translateY(-3px);
      border-color:var(--lime);
      box-shadow:0 14px 36px rgba(35,27,45,.12);
    }
    .num{
      width:38px;height:38px;border-radius:12px;
      display:flex;align-items:center;justify-content:center;
      background:#231C2E;color:var(--lime);font-weight:950;
      flex:0 0 auto;
    }
    .quick-card h3{font-size:18px;font-weight:950;margin:0 0 4px;color:var(--ink)}
    .quick-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
    .arrow{color:var(--coral);font-size:20px}
    .scenario-wrap{
      background:var(--ink);
      color:var(--card);
      border-radius:var(--radius-lg);
      padding:28px;
      border:1px solid var(--line-dark);
      position:relative;
      overflow:hidden;
    }
    .scenario-wrap:before{
      content:"";
      position:absolute;
      inset:auto 30px 0 auto;
      width:140px;height:140px;
      background:linear-gradient(135deg,transparent 20%,rgba(255,118,92,.18));
      border-radius:24px 24px 0 0;
      transform:skewX(-8deg);
    }
    .timeline{
      display:grid;
      gap:14px;
      position:relative;
      z-index:1;
    }
    .timeline-card{
      display:grid;
      grid-template-columns:120px 1fr 170px;
      gap:18px;
      align-items:center;
      padding:18px;
      box-shadow:none;
      background:#211A2B;
      border-color:var(--line-dark);
      color:var(--card);
    }
    .timeline-card .step{
      color:var(--lime);
      font-weight:950;
      font-size:13px;
    }
    .timeline-card h3{font-size:19px;font-weight:950;margin:0 0 4px;color:var(--card)}
    .timeline-card p{margin:0;color:var(--muted-dark);font-size:14px}
    .timeline-card .meta{
      justify-self:end;
      color:var(--coral);
      font-weight:900;
      font-size:13px;
    }
    .showcase{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:24px;
    }
    .content-card{overflow:hidden}
    .cover{
      min-height:220px;
      background:
        linear-gradient(135deg,rgba(199,243,74,.88),rgba(255,118,92,.78)),
        repeating-linear-gradient(90deg,rgba(23,19,31,.16) 0 1px,transparent 1px 18px);
      display:flex;
      align-items:flex-end;
      padding:20px;
      color:var(--ink);
      font-weight:950;
      font-size:28px;
    }
    .content-card-body{padding:22px}
    .content-card h3{
      font-size:24px;
      line-height:1.3;
      font-weight:950;
      margin:12px 0 10px;
      color:var(--ink);
    }
    .content-card p{color:var(--muted);margin:0 0 16px}
    .list-panel{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      padding:10px;
      box-shadow:var(--shadow);
    }
    .media-item{
      display:grid;
      grid-template-columns:58px 1fr auto;
      gap:14px;
      align-items:center;
      padding:14px;
      border-radius:14px;
      transition:var(--ease);
    }
    .media-item + .media-item{border-top:1px solid var(--line)}
    .media-item:hover{background:#F2EEE6}
    .thumb{
      width:58px;height:58px;border-radius:14px;
      background:linear-gradient(135deg,#2A2235,#C7F34A);
      display:flex;align-items:center;justify-content:center;
      color:var(--ink);font-weight:950;
    }
    .media-item h3{font-size:16px;font-weight:950;margin:0 0 3px;color:var(--ink)}
    .media-item p{font-size:13px;color:var(--muted);margin:0;line-height:1.55}
    .media-item .go{font-size:13px;font-weight:950;color:#546500;white-space:nowrap}
    .cta-band{
      background:linear-gradient(135deg,var(--ink),#241C2F);
      border-radius:var(--radius-lg);
      border:1px solid var(--line-dark);
      padding:34px;
      color:var(--card);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      box-shadow:var(--shadow-strong);
    }
    .cta-band h2{font-size:30px;font-weight:950;margin:0 0 8px}
    .cta-band p{margin:0;color:var(--muted-dark);max-width:680px}
    .accordion{display:grid;gap:12px}
    .accordion-item{
      border:1px solid var(--line);
      border-radius:var(--radius-md) !important;
      overflow:hidden;
      background:var(--card);
      box-shadow:none;
    }
    .accordion-button{
      background:var(--card);
      color:var(--ink);
      font-weight:950;
      padding:18px 20px;
      box-shadow:none !important;
    }
    .accordion-button:not(.collapsed){
      background:#F1EEE8;
      color:var(--ink);
      border-left:4px solid var(--lime);
    }
    .accordion-button:focus{box-shadow:0 0 0 3px rgba(199,243,74,.18) !important}
    .accordion-button::after{
      filter:grayscale(1);
      transition:var(--ease);
    }
    .accordion-body{color:var(--muted);padding:0 20px 20px;line-height:1.8}
    .site-footer{
      background:var(--ink);
      color:var(--card);
      padding:44px 0 28px;
      border-top:1px solid var(--line-dark);
    }
    .footer-top{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:30px;
      padding-bottom:26px;
      border-bottom:1px solid var(--line-dark);
    }
    .footer-brand{
      display:flex;
      gap:14px;
      max-width:620px;
    }
    .footer-brand h3{
      margin:0 0 8px;
      font-size:20px;
      font-weight:950;
    }
    .footer-brand p{
      color:var(--muted-dark);
      margin:0;
      line-height:1.75;
    }
    .footer-nav{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      gap:10px;
    }
    .footer-nav a{
      color:#E9E4EC;
      border:1px solid var(--line-dark);
      border-radius:999px;
      padding:8px 13px;
      font-weight:800;
      font-size:14px;
    }
    .footer-nav a:hover{
      color:var(--ink);
      background:var(--lime);
      border-color:var(--lime);
    }
    .footer-meta{
      display:flex;
      justify-content:space-between;
      gap:16px;
      color:var(--muted-dark);
      font-size:13px;
      padding-top:20px;
    }
    .footer-meta strong{color:var(--card)}
    @media (max-width: 1199px){
      .nav-search{min-width:240px}
      .timeline-card{grid-template-columns:96px 1fr 140px}
    }
    @media (max-width: 991px){
      .navbar-brand{min-width:0}
      .navbar-collapse{
        padding-top:16px;
      }
      .nav-search{
        width:100%;
        min-width:0;
        margin:8px 0 0;
      }
      .navbar-nav .nav-link{display:inline-flex}
      .feature-layout,.showcase{
        grid-template-columns:1fr;
      }
      .page-hero{padding:54px 0 52px}
      .invite-panel{margin-top:26px}
      .filter-card{margin-top:-22px}
      .cta-band{align-items:flex-start;flex-direction:column}
    }
    @media (max-width: 767px){
      .brand-title{font-size:15px}
      .brand-sub{font-size:11px}
      .brand-mark{width:38px;height:38px}
      .section{padding:58px 0}
      .section-sm{padding:42px 0}
      .hero-lead{font-size:16px}
      .hero-actions .btn{width:100%}
      .stat-grid{grid-template-columns:1fr}
      .quick-card{grid-template-columns:auto 1fr}
      .quick-card .arrow{display:none}
      .timeline-card{grid-template-columns:1fr;gap:8px}
      .timeline-card .meta{justify-self:start}
      .media-item{grid-template-columns:48px 1fr}
      .media-item .go{grid-column:2}
      .thumb{width:48px;height:48px}
      .cover{min-height:170px;font-size:22px}
      .footer-top,.footer-meta{
        flex-direction:column;
      }
      .footer-nav{justify-content:flex-start}
    }
    @media (max-width: 520px){
      .navbar-brand{gap:9px}
      .page-hero{padding:42px 0 46px}
      h1{font-size:33px;letter-spacing:-.8px}
      .filter-card,.invite-panel,.main-feature,.scenario-wrap,.cta-band{padding:18px}
      .panel-top{padding-right:44px;align-items:flex-start;flex-direction:column}
      .invite-code{align-items:flex-start;flex-direction:column}
      .chip-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
      .chip{flex:0 0 auto}
    }

/* roulang page: category2 */
:root{
  --bg: #F5F3EF;
  --panel: #FFFDF9;
  --ink: #29252F;
  --muted: #716B78;
  --dark: #17131F;
  --dark-2: #201A2A;
  --dark-3: #3A3246;
  --line: #DDD8D0;
  --line-dark: #4A415A;
  --accent: #C7F34A;
  --accent-2: #FF765C;
  --shadow: 0 10px 30px rgba(35, 27, 45, .08);
  --shadow-lg: 0 18px 42px rgba(35, 27, 45, .12);
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --max: 1232px;
  --t: 220ms cubic-bezier(.2,.8,.2,1);
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(199,243,74,.14), transparent 24%),
    radial-gradient(circle at top right, rgba(255,118,92,.09), transparent 18%),
    linear-gradient(180deg, #F8F6F2 0%, #F5F3EF 36%, #F4F1EB 100%);
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
  line-height:1.75;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; transition:color var(--t), background-color var(--t), border-color var(--t), transform var(--t), box-shadow var(--t), opacity var(--t); }
a:hover{ color:var(--accent-2); }
button,input,select,textarea{ font:inherit; }
::selection{ background:rgba(199,243,74,.45); color:var(--dark); }

.container{
  max-width:var(--max);
}

.site-header{
  position:sticky;
  top:0;
  z-index:1030;
  backdrop-filter:none;
  background:rgba(23,19,31,.96);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 1px 0 rgba(255,255,255,.04);
}

.navbar{
  padding:.9rem 0;
}

.navbar-brand{
  display:flex;
  align-items:center;
  gap:.8rem;
  min-width:0;
  color:#F8F6F1;
}

.brand-mark{
  width:2.65rem;
  height:2.65rem;
  flex:0 0 auto;
  border-radius:14px;
  background:linear-gradient(145deg, rgba(199,243,74,1), rgba(227,255,129,1));
  color:var(--dark);
  display:grid;
  place-items:center;
  box-shadow:0 10px 24px rgba(199,243,74,.22);
  font-size:1.2rem;
}

.brand-text{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.brand-title{
  font-size:1.06rem;
  font-weight:800;
  letter-spacing:.02em;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.brand-sub{
  color:rgba(233,228,236,.7);
  font-size:.82rem;
  line-height:1.2;
  margin-top:.12rem;
}

.navbar-collapse{
  align-items:center;
}

.navbar-nav{
  gap:.15rem;
}

.nav-link{
  color:rgba(233,228,236,.78);
  font-weight:600;
  padding:.7rem .95rem !important;
  border-radius:999px;
  position:relative;
}

.nav-link:hover,
.nav-link:focus{
  color:#fff;
  background:rgba(255,255,255,.06);
}

.nav-link.active{
  color:var(--dark);
  background:var(--accent);
  box-shadow:0 8px 18px rgba(199,243,74,.14);
}

.nav-search{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:290px;
  padding:.35rem .55rem .35rem .8rem;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);
  border-radius:999px;
}

.nav-search .form-control{
  border:0;
  background:transparent;
  color:#fff;
  box-shadow:none;
  padding:.42rem .25rem;
  min-width:0;
}

.nav-search .form-control::placeholder{
  color:rgba(233,228,236,.58);
}

.nav-search .form-control:focus{
  box-shadow:none;
}

.nav-search:focus-within{
  border-color:rgba(199,243,74,.8);
  box-shadow:0 0 0 4px rgba(199,243,74,.12);
}

.btn-main,
.btn-darkline,
.btn-soft{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  border-radius:999px;
  font-weight:700;
  padding:.82rem 1.2rem;
  border:1px solid transparent;
  transition:transform var(--t), box-shadow var(--t), background-color var(--t), border-color var(--t), color var(--t), opacity var(--t);
  white-space:nowrap;
}

.btn-main{
  background:var(--accent);
  color:var(--dark);
  box-shadow:0 10px 20px rgba(199,243,74,.16);
}

.btn-main:hover,
.btn-main:focus{
  background:#d9ff69;
  color:var(--dark);
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(199,243,74,.22);
}

.btn-darkline{
  background:transparent;
  color:#F8F6F1;
  border-color:rgba(255,255,255,.12);
}

.btn-darkline:hover,
.btn-darkline:focus{
  color:#fff;
  border-color:rgba(199,243,74,.75);
  background:rgba(255,255,255,.05);
  transform:translateY(-1px);
}

.btn-soft{
  background:#F1EEE8;
  color:var(--dark);
  border-color:#E3DED6;
}

.btn-soft:hover,
.btn-soft:focus{
  background:#fff;
  border-color:var(--accent);
  color:var(--dark);
  transform:translateY(-1px);
}

.navbar-toggler{
  border-color:rgba(255,255,255,.16);
  box-shadow:none !important;
}

.navbar-toggler-icon{
  filter:invert(1);
}

.navbar-toggler:focus{
  box-shadow:0 0 0 .2rem rgba(199,243,74,.22);
}

.hero-wrap{
  padding:1.2rem 0 1.2rem;
}

.channel-strip{
  margin-top:1rem;
  background:linear-gradient(135deg, rgba(23,19,31,.95), rgba(32,26,42,.95));
  border:1px solid rgba(255,255,255,.08);
  color:#E9E4EC;
  border-radius:16px;
  padding:.9rem 1rem;
  box-shadow:var(--shadow);
}

.channel-strip .tagline{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
}

.stat-chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.34rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#F0EBF4;
  border:1px solid rgba(255,255,255,.08);
  font-size:.92rem;
}

.stat-chip strong{
  color:var(--accent);
  font-weight:800;
}

.state-dot{
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px rgba(199,243,74,.16);
  display:inline-block;
}

.section{
  padding:1.3rem 0;
}

.section-title{
  margin-bottom:1rem;
}

.section-title .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.24rem .75rem;
  border-radius:999px;
  background:rgba(199,243,74,.16);
  color:#435118;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:.8rem;
}

.section-title h2{
  margin:0;
  font-size:1.72rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--dark);
}

.section-title p{
  margin:.7rem 0 0;
  max-width:760px;
  color:var(--muted);
  line-height:1.8;
}

.hero{
  padding:1.4rem 0 1rem;
}

.hero-panel{
  background:
    linear-gradient(135deg, rgba(23,19,31,.98), rgba(32,26,42,.95)),
    radial-gradient(circle at top right, rgba(199,243,74,.14), transparent 28%);
  color:#E9E4EC;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  position:relative;
}

.hero-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.75), transparent 90%);
  pointer-events:none;
  opacity:.35;
}

.hero-copy{
  padding:2.4rem 2.2rem 2.2rem;
  position:relative;
  z-index:1;
}

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.34rem .78rem;
  border-radius:999px;
  background:rgba(199,243,74,.14);
  color:#DAFF86;
  font-size:.88rem;
  font-weight:800;
  margin-bottom:1rem;
  border:1px solid rgba(199,243,74,.24);
}

.hero-copy h1{
  margin:0;
  font-size:clamp(2rem, 4vw, 3.8rem);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.035em;
  color:#fff;
  max-width:12ch;
}

.hero-copy h1 .accent{
  color:var(--accent);
}

.hero-copy p{
  margin:1rem 0 0;
  font-size:1.03rem;
  line-height:1.9;
  color:rgba(233,228,236,.86);
  max-width:42rem;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.4rem;
}

.hero-note{
  margin-top:1rem;
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  color:rgba(233,228,236,.74);
  font-size:.92rem;
}

.hero-note span{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.26rem .62rem;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}

.hero-preview{
  padding:1.2rem 1.2rem 1.2rem 0;
  position:relative;
  z-index:1;
}

.ticket-grid{
  display:grid;
  grid-template-columns:1.3fr .85fr;
  gap:1rem;
  align-items:stretch;
  height:100%;
}

.ticket-main,
.ticket-mini,
.preview-list,
.preview-panel{
  background:var(--panel);
  color:var(--ink);
  border-radius:22px;
  border:1px solid var(--line);
  box-shadow:0 10px 30px rgba(35,27,45,.1);
}

.ticket-main{
  padding:1.35rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:360px;
  position:relative;
  overflow:hidden;
}

.ticket-main::after{
  content:"";
  position:absolute;
  right:-3rem;
  top:-3rem;
  width:11rem;
  height:11rem;
  border-radius:50%;
  background:radial-gradient(circle, rgba(199,243,74,.28) 0%, rgba(199,243,74,.08) 36%, transparent 72%);
}

.ticket-top{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
}

.ticket-label{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.32rem .72rem;
  border-radius:999px;
  background:rgba(199,243,74,.18);
  color:#41530f;
  font-size:.85rem;
  font-weight:800;
}

.ticket-title{
  margin:.8rem 0 .55rem;
  font-size:1.48rem;
  line-height:1.25;
  font-weight:900;
  color:var(--dark);
}

.ticket-desc{
  color:var(--muted);
  margin:0;
  line-height:1.8;
}

.ticket-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.8rem;
  margin-top:1.1rem;
}

.mini-stat{
  background:#F8F6F2;
  border:1px solid #E8E2DA;
  border-radius:16px;
  padding:.82rem .9rem;
}

.mini-stat strong{
  display:block;
  font-size:1.25rem;
  line-height:1.2;
  color:var(--dark);
}

.mini-stat span{
  display:block;
  margin-top:.25rem;
  color:var(--muted);
  font-size:.88rem;
}

.ticket-progress{
  margin-top:1.2rem;
}

.ticket-progress .line{
  height:8px;
  border-radius:999px;
  background:#ECE6DD;
  overflow:hidden;
}

.ticket-progress .line span{
  display:block;
  height:100%;
  width:76%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--accent) 0%, #D9FF69 100%);
}

.ticket-progress .caption{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  color:var(--muted);
  font-size:.9rem;
  margin-top:.45rem;
}

.ticket-mini{
  padding:1rem;
  display:flex;
  flex-direction:column;
  gap:.85rem;
  min-height:0;
}

.mini-tile{
  border-radius:18px;
  padding:.95rem;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #FFFDF9 0%, #FAF7F1 100%);
}

.mini-tile.dark{
  background:linear-gradient(135deg, var(--dark), #252033);
  color:#E9E4EC;
  border-color:rgba(255,255,255,.08);
}

.mini-tile .tile-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.4rem;
}

.mini-tile .tag{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.82rem;
  font-weight:800;
  padding:.22rem .56rem;
  border-radius:999px;
  background:rgba(199,243,74,.14);
  color:#41530f;
}

.mini-tile.dark .tag{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.mini-tile h3{
  font-size:1rem;
  line-height:1.35;
  margin:0;
  font-weight:800;
}

.mini-tile p{
  margin:.38rem 0 0;
  color:inherit;
  opacity:.82;
  font-size:.92rem;
  line-height:1.7;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}

.feature-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  padding:1.2rem;
  box-shadow:var(--shadow);
  min-height:100%;
  transition:transform var(--t), box-shadow var(--t), border-color var(--t);
}

.feature-card:hover{
  transform:translateY(-2px);
  border-color:rgba(199,243,74,.75);
  box-shadow:0 14px 32px rgba(35,27,45,.1);
}

.feature-card.dark{
  background:linear-gradient(135deg, var(--dark), #1F1A29);
  color:#E9E4EC;
  border-color:rgba(255,255,255,.08);
}

.feature-icon{
  width:2.65rem;
  height:2.65rem;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(199,243,74,.14);
  color:#41530f;
  font-size:1.15rem;
  margin-bottom:.9rem;
}

.feature-card.dark .feature-icon{
  background:rgba(255,255,255,.08);
  color:var(--accent);
}

.feature-card h3{
  margin:0 0 .45rem;
  font-size:1.05rem;
  font-weight:800;
  line-height:1.35;
}

.feature-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
  font-size:.95rem;
}

.feature-card.dark p{
  color:rgba(233,228,236,.8);
}

.tag-row{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.9rem;
}

.tag-pill{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.42rem .78rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:#FFF;
  color:var(--ink);
  font-size:.88rem;
  font-weight:700;
}

.tag-pill.active{
  background:rgba(199,243,74,.16);
  border-color:rgba(199,243,74,.58);
  color:#41530f;
}

.flow-wrap{
  background:linear-gradient(180deg, rgba(23,19,31,.96), rgba(23,19,31,.92));
  border-radius:24px;
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow-lg);
  color:#E9E4EC;
}

.flow-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}

.flow-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:1.2rem;
  min-height:100%;
}

.flow-card .step-no{
  width:2rem;
  height:2rem;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--accent);
  color:var(--dark);
  font-weight:900;
  font-size:.9rem;
  margin-bottom:.9rem;
}

.flow-card h3{
  margin:0 0 .45rem;
  color:#fff;
  font-size:1.05rem;
  font-weight:800;
}

.flow-card p{
  margin:0;
  color:rgba(233,228,236,.82);
  line-height:1.8;
  font-size:.95rem;
}

.catalog-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 330px;
  gap:1.2rem;
  align-items:start;
}

.filter-bar{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem;
  box-shadow:var(--shadow);
}

.filter-grid{
  display:grid;
  grid-template-columns:1.25fr .85fr .85fr auto;
  gap:.8rem;
  align-items:center;
}

.filter-bar .form-control,
.filter-bar .form-select{
  min-height:44px;
  border-radius:12px;
  border:1px solid #D9D3CB;
  background:#FFF;
  color:var(--ink);
  box-shadow:none;
}

.filter-bar .form-control:focus,
.filter-bar .form-select:focus{
  border-color:rgba(199,243,74,.9);
  box-shadow:0 0 0 .2rem rgba(199,243,74,.14);
}

.filter-bar .input-group-text{
  background:#FFF;
  border:1px solid #D9D3CB;
  border-right:0;
  border-radius:12px 0 0 12px;
  color:var(--muted);
}

.filter-bar .input-group .form-control{
  border-left:0;
  border-radius:0 12px 12px 0;
}

.filter-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.9rem;
}

.filter-tags .tag-pill{
  cursor:pointer;
  user-select:none;
}

.list-stream{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.content-row{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:1rem;
  align-items:stretch;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem;
  box-shadow:var(--shadow);
  transition:transform var(--t), border-color var(--t), box-shadow var(--t);
}

.content-row:hover{
  transform:translateY(-2px);
  border-color:rgba(199,243,74,.8);
  box-shadow:0 14px 34px rgba(35,27,45,.11);
}

.row-thumb{
  border-radius:16px;
  min-height:140px;
  background:
    linear-gradient(135deg, rgba(23,19,31,.92), rgba(55,48,71,.86)),
    linear-gradient(90deg, rgba(199,243,74,.25), rgba(255,118,92,.14));
  border:1px solid rgba(23,19,31,.08);
  position:relative;
  overflow:hidden;
  padding:1rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.row-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(199,243,74,.18), transparent 28%),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:auto, 28px 28px;
  opacity:.55;
}

.row-thumb .thumb-no{
  position:relative;
  z-index:1;
  display:inline-flex;
  width:2rem;
  height:2rem;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--accent);
  color:var(--dark);
  font-weight:900;
}

.row-thumb .thumb-tag{
  position:relative;
  z-index:1;
  align-self:flex-start;
  padding:.22rem .58rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:.82rem;
  border:1px solid rgba(255,255,255,.1);
}

.row-body{
  min-width:0;
  padding:.1rem 0;
}

.row-body .meta{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom:.7rem;
}

.badge-soft{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.22rem .54rem;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  background:#F4F0E8;
  color:#4C4556;
  border:1px solid #E3DDD5;
}

.badge-hot{
  background:rgba(255,118,92,.12);
  color:#B04834;
  border-color:rgba(255,118,92,.18);
}

.badge-new{
  background:rgba(199,243,74,.18);
  color:#41530f;
  border-color:rgba(199,243,74,.3);
}

.row-body h3{
  margin:0 0 .48rem;
  font-size:1.15rem;
  line-height:1.4;
  font-weight:800;
  color:var(--dark);
}

.row-body p{
  margin:0;
  color:var(--muted);
  line-height:1.8;
}

.row-info{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:1rem;
  min-width:140px;
  text-align:right;
}

.row-time{
  color:var(--muted);
  font-size:.92rem;
}

.row-actions{
  display:flex;
  gap:.6rem;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.side-panel{
  position:sticky;
  top:96px;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.preview-panel{
  padding:1.2rem;
}

.preview-panel h3{
  margin:0 0 .35rem;
  font-size:1.08rem;
  font-weight:900;
  color:var(--dark);
}

.preview-panel p{
  margin:0 0 .9rem;
  color:var(--muted);
  line-height:1.8;
  font-size:.95rem;
}

.preview-list{
  padding:1rem;
}

.preview-item{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:.85rem 0;
  border-bottom:1px dashed #E6E0D8;
}

.preview-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.preview-icon{
  width:2.45rem;
  height:2.45rem;
  border-radius:12px;
  background:rgba(199,243,74,.14);
  color:#41530f;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:1rem;
}

.preview-item h4{
  margin:0;
  font-size:.98rem;
  font-weight:800;
  color:var(--dark);
}

.preview-item p{
  margin:.15rem 0 0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.65;
}

.badge-stack{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.9rem;
}

.metric-box{
  background:linear-gradient(135deg, rgba(23,19,31,.96), rgba(33,28,44,.95));
  color:#E9E4EC;
  border-radius:18px;
  padding:1.2rem;
  border:1px solid rgba(255,255,255,.08);
}

.metric-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.8rem;
  margin-top:.9rem;
}

.metric{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:.9rem;
}

.metric strong{
  display:block;
  font-size:1.2rem;
  color:#fff;
}

.metric span{
  display:block;
  margin-top:.2rem;
  color:rgba(233,228,236,.76);
  font-size:.88rem;
}

.result-wrap{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:1.2rem;
}

.result-grid{
  display:grid;
  grid-template-columns:1.4fr .9fr;
  gap:1rem;
}

.result-main{
  background:linear-gradient(135deg, var(--dark), #211B2C);
  color:#E9E4EC;
  border-radius:20px;
  padding:1.35rem;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}

.result-main::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(199,243,74,.18), transparent 24%),
    radial-gradient(circle at bottom left, rgba(255,118,92,.12), transparent 18%);
  pointer-events:none;
}

.result-main .kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.26rem .62rem;
  border-radius:999px;
  background:rgba(199,243,74,.14);
  color:#DFFF87;
  font-weight:800;
  font-size:.85rem;
}

.result-main h3{
  position:relative;
  z-index:1;
  margin:.9rem 0 .5rem;
  color:#fff;
  font-size:1.45rem;
  line-height:1.25;
  font-weight:900;
}

.result-main p{
  position:relative;
  z-index:1;
  margin:0;
  color:rgba(233,228,236,.84);
  line-height:1.85;
}

.result-side{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.result-card{
  background:#FFFDF9;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1.1rem;
}

.result-card h4{
  margin:0 0 .4rem;
  font-size:1.02rem;
  font-weight:800;
  color:var(--dark);
}

.result-card p{
  margin:0;
  color:var(--muted);
  line-height:1.75;
  font-size:.94rem;
}

.price-grid{
  display:grid;
  grid-template-columns:1.15fr .92fr .92fr;
  gap:1rem;
  align-items:stretch;
}

.plan-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:20px;
  padding:1.25rem;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}

.plan-card.recommended{
  background:linear-gradient(180deg, #FFFFFF 0%, #FDFBF5 100%);
  border-color:rgba(199,243,74,.8);
  box-shadow:0 16px 34px rgba(35,27,45,.12);
}

.plan-tag{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.25rem .62rem;
  border-radius:999px;
  background:rgba(199,243,74,.16);
  color:#41530f;
  font-size:.82rem;
  font-weight:800;
  margin-bottom:.9rem;
}

.plan-card h3{
  margin:0 0 .35rem;
  font-size:1.12rem;
  font-weight:900;
  color:var(--dark);
}

.plan-price{
  display:flex;
  align-items:flex-end;
  gap:.35rem;
  margin:.6rem 0 .85rem;
  color:var(--dark);
}

.plan-price strong{
  font-size:2rem;
  line-height:1;
  font-weight:900;
}

.plan-price span{
  color:var(--muted);
  font-size:.92rem;
  padding-bottom:.2rem;
}

.plan-card p{
  margin:0 0 .95rem;
  color:var(--muted);
  line-height:1.75;
}

.plan-list{
  list-style:none;
  margin:0 0 1rem;
  padding:0;
  display:grid;
  gap:.55rem;
}

.plan-list li{
  display:flex;
  gap:.5rem;
  align-items:flex-start;
  color:var(--ink);
  line-height:1.7;
}

.plan-list i{
  color:#41530f;
  margin-top:.18rem;
}

.plan-card .btn{
  width:100%;
}

.accordion{
  display:grid;
  gap:.8rem;
}

.accordion-item{
  border:1px solid var(--line);
  border-radius:16px !important;
  overflow:hidden;
  background:var(--panel);
  box-shadow:var(--shadow);
}

.accordion-button{
  background:transparent;
  color:var(--dark);
  font-weight:800;
  box-shadow:none !important;
  padding:1rem 1.1rem;
}

.accordion-button:not(.collapsed){
  background:rgba(199,243,74,.12);
  color:var(--dark);
}

.accordion-button:focus{
  box-shadow:0 0 0 .2rem rgba(199,243,74,.14);
}

.accordion-button::after{
  background-size:1rem;
  filter:grayscale(1) contrast(1.1);
}

.accordion-body{
  color:var(--muted);
  line-height:1.85;
  padding:0 1.1rem 1rem;
}

.cta-strip{
  background:linear-gradient(135deg, var(--dark), #251E33);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  color:#E9E4EC;
  padding:1.5rem;
  box-shadow:var(--shadow-lg);
  position:relative;
  overflow:hidden;
}

.cta-strip::before{
  content:"";
  position:absolute;
  inset:auto -20% -40% auto;
  width:320px;
  height:320px;
  background:radial-gradient(circle, rgba(199,243,74,.22), transparent 60%);
  pointer-events:none;
}

.cta-strip h2{
  margin:0;
  font-size:1.7rem;
  font-weight:900;
  color:#fff;
}

.cta-strip p{
  margin:.7rem 0 0;
  max-width:740px;
  color:rgba(233,228,236,.84);
  line-height:1.8;
}

.cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.1rem;
}

.site-footer{
  margin-top:1.4rem;
  background:var(--dark);
  color:#E9E4EC;
  padding:2rem 0 1.4rem;
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
}

.footer-brand{
  display:flex;
  gap:.95rem;
  align-items:flex-start;
  max-width:580px;
}

.footer-brand h3{
  margin:0;
  font-size:1.18rem;
  font-weight:900;
  color:#fff;
}

.footer-brand p{
  margin:.45rem 0 0;
  color:rgba(233,228,236,.8);
  line-height:1.8;
}

.footer-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1rem;
  align-items:center;
}

.footer-nav a{
  color:rgba(233,228,236,.82);
  font-weight:700;
}

.footer-nav a:hover{
  color:var(--accent);
}

.footer-meta{
  margin-top:1.25rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  gap:1rem 1.5rem;
  flex-wrap:wrap;
  justify-content:space-between;
  color:rgba(233,228,236,.72);
  font-size:.92rem;
}

.footer-meta strong{
  color:#fff;
}

.focus-outline:focus,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible{
  outline:none;
  box-shadow:0 0 0 .22rem rgba(199,243,74,.22);
}

@media (max-width: 1199.98px){
  .catalog-layout{
    grid-template-columns:minmax(0, 1fr) 300px;
  }
  .feature-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .price-grid{
    grid-template-columns:1fr 1fr;
  }
  .price-grid .plan-card.recommended{
    grid-column:1 / -1;
  }
}

@media (max-width: 991.98px){
  .nav-search{
    min-width:0;
    width:100%;
    margin-top:1rem;
  }
  .hero-copy{
    padding:1.8rem 1.5rem 0;
  }
  .hero-preview{
    padding:1rem 1.2rem 1.3rem;
  }
  .ticket-grid{
    grid-template-columns:1fr;
  }
  .ticket-main{
    min-height:0;
  }
  .catalog-layout{
    grid-template-columns:1fr;
  }
  .side-panel{
    position:static;
  }
  .flow-grid{
    grid-template-columns:1fr;
  }
  .content-row{
    grid-template-columns:150px minmax(0,1fr);
  }
  .row-info{
    grid-column:1 / -1;
    text-align:left;
    min-width:0;
  }
  .result-grid{
    grid-template-columns:1fr;
  }
  .price-grid{
    grid-template-columns:1fr;
  }
  .filter-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 767.98px){
  .hero-copy h1{
    max-width:none;
    font-size:clamp(1.9rem, 9vw, 2.7rem);
  }
  .hero-copy p{
    font-size:.98rem;
  }
  .section-title h2{
    font-size:1.4rem;
  }
  .feature-grid{
    grid-template-columns:1fr;
  }
  .content-row{
    grid-template-columns:1fr;
  }
  .row-thumb{
    min-height:120px;
  }
  .filter-grid{
    grid-template-columns:1fr;
  }
  .navbar-brand{
    align-items:flex-start;
  }
  .brand-sub{
    white-space:normal;
  }
  .cta-strip{
    padding:1.25rem;
  }
  .footer-top{
    flex-direction:column;
  }
}

@media (max-width: 575.98px){
  .navbar{
    padding:.75rem 0;
  }
  .brand-title{
    font-size:1rem;
  }
  .hero-panel{
    border-radius:20px;
  }
  .hero-copy{
    padding:1.35rem 1.1rem 0;
  }
  .hero-preview{
    padding:.9rem 1.05rem 1.05rem;
  }
  .ticket-stats,
  .metric-grid{
    grid-template-columns:1fr;
  }
  .ticket-main,
  .preview-panel,
  .preview-list,
  .plan-card,
  .result-wrap,
  .filter-bar,
  .feature-card,
  .content-row,
  .accordion-item{
    border-radius:14px;
  }
  .btn-main,
  .btn-darkline,
  .btn-soft{
    width:100%;
  }
  .hero-actions,
  .cta-actions{
    width:100%;
  }
  .hero-actions .btn,
  .cta-actions .btn{
    width:100%;
  }
}
