/* roulang page: index */
:root{
      --primary:#5A1F3D;
      --primary-2:#6E244A;
      --accent:#FF6B4A;
      --accent-2:#FF7A45;
      --rose:#F6D7DD;
      --rose-soft:#FFF1F3;
      --bg:#FBF7F4;
      --surface:#FFFFFF;
      --surface-warm:#FFFDFC;
      --text:#21171E;
      --muted:#6F5F69;
      --muted-2:#917E89;
      --border:#E8D9DD;
      --safe:#2F8F83;
      --warning:#FF7A45;
      --shadow:0 18px 50px rgba(90,31,61,.10);
      --shadow-hover:0 24px 70px rgba(90,31,61,.16);
      --radius-xl:32px;
      --radius-lg:24px;
      --radius-md:18px;
      --radius-sm:14px;
      --container:1220px;
      --gradient:linear-gradient(135deg,#5A1F3D 0%,#7B2D4E 54%,#FF6B4A 100%);
      --gradient-soft:linear-gradient(135deg,rgba(90,31,61,.10),rgba(255,107,74,.12));
      --focus:0 0 0 4px rgba(255,107,74,.22);
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 6%,rgba(246,215,221,.74),transparent 28%),
        radial-gradient(circle at 90% 18%,rgba(255,107,74,.13),transparent 26%),
        var(--bg);
      line-height:1.75;
      font-size:16px;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img,svg{max-width:100%;display:block}
    button,input{font:inherit}
    button{border:0;cursor:pointer}
    ::selection{background:rgba(255,107,74,.22)}
    .container{width:min(var(--container),calc(100% - 64px));margin:0 auto}
    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(251,247,244,.92);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(90,31,61,.10);
      box-shadow:0 10px 30px rgba(90,31,61,.05);
    }
    .brand-row{
      min-height:74px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
      padding:12px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:260px;
    }
    .brand-mark{
      width:48px;
      height:48px;
      border-radius:17px;
      background:var(--gradient);
      display:grid;
      place-items:center;
      color:#fff;
      box-shadow:0 14px 32px rgba(90,31,61,.22);
      position:relative;
      overflow:hidden;
      flex:0 0 auto;
    }
    .brand-mark:before{
      content:"";
      position:absolute;
      width:26px;
      height:26px;
      border:2px solid rgba(255,255,255,.55);
      border-radius:9px;
      transform:translate(-5px,-4px);
    }
    .brand-mark:after{
      content:"";
      width:0;height:0;
      border-top:8px solid transparent;
      border-bottom:8px solid transparent;
      border-left:12px solid #fff;
      transform:translateX(2px);
      z-index:1;
    }
    .brand-text strong{
      display:block;
      font-size:18px;
      line-height:1.2;
      letter-spacing:-.02em;
      color:var(--primary);
      white-space:nowrap;
    }
    .brand-text span{
      display:block;
      margin-top:2px;
      font-size:12px;
      color:var(--muted);
      white-space:nowrap;
    }
    .positioning{
      flex:1;
      color:var(--muted);
      font-size:14px;
      padding-left:8px;
      border-left:1px solid var(--border);
    }
    .header-actions{
      display:flex;
      align-items:center;
      gap:12px;
    }
    .search{
      width:260px;
      height:42px;
      display:flex;
      align-items:center;
      gap:8px;
      border:1px solid var(--border);
      background:rgba(255,255,255,.76);
      border-radius:999px;
      padding:0 14px;
      transition:.25s ease;
    }
    .search:focus-within{box-shadow:var(--focus);border-color:rgba(255,107,74,.58);background:#fff}
    .search input{
      border:0;
      outline:0;
      background:transparent;
      width:100%;
      color:var(--text);
      font-size:14px;
    }
    .search input::placeholder{color:var(--muted-2)}
    .age-badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:9px 12px;
      border-radius:999px;
      background:rgba(255,122,69,.11);
      color:#A63F21;
      font-weight:700;
      font-size:13px;
      border:1px solid rgba(255,122,69,.20);
      white-space:nowrap;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      padding:12px 20px;
      border-radius:999px;
      font-weight:700;
      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-primary{
      background:var(--gradient);
      color:#fff;
      box-shadow:0 14px 34px rgba(90,31,61,.22);
    }
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(90,31,61,.28)}
    .btn-secondary{
      color:var(--primary);
      background:rgba(246,215,221,.42);
      border:1px solid rgba(90,31,61,.12);
    }
    .btn-secondary:hover{background:rgba(246,215,221,.70);transform:translateY(-2px)}
    .btn-warning{
      background:var(--accent-2);
      color:#fff;
      box-shadow:0 12px 30px rgba(255,122,69,.22);
    }
    .btn:focus-visible,.channel-nav a:focus-visible,.footer a:focus-visible,summary:focus-visible{outline:0;box-shadow:var(--focus)}
    .channel-row{
      border-top:1px solid rgba(90,31,61,.08);
      background:rgba(255,253,252,.58);
    }
    .channel-nav{
      height:50px;
      display:flex;
      align-items:center;
      gap:10px;
      overflow-x:auto;
      scrollbar-width:none;
      -webkit-overflow-scrolling:touch;
    }
    .channel-nav::-webkit-scrollbar{display:none}
    .channel-nav a{
      padding:9px 15px;
      border-radius:999px;
      color:var(--muted);
      font-weight:700;
      font-size:14px;
      white-space:nowrap;
      transition:.22s ease;
    }
    .channel-nav a:hover{color:var(--primary);background:rgba(246,215,221,.42)}
    .channel-nav a.active{color:var(--primary);background:rgba(246,215,221,.78)}
    main{overflow:hidden}
    .section{padding:92px 0}
    .section-tight{padding:70px 0}
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:24px;
      margin-bottom:34px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(90,31,61,.07);
      color:var(--primary);
      font-size:13px;
      font-weight:800;
      letter-spacing:.04em;
      margin-bottom:14px;
    }
    .section h2{
      font-size:36px;
      line-height:1.22;
      letter-spacing:-.04em;
      color:var(--text);
    }
    .section-head p{
      max-width:520px;
      color:var(--muted);
      line-height:1.8;
    }
    .hero{
      padding:78px 0 62px;
      position:relative;
    }
    .hero:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 78% 18%,rgba(255,107,74,.18),transparent 25%),
        radial-gradient(circle at 55% 84%,rgba(90,31,61,.10),transparent 30%);
      pointer-events:none;
    }
    .hero-grid{
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
      gap:48px;
      align-items:center;
    }
    .hero h1{
      font-size:54px;
      line-height:1.12;
      letter-spacing:-.055em;
      max-width:760px;
      color:var(--text);
      margin:12px 0 20px;
    }
    .hero h1 span{color:var(--primary)}
    .hero-lead{
      color:var(--muted);
      font-size:18px;
      max-width:660px;
      margin-bottom:26px;
    }
    .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}
    .hero-badges{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:22px;
    }
    .mini-badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:9px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.72);
      border:1px solid rgba(90,31,61,.10);
      color:var(--muted);
      font-size:13px;
      font-weight:700;
      box-shadow:0 8px 24px rgba(90,31,61,.06);
    }
    .console{
      border-radius:var(--radius-xl);
      background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,241,243,.86));
      border:1px solid rgba(90,31,61,.12);
      box-shadow:var(--shadow);
      padding:22px;
      position:relative;
      overflow:hidden;
    }
    .console:before{
      content:"";
      position:absolute;
      width:250px;height:250px;
      border-radius:50%;
      background:rgba(255,107,74,.16);
      right:-96px;top:-102px;
    }
    .console-top{
      position:relative;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      margin-bottom:18px;
    }
    .dots{display:flex;gap:7px}
    .dots i{width:10px;height:10px;border-radius:50%;background:var(--border)}
    .dots i:nth-child(1){background:#FF8D72}.dots i:nth-child(2){background:#E7B7C1}.dots i:nth-child(3){background:#83C9BE}
    .privacy-pill{
      display:inline-flex;
      align-items:center;
      gap:7px;
      border-radius:999px;
      background:rgba(47,143,131,.12);
      color:#24776D;
      padding:7px 10px;
      font-size:12px;
      font-weight:800;
    }
    .screen{
      position:relative;
      border-radius:24px;
      background:linear-gradient(135deg,#4B1933,#8E3754 58%,#FF7A45);
      min-height:250px;
      padding:18px;
      overflow:hidden;
    }
    .screen:after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
      background-size:32px 32px;
      opacity:.32;
    }
    .play-card{
      position:relative;
      z-index:1;
      border-radius:22px;
      background:rgba(255,255,255,.16);
      border:1px solid rgba(255,255,255,.22);
      padding:18px;
      color:#fff;
      backdrop-filter:blur(8px);
    }
    .play-icon{
      width:58px;height:58px;
      border-radius:50%;
      background:rgba(255,255,255,.92);
      display:grid;
      place-items:center;
      color:var(--primary);
      margin-bottom:30px;
      box-shadow:0 18px 36px rgba(0,0,0,.14);
    }
    .play-icon:before{
      content:"";
      width:0;height:0;
      border-top:10px solid transparent;
      border-bottom:10px solid transparent;
      border-left:15px solid currentColor;
      margin-left:4px;
    }
    .zone-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    .zone-tags span{
      font-size:12px;
      font-weight:800;
      padding:6px 9px;
      border-radius:999px;
      background:rgba(255,255,255,.17);
      border:1px solid rgba(255,255,255,.20);
    }
    .progress{
      position:relative;
      z-index:1;
      margin-top:18px;
      background:rgba(90,31,61,.08);
      border:1px solid rgba(90,31,61,.08);
      border-radius:18px;
      padding:14px;
    }
    .progress-row{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:10px}
    .bar{height:9px;border-radius:999px;background:rgba(90,31,61,.10);overflow:hidden}
    .bar i{display:block;width:68%;height:100%;border-radius:inherit;background:var(--gradient)}
    .card{
      background:rgba(255,255,255,.82);
      border:1px solid rgba(90,31,61,.10);
      border-radius:var(--radius-lg);
      box-shadow:0 12px 34px rgba(90,31,61,.07);
      transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
    }
    .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:rgba(90,31,61,.18)}
    .dashboard{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:22px;
    }
    .ability-main{
      padding:30px;
      min-height:420px;
      background:
        linear-gradient(135deg,rgba(90,31,61,.96),rgba(110,36,74,.94) 54%,rgba(255,107,74,.88)),
        radial-gradient(circle at 80% 20%,rgba(255,255,255,.24),transparent 30%);
      color:#fff;
      position:relative;
      overflow:hidden;
    }
    .ability-main h3{font-size:30px;line-height:1.25;margin:10px 0 14px}
    .ability-main p{color:rgba(255,255,255,.78);max-width:520px}
    .metric-strip{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-top:34px;
    }
    .metric{
      border-radius:18px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      padding:16px;
    }
    .metric strong{display:block;font-size:23px;line-height:1.1}
    .metric span{font-size:12px;color:rgba(255,255,255,.72)}
    .ability-side{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .ability-small{padding:22px}
    .icon-chip{
      width:42px;height:42px;border-radius:15px;
      display:grid;place-items:center;
      background:var(--gradient-soft);
      color:var(--primary);
      font-weight:900;
      margin-bottom:14px;
    }
    .ability-small h3,.feature-card h3,.plan h3{font-size:20px;line-height:1.35;margin-bottom:8px}
    .ability-small p,.feature-card p,.plan p,.scenario-card p{color:var(--muted)}
    .category-entry{
      display:grid;
      grid-template-columns:.92fr 1.08fr;
      gap:24px;
      align-items:stretch;
    }
    .entry-copy{
      padding:32px;
      background:var(--surface-warm);
      border-radius:var(--radius-xl);
      border:1px solid rgba(90,31,61,.10);
      box-shadow:var(--shadow);
    }
    .entry-list{display:grid;gap:12px;margin:22px 0}
    .entry-list li{
      list-style:none;
      display:flex;
      gap:10px;
      color:var(--muted);
      padding:12px 0;
      border-bottom:1px dashed rgba(90,31,61,.12);
    }
    .entry-list li:before{
      content:"";
      width:10px;height:10px;border-radius:50%;
      background:var(--accent);
      margin-top:9px;
      flex:0 0 auto;
    }
    .entry-panel{
      border-radius:var(--radius-xl);
      padding:26px;
      background:linear-gradient(135deg,rgba(246,215,221,.55),rgba(255,255,255,.72));
      border:1px solid rgba(90,31,61,.10);
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:16px;
    }
    .zone-card{
      min-height:150px;
      padding:20px;
      border-radius:22px;
      background:#fff;
      border:1px solid rgba(90,31,61,.10);
      position:relative;
      overflow:hidden;
    }
    .zone-card:after{
      content:"";
      position:absolute;
      width:92px;height:92px;border-radius:50%;
      right:-24px;bottom:-28px;
      background:rgba(255,107,74,.12);
    }
    .zone-card strong{display:block;color:var(--primary);font-size:18px;margin-bottom:8px}
    .zone-card span{color:var(--muted);font-size:14px}
    .feature-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
    }
    .feature-card{
      padding:24px;
      position:relative;
      overflow:hidden;
    }
    .feature-card:before{
      content:"";
      position:absolute;
      inset:0 0 auto;
      height:5px;
      background:var(--gradient);
    }
    .feature-card .tag-row{margin-top:18px}
    .tag-row{display:flex;gap:8px;flex-wrap:wrap}
    .tag{
      display:inline-flex;
      align-items:center;
      padding:6px 9px;
      border-radius:999px;
      background:rgba(246,215,221,.55);
      color:var(--primary);
      font-size:12px;
      font-weight:800;
    }
    .scenario-wrap{
      border-radius:var(--radius-xl);
      background:#fff;
      border:1px solid rgba(90,31,61,.10);
      box-shadow:var(--shadow);
      padding:28px;
    }
    .timeline{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
      counter-reset:step;
    }
    .scenario-card{
      position:relative;
      padding:22px;
      border-radius:22px;
      background:linear-gradient(180deg,#fff,rgba(255,241,243,.58));
      border:1px solid rgba(90,31,61,.10);
      counter-increment:step;
    }
    .scenario-card:before{
      content:"0" counter(step);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:42px;height:42px;
      border-radius:15px;
      background:var(--primary);
      color:#fff;
      font-weight:900;
      margin-bottom:18px;
    }
    .scenario-card h3{font-size:18px;margin-bottom:8px}
    .proof{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
    }
    .proof-card{
      padding:26px;
      text-align:left;
      background:rgba(255,255,255,.78);
    }
    .proof-card strong{
      display:block;
      font-size:28px;
      line-height:1.1;
      color:var(--primary);
      margin-bottom:8px;
      letter-spacing:-.03em;
    }
    .proof-card span{color:var(--muted)}
    .plans{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:20px;
      align-items:stretch;
    }
    .plan{
      padding:28px;
      position:relative;
      overflow:hidden;
    }
    .plan.recommended{
      background:
        linear-gradient(#fff,#fff) padding-box,
        var(--gradient) border-box;
      border:2px solid transparent;
      transform:translateY(-8px);
    }
    .plan.recommended:hover{transform:translateY(-11px)}
    .plan-label{
      display:inline-flex;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,107,74,.12);
      color:#B94629;
      font-weight:900;
      font-size:12px;
      margin-bottom:12px;
    }
    .plan ul{display:grid;gap:10px;margin:20px 0 24px}
    .plan li{
      list-style:none;
      display:flex;
      gap:9px;
      color:var(--muted);
    }
    .plan li:before{content:"✓";color:var(--safe);font-weight:900}
    .faq-grid{
      display:grid;
      grid-template-columns:.78fr 1.22fr;
      gap:30px;
      align-items:start;
    }
    .notice-card{
      padding:28px;
      background:linear-gradient(135deg,rgba(90,31,61,.94),rgba(110,36,74,.92));
      color:#fff;
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
    }
    .notice-card h3{font-size:24px;margin:12px 0}
    .notice-card p{color:rgba(255,255,255,.76)}
    .faq-list{display:grid;gap:12px}
    details{
      border-radius:20px;
      border:1px solid rgba(90,31,61,.10);
      background:rgba(255,255,255,.82);
      padding:0 18px;
      transition:.22s ease;
    }
    details[open]{background:rgba(255,241,243,.80);box-shadow:0 12px 30px rgba(90,31,61,.07)}
    summary{
      list-style:none;
      cursor:pointer;
      padding:18px 4px;
      font-weight:800;
      color:var(--text);
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:center;
    }
    summary::-webkit-details-marker{display:none}
    summary:after{
      content:"+";
      width:28px;height:28px;
      border-radius:50%;
      display:grid;place-items:center;
      background:rgba(90,31,61,.08);
      color:var(--primary);
      flex:0 0 auto;
    }
    details[open] summary:after{content:"−";background:var(--primary);color:#fff}
    details p{color:var(--muted);padding:0 4px 18px}
    .cta{
      padding:84px 0;
    }
    .cta-box{
      border-radius:36px;
      background:
        radial-gradient(circle at 20% 20%,rgba(255,255,255,.22),transparent 25%),
        var(--gradient);
      color:#fff;
      padding:46px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:24px;
      align-items:center;
      box-shadow:0 26px 80px rgba(90,31,61,.22);
      overflow:hidden;
      position:relative;
    }
    .cta-box h2{font-size:36px;line-height:1.25;margin-bottom:10px}
    .cta-box p{color:rgba(255,255,255,.78);max-width:720px}
    .cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
    .cta-box .btn-secondary{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.24)}
    .site-footer{
      background:linear-gradient(180deg,#371225,#25111D);
      color:#fff;
      padding:56px 0 28px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr .9fr;
      gap:34px;
      padding-bottom:34px;
      border-bottom:1px solid rgba(255,255,255,.12);
    }
    .footer-brand strong{font-size:20px;display:block;margin-bottom:10px}
    .footer-brand p,.footer-col p,.copyright{color:rgba(255,255,255,.68)}
    .footer-col h3{font-size:16px;margin-bottom:14px}
    .footer-links{display:grid;gap:10px}
    .footer-links a{color:rgba(255,255,255,.72);transition:.2s ease}
    .footer-links a:hover{color:#fff;transform:translateX(2px)}
    .footer-warning{
      display:inline-flex;
      margin-top:14px;
      padding:9px 12px;
      border-radius:999px;
      background:rgba(255,122,69,.16);
      color:#FFD5C8;
      font-weight:800;
      font-size:13px;
      border:1px solid rgba(255,122,69,.24);
    }
    .copyright{
      padding-top:24px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      font-size:14px;
    }
    .mobile-sticky{
      display:none;
      position:fixed;
      left:12px;right:12px;bottom:12px;
      z-index:60;
      padding:10px;
      border-radius:22px;
      background:rgba(255,255,255,.92);
      border:1px solid rgba(90,31,61,.12);
      box-shadow:0 16px 42px rgba(90,31,61,.18);
      backdrop-filter:blur(14px);
      justify-content:space-between;
      align-items:center;
      gap:10px;
    }
    .mobile-sticky span{font-size:13px;font-weight:800;color:var(--primary)}
    .mobile-sticky .btn{min-height:38px;padding:10px 14px;font-size:13px}
    @media (max-width:1100px){
      .positioning{display:none}
      .search{width:220px}
      .hero-grid,.dashboard,.category-entry,.faq-grid{grid-template-columns:1fr}
      .feature-grid,.proof,.timeline{grid-template-columns:repeat(2,1fr)}
      .hero h1{font-size:46px}
    }
    @media (max-width:820px){
      .container{width:min(100% - 32px,var(--container))}
      .brand-row{align-items:flex-start;flex-wrap:wrap}
      .brand{min-width:0}
      .brand-text strong{font-size:16px;white-space:normal}
      .brand-text span{white-space:normal}
      .header-actions{width:100%;justify-content:space-between}
      .search{flex:1;min-width:0}
      .channel-nav{height:48px}
      .section{padding:64px 0}
      .hero{padding:52px 0 44px}
      .hero h1{font-size:36px}
      .hero-lead{font-size:16px}
      .section-head{display:block}
      .section h2,.cta-box h2{font-size:28px}
      .section-head p{margin-top:12px}
      .ability-side,.entry-panel,.plans{grid-template-columns:1fr}
      .plan.recommended{transform:none}
      .metric-strip{grid-template-columns:1fr}
      .cta-box{grid-template-columns:1fr;padding:32px 24px}
      .cta-actions{justify-content:flex-start}
      .footer-grid{grid-template-columns:1fr}
      .mobile-sticky{display:flex}
    }
    @media (max-width:560px){
      body{font-size:15px}
      .container{width:min(100% - 28px,var(--container))}
      .header-actions{gap:8px}
      .age-badge{padding:8px 10px}
      .header-actions>.btn{display:none}
      .search{height:40px}
      .hero-actions .btn,.cta-actions .btn{width:100%}
      .console{padding:16px;border-radius:24px}
      .screen{min-height:220px}
      .feature-grid,.proof,.timeline{grid-template-columns:1fr}
      .section h2{font-size:26px}
      .hero h1{font-size:32px}
      .entry-copy,.notice-card,.ability-main{padding:24px}
      .footer-grid{gap:24px}
      .copyright{padding-bottom:66px}
    }

/* roulang page: category1 */
:root{
      --primary:#5A1F3D;
      --primary-2:#6E244A;
      --accent:#FF6B4A;
      --accent-2:#FF7A45;
      --rose:#F6D7DD;
      --rose-soft:#FFF0F1;
      --bg:#FBF7F4;
      --surface:#FFFFFF;
      --surface-soft:#FFF9F7;
      --text:#21171E;
      --muted:#6F5F69;
      --muted-2:#8B7A84;
      --border:#E8D9DD;
      --safe:#2F8F83;
      --shadow:0 18px 50px rgba(90,31,61,.10);
      --shadow-hover:0 24px 70px rgba(90,31,61,.16);
      --radius-xl:32px;
      --radius-lg:24px;
      --radius-md:18px;
      --radius-sm:14px;
      --container:1220px;
      --gradient:linear-gradient(135deg,#5A1F3D 0%,#7B2B4F 58%,#FF6B4A 100%);
      --gradient-soft:linear-gradient(135deg,rgba(246,215,221,.95),rgba(255,246,242,.9));
      --focus:0 0 0 4px rgba(255,107,74,.22);
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 8% 6%,rgba(246,215,221,.72),transparent 32%),
        radial-gradient(circle at 92% 14%,rgba(255,107,74,.12),transparent 30%),
        var(--bg);
      line-height:1.75;
      min-width:320px;
    }
    a{color:inherit;text-decoration:none}
    img,svg{max-width:100%;display:block}
    button,input,select{font:inherit}
    button{cursor:pointer;border:0;background:none}
    input{border:0;outline:none}
    .container{width:min(100% - 64px,var(--container));margin-inline:auto}
    .section{padding:92px 0}
    .section-tight{padding:68px 0}
    .section-head{max-width:760px;margin-bottom:34px}
    .section-kicker{
      display:inline-flex;align-items:center;gap:8px;
      color:var(--primary);background:rgba(246,215,221,.55);
      border:1px solid rgba(90,31,61,.10);
      padding:7px 12px;border-radius:999px;
      font-size:13px;font-weight:700;letter-spacing:.04em;
      margin-bottom:14px;
    }
    .section-kicker::before{
      content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);
      box-shadow:0 0 0 5px rgba(255,107,74,.12);
    }
    h1,h2,h3{line-height:1.18;color:var(--text);letter-spacing:-.02em}
    h1{font-size:clamp(32px,5vw,54px);font-weight:800}
    h2{font-size:clamp(26px,3.2vw,38px);font-weight:800}
    h3{font-size:20px;font-weight:700}
    p{color:var(--muted)}
    .site-header{
      position:sticky;top:0;z-index:50;
      background:rgba(251,247,244,.92);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(90,31,61,.10);
      box-shadow:0 10px 30px rgba(90,31,61,.05);
    }
    .brand-row{
      min-height:74px;display:flex;align-items:center;gap:22px;justify-content:space-between;
      padding:14px 0;
    }
    .brand{display:flex;align-items:center;gap:13px;min-width:270px}
    .brand-mark{
      width:46px;height:46px;border-radius:16px;background:var(--gradient);
      position:relative;box-shadow:0 12px 28px rgba(90,31,61,.22);
      flex:0 0 auto;
    }
    .brand-mark::before{
      content:"";position:absolute;left:13px;top:11px;width:20px;height:24px;
      border:2px solid rgba(255,255,255,.88);border-radius:7px;
    }
    .brand-mark::after{
      content:"";position:absolute;left:19px;top:18px;
      border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;
    }
    .brand-text{display:flex;flex-direction:column;gap:1px}
    .brand-text strong{font-size:17px;line-height:1.25;color:var(--primary);font-weight:800}
    .brand-text span{font-size:12px;color:var(--muted)}
    .positioning{font-size:13px;max-width:390px;color:var(--muted);line-height:1.6}
    .header-actions{display:flex;align-items:center;gap:12px}
    .search{
      width:246px;height:42px;display:flex;align-items:center;gap:8px;
      background:var(--surface);border:1px solid var(--border);
      border-radius:999px;padding:0 14px;color:var(--muted);
      transition:.2s ease;box-shadow:0 8px 20px rgba(90,31,61,.04);
    }
    .search:focus-within{border-color:rgba(255,107,74,.55);box-shadow:var(--focus)}
    .search input{width:100%;background:transparent;color:var(--text);font-size:14px}
    .search input::placeholder{color:#9C8B94}
    .age-badge{
      display:inline-flex;align-items:center;white-space:nowrap;
      color:#8B331C;background:rgba(255,122,69,.13);
      border:1px solid rgba(255,122,69,.28);
      padding:9px 12px;border-radius:999px;font-size:13px;font-weight:800;
    }
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      min-height:44px;padding:11px 19px;border-radius:999px;
      font-weight:800;font-size:14px;transition:.22s ease;
      border:1px solid transparent;white-space:nowrap;
    }
    .btn-primary{background:var(--gradient);color:#fff;box-shadow:0 14px 28px rgba(90,31,61,.18)}
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(90,31,61,.26);filter:saturate(1.05)}
    .btn-secondary{background:rgba(246,215,221,.46);color:var(--primary);border-color:rgba(90,31,61,.12)}
    .btn-secondary:hover{background:rgba(246,215,221,.75);transform:translateY(-2px)}
    .btn-ghost{background:rgba(255,255,255,.62);color:var(--primary);border-color:rgba(90,31,61,.14)}
    .btn-ghost:hover{background:#fff;box-shadow:0 12px 28px rgba(90,31,61,.10);transform:translateY(-2px)}
    .btn:focus-visible,.channel-nav a:focus-visible,.footer-links a:focus-visible,.faq-question:focus-visible{outline:none;box-shadow:var(--focus)}
    .channel-row{background:rgba(255,255,255,.58);border-top:1px solid rgba(90,31,61,.06)}
    .channel-nav{
      min-height:48px;display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none;
      padding-top:7px;padding-bottom:7px;
    }
    .channel-nav::-webkit-scrollbar{display:none}
    .channel-nav a{
      flex:0 0 auto;padding:9px 14px;border-radius:999px;
      font-size:14px;font-weight:800;color:var(--muted);
      transition:.2s ease;border:1px solid transparent;
    }
    .channel-nav a:hover{color:var(--primary);background:rgba(246,215,221,.45)}
    .channel-nav a.active{
      color:var(--primary);background:rgba(246,215,221,.72);
      border-color:rgba(90,31,61,.10);
    }
    .hero{
      position:relative;overflow:hidden;padding:74px 0 54px;
    }
    .hero::before{
      content:"";position:absolute;inset:0;
      background:
        radial-gradient(circle at 78% 15%,rgba(255,107,74,.16),transparent 28%),
        radial-gradient(circle at 18% 40%,rgba(246,215,221,.72),transparent 32%);
      pointer-events:none;
    }
    .hero-grid{
      position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center;
    }
    .hero-copy .lead{font-size:18px;line-height:1.9;margin:18px 0 24px;max-width:680px}
    .hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:24px}
    .hero-badges{display:flex;gap:10px;flex-wrap:wrap}
    .badge{
      display:inline-flex;align-items:center;gap:7px;padding:8px 11px;
      border-radius:999px;background:rgba(255,255,255,.72);
      border:1px solid rgba(90,31,61,.10);color:var(--primary);
      font-size:13px;font-weight:800;box-shadow:0 8px 18px rgba(90,31,61,.05);
    }
    .badge.safe{color:var(--safe);background:rgba(47,143,131,.08);border-color:rgba(47,143,131,.18)}
    .channel-console{
      background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,249,247,.94));
      border:1px solid rgba(90,31,61,.10);border-radius:var(--radius-xl);
      padding:20px;box-shadow:var(--shadow);position:relative;overflow:hidden;
    }
    .channel-console::before{
      content:"";position:absolute;right:-60px;top:-70px;width:210px;height:210px;
      background:radial-gradient(circle,rgba(255,107,74,.18),transparent 68%);
    }
    .console-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;position:relative}
    .console-title strong{display:block;font-size:17px;color:var(--primary)}
    .console-title span{font-size:12px;color:var(--muted)}
    .privacy-pill{
      color:var(--safe);background:rgba(47,143,131,.09);
      border:1px solid rgba(47,143,131,.18);border-radius:999px;
      padding:8px 10px;font-size:12px;font-weight:800;
    }
    .visual-cover{
      min-height:238px;border-radius:26px;background:
      linear-gradient(135deg,rgba(90,31,61,.94),rgba(110,36,74,.82) 55%,rgba(255,107,74,.78)),
      radial-gradient(circle at 28% 20%,rgba(255,255,255,.25),transparent 24%);
      position:relative;overflow:hidden;padding:18px;color:#fff;
    }
    .visual-cover::before{
      content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.18);border-radius:22px;
    }
    .play-ring{
      position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
      width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.18);
      border:1px solid rgba(255,255,255,.34);display:grid;place-items:center;
      backdrop-filter:blur(8px);
    }
    .play-ring::after{
      content:"";border-left:18px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px;
    }
    .cover-tags{position:relative;display:flex;gap:8px;flex-wrap:wrap}
    .cover-tags span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}
    .progress-panel{
      margin-top:15px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;
      background:#fff;border:1px solid rgba(90,31,61,.08);border-radius:20px;padding:14px;
    }
    .progress-text strong{display:block;color:var(--text);font-size:14px}
    .progress-text span{font-size:12px;color:var(--muted)}
    .bar{height:8px;background:rgba(246,215,221,.72);border-radius:999px;overflow:hidden;margin-top:8px}
    .bar i{display:block;width:68%;height:100%;background:var(--gradient);border-radius:inherit}
    .channel-tabs-wrap{margin-top:8px}
    .channel-tabs{
      display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:10px;
    }
    .channel-tabs::-webkit-scrollbar{display:none}
    .tab{
      flex:0 0 auto;border:1px solid rgba(90,31,61,.12);
      background:rgba(255,255,255,.68);color:var(--muted);
      border-radius:999px;padding:10px 15px;font-weight:800;font-size:14px;
      transition:.2s ease;
    }
    .tab.active,.tab:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
    .filter-panel{
      display:flex;justify-content:space-between;gap:18px;align-items:center;
      background:var(--surface);border:1px solid rgba(90,31,61,.10);
      box-shadow:var(--shadow);border-radius:var(--radius-lg);
      padding:18px;margin-top:18px;
    }
    .filter-groups{display:flex;gap:10px;flex-wrap:wrap}
    .filter-btn{
      display:inline-flex;align-items:center;gap:7px;padding:10px 13px;
      background:rgba(246,215,221,.33);border:1px solid rgba(90,31,61,.10);
      color:var(--primary);border-radius:999px;font-weight:800;font-size:13px;
      transition:.2s ease;
    }
    .filter-btn:hover{background:rgba(246,215,221,.7);transform:translateY(-1px)}
    .sort-note{color:var(--muted);font-size:13px;white-space:nowrap}
    .matrix{
      display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch;
    }
    .feature-card,.mini-stack .content-card,.content-card{
      background:var(--surface);border:1px solid rgba(90,31,61,.10);
      border-radius:var(--radius-lg);box-shadow:0 14px 42px rgba(90,31,61,.07);
      overflow:hidden;transition:.22s ease;
    }
    .feature-card:hover,.content-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:rgba(255,107,74,.32)}
    .cover{
      min-height:214px;position:relative;padding:16px;overflow:hidden;
      background:linear-gradient(135deg,rgba(90,31,61,.92),rgba(246,215,221,.86));
    }
    .cover.small{min-height:126px}
    .cover::before{
      content:"";position:absolute;inset:16px;border-radius:20px;
      background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04));
      border:1px solid rgba(255,255,255,.22);transition:.28s ease;
    }
    .content-card:hover .cover::before,.feature-card:hover .cover::before{transform:scale(1.03)}
    .cover .play-mini{
      position:absolute;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;
      background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.36);
      display:grid;place-items:center;backdrop-filter:blur(8px);
    }
    .cover .play-mini::after{
      content:"";border-left:11px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px;
    }
    .tag-row{position:relative;display:flex;gap:8px;flex-wrap:wrap;z-index:1}
    .label{
      display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;
      font-size:12px;font-weight:800;background:rgba(255,255,255,.22);
      color:#fff;border:1px solid rgba(255,255,255,.26);
    }
    .label.dark{background:rgba(90,31,61,.08);color:var(--primary);border-color:rgba(90,31,61,.12)}
    .label.orange{background:rgba(255,107,74,.12);color:#A44125;border-color:rgba(255,107,74,.22)}
    .label.safe{background:rgba(47,143,131,.10);color:var(--safe);border-color:rgba(47,143,131,.18)}
    .card-body{padding:22px}
    .card-body h3{margin-bottom:8px}
    .card-body p{font-size:15px}
    .meta-line{
      display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 18px;
      color:var(--muted);font-size:13px;
    }
    .mini-stack{display:grid;grid-template-rows:1fr 1fr;gap:22px}
    .mini-stack .card-body{padding:18px}
    .cards-grid{
      display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px;
    }
    .content-card .cover{min-height:156px}
    .explain-grid{
      display:grid;grid-template-columns:.92fr 1.08fr;gap:28px;align-items:center;
      background:linear-gradient(135deg,#fff,rgba(255,240,241,.82));
      border:1px solid rgba(90,31,61,.10);border-radius:var(--radius-xl);
      padding:34px;box-shadow:var(--shadow);
    }
    .explain-list{display:grid;gap:14px}
    .explain-item{
      display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;
      background:rgba(255,255,255,.7);border:1px solid rgba(90,31,61,.08);
      border-radius:20px;padding:16px;
    }
    .icon-num{
      width:42px;height:42px;border-radius:16px;background:var(--gradient);
      color:#fff;display:grid;place-items:center;font-weight:900;
      box-shadow:0 10px 22px rgba(90,31,61,.16);
    }
    .scenario{
      display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
    }
    .scenario-card{
      background:var(--surface);border:1px solid rgba(90,31,61,.10);
      border-radius:22px;padding:20px;box-shadow:0 12px 34px rgba(90,31,61,.06);
    }
    .scenario-card strong{display:block;color:var(--primary);margin-bottom:8px;font-size:18px}
    .privacy-box{
      display:grid;grid-template-columns:1fr 1fr;gap:22px;
      background:var(--primary);border-radius:var(--radius-xl);
      padding:32px;color:#fff;position:relative;overflow:hidden;
    }
    .privacy-box::after{
      content:"";position:absolute;right:-80px;bottom:-90px;width:260px;height:260px;
      background:radial-gradient(circle,rgba(255,107,74,.38),transparent 68%);
    }
    .privacy-box h2,.privacy-box p{color:#fff}
    .privacy-box p{opacity:.82}
    .privacy-list{display:grid;gap:12px;position:relative;z-index:1}
    .privacy-list li{
      list-style:none;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);
      border-radius:18px;padding:14px 16px;color:rgba(255,255,255,.9);
    }
    .faq-wrap{display:grid;gap:12px;max-width:900px}
    .faq-item{
      border:1px solid rgba(90,31,61,.10);border-radius:20px;
      background:rgba(255,255,255,.78);overflow:hidden;box-shadow:0 10px 28px rgba(90,31,61,.05);
    }
    .faq-question{
      width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
      padding:18px 20px;text-align:left;color:var(--text);font-weight:800;
    }
    .faq-question span:last-child{
      width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
      background:rgba(246,215,221,.65);color:var(--primary);transition:.2s ease;
    }
    .faq-answer{display:none;padding:0 20px 20px;color:var(--muted)}
    .faq-item.open{background:rgba(255,240,241,.72)}
    .faq-item.open .faq-answer{display:block}
    .faq-item.open .faq-question span:last-child{transform:rotate(45deg);background:var(--primary);color:#fff}
    .cta-panel{
      background:var(--gradient);border-radius:var(--radius-xl);padding:42px;
      color:#fff;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
      box-shadow:0 26px 80px rgba(90,31,61,.24);overflow:hidden;position:relative;
    }
    .cta-panel::before{
      content:"";position:absolute;left:-70px;top:-80px;width:260px;height:260px;
      background:radial-gradient(circle,rgba(255,255,255,.20),transparent 68%);
    }
    .cta-panel h2,.cta-panel p{color:#fff;position:relative}
    .cta-panel p{opacity:.86;margin-top:10px;max-width:720px}
    .cta-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative}
    .cta-panel .btn-secondary{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.28)}
    .cta-panel .btn-secondary:hover{background:rgba(255,255,255,.24)}
    .site-footer{
      margin-top:40px;background:linear-gradient(135deg,#3A1428,#5A1F3D);
      color:#fff;padding:54px 0 24px;
    }
    .footer-grid{display:grid;grid-template-columns:1.25fr .7fr 1fr;gap:34px;margin-bottom:30px}
    .footer-brand strong{font-size:20px;display:block;margin-bottom:10px}
    .footer-brand p,.footer-col p{color:rgba(255,255,255,.74)}
    .footer-warning{
      display:inline-flex;margin-top:16px;padding:8px 11px;border-radius:999px;
      background:rgba(255,122,69,.16);border:1px solid rgba(255,122,69,.28);
      color:#FFD9C9;font-weight:800;font-size:13px;
    }
    .footer-col h3{color:#fff;font-size:16px;margin-bottom:12px}
    .footer-links{display:grid;gap:9px}
    .footer-links a{color:rgba(255,255,255,.76);transition:.2s ease;width:max-content}
    .footer-links a:hover{color:#fff;transform:translateX(2px)}
    .copyright{
      border-top:1px solid rgba(255,255,255,.14);padding-top:18px;
      display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
      color:rgba(255,255,255,.62);font-size:13px;
    }
    @media (max-width:1100px){
      .brand-row{flex-wrap:wrap}
      .positioning{order:3;max-width:none;width:100%}
      .header-actions{margin-left:auto}
      .hero-grid,.matrix,.explain-grid,.privacy-box{grid-template-columns:1fr}
      .cards-grid{grid-template-columns:repeat(2,1fr)}
      .scenario{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width:820px){
      .container{width:min(100% - 40px,var(--container))}
      .section{padding:64px 0}
      .brand-row{align-items:flex-start}
      .brand{min-width:0}
      .brand-text strong{font-size:15px}
      .header-actions{width:100%;justify-content:space-between;gap:8px}
      .search{flex:1;min-width:160px;width:auto}
      .header-actions .btn{display:none}
      .hero{padding-top:50px}
      .filter-panel{align-items:flex-start;flex-direction:column}
      .sort-note{white-space:normal}
      .footer-grid{grid-template-columns:1fr}
      .cta-panel{grid-template-columns:1fr;padding:30px}
    }
    @media (max-width:560px){
      .container{width:min(100% - 32px,var(--container))}
      h1{font-size:32px}
      .brand-row{gap:12px}
      .brand-mark{width:42px;height:42px;border-radius:14px}
      .positioning{display:none}
      .age-badge{font-size:12px;padding:8px 10px}
      .search{order:3;width:100%;flex-basis:100%}
      .hero-actions,.cta-actions{flex-direction:column}
      .btn{width:100%}
      .visual-cover{min-height:210px}
      .progress-panel{grid-template-columns:1fr}
      .cards-grid,.scenario{grid-template-columns:1fr}
      .card-body{padding:18px}
      .explain-grid,.privacy-box,.cta-panel{padding:22px;border-radius:24px}
      .mini-stack{grid-template-rows:auto}
      .footer-warning{align-items:flex-start}
      .copyright{display:grid}
    }
