/* roulang page: index */
:root{
      --bg:#130814;
      --bg-2:#1D0D1F;
      --panel:#2B1730;
      --panel-2:#3A1F2C;
      --primary:#7A1E4D;
      --primary-2:#9C2B62;
      --accent:#FF9F1C;
      --accent-2:#FFD08A;
      --warning:#8A2D2B;
      --light:#F6EFE8;
      --text:#F9F1F4;
      --dark-text:#22151F;
      --muted:#BBA9B4;
      --line:rgba(255,255,255,.12);
      --line-strong:rgba(255,159,28,.38);
      --shadow:0 24px 80px rgba(0,0,0,.36);
      --shadow-soft:0 20px 60px rgba(45,20,35,.14);
      --radius-xl:30px;
      --radius-lg:22px;
      --radius-md:16px;
      --radius-pill:999px;
      --max:1200px;
      --nav-h:64px;
      --ease:cubic-bezier(.2,.8,.2,1);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 20% 10%, rgba(154,43,98,.28), transparent 30%),
        radial-gradient(circle at 86% 18%, rgba(255,159,28,.13), transparent 26%),
        linear-gradient(180deg,var(--bg),var(--bg-2) 42%,#160918 100%);
      line-height:1.7;
      overflow-x:hidden;
    }
    body.lock{overflow:hidden}
    a{color:inherit;text-decoration:none}
    button,input,select{font:inherit}
    button{border:0;cursor:pointer}
    input,select{outline:none}
    .container{width:min(calc(100% - 40px),var(--max));margin:0 auto}
    .skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
    .skip:focus{left:20px;top:20px;width:auto;height:auto;background:var(--accent);color:#24130c;padding:10px 14px;border-radius:12px;z-index:1000}
    .top-strip{
      min-height:38px;
      display:flex;
      align-items:center;
      background:linear-gradient(90deg,var(--accent),#ffbd62 36%,var(--primary) 100%);
      color:#24130c;
      font-size:14px;
      font-weight:800;
      letter-spacing:.02em;
      position:relative;
      overflow:hidden;
    }
    .top-strip:before{
      content:"";
      position:absolute;inset:0;
      background:repeating-linear-gradient(110deg,rgba(255,255,255,.2) 0 8px,transparent 8px 22px);
      opacity:.16;
      animation:movebar 12s linear infinite;
    }
    @keyframes movebar{to{transform:translateX(120px)}}
    .strip-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px}
    .strip-note{display:flex;gap:10px;align-items:center}
    .strip-pill{background:rgba(19,8,20,.9);color:var(--accent-2);border-radius:999px;padding:4px 10px;font-size:12px;white-space:nowrap}
    .site-header{
      position:sticky;
      top:0;
      z-index:90;
      backdrop-filter:blur(18px);
      background:rgba(19,8,20,.72);
      border-bottom:1px solid rgba(122,30,77,.35);
      transition:.25s var(--ease);
    }
    .site-header.scrolled{background:rgba(19,8,20,.96);box-shadow:0 12px 40px rgba(0,0,0,.28)}
    .nav{
      height:var(--nav-h);
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:22px;
    }
    .logo{
      display:flex;align-items:center;gap:10px;
      font-weight:950;
      letter-spacing:-.03em;
      white-space:nowrap;
    }
    .logo-mark{
      width:34px;height:34px;border-radius:13px;
      background:linear-gradient(135deg,var(--accent),var(--primary));
      display:grid;place-items:center;color:#210d18;
      box-shadow:0 10px 28px rgba(255,159,28,.24);
      font-size:18px;
    }
    .logo-text{font-size:17px}
    .nav-links{display:flex;align-items:center;gap:8px}
    .nav-links a{
      color:var(--muted);
      font-weight:750;
      padding:9px 12px;
      border-radius:999px;
      font-size:14px;
      transition:.2s var(--ease);
    }
    .nav-links a:hover,.nav-links a.active{color:var(--text);background:rgba(255,255,255,.08)}
    .nav-tools{display:flex;align-items:center;gap:10px}
    .search{
      display:flex;align-items:center;gap:7px;
      width:220px;
      background:rgba(255,255,255,.08);
      border:1px solid var(--line);
      border-radius:999px;
      padding:8px 12px;
      color:var(--muted);
    }
    .search input{width:100%;background:transparent;border:0;color:var(--text);font-size:13px}
    .search input::placeholder{color:#9c8995}
    .age-mini{border:1px solid rgba(255,159,28,.5);color:var(--accent-2);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;background:rgba(255,159,28,.08)}
    .menu-btn{display:none;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line)}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      padding:13px 18px;border-radius:999px;
      font-weight:900;
      transition:.22s var(--ease);
      border:1px solid transparent;
      line-height:1;
      min-height:46px;
    }
    .btn-primary{background:var(--accent);color:#24130c;box-shadow:0 14px 30px rgba(255,159,28,.24)}
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(255,159,28,.33);border-color:rgba(122,30,77,.8)}
    .btn-secondary{background:rgba(255,255,255,.06);color:var(--text);border-color:var(--line)}
    .btn-secondary:hover{background:rgba(122,30,77,.42);transform:translateY(-2px)}
    .btn-danger{background:var(--warning);color:#fff}
    .btn:focus-visible,.nav a:focus-visible,.menu-btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(255,159,28,.45);outline-offset:3px}
    .hero{
      position:relative;
      min-height:760px;
      display:flex;
      align-items:center;
      overflow:hidden;
      padding:78px 0 92px;
    }
    .hero:before{
      content:"";
      position:absolute;inset:0;
      background:
        linear-gradient(90deg,rgba(19,8,20,.9),rgba(19,8,20,.5)),
        radial-gradient(circle at 55% 32%,rgba(255,159,28,.18),transparent 22%),
        linear-gradient(135deg,rgba(122,30,77,.28),transparent 45%);
      z-index:0;
    }
    .map-lines,.hero:after{
      content:"";
      position:absolute;inset:-10%;
      background-image:
        linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
      background-size:54px 54px;
      mask-image:radial-gradient(circle at 60% 40%,black,transparent 72%);
      opacity:.55;
      z-index:0;
      transform:rotate(-6deg);
    }
    .hero-grid{
      position:relative;z-index:1;
      display:grid;
      grid-template-columns:1.02fr .98fr;
      gap:42px;
      align-items:center;
    }
    .eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line-strong);background:rgba(255,159,28,.1);color:var(--accent-2);padding:7px 12px;border-radius:999px;font-weight:900;font-size:13px}
    .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px rgba(255,159,28,.14)}
    h1,h2,h3,p{margin-top:0}
    h1{
      font-size:clamp(38px,6vw,70px);
      line-height:1.08;
      letter-spacing:-.06em;
      margin:18px 0 18px;
      max-width:920px;
    }
    .hero-desc{font-size:18px;color:#eadde5;max-width:720px;margin-bottom:26px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 22px}
    .hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:680px}
    .metric{padding:14px 16px;border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:18px}
    .metric b{display:block;font-size:24px;color:var(--accent)}
    .metric span{font-size:13px;color:var(--muted)}
    .stage{
      position:relative;
      min-height:520px;
      border-radius:var(--radius-xl);
      background:
        radial-gradient(circle at 72% 18%,rgba(255,159,28,.25),transparent 20%),
        linear-gradient(145deg,rgba(58,31,44,.96),rgba(43,23,48,.72));
      border:1px solid rgba(255,255,255,.12);
      box-shadow:var(--shadow);
      padding:24px;
      overflow:hidden;
    }
    .stage:before{
      content:"";
      position:absolute;inset:26px;
      border:1px dashed rgba(255,159,28,.28);
      border-radius:28px;
      opacity:.9;
    }
    .stage-head{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
    .stage-title{font-weight:950;font-size:18px}
    .countdown{display:flex;gap:7px}
    .timebox{min-width:44px;text-align:center;background:rgba(19,8,20,.75);border:1px solid rgba(255,159,28,.25);border-radius:13px;padding:6px 7px}
    .timebox b{display:block;color:var(--accent);font-size:16px;line-height:1}
    .timebox span{font-size:10px;color:var(--muted)}
    .node-grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    .node{
      position:relative;
      padding:18px;
      min-height:124px;
      border-radius:22px;
      background:rgba(19,8,20,.58);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:inset 0 0 28px rgba(255,255,255,.03);
      transition:.22s var(--ease);
    }
    .node:hover{transform:translateY(-3px);border-color:rgba(255,159,28,.42)}
    .node small{display:inline-flex;color:var(--accent);font-weight:900;margin-bottom:8px}
    .node h3{font-size:18px;margin-bottom:6px}
    .node p{color:var(--muted);font-size:14px;margin:0}
    .node.feature{grid-column:span 2;background:linear-gradient(135deg,rgba(122,30,77,.58),rgba(19,8,20,.62));}
    section{padding:90px 0;position:relative}
    .section-light{background:var(--light);color:var(--dark-text)}
    .section-light .section-lead{color:#6d5c66}
    .section-kicker{color:var(--accent);font-weight:950;letter-spacing:.08em;font-size:13px;margin-bottom:10px}
    .section-title{font-size:clamp(30px,4vw,44px);line-height:1.18;letter-spacing:-.04em;margin-bottom:14px}
    .section-lead{color:var(--muted);font-size:17px;max-width:760px;margin-bottom:34px}
    .intro-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}
    .intro-panel{border-radius:var(--radius-xl);padding:30px;background:linear-gradient(135deg,var(--primary),#321627);box-shadow:var(--shadow-soft);min-height:360px;display:flex;flex-direction:column;justify-content:space-between}
    .intro-panel h2{font-size:38px;line-height:1.16;margin-bottom:16px}
    .intro-panel p{color:#f3dfe8}
    .checks{display:grid;gap:12px}
    .check{display:flex;gap:12px;padding:16px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid var(--line)}
    .check i{font-style:normal;color:var(--accent);font-weight:950}
    .route-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}
    .route-timeline:before{content:"";position:absolute;left:7%;right:7%;top:34px;border-top:2px dashed rgba(255,159,28,.32)}
    .step{position:relative;padding:74px 18px 18px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid var(--line);min-height:190px}
    .step-num{position:absolute;top:17px;left:18px;width:34px;height:34px;border-radius:50%;background:#241018;border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--accent);font-weight:950;z-index:1}
    .step.active{border-color:rgba(255,159,28,.56);box-shadow:0 18px 50px rgba(255,159,28,.08)}
    .step h3{font-size:18px;margin-bottom:8px}
    .step p{color:var(--muted);font-size:14px;margin:0}
    .highlight-wrap{display:grid;grid-template-columns:1.12fr .88fr;gap:22px;align-items:stretch}
    .big-card,.small-card,.plan,.info-card,.proof-item,.collection-card{
      border-radius:var(--radius-lg);
      border:1px solid var(--line);
      background:rgba(255,255,255,.06);
      transition:.22s var(--ease);
    }
    .big-card:hover,.small-card:hover,.plan:hover,.info-card:hover,.collection-card:hover{transform:translateY(-4px);border-color:rgba(255,159,28,.38)}
    .big-card{padding:34px;background:linear-gradient(135deg,rgba(122,30,77,.72),rgba(43,23,48,.86));min-height:420px}
    .big-card h3{font-size:30px;margin-bottom:12px}
    .big-card p{color:#eadde5}
    .tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
    .tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);padding:7px 10px;font-size:13px;color:#eadde5;font-weight:800}
    .tag.dark{color:#5b4853;background:#fff;border-color:#ead5d0}
    .small-stack{display:grid;gap:16px}
    .small-card{padding:22px}
    .small-card h3{font-size:20px;margin-bottom:7px}
    .small-card p{color:var(--muted);margin:0;font-size:15px}
    .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .plan{padding:26px;background:#fff;color:var(--dark-text);box-shadow:var(--shadow-soft);border-color:#eaded8}
    .plan.recommended{border:2px solid var(--accent);transform:translateY(-8px);position:relative}
    .plan.recommended:before{content:"推荐确认";position:absolute;right:18px;top:-14px;background:var(--accent);color:#24130c;border-radius:999px;padding:6px 10px;font-weight:950;font-size:12px}
    .plan h3{font-size:22px;margin-bottom:8px}
    .plan p{color:#685762}
    .plan ul{list-style:none;padding:0;margin:20px 0;display:grid;gap:11px}
    .plan li{display:flex;gap:9px;align-items:flex-start;color:#4e4049}
    .plan li:before{content:"✓";color:var(--primary);font-weight:950}
    .plan .btn{width:100%;margin-top:4px}
    .proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .proof-item{padding:20px;background:rgba(19,8,20,.72)}
    .proof-item b{display:block;color:var(--accent);font-size:24px;margin-bottom:4px}
    .proof-item span{color:var(--muted);font-size:14px}
    .collections{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
    .collection-card{padding:24px;background:#fff;color:var(--dark-text);box-shadow:var(--shadow-soft);border-color:#eaded8}
    .collection-card p{color:#6d5c66;margin-bottom:18px}
    .collection-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eaded8;padding-top:14px;color:var(--primary);font-weight:900}
    .news-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
    .news-list{border-radius:var(--radius-xl);background:rgba(255,255,255,.06);border:1px solid var(--line);overflow:hidden}
    .news-item{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line);transition:.2s}
    .news-item:last-child{border-bottom:0}
    .news-item:hover{background:rgba(255,255,255,.05)}
    .news-date{color:var(--accent);font-weight:950;font-size:13px}
    .news-item h3{font-size:17px;margin:0 0 2px}
    .news-item p{margin:0;color:var(--muted);font-size:14px}
    .arrow{color:var(--accent)}
    .recommend{border-radius:var(--radius-xl);padding:28px;background:linear-gradient(135deg,rgba(255,159,28,.18),rgba(122,30,77,.38));border:1px solid rgba(255,159,28,.26)}
    .recommend h3{font-size:25px}
    .recommend p{color:#eadde5}
    .cta-section{padding:90px 0;background:linear-gradient(135deg,#7A1E4D,#261020 70%);overflow:hidden}
    .cta-box{display:grid;grid-template-columns:1fr .88fr;gap:28px;align-items:center}
    .cta-box h2{font-size:clamp(30px,4vw,48px);line-height:1.15;margin-bottom:14px}
    .cta-box p{color:#f2dfe7}
    .form-card{background:rgba(19,8,20,.72);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-xl);padding:26px;box-shadow:var(--shadow)}
    .field{display:grid;gap:8px;margin-bottom:14px}
    .field label{font-size:14px;color:#eadde5;font-weight:850}
    select,.input{
      width:100%;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.08);
      color:var(--text);
      border-radius:16px;
      padding:13px 14px;
    }
    select:focus,.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,159,28,.12)}
    select option{background:#1D0D1F;color:#fff}
    .checkbox{display:flex;gap:10px;align-items:flex-start;color:#eadde5;font-size:14px;margin:14px 0 18px}
    .checkbox input{width:18px;height:18px;accent-color:var(--accent);margin-top:4px}
    .form-error{display:none;color:#ffd0cb;background:rgba(138,45,43,.28);border:1px solid rgba(138,45,43,.55);border-radius:14px;padding:10px 12px;margin-bottom:14px;font-size:14px}
    .faq-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:26px}
    .faq-item{border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:20px;margin-bottom:12px;overflow:hidden}
    .faq-q{width:100%;display:flex;justify-content:space-between;gap:14px;align-items:center;background:transparent;color:var(--text);padding:18px 20px;text-align:left;font-weight:950}
    .faq-a{display:none;padding:0 20px 18px;color:var(--muted);font-size:15px}
    .faq-item.active{border-color:rgba(255,159,28,.42);box-shadow:inset 5px 0 0 var(--accent);background:rgba(122,30,77,.24)}
    .faq-item.active .faq-a{display:block}
    .footer{
      padding:64px 0 28px;
      background:#0d050e;
      border-top:1px solid rgba(122,30,77,.45);
      position:relative;
      overflow:hidden;
    }
    .footer: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:42px 42px;opacity:.42}
    .footer-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:26px}
    .footer h3{font-size:16px;margin-bottom:12px}
    .footer p,.footer a,.copyright{color:var(--muted);font-size:14px}
    .footer a{display:block;margin:8px 0;transition:.2s}
    .footer a:hover{color:var(--accent)}
    .footer-brand{font-weight:950;font-size:20px;margin-bottom:10px}
    .adult-warning{display:inline-flex;margin-top:14px;background:rgba(138,45,43,.32);border:1px solid rgba(138,45,43,.62);border-radius:999px;padding:7px 10px;color:#ffd0cb;font-weight:850;font-size:13px}
    .copyright{position:relative;margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .mobile-drawer{
      position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:#160918;z-index:120;
      transform:translateX(105%);transition:.25s var(--ease);padding:20px;border-left:1px solid rgba(255,159,28,.22);box-shadow:var(--shadow)
    }
    .mobile-drawer.open{transform:translateX(0)}
    .drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
    .drawer-links a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-weight:900;color:#eadde5}
    .drawer-foot{position:absolute;left:20px;right:20px;bottom:24px;color:var(--muted);font-size:13px}
    .overlay{position:fixed;inset:0;background:rgba(0,0,0,.64);z-index:110;display:none}
    .overlay.show{display:block}
    .age-modal{
      position:fixed;inset:0;z-index:200;display:none;place-items:center;
      background:rgba(7,2,8,.82);backdrop-filter:blur(12px);padding:20px;
    }
    .age-modal.show{display:grid}
    .age-card{width:min(100%,520px);background:linear-gradient(145deg,#2B1730,#140814);border:1px solid rgba(255,159,28,.28);border-radius:30px;padding:30px;box-shadow:var(--shadow)}
    .age-card h2{font-size:30px;line-height:1.18;margin:16px 0 10px}
    .age-card p{color:var(--muted)}
    .age-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
    @media (max-width:1024px){
      .search{display:none}
      .hero{min-height:auto;padding:62px 0 76px}
      .hero-grid,.intro-layout,.highlight-wrap,.cta-box,.faq-wrap,.news-layout{grid-template-columns:1fr}
      .stage{min-height:auto}
      .route-timeline{grid-template-columns:1fr 1fr}
      .route-timeline:before{display:none}
      .plans,.proof-strip{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width:760px){
      .container{width:min(calc(100% - 28px),var(--max))}
      .top-strip{font-size:12px}
      .strip-inner{justify-content:center}
      .strip-pill{display:none}
      .nav{grid-template-columns:1fr auto auto;gap:10px}
      .nav-links,.nav-tools .btn{display:none}
      .menu-btn{display:inline-grid;place-items:center}
      .age-mini{font-size:11px;padding:6px 8px}
      .logo-text{font-size:15px;max-width:190px;overflow:hidden;text-overflow:ellipsis}
      h1{font-size:40px}
      .hero-desc{font-size:16px}
      .hero-actions .btn{width:100%}
      .hero-metrics{grid-template-columns:1fr}
      .node-grid,.collections,.plans,.proof-strip{grid-template-columns:1fr}
      .node.feature{grid-column:auto}
      section{padding:64px 0}
      .intro-panel h2{font-size:30px}
      .route-timeline{grid-template-columns:1fr}
      .step{padding-top:66px}
      .news-item{grid-template-columns:1fr;gap:6px}
      .footer-grid{grid-template-columns:1fr}
      .copyright{display:block}
      .stage-head{align-items:flex-start;gap:12px;flex-direction:column}
      .countdown{width:100%;justify-content:space-between}
      .timebox{flex:1}
    }
    @media (max-width:520px){
      .hero{padding-top:46px}
      .stage{padding:18px;border-radius:24px}
      .btn{padding:12px 15px}
      .section-title{font-size:30px}
      .faq-q{font-size:15px}
      .age-actions .btn{width:100%}
    }

/* roulang page: category2 */
:root{
      --bg:#130814;
      --bg-2:#1D0D1F;
      --bg-3:#2B1730;
      --primary:#7A1E4D;
      --primary-dark:#4B1232;
      --accent:#FF9F1C;
      --accent-2:#FFC166;
      --panel:#F6EFE8;
      --panel-2:#FFF9F2;
      --text:#22151F;
      --text-light:#F9F1F4;
      --muted:#7D6875;
      --muted-light:#BBA9B4;
      --danger:#8A2D2B;
      --border:rgba(122,30,77,.18);
      --border-light:rgba(255,255,255,.14);
      --shadow:0 24px 70px rgba(45,20,35,.14);
      --shadow-dark:0 24px 70px rgba(0,0,0,.32);
      --radius-sm:14px;
      --radius:22px;
      --radius-lg:30px;
      --container:1200px;
      --ease:.25s ease;
    }

    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      background:var(--panel);
      color:var(--text);
      line-height:1.7;
      min-height:100vh;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    button,input,select{font:inherit}
    button{cursor:pointer;border:none;background:none}
    input,select{outline:none}
    img{max-width:100%;display:block}
    ::selection{background:var(--accent);color:#24101b}
    .container{width:min(calc(100% - 40px),var(--container));margin:0 auto}
    .skip{position:absolute;left:-999px;top:auto}
    .skip:focus{left:16px;top:16px;background:var(--accent);color:#20101b;padding:10px 14px;border-radius:999px;z-index:9999}

    .top-strip{
      background:linear-gradient(90deg,var(--accent),#ffd58a 35%,var(--primary) 100%);
      color:#24101b;
      font-size:14px;
      font-weight:800;
      letter-spacing:.02em;
      height:38px;
      display:flex;
      align-items:center;
      overflow:hidden;
      position:relative;
      z-index:50;
    }
    .top-strip .container{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:18px;
      white-space:nowrap;
    }
    .strip-pill{
      background:rgba(19,8,20,.86);
      color:var(--text-light);
      border-radius:999px;
      padding:3px 10px;
      font-size:12px;
    }

    .site-header{
      position:sticky;
      top:0;
      z-index:60;
      background:rgba(29,13,31,.88);
      backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(255,255,255,.08);
      transition:background var(--ease),box-shadow var(--ease),border-color var(--ease);
    }
    .site-header.scrolled{
      background:#160a18;
      box-shadow:0 12px 40px rgba(0,0,0,.28);
      border-color:rgba(122,30,77,.35);
    }
    .nav{
      height:64px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .logo{
      display:flex;
      align-items:center;
      gap:10px;
      color:var(--text-light);
      font-weight:900;
      letter-spacing:-.02em;
      flex:0 0 auto;
    }
    .logo-mark{
      width:36px;
      height:36px;
      display:grid;
      place-items:center;
      border-radius:13px;
      background:linear-gradient(135deg,var(--accent),#ffcf7b);
      color:#25101b;
      box-shadow:0 0 0 4px rgba(255,159,28,.15);
      font-weight:950;
    }
    .logo-text{font-size:17px}
    .nav-links{
      display:flex;
      align-items:center;
      gap:4px;
      padding:4px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      border-radius:999px;
    }
    .nav-links a{
      color:var(--muted-light);
      font-size:14px;
      font-weight:800;
      padding:8px 13px;
      border-radius:999px;
      transition:color var(--ease),background var(--ease),transform var(--ease);
      white-space:nowrap;
    }
    .nav-links a:hover{
      color:var(--text-light);
      background:rgba(255,255,255,.08);
      transform:translateY(-1px);
    }
    .nav-links a.active{
      color:#25101b;
      background:var(--accent);
    }
    .nav-tools{
      display:flex;
      align-items:center;
      gap:10px;
      flex:0 0 auto;
    }
    .search{
      width:210px;
      height:38px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.07);
      border-radius:999px;
      display:flex;
      align-items:center;
      gap:8px;
      padding:0 12px;
      color:var(--muted-light);
      transition:border-color var(--ease),background var(--ease),box-shadow var(--ease);
    }
    .search:focus-within{
      border-color:rgba(255,159,28,.75);
      box-shadow:0 0 0 4px rgba(255,159,28,.12);
      background:rgba(255,255,255,.1);
    }
    .search input{
      width:100%;
      border:0;
      background:transparent;
      color:var(--text-light);
      font-size:13px;
    }
    .search input::placeholder{color:#a995a4}
    .age-mini{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:42px;
      height:32px;
      border-radius:999px;
      background:rgba(138,45,43,.88);
      color:#fff;
      font-size:13px;
      font-weight:900;
      border:1px solid rgba(255,255,255,.12);
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:42px;
      padding:11px 18px;
      border-radius:999px;
      font-weight:900;
      font-size:14px;
      transition:transform var(--ease),box-shadow var(--ease),background var(--ease),border-color var(--ease),color var(--ease);
      border:1px solid transparent;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-2px)}
    .btn:focus-visible,.menu-btn:focus-visible,.faq-q:focus-visible,.toc a:focus-visible{
      outline:3px solid rgba(255,159,28,.45);
      outline-offset:3px;
    }
    .btn-primary{
      background:var(--accent);
      color:#24101b;
      box-shadow:0 12px 28px rgba(255,159,28,.22);
    }
    .btn-primary:hover{
      border-color:var(--primary);
      box-shadow:0 18px 38px rgba(255,159,28,.32);
    }
    .btn-secondary{
      background:rgba(255,255,255,.06);
      color:var(--text-light);
      border-color:rgba(255,255,255,.22);
    }
    .btn-secondary:hover{background:rgba(122,30,77,.36)}
    .btn-dark{
      background:var(--primary);
      color:#fff;
      box-shadow:0 16px 36px rgba(122,30,77,.18);
    }
    .btn-dark:hover{background:var(--primary-dark)}
    .menu-btn{
      display:none;
      width:42px;
      height:42px;
      border-radius:14px;
      color:#fff;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      font-size:20px;
    }

    .mobile-drawer{
      position:fixed;
      inset:0 0 0 auto;
      width:min(88vw,360px);
      background:#180a1a;
      z-index:100;
      transform:translateX(105%);
      transition:transform var(--ease);
      padding:22px;
      box-shadow:-30px 0 80px rgba(0,0,0,.45);
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .mobile-drawer.open{transform:translateX(0)}
    .drawer-head{display:flex;align-items:center;justify-content:space-between;color:#fff}
    .drawer-close{
      color:#fff;
      width:40px;
      height:40px;
      border-radius:12px;
      background:rgba(255,255,255,.08);
    }
    .drawer-links{display:grid;gap:10px;margin-top:10px}
    .drawer-links a{
      color:var(--text-light);
      padding:14px 12px;
      border-radius:16px;
      background:rgba(255,255,255,.06);
      font-weight:800;
    }
    .drawer-links a.active{background:var(--accent);color:#24101b}
    .drawer-note{
      margin-top:auto;
      color:var(--muted-light);
      font-size:13px;
      border-top:1px solid rgba(255,255,255,.1);
      padding-top:16px;
    }
    .drawer-mask{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.55);
      z-index:90;
      opacity:0;
      pointer-events:none;
      transition:opacity var(--ease);
    }
    .drawer-mask.open{opacity:1;pointer-events:auto}

    .page-hero{
      position:relative;
      color:var(--text-light);
      background:
        radial-gradient(circle at 12% 10%,rgba(255,159,28,.2),transparent 26%),
        radial-gradient(circle at 82% 22%,rgba(122,30,77,.42),transparent 34%),
        linear-gradient(135deg,#130814 0%,#2b1230 58%,#160817 100%);
      overflow:hidden;
      padding:72px 0 54px;
    }
    .page-hero:before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
      background-size:54px 54px;
      opacity:.35;
      mask-image:radial-gradient(circle at 60% 30%,#000,transparent 72%);
    }
    .page-hero:after{
      content:"";
      position:absolute;
      right:-120px;
      top:-160px;
      width:420px;
      height:420px;
      border:1px dashed rgba(255,159,28,.28);
      border-radius:42% 58% 60% 40%;
      transform:rotate(18deg);
    }
    .hero-layout{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);
      gap:42px;
      align-items:center;
    }
    .breadcrumb{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
      color:var(--muted-light);
      font-size:14px;
      margin-bottom:20px;
    }
    .breadcrumb a:hover{color:var(--accent)}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      border:1px solid rgba(255,159,28,.34);
      background:rgba(255,159,28,.12);
      color:#ffcf7b;
      padding:7px 12px;
      border-radius:999px;
      font-size:13px;
      font-weight:900;
      margin-bottom:18px;
    }
    .page-hero h1{
      font-size:clamp(34px,5.2vw,64px);
      line-height:1.08;
      letter-spacing:-.05em;
      max-width:780px;
      margin-bottom:20px;
    }
    .lead{
      font-size:18px;
      color:#dfcbd6;
      max-width:720px;
      line-height:1.85;
      margin-bottom:28px;
    }
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .hero-badges{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:24px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 12px;
      border-radius:999px;
      font-size:13px;
      font-weight:850;
      border:1px solid rgba(255,255,255,.13);
      background:rgba(255,255,255,.07);
      color:#f5e7ee;
    }
    .badge.warning{background:rgba(138,45,43,.28);border-color:rgba(255,255,255,.12)}
    .rule-panel{
      position:relative;
      background:rgba(246,239,232,.96);
      color:var(--text);
      border-radius:var(--radius-lg);
      padding:24px;
      box-shadow:var(--shadow-dark);
      border:1px solid rgba(255,255,255,.18);
      overflow:hidden;
    }
    .rule-panel:before{
      content:"规则清单";
      position:absolute;
      right:18px;
      top:18px;
      background:var(--accent);
      color:#25101b;
      font-weight:950;
      font-size:12px;
      padding:5px 10px;
      border-radius:999px;
      transform:rotate(4deg);
    }
    .panel-title{
      font-size:22px;
      font-weight:950;
      letter-spacing:-.03em;
      margin-bottom:18px;
      padding-right:90px;
    }
    .check-route{
      display:grid;
      gap:12px;
    }
    .route-item{
      display:grid;
      grid-template-columns:42px 1fr;
      gap:12px;
      align-items:start;
      padding:14px;
      background:#fffaf5;
      border:1px solid rgba(122,30,77,.14);
      border-radius:18px;
      position:relative;
    }
    .route-item:not(:last-child):after{
      content:"";
      position:absolute;
      left:34px;
      bottom:-12px;
      height:12px;
      border-left:2px dashed rgba(122,30,77,.25);
    }
    .route-num{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:15px;
      background:linear-gradient(135deg,var(--primary),#a63269);
      color:#fff;
      font-weight:950;
    }
    .route-item h3{font-size:16px;margin-bottom:2px}
    .route-item p{font-size:13px;color:var(--muted);line-height:1.55}

    main{background:linear-gradient(180deg,var(--panel) 0%,#fff8f0 48%,var(--panel) 100%)}
    section{padding:86px 0}
    .section-head{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:30px;
      margin-bottom:30px;
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:var(--primary);
      font-weight:950;
      font-size:13px;
      letter-spacing:.08em;
      margin-bottom:8px;
    }
    .section-title{
      font-size:clamp(28px,4vw,42px);
      line-height:1.15;
      letter-spacing:-.04em;
      color:var(--text);
      max-width:780px;
    }
    .section-desc{
      color:var(--muted);
      max-width:520px;
      font-size:16px;
    }

    .rules-layout{
      display:grid;
      grid-template-columns:260px minmax(0,1fr);
      gap:28px;
      align-items:start;
    }
    .toc{
      position:sticky;
      top:92px;
      background:#fffaf5;
      border:1px solid var(--border);
      border-radius:24px;
      padding:16px;
      box-shadow:0 18px 46px rgba(45,20,35,.08);
    }
    .toc-title{
      font-size:14px;
      font-weight:950;
      color:var(--primary);
      padding:6px 8px 12px;
      border-bottom:1px solid rgba(122,30,77,.12);
      margin-bottom:8px;
    }
    .toc a{
      display:flex;
      align-items:center;
      gap:9px;
      padding:11px 10px;
      border-radius:15px;
      color:#5a4552;
      font-weight:850;
      font-size:14px;
      transition:background var(--ease),color var(--ease),transform var(--ease);
    }
    .toc a:before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:#d2bec9;
      flex:0 0 auto;
    }
    .toc a:hover,.toc a.active{
      background:rgba(255,159,28,.16);
      color:#28101b;
      transform:translateX(2px);
    }
    .toc a.active:before{background:var(--accent)}

    .rule-cards{display:grid;gap:18px}
    .rule-card{
      background:#fffaf5;
      border:1px solid var(--border);
      border-radius:var(--radius-lg);
      padding:26px;
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .rule-card:before{
      content:"";
      position:absolute;
      inset:0 auto 0 0;
      width:6px;
      background:linear-gradient(180deg,var(--accent),var(--primary));
      opacity:.9;
    }
    .rule-card h2{
      font-size:25px;
      letter-spacing:-.03em;
      margin-bottom:10px;
      color:#25101b;
    }
    .rule-card p{color:#654f5d;margin-bottom:16px}
    .rule-list{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      list-style:none;
    }
    .rule-list li{
      background:#f8eee6;
      border:1px solid rgba(122,30,77,.1);
      border-radius:16px;
      padding:12px 13px;
      color:#4d3946;
      font-size:14px;
      font-weight:750;
    }
    .rule-list li strong{color:var(--primary)}

    .compare-wrap{
      background:var(--bg-2);
      color:var(--text-light);
      position:relative;
      overflow:hidden;
    }
    .compare-wrap:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 18% 18%,rgba(255,159,28,.16),transparent 24%),
        linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
      background-size:auto,60px 60px;
      opacity:.85;
    }
    .compare-wrap .container{position:relative;z-index:1}
    .compare-wrap .section-title{color:var(--text-light)}
    .compare-wrap .section-desc{color:var(--muted-light)}
    .comparison{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
      margin-top:32px;
    }
    .compare-card{
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.12);
      border-radius:26px;
      padding:22px;
      min-height:260px;
    }
    .compare-card.allowed{border-color:rgba(255,159,28,.45);box-shadow:0 0 0 1px rgba(255,159,28,.12),0 22px 60px rgba(0,0,0,.2)}
    .compare-card h3{
      display:flex;
      align-items:center;
      gap:10px;
      font-size:22px;
      margin-bottom:16px;
    }
    .status-icon{
      width:34px;
      height:34px;
      border-radius:13px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.1);
    }
    .allowed .status-icon{background:var(--accent);color:#24101b}
    .denied .status-icon{background:rgba(138,45,43,.85)}
    .confirm .status-icon{background:rgba(122,30,77,.9)}
    .compare-card ul{list-style:none;display:grid;gap:11px}
    .compare-card li{
      color:#dccbd5;
      padding-left:18px;
      position:relative;
      font-size:14px;
    }
    .compare-card li:before{
      content:"";
      width:6px;
      height:6px;
      border-radius:50%;
      background:var(--accent);
      position:absolute;
      left:0;
      top:.72em;
    }

    .notice-band{
      padding:34px 0;
      background:#fff3e4;
    }
    .notice-box{
      display:grid;
      grid-template-columns:1fr auto;
      gap:18px;
      align-items:center;
      background:linear-gradient(135deg,#fffaf5,#f8e4d5);
      border:1px solid rgba(138,45,43,.18);
      border-radius:26px;
      padding:22px;
      box-shadow:0 18px 50px rgba(45,20,35,.08);
    }
    .notice-box h2{font-size:23px;margin-bottom:4px}
    .notice-box p{color:#6a5260}

    .cta-section{
      background:
        radial-gradient(circle at 82% 20%,rgba(255,159,28,.22),transparent 25%),
        linear-gradient(135deg,#2b1230,#7a1e4d 58%,#1d0d1f);
      color:var(--text-light);
      padding:70px 0;
    }
    .cta-panel{
      display:grid;
      grid-template-columns:1fr 380px;
      gap:28px;
      align-items:center;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.06);
      border-radius:32px;
      padding:30px;
      box-shadow:var(--shadow-dark);
    }
    .cta-panel h2{
      font-size:clamp(28px,4vw,44px);
      line-height:1.12;
      letter-spacing:-.04em;
      margin-bottom:12px;
    }
    .cta-panel p{color:#ead6e1;max-width:720px}
    .confirm-form{
      background:rgba(19,8,20,.42);
      border:1px solid rgba(255,255,255,.12);
      border-radius:24px;
      padding:18px;
      display:grid;
      gap:12px;
    }
    .checkline{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#ead6e1;
      font-size:14px;
    }
    .checkline input{
      width:18px;
      height:18px;
      margin-top:3px;
      accent-color:var(--accent);
    }
    .select-field{
      width:100%;
      height:44px;
      border-radius:15px;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.08);
      color:#fff;
      padding:0 12px;
    }
    .select-field:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,159,28,.12)}
    .select-field option{color:#22151F}
    .form-error{
      color:#ffd7d2;
      background:rgba(138,45,43,.32);
      border:1px solid rgba(255,255,255,.12);
      border-radius:14px;
      padding:8px 10px;
      font-size:13px;
      display:none;
    }
    .form-error.show{display:block}

    .faq-section{background:#fffaf5}
    .faq-grid{
      display:grid;
      grid-template-columns:.86fr 1.14fr;
      gap:30px;
      align-items:start;
    }
    .faq-intro{
      background:var(--bg-2);
      color:var(--text-light);
      border-radius:30px;
      padding:28px;
      position:sticky;
      top:92px;
      overflow:hidden;
    }
    .faq-intro:after{
      content:"18+";
      position:absolute;
      right:-10px;
      bottom:-36px;
      font-size:110px;
      font-weight:950;
      color:rgba(255,255,255,.05);
      line-height:1;
    }
    .faq-intro h2{font-size:34px;line-height:1.15;margin-bottom:12px}
    .faq-intro p{color:var(--muted-light)}
    .faq-list{display:grid;gap:12px}
    .faq-item{
      border:1px solid rgba(122,30,77,.14);
      border-radius:22px;
      background:#fff;
      overflow:hidden;
      transition:box-shadow var(--ease),border-color var(--ease);
    }
    .faq-item.active{
      border-color:rgba(255,159,28,.55);
      box-shadow:0 18px 44px rgba(45,20,35,.1);
    }
    .faq-q{
      width:100%;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
      padding:18px 20px;
      font-size:17px;
      font-weight:950;
      color:#26131e;
      text-align:left;
    }
    .faq-q span:last-child{
      width:30px;
      height:30px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:#f4e4d9;
      color:var(--primary);
      transition:transform var(--ease),background var(--ease);
    }
    .faq-item.active .faq-q span:last-child{
      transform:rotate(45deg);
      background:var(--accent);
      color:#24101b;
    }
    .faq-a{
      max-height:0;
      overflow:hidden;
      transition:max-height .28s ease;
    }
    .faq-a p{
      padding:0 20px 18px;
      color:#6c5361;
    }
    .faq-item.active .faq-a{max-height:180px}

    .footer{
      background:#120714;
      color:var(--text-light);
      padding:62px 0 24px;
      position:relative;
      overflow:hidden;
    }
    .footer:before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        radial-gradient(circle at 16% 20%,rgba(255,159,28,.1),transparent 24%),
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
      background-size:auto,46px 46px,46px 46px;
      opacity:.75;
    }
    .footer .container{position:relative;z-index:1}
    .footer-grid{
      display:grid;
      grid-template-columns:1.25fr .8fr .8fr 1fr;
      gap:30px;
      margin-bottom:34px;
    }
    .footer-brand{
      font-size:22px;
      font-weight:950;
      letter-spacing:-.03em;
      margin-bottom:10px;
    }
    .footer p{
      color:var(--muted-light);
      font-size:14px;
      max-width:360px;
    }
    .adult-warning{
      display:inline-flex;
      margin-top:14px;
      background:rgba(138,45,43,.82);
      color:#fff;
      border-radius:999px;
      padding:7px 12px;
      font-size:13px;
      font-weight:900;
    }
    .footer h3{
      font-size:15px;
      margin-bottom:12px;
      color:#fff0d7;
    }
    .footer a{
      display:block;
      color:var(--muted-light);
      font-size:14px;
      margin:8px 0;
      transition:color var(--ease),transform var(--ease);
    }
    .footer a:hover{color:var(--accent);transform:translateX(2px)}
    .copyright{
      border-top:1px solid rgba(255,255,255,.1);
      padding-top:18px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      color:#9d8896;
      font-size:13px;
      flex-wrap:wrap;
    }

    .age-modal{
      position:fixed;
      inset:0;
      z-index:200;
      background:rgba(10,3,11,.86);
      backdrop-filter:blur(10px);
      display:none;
      align-items:center;
      justify-content:center;
      padding:22px;
    }
    .age-modal.show{display:flex}
    .age-card{
      width:min(100%,520px);
      background:#fffaf5;
      color:var(--text);
      border-radius:30px;
      padding:28px;
      box-shadow:0 40px 120px rgba(0,0,0,.45);
      border:1px solid rgba(255,255,255,.3);
      position:relative;
      overflow:hidden;
    }
    .age-card:before{
      content:"";
      position:absolute;
      right:-60px;
      top:-60px;
      width:180px;
      height:180px;
      background:rgba(255,159,28,.18);
      border-radius:50%;
    }
    .age-card>*{position:relative}
    .age-brand{
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:950;
      margin-bottom:16px;
    }
    .age-card h2{font-size:30px;line-height:1.15;margin-bottom:10px}
    .age-card p{color:#66505e;margin-bottom:20px}
    .age-actions{display:flex;gap:10px;flex-wrap:wrap}
    .leave-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:42px;
      padding:11px 16px;
      border-radius:999px;
      background:#ede0d7;
      color:#4a3644;
      font-weight:900;
    }

    @media (max-width:1024px){
      .search{display:none}
      .nav-links{gap:2px}
      .nav-links a{padding:8px 10px}
      .hero-layout{grid-template-columns:1fr;gap:30px}
      .rules-layout{grid-template-columns:1fr}
      .toc{
        position:relative;
        top:auto;
        display:flex;
        gap:8px;
        overflow-x:auto;
        padding:12px;
        border-radius:20px;
      }
      .toc-title{display:none}
      .toc a{white-space:nowrap;flex:0 0 auto}
      .cta-panel{grid-template-columns:1fr}
      .faq-grid{grid-template-columns:1fr}
      .faq-intro{position:relative;top:auto}
      .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    }

    @media (max-width:768px){
      .container{width:min(calc(100% - 28px),var(--container))}
      .top-strip{height:auto;min-height:38px;padding:7px 0}
      .top-strip .container{white-space:normal;font-size:13px}
      .nav{height:60px}
      .logo-text{font-size:15px;max-width:150px;line-height:1.15}
      .nav-links,.nav-tools .btn-primary{display:none}
      .menu-btn{display:grid;place-items:center}
      .page-hero{padding:48px 0 42px}
      .lead{font-size:16px}
      section{padding:58px 0}
      .section-head{display:block}
      .section-desc{margin-top:12px}
      .rule-list{grid-template-columns:1fr}
      .comparison{grid-template-columns:1fr}
      .notice-box{grid-template-columns:1fr}
      .cta-panel{padding:20px;border-radius:24px}
      .footer-grid{grid-template-columns:1fr}
      .copyright{display:grid}
    }

    @media (max-width:520px){
      .hero-actions,.age-actions{display:grid}
      .btn,.leave-link{width:100%}
      .rule-panel{padding:18px;border-radius:24px}
      .panel-title{padding-right:0;margin-top:28px}
      .rule-panel:before{left:18px;right:auto}
      .route-item{grid-template-columns:36px 1fr}
      .route-num{width:36px;height:36px;border-radius:13px}
      .route-item:not(:last-child):after{left:31px}
      .rule-card{padding:22px 18px}
      .faq-q{font-size:16px;padding:16px}
      .faq-a p{padding:0 16px 16px}
    }

/* roulang page: category1 */
:root{
      --bg:#130814;
      --bg-2:#1D0D1F;
      --panel:#2B1730;
      --panel-2:#3A1F2C;
      --paper:#F6EFE8;
      --paper-2:#FFF9F2;
      --text:#F9F1F4;
      --text-dark:#22151F;
      --muted:#BBA9B4;
      --muted-dark:#6F5968;
      --primary:#7A1E4D;
      --primary-2:#9F2D63;
      --accent:#FF9F1C;
      --accent-2:#FFD08A;
      --warning:#8A2D2B;
      --border:rgba(255,255,255,.13);
      --border-dark:rgba(122,30,77,.18);
      --shadow:0 24px 70px rgba(20,5,18,.36);
      --shadow-soft:0 20px 60px rgba(45,20,35,.12);
      --radius-lg:30px;
      --radius-md:22px;
      --radius-sm:14px;
      --container:1180px;
      --header-h:64px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      color:var(--text-dark);
      background:var(--paper);
      line-height:1.72;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-2;
      background:
        radial-gradient(circle at 16% 12%,rgba(255,159,28,.12),transparent 26%),
        radial-gradient(circle at 88% 18%,rgba(122,30,77,.16),transparent 28%),
        linear-gradient(180deg,var(--bg),#201020 34%,var(--paper) 34%,var(--paper) 100%);
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,select{font:inherit}
    button{cursor:pointer}
    .container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
    .top-strip{
      min-height:38px;
      color:#2A130D;
      background:linear-gradient(90deg,var(--accent),#FFD08A 42%,var(--accent));
      display:flex;
      align-items:center;
      font-size:14px;
      font-weight:800;
      letter-spacing:.01em;
      border-bottom:1px solid rgba(19,8,20,.2);
    }
    .top-strip .container{display:flex;align-items:center;justify-content:space-between;gap:18px}
    .strip-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:4px 11px;
      border-radius:999px;
      background:rgba(19,8,20,.14);
      color:#160B14;
      white-space:nowrap;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:80;
      background:rgba(19,8,20,.88);
      backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(122,30,77,.45);
      transition:background .25s ease,box-shadow .25s ease;
    }
    .site-header.scrolled{background:#160916;box-shadow:0 16px 45px rgba(0,0,0,.28)}
    .nav{
      min-height:var(--header-h);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .logo{
      display:inline-flex;
      align-items:center;
      gap:10px;
      min-width:0;
      color:var(--text);
      font-weight:900;
      letter-spacing:-.03em;
    }
    .logo-mark{
      width:38px;height:38px;
      display:grid;place-items:center;
      border-radius:13px;
      color:#1A0B10;
      background:linear-gradient(135deg,var(--accent),#FFE0A8);
      box-shadow:0 0 0 4px rgba(255,159,28,.12),0 14px 32px rgba(255,159,28,.18);
    }
    .logo-text{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .nav-links{display:flex;align-items:center;gap:6px;margin-left:auto}
    .nav-links a{
      color:var(--muted);
      padding:9px 13px;
      border-radius:999px;
      font-size:14px;
      font-weight:700;
      transition:.22s ease;
      position:relative;
    }
    .nav-links a:hover{color:var(--text);background:rgba(255,255,255,.07)}
    .nav-links a.active{
      color:#23120D;
      background:var(--accent);
      box-shadow:0 8px 24px rgba(255,159,28,.25);
    }
    .nav-tools{display:flex;align-items:center;gap:10px}
    .search{
      width:210px;
      height:38px;
      border:1px solid rgba(255,255,255,.16);
      border-radius:999px;
      display:flex;
      align-items:center;
      gap:8px;
      color:var(--muted);
      padding:0 12px;
      background:rgba(255,255,255,.06);
    }
    .search input{
      width:100%;
      min-width:0;
      border:0;
      outline:0;
      background:transparent;
      color:var(--text);
      font-size:13px;
    }
    .search input::placeholder{color:rgba(249,241,244,.55)}
    .age-mini{
      width:38px;height:38px;
      display:grid;place-items:center;
      border-radius:999px;
      color:var(--accent);
      font-weight:900;
      border:1px solid rgba(255,159,28,.55);
      background:rgba(255,159,28,.08);
      font-size:13px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border-radius:999px;
      border:1px solid transparent;
      padding:11px 18px;
      font-weight:900;
      line-height:1;
      transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-2px)}
    .btn:focus-visible,.filter-chip:focus-visible,.faq-question:focus-visible,input:focus-visible{outline:3px solid rgba(255,159,28,.42);outline-offset:3px}
    .btn-primary{
      color:#24130B;
      background:var(--accent);
      box-shadow:0 12px 30px rgba(255,159,28,.25);
    }
    .btn-primary:hover{border-color:var(--primary);box-shadow:0 18px 42px rgba(255,159,28,.34)}
    .btn-secondary{
      color:var(--text);
      border-color:rgba(255,255,255,.22);
      background:rgba(255,255,255,.06);
    }
    .btn-secondary:hover{background:rgba(122,30,77,.35);border-color:rgba(255,255,255,.35)}
    .btn-dark{
      color:var(--text);
      background:var(--primary);
      border-color:rgba(122,30,77,.35);
      box-shadow:0 14px 34px rgba(122,30,77,.2);
    }
    .btn-dark:hover{background:#64163E}
    .btn-warning{
      color:var(--text);
      background:var(--warning);
      border-color:rgba(138,45,43,.25);
    }
    .menu-btn{
      display:none;
      width:40px;height:40px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:14px;
      color:var(--text);
      background:rgba(255,255,255,.06);
    }
    .mobile-drawer{
      position:fixed;
      inset:0 0 0 auto;
      width:min(86vw,360px);
      z-index:120;
      transform:translateX(105%);
      transition:transform .26s ease;
      background:#180B19;
      color:var(--text);
      border-left:1px solid rgba(255,255,255,.12);
      box-shadow:-30px 0 80px rgba(0,0,0,.35);
      padding:22px;
    }
    .mobile-drawer.open{transform:translateX(0)}
    .drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
    .drawer-close{
      width:38px;height:38px;border-radius:13px;border:1px solid rgba(255,255,255,.16);
      color:var(--text);background:rgba(255,255,255,.06);
    }
    .drawer-links{display:grid;gap:10px}
    .drawer-links a{
      padding:14px 14px;
      border-radius:16px;
      color:var(--muted);
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      font-weight:800;
    }
    .drawer-links a.active{color:#21110B;background:var(--accent)}
    .drawer-note{
      margin-top:22px;
      padding:15px;
      border-radius:18px;
      color:var(--muted);
      border:1px solid rgba(255,159,28,.25);
      background:rgba(255,159,28,.06);
      font-size:14px;
    }
    .page-hero{
      position:relative;
      padding:64px 0 46px;
      color:var(--text);
      overflow:hidden;
      background:
        linear-gradient(135deg,rgba(19,8,20,.94),rgba(43,23,48,.94)),
        radial-gradient(circle at 78% 22%,rgba(255,159,28,.18),transparent 24%);
    }
    .page-hero::before{
      content:"";
      position:absolute;
      inset:0;
      opacity:.08;
      background-image:
        linear-gradient(90deg,#fff 1px,transparent 1px),
        linear-gradient(#fff 1px,transparent 1px);
      background-size:54px 54px;
      mask-image:linear-gradient(180deg,#000,transparent 88%);
    }
    .page-hero::after{
      content:"SUBTITLE FILTER";
      position:absolute;
      right:-20px;
      bottom:6px;
      color:rgba(255,255,255,.045);
      font-size:88px;
      font-weight:1000;
      letter-spacing:-.08em;
    }
    .hero-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:34px;
      align-items:stretch;
    }
    .crumb{
      display:flex;
      align-items:center;
      gap:9px;
      color:var(--muted);
      font-size:14px;
      font-weight:700;
      margin-bottom:18px;
    }
    .crumb a:hover{color:var(--accent)}
    .hero-copy{
      padding:30px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:var(--radius-lg);
      background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
      box-shadow:var(--shadow);
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      color:var(--accent-2);
      background:rgba(255,159,28,.1);
      border:1px solid rgba(255,159,28,.28);
      font-size:14px;
      font-weight:900;
    }
    h1,h2,h3,p{margin-top:0}
    h1{
      margin:18px 0 16px;
      font-size:clamp(34px,5vw,58px);
      line-height:1.08;
      letter-spacing:-.055em;
      max-width:820px;
    }
    .lead{
      color:#E4D4DC;
      font-size:18px;
      max-width:760px;
      margin-bottom:24px;
    }
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
    .hero-flags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
    .flag{
      display:inline-flex;
      align-items:center;
      gap:7px;
      border-radius:999px;
      padding:8px 11px;
      color:var(--muted);
      border:1px solid rgba(255,255,255,.12);
      background:rgba(19,8,20,.38);
      font-size:13px;
      font-weight:800;
    }
    .data-board{
      position:relative;
      border-radius:var(--radius-lg);
      padding:24px;
      background:linear-gradient(155deg,#F6EFE8,#FDF8F3);
      color:var(--text-dark);
      box-shadow:0 28px 80px rgba(0,0,0,.26);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.38);
    }
    .data-board::before{
      content:"";
      position:absolute;
      width:230px;height:230px;
      right:-88px;top:-80px;
      background:radial-gradient(circle,var(--accent),transparent 68%);
      opacity:.25;
    }
    .board-head{
      position:relative;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      margin-bottom:18px;
    }
    .board-head h2{font-size:25px;line-height:1.2;margin:0;letter-spacing:-.035em}
    .board-status{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 10px;
      border-radius:999px;
      color:#4B1E14;
      background:rgba(255,159,28,.22);
      font-size:13px;
      font-weight:900;
    }
    .rank-list{position:relative;display:grid;gap:12px}
    .rank-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:12px;
      align-items:center;
      padding:14px;
      border-radius:20px;
      background:#fff;
      border:1px solid rgba(122,30,77,.1);
      box-shadow:0 12px 32px rgba(45,20,35,.08);
    }
    .rank-no{
      width:34px;height:34px;border-radius:13px;
      display:grid;place-items:center;
      background:#2B1730;
      color:var(--accent);
      font-weight:1000;
    }
    .rank-title{font-weight:950;letter-spacing:-.02em;line-height:1.25}
    .rank-desc{font-size:13px;color:var(--muted-dark);margin-top:2px}
    .rank-tag{
      border-radius:999px;
      padding:6px 9px;
      color:var(--primary);
      background:rgba(122,30,77,.08);
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
    }
    main{background:var(--paper)}
    .section{padding:82px 0}
    .section.alt{background:#FFF9F2}
    .section.dark{
      color:var(--text);
      background:
        radial-gradient(circle at 8% 12%,rgba(255,159,28,.12),transparent 24%),
        linear-gradient(180deg,#1D0D1F,#130814);
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:28px;
      margin-bottom:30px;
    }
    .section-title{max-width:760px}
    .section-title .kicker{
      color:var(--primary);
      font-size:14px;
      font-weight:1000;
      letter-spacing:.05em;
      margin-bottom:9px;
    }
    .dark .section-title .kicker{color:var(--accent)}
    h2{
      font-size:clamp(28px,3.4vw,42px);
      line-height:1.16;
      letter-spacing:-.045em;
      margin-bottom:12px;
    }
    .section-title p{color:var(--muted-dark);font-size:17px;margin:0}
    .dark .section-title p{color:var(--muted)}
    .filter-panel{
      position:relative;
      border-radius:var(--radius-lg);
      padding:18px;
      background:#fff;
      border:1px solid var(--border-dark);
      box-shadow:var(--shadow-soft);
    }
    .filter-row{
      display:grid;
      grid-template-columns:86px 1fr;
      gap:12px;
      align-items:start;
      padding:12px 0;
      border-bottom:1px dashed rgba(122,30,77,.18);
    }
    .filter-row:last-child{border-bottom:0}
    .filter-label{
      color:var(--primary);
      font-size:14px;
      font-weight:1000;
      padding-top:7px;
    }
    .filter-chips{display:flex;gap:10px;flex-wrap:wrap}
    .filter-chip{
      border:1px solid rgba(122,30,77,.18);
      border-radius:999px;
      padding:8px 13px;
      color:var(--text-dark);
      background:#FFF9F2;
      font-size:14px;
      font-weight:850;
      transition:.2s ease;
    }
    .filter-chip:hover{border-color:var(--accent);transform:translateY(-1px)}
    .filter-chip.active{
      color:#24130B;
      background:var(--accent);
      border-color:var(--accent);
      box-shadow:0 10px 22px rgba(255,159,28,.22);
    }
    .route-layout{
      display:grid;
      grid-template-columns:1fr 360px;
      gap:24px;
      align-items:start;
    }
    .route-list{display:grid;gap:20px}
    .route-card{
      position:relative;
      display:grid;
      grid-template-columns:150px 1fr;
      gap:20px;
      padding:20px;
      border-radius:var(--radius-lg);
      background:#fff;
      border:1px solid rgba(122,30,77,.13);
      box-shadow:var(--shadow-soft);
      overflow:hidden;
      transition:.22s ease;
    }
    .route-card:hover{transform:translateY(-4px);box-shadow:0 26px 70px rgba(45,20,35,.16)}
    .route-card::after{
      content:"";
      position:absolute;
      top:22px;bottom:22px;left:94px;
      width:1px;
      background:linear-gradient(var(--accent),rgba(122,30,77,.12));
      opacity:.45;
    }
    .abstract-tile{
      position:relative;
      min-height:150px;
      border-radius:24px;
      background:
        linear-gradient(135deg,rgba(122,30,77,.9),rgba(43,23,48,.92)),
        radial-gradient(circle at 28% 20%,rgba(255,159,28,.34),transparent 30%);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.16);
      z-index:1;
    }
    .abstract-tile::before{
      content:"字幕";
      position:absolute;
      left:16px;top:16px;
      color:#22151F;
      background:var(--accent);
      padding:5px 10px;
      border-radius:999px;
      font-weight:1000;
      font-size:13px;
    }
    .abstract-tile::after{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px);
      background-size:28px 28px;
      opacity:.28;
    }
    .route-content{position:relative;z-index:2}
    .route-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
    .tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      border-radius:999px;
      padding:6px 10px;
      background:rgba(122,30,77,.08);
      color:var(--primary);
      font-size:12px;
      font-weight:950;
    }
    .tag.warn{background:rgba(138,45,43,.1);color:var(--warning)}
    .tag.good{background:rgba(255,159,28,.17);color:#6A3600}
    .route-card h3{
      font-size:24px;
      line-height:1.24;
      letter-spacing:-.035em;
      margin-bottom:8px;
    }
    .route-card p{color:var(--muted-dark);margin-bottom:16px}
    .route-bottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
    }
    .mini-stats{display:flex;gap:8px;flex-wrap:wrap}
    .mini-stat{
      padding:7px 10px;
      border-radius:12px;
      background:#F6EFE8;
      color:#5D4554;
      font-size:13px;
      font-weight:850;
    }
    .side-panel{
      position:sticky;
      top:92px;
      display:grid;
      gap:16px;
    }
    .notice-card{
      border-radius:var(--radius-lg);
      padding:22px;
      background:#2B1730;
      color:var(--text);
      border:1px solid rgba(255,255,255,.12);
      box-shadow:var(--shadow);
    }
    .notice-card h3{font-size:22px;line-height:1.25;margin-bottom:10px}
    .notice-card p{color:var(--muted);font-size:15px;margin-bottom:16px}
    .check-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
    .check-list li{
      display:flex;
      gap:9px;
      align-items:flex-start;
      color:#E7D9DF;
      font-size:14px;
    }
    .check-list li::before{
      content:"✓";
      flex:0 0 22px;
      width:22px;height:22px;border-radius:999px;
      display:grid;place-items:center;
      color:#24130B;
      background:var(--accent);
      font-weight:1000;
      line-height:1;
    }
    .mini-map{
      border-radius:var(--radius-lg);
      padding:20px;
      background:#fff;
      border:1px solid rgba(122,30,77,.12);
      box-shadow:var(--shadow-soft);
    }
    .mini-map h3{font-size:20px;margin-bottom:14px}
    .path-node{
      position:relative;
      display:flex;
      gap:12px;
      padding:0 0 18px;
      color:var(--muted-dark);
      font-weight:750;
    }
    .path-node:last-child{padding-bottom:0}
    .path-node::before{
      content:"";
      width:13px;height:13px;
      margin-top:7px;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 0 5px rgba(255,159,28,.16);
      flex:0 0 auto;
    }
    .path-node::after{
      content:"";
      position:absolute;
      left:6px;top:26px;bottom:4px;
      border-left:1px dashed rgba(122,30,77,.28);
    }
    .path-node:last-child::after{display:none}
    .timeline{
      position:relative;
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:14px;
      margin-top:8px;
    }
    .timeline::before{
      content:"";
      position:absolute;
      left:8%;right:8%;top:31px;
      border-top:2px dashed rgba(255,159,28,.42);
    }
    .time-card{
      position:relative;
      z-index:1;
      padding:18px;
      border-radius:22px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      min-height:178px;
    }
    .time-no{
      width:32px;height:32px;border-radius:12px;
      display:grid;place-items:center;
      color:#21110B;
      background:var(--accent);
      font-weight:1000;
      margin-bottom:18px;
      box-shadow:0 0 0 7px rgba(255,159,28,.12);
    }
    .time-card h3{font-size:18px;line-height:1.25;margin-bottom:8px}
    .time-card p{color:var(--muted);font-size:14px;margin:0}
    .alert-band{
      border-radius:var(--radius-lg);
      padding:22px 24px;
      background:linear-gradient(135deg,#8A2D2B,#5D1F29 55%,#2B1730);
      color:var(--text);
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:center;
      box-shadow:var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .alert-band::after{
      content:"18+";
      position:absolute;
      right:18px;bottom:-30px;
      font-size:110px;
      font-weight:1000;
      color:rgba(255,255,255,.055);
      line-height:1;
    }
    .alert-band h2{font-size:26px;margin-bottom:4px}
    .alert-band p{color:#ECDADF;margin:0;max-width:760px}
    .pager{
      display:flex;
      justify-content:center;
      gap:10px;
      margin-top:30px;
      flex-wrap:wrap;
    }
    .page-btn{
      min-width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:15px;
      border:1px solid rgba(122,30,77,.16);
      background:#fff;
      color:var(--text-dark);
      font-weight:900;
      transition:.2s ease;
    }
    .page-btn:hover{transform:translateY(-2px);border-color:var(--accent)}
    .page-btn.active{background:var(--accent);color:#24130B;border-color:var(--accent)}
    .cta-panel{
      display:grid;
      grid-template-columns:1fr .9fr;
      gap:28px;
      align-items:center;
      border-radius:36px;
      padding:34px;
      background:
        linear-gradient(135deg,rgba(122,30,77,.92),rgba(29,13,31,.96)),
        radial-gradient(circle at 85% 18%,rgba(255,159,28,.24),transparent 32%);
      color:var(--text);
      box-shadow:var(--shadow);
      border:1px solid rgba(255,255,255,.12);
    }
    .cta-panel h2{margin-bottom:10px}
    .cta-panel p{color:#E3D4DB;margin-bottom:18px}
    .form-box{
      padding:22px;
      border-radius:26px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.14);
    }
    .form-line{display:grid;gap:8px;margin-bottom:14px}
    .form-line label{font-weight:900;color:#FBEAF0;font-size:14px}
    .form-line input,.form-line select{
      width:100%;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.18);
      background:rgba(19,8,20,.38);
      color:var(--text);
      padding:12px 13px;
      outline:0;
    }
    .form-line input:focus,.form-line select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,159,28,.14)}
    .consent{
      display:flex;
      align-items:flex-start;
      gap:10px;
      color:var(--muted);
      font-size:14px;
      margin:12px 0 16px;
    }
    .consent input{width:18px;height:18px;accent-color:var(--accent);margin-top:3px}
    .faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start}
    .faq-list{display:grid;gap:12px}
    .faq-item{
      overflow:hidden;
      border-radius:22px;
      background:#fff;
      border:1px solid rgba(122,30,77,.12);
      box-shadow:0 12px 34px rgba(45,20,35,.07);
    }
    .faq-question{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:18px 20px;
      border:0;
      background:transparent;
      color:var(--text-dark);
      font-weight:950;
      text-align:left;
    }
    .faq-question span:last-child{color:var(--primary);font-size:22px}
    .faq-answer{
      display:none;
      padding:0 20px 18px;
      color:var(--muted-dark);
      border-left:4px solid var(--accent);
      margin-left:16px;
    }
    .faq-item.active{background:#FFF9F2}
    .faq-item.active .faq-answer{display:block}
    .footer{
      color:var(--text);
      background:
        linear-gradient(180deg,#160916,#0D060E),
        radial-gradient(circle at 20% 10%,rgba(255,159,28,.08),transparent 25%);
      padding:62px 0 26px;
      border-top:1px solid rgba(255,255,255,.1);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.35fr .8fr .8fr 1fr;
      gap:28px;
      padding-bottom:34px;
    }
    .footer-brand{
      font-size:20px;
      font-weight:1000;
      letter-spacing:-.035em;
      margin-bottom:10px;
    }
    .footer p{color:var(--muted);margin:0 0 12px;font-size:14px}
    .footer h3{
      color:var(--accent-2);
      font-size:15px;
      margin-bottom:12px;
    }
    .footer a{
      display:block;
      color:var(--muted);
      margin:8px 0;
      font-size:14px;
      transition:.2s ease;
    }
    .footer a:hover{color:var(--accent);transform:translateX(2px)}
    .adult-warning{
      display:inline-flex;
      border-radius:999px;
      padding:7px 10px;
      color:var(--accent);
      border:1px solid rgba(255,159,28,.4);
      background:rgba(255,159,28,.08);
      font-size:13px;
      font-weight:900;
    }
    .copyright{
      border-top:1px solid rgba(255,255,255,.1);
      padding-top:18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      color:rgba(249,241,244,.62);
      font-size:13px;
    }
    .age-modal{
      position:fixed;
      inset:0;
      z-index:200;
      display:none;
      place-items:center;
      padding:22px;
      background:rgba(8,3,9,.78);
      backdrop-filter:blur(12px);
    }
    .age-modal.show{display:grid}
    .age-card{
      width:min(520px,100%);
      border-radius:30px;
      padding:28px;
      background:#1D0D1F;
      color:var(--text);
      border:1px solid rgba(255,255,255,.14);
      box-shadow:0 40px 100px rgba(0,0,0,.48);
    }
    .age-card h2{font-size:30px;margin:14px 0 10px}
    .age-card p{color:var(--muted);margin-bottom:22px}
    .age-card .actions{display:flex;gap:12px;flex-wrap:wrap}
    @media (max-width:1024px){
      .search{display:none}
      .hero-grid,.route-layout,.cta-panel,.faq-wrap{grid-template-columns:1fr}
      .side-panel{position:static;grid-template-columns:1fr 1fr}
      .timeline{grid-template-columns:repeat(2,1fr)}
      .timeline::before{display:none}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width:820px){
      .nav-links{display:none}
      .menu-btn{display:grid}
      .nav .btn-primary{display:none}
      .top-strip .container{justify-content:center;text-align:center}
      .strip-pill{display:none}
      .page-hero{padding:44px 0 36px}
      .hero-copy,.data-board{padding:22px}
      .route-card{grid-template-columns:1fr}
      .route-card::after{display:none}
      .abstract-tile{min-height:130px}
      .section-head{display:block}
      .side-panel{grid-template-columns:1fr}
      .alert-band{display:block}
      .alert-band .btn{margin-top:16px}
      .footer-grid{grid-template-columns:1fr}
      .copyright{display:block}
      .copyright span{display:block;margin:6px 0}
      .filter-panel{overflow:hidden}
      .filter-row{grid-template-columns:1fr}
      .filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
      .filter-chip{white-space:nowrap}
    }
    @media (max-width:560px){
      .container{width:min(100% - 28px,var(--container))}
      .logo-text{font-size:15px;max-width:176px}
      .section{padding:58px 0}
      .hero-actions,.cta-panel .hero-actions{display:grid}
      .btn{width:100%}
      .rank-item{grid-template-columns:auto 1fr}
      .rank-tag{grid-column:2}
      .timeline{grid-template-columns:1fr}
      .cta-panel{padding:24px;border-radius:28px}
      .age-mini{width:34px;height:34px}
    }
