/* roulang page: index */
:root{
      --paper:#f7f3ee;
      --surface:#fffdf9;
      --surface-soft:#efe8e2;
      --ink:#272329;
      --muted:#776f70;
      --line:#ded4ce;
      --wine:#79384f;
      --wine-deep:#572538;
      --coral:#d47d62;
      --sage:#788b7a;
      --shadow:0 16px 42px rgba(62,42,45,.09);
      --shadow-small:0 8px 22px rgba(62,42,45,.07);
      --radius-lg:24px;
      --radius-md:16px;
      --radius-sm:11px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:var(--paper);
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
      font-size:16px;
      line-height:1.85;
      padding-bottom:78px;
    }
    a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
    img{display:block;max-width:100%}
    button,input{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid rgba(212,125,98,.62);outline-offset:3px}
    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:30;background:rgba(247,243,238,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(222,212,206,.9)}
    .header-row{min-height:76px;display:flex;align-items:center;gap:22px}
    .brand{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
    .brand-mark{width:35px;height:35px;border-radius:12px;background:var(--wine);display:grid;place-items:center;color:#fff;font-size:14px;box-shadow:0 6px 14px rgba(121,56,79,.2)}
    .nav-tabs{display:flex;align-items:center;gap:7px;margin-left:10px;flex:1}
    .nav-tab{padding:7px 14px;border:1px solid transparent;border-radius:999px;color:var(--muted);font-size:14px;line-height:1.4}
    .nav-tab:hover{color:var(--wine);background:#eee4df;border-color:var(--line)}
    .nav-tab.active{color:#fff;background:var(--wine);box-shadow:0 5px 13px rgba(121,56,79,.18)}
    .header-action,.btn-primary,.btn-secondary{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      border-radius:999px;padding:11px 19px;font-weight:700;font-size:14px;
      transition:all .2s ease
    }
    .header-action,.btn-primary{background:var(--wine);color:#fff;border:1px solid var(--wine)}
    .header-action:hover,.btn-primary:hover{background:var(--wine-deep);border-color:var(--wine-deep);transform:translateY(-2px);box-shadow:0 9px 20px rgba(121,56,79,.2)}
    .btn-secondary{color:var(--wine);background:transparent;border:1px solid var(--line)}
    .btn-secondary:hover{background:#eee4df;border-color:var(--wine);transform:translateY(-2px)}
    .mobile-toggle{display:none;border:1px solid var(--line);background:var(--surface);color:var(--wine);border-radius:10px;width:42px;height:40px}
    .section{padding:92px 0}
    .section-tight{padding:64px 0}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:12px;font-weight:800;letter-spacing:.12em}
    .eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
    h1,h2,h3,p{margin-top:0}
    h1,h2,h3{letter-spacing:-.045em;line-height:1.2}
    h1{font-size:clamp(38px,5.3vw,68px);margin-bottom:23px}
    h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:15px}
    h3{font-size:19px;margin-bottom:8px}
    .lead{font-size:17px;color:var(--muted);line-height:1.95;max-width:650px}
    .hero{padding:92px 0 70px;position:relative;overflow:hidden}
    .hero:before{content:"";position:absolute;inset:0 0 auto auto;width:42%;height:100%;background:radial-gradient(circle at 80% 25%,rgba(212,125,98,.17),transparent 58%);pointer-events:none}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;position:relative}
    .hero-copy{max-width:680px}
    .hero-copy h1 span{color:var(--wine)}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:31px 0 26px}
    .hero-notes{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:13px}
    .note{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,249,.6)}
    .note b{color:var(--sage);font-size:15px}
    .hero-board{min-height:390px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);padding:22px;position:relative;transform:rotate(1.2deg)}
    .board-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}
    .board-title{font-weight:800}
    .board-index{color:var(--muted);font-size:12px;font-family:monospace}
    .cover-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:145px 145px;gap:12px}
    .abstract-cover{border-radius:15px;position:relative;overflow:hidden;padding:15px;color:#fff;display:flex;align-items:flex-end;font-size:14px;font-weight:700}
    .abstract-cover:after{content:"";position:absolute;width:120px;height:120px;border:1px solid rgba(255,255,255,.35);border-radius:50%;right:-25px;top:-25px}
    .cover-main{grid-row:span 2;background:linear-gradient(140deg,#633145,#b26768)}
    .cover-light{background:linear-gradient(140deg,#b7866b,#e2b486);color:#3c2930}
    .cover-dark{background:linear-gradient(140deg,#35343e,#766477)}
    .cover-label{position:relative;z-index:1}
    .board-badge{position:absolute;right:-16px;bottom:30px;background:var(--coral);color:#fff;padding:12px 16px;border-radius:14px;box-shadow:var(--shadow-small);font-size:13px;font-weight:700}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
    .section-head p{max-width:600px;color:var(--muted);margin-bottom:0}
    .chips{display:flex;flex-wrap:wrap;gap:10px}
    .chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);padding:10px 16px;border-radius:999px;color:var(--muted);font-size:14px}
    .chip:hover,.chip.selected{color:var(--wine);border-color:var(--wine);background:#f1e4e3}
    .category-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}
    .category-card{min-height:250px;padding:30px;border-radius:var(--radius-lg);background:var(--wine);color:#fff;position:relative;overflow:hidden}
    .category-card:after{content:"01";position:absolute;right:25px;bottom:-25px;font-size:130px;line-height:1;font-weight:900;color:rgba(255,255,255,.09)}
    .category-card p{max-width:520px;color:rgba(255,255,255,.75)}
    .category-card .btn-secondary{color:#fff;border-color:rgba(255,255,255,.4)}
    .category-card .btn-secondary:hover{background:rgba(255,255,255,.12);border-color:#fff}
    .side-category{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:space-between}
    .side-category .number{font-family:monospace;color:var(--coral);font-weight:800}
    .resource-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
    .resource-feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:27px;display:flex;gap:24px;align-items:center}
    .mini-cover{width:150px;min-width:150px;height:185px;border-radius:15px;background:linear-gradient(145deg,#8c5562,#dfaa8b);position:relative;overflow:hidden}
    .mini-cover:before{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.45);border-radius:50%;left:-55px;bottom:-25px}
    .resource-list{display:flex;flex-direction:column;gap:10px}
    .resource-item{display:flex;align-items:center;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:15px 17px}
    .resource-item:hover{border-color:var(--coral);transform:translateX(3px);box-shadow:var(--shadow-small)}
    .item-no{font-family:monospace;color:var(--coral);font-weight:800}
    .item-copy{flex:1;min-width:0}
    .item-copy strong{display:block;font-size:15px}
    .item-copy small{display:block;color:var(--muted);font-size:12px}
    .arrow{color:var(--wine);font-size:20px}
    .path-section{background:var(--surface-soft)}
    .path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .path-step{padding:28px 28px 28px 0;position:relative}
    .path-step:not(:last-child){border-right:1px solid var(--line);margin-right:28px}
    .path-step:not(:last-child):after{content:"→";position:absolute;right:-15px;top:39px;background:var(--surface-soft);color:var(--coral);font-size:21px;padding:0 3px}
    .step-no{font-family:monospace;color:var(--coral);font-size:13px;font-weight:800}
    .path-step p{color:var(--muted);font-size:14px;margin-bottom:0}
    .update-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}
    .update-panel{padding:28px;border-left:3px solid var(--coral);background:rgba(255,253,249,.56)}
    .update-panel p{color:var(--muted);font-size:15px}
    .update-line{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}
    .update-line time{font-family:monospace;color:var(--coral);font-size:12px;min-width:78px}
    .update-line a{font-weight:700}
    .update-line a:hover{color:var(--wine)}
    .trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .trust-item{padding:19px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}
    .trust-item strong{display:block;font-size:15px;margin-bottom:3px}
    .trust-item span{font-size:13px;color:var(--muted)}
    .download-box{background:var(--wine-deep);color:#fff;border-radius:var(--radius-lg);padding:39px 44px;display:flex;justify-content:space-between;align-items:center;gap:25px}
    .download-box p{color:rgba(255,255,255,.72);max-width:650px;margin-bottom:0}
    .download-box .btn-secondary{border-color:rgba(255,255,255,.45);color:#fff;white-space:nowrap}
    .download-box .btn-secondary:hover{background:rgba(255,255,255,.1)}
    .faq-list{max-width:850px;margin:0 auto}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{width:100%;border:0;background:transparent;text-align:left;padding:20px 35px 20px 0;font-weight:800;color:var(--ink);position:relative}
    .faq-question:after{content:"+";position:absolute;right:3px;color:var(--wine);font-size:22px;top:16px;transition:transform .2s}
    .faq-question[aria-expanded="true"]:after{transform:rotate(45deg)}
    .faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 35px 20px 0}
    .faq-answer.open{display:block}
    .footer{background:#30282c;color:#fff;padding:57px 0 28px}
    .footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:55px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.15)}
    .footer p,.footer a{color:rgba(255,255,255,.65);font-size:14px}
    .footer a:hover{color:#fff}
    .footer h3{font-size:15px;color:#fff;margin-bottom:13px}
    .footer-links{display:flex;flex-direction:column;gap:5px}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:rgba(255,255,255,.45);font-size:12px}
    .fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:40;background:rgba(48,40,44,.96);color:#fff;border-top:1px solid rgba(255,255,255,.13);box-shadow:0 -8px 22px rgba(35,25,28,.14)}
    .fixed-inner{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:20px}
    .fixed-copy{font-size:14px}.fixed-copy span{color:#d9bbb3;margin-left:9px;font-size:12px}
    .fixed-cta .btn-primary{background:var(--coral);border-color:var(--coral)}
    .fixed-cta .btn-primary:hover{background:#bd674f;border-color:#bd674f}
    .close-bar{border:0;background:transparent;color:rgba(255,255,255,.55);font-size:22px;padding:5px}
    .age-modal{position:fixed;inset:0;background:rgba(34,25,29,.66);z-index:60;display:none;place-items:center;padding:20px}
    .age-modal.show{display:grid}
    .age-card{max-width:470px;background:var(--surface);border-radius:22px;padding:35px;box-shadow:var(--shadow);text-align:center}
    .age-card h2{font-size:28px}
    .age-card p{color:var(--muted);font-size:14px}
    .age-actions{display:flex;gap:10px;justify-content:center;margin-top:22px}
    @media(max-width:1024px){.hero-grid{gap:35px}.footer-grid{gap:28px}.section{padding:75px 0}}
    @media(max-width:768px){
      body{padding-bottom:112px}.container{width:min(100% - 28px,620px)}
      .header-row{min-height:66px}.brand{font-size:15px}.brand-mark{width:31px;height:31px}
      .mobile-toggle{display:block;margin-left:auto}.header-action{display:none}
      .nav-tabs{display:none;position:absolute;top:66px;left:0;right:0;background:var(--paper);padding:12px 14px;border-bottom:1px solid var(--line);overflow-x:auto;margin:0}
      .nav-tabs.open{display:flex}.nav-tab{white-space:nowrap}
      .hero{padding:58px 0 45px}.hero-grid,.category-layout,.resource-grid,.update-layout{grid-template-columns:1fr}
      .hero-board{min-height:320px;transform:none}.cover-grid{grid-template-rows:115px 115px}
      .section{padding:62px 0}.section-head{display:block}.section-head p{margin-top:12px}
      .path-grid{grid-template-columns:1fr}.path-step{padding:22px 0;border-bottom:1px solid var(--line)}.path-step:not(:last-child){border-right:0;margin-right:0}.path-step:not(:last-child):after{content:"↓";right:auto;left:0;top:auto;bottom:-16px;z-index:2}
      .trust-strip{grid-template-columns:1fr}.download-box{display:block;padding:29px 25px}.download-box .btn-secondary{margin-top:20px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
      .fixed-inner{min-height:92px;gap:10px}.fixed-copy{font-size:13px;line-height:1.4}.fixed-copy span{display:block;margin:4px 0 0}.fixed-cta .btn-primary{padding:10px 14px;white-space:nowrap}
    }
    @media(max-width:520px){
      h1{font-size:38px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions a{text-align:center}
      .resource-feature{display:block}.mini-cover{width:100%;height:135px;margin-bottom:18px}.side-category{min-height:170px}
      .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.age-card{padding:27px 21px}
    }

/* roulang page: category1 */
:root{
      --paper:#f7f3ee;
      --surface:#fffdf9;
      --surface-soft:#efe8e2;
      --ink:#272329;
      --muted:#776f70;
      --line:#ded4ce;
      --wine:#79384f;
      --wine-deep:#572538;
      --coral:#d47d62;
      --sage:#788b7a;
      --success:#59745f;
      --warning:#a4603d;
      --danger:#9b4354;
      --shadow:0 16px 42px rgba(62,42,45,.09);
      --shadow-small:0 8px 22px rgba(62,42,45,.07);
      --radius-lg:24px;
      --radius-md:16px;
      --radius-sm:11px;
    }

    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:
        radial-gradient(circle at 7% 18%,rgba(212,125,98,.07),transparent 24rem),
        var(--paper);
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
      font-size:16px;
      line-height:1.85;
      padding-bottom:88px;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    body.modal-open{overflow:hidden}
    ::selection{color:#fff;background:var(--wine)}
    ::-webkit-scrollbar{width:10px;height:8px}
    ::-webkit-scrollbar-track{background:var(--surface-soft)}
    ::-webkit-scrollbar-thumb{background:#c7b8b1;border:2px solid var(--surface-soft);border-radius:999px}
    ::-webkit-scrollbar-thumb:hover{background:var(--wine)}
    a{color:inherit;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
    img{display:block;max-width:100%}
    button,input,select{font:inherit}
    button{cursor:pointer}
    button:disabled,.btn-disabled{cursor:not-allowed;opacity:.48;transform:none!important;box-shadow:none!important}
    input::placeholder{color:#9d9493}
    :focus-visible{outline:3px solid rgba(212,125,98,.42);outline-offset:3px}
    [hidden]{display:none!important}

    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
    .site-header{
      position:sticky;
      top:0;
      z-index:30;
      background:rgba(247,243,238,.94);
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(222,212,206,.9);
    }
    .header-row{min-height:76px;display:flex;align-items:center;gap:22px}
    .brand{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
    .brand-mark{width:35px;height:35px;border-radius:12px;background:var(--wine);display:grid;place-items:center;color:#fff;font-size:14px;box-shadow:0 6px 14px rgba(121,56,79,.2)}
    .nav-tabs{display:flex;align-items:center;gap:7px;margin-left:10px;flex:1}
    .nav-tab{padding:7px 14px;border:1px solid transparent;border-radius:999px;color:var(--muted);font-size:14px;line-height:1.4;white-space:nowrap}
    .nav-tab:hover{color:var(--wine);background:#eee4df;border-color:var(--line)}
    .nav-tab:active{transform:translateY(1px)}
    .nav-tab.active{color:#fff;background:var(--wine);box-shadow:0 5px 13px rgba(121,56,79,.18)}
    .header-tools{display:flex;align-items:center;gap:9px}
    .header-action,.btn-primary,.btn-secondary,.btn-light{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      border-radius:999px;
      padding:10px 19px;
      font-weight:700;
      font-size:14px;
      line-height:1.3;
      transition:all .2s ease;
    }
    .header-action,.btn-primary{background:var(--wine);color:#fff;border:1px solid var(--wine)}
    .header-action:hover,.btn-primary:hover{background:var(--wine-deep);border-color:var(--wine-deep);transform:translateY(-2px);box-shadow:0 9px 20px rgba(121,56,79,.2)}
    .header-action:active,.btn-primary:active,.btn-secondary:active,.btn-light:active{transform:translateY(1px);box-shadow:none}
    .btn-secondary{color:var(--wine);background:transparent;border:1px solid var(--line)}
    .btn-secondary:hover{background:#eee4df;border-color:var(--wine);transform:translateY(-2px)}
    .btn-light{color:var(--wine-deep);background:#fff;border:1px solid rgba(255,255,255,.72)}
    .btn-light:hover{background:#fff7f2;transform:translateY(-2px);box-shadow:0 9px 22px rgba(46,24,31,.15)}
    .mobile-toggle{display:none;border:1px solid var(--line);background:var(--surface);color:var(--wine);border-radius:10px;width:42px;height:40px}

    .breadcrumb{padding:22px 0 0;color:var(--muted);font-size:13px}
    .breadcrumb ol{display:flex;align-items:center;gap:9px;margin:0;padding:0;list-style:none}
    .breadcrumb a:hover{color:var(--wine)}
    .breadcrumb-separator{color:#b2a6a2}
    .page-intro{padding:52px 0 38px}
    .intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:60px;align-items:end}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:12px;font-weight:800;letter-spacing:.12em}
    .eyebrow:before{content:"";width:24px;height:2px;background:var(--coral)}
    .page-intro h1{
      max-width:850px;
      margin:14px 0 18px;
      font-size:clamp(36px,5vw,58px);
      line-height:1.16;
      letter-spacing:-.045em;
      font-weight:900;
    }
    .page-intro h1 span{color:var(--wine)}
    .lead{font-size:17px;color:var(--muted);line-height:1.95;max-width:760px;margin:0}
    .intro-index{
      position:relative;
      min-height:144px;
      border-left:1px solid var(--line);
      padding-left:28px;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
    }
    .intro-index b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:72px;line-height:.9;color:rgba(121,56,79,.14)}
    .intro-index span{margin-top:14px;color:var(--muted);font-size:13px}

    .flash-strip{
      margin-bottom:26px;
      color:#fff;
      background:var(--wine-deep);
      border:1px solid rgba(255,255,255,.12);
      border-radius:var(--radius-md);
      box-shadow:var(--shadow-small);
      overflow:hidden;
    }
    .flash-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:15px 20px}
    .flash-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;white-space:nowrap}
    .pulse-dot{width:9px;height:9px;border-radius:50%;background:#f6a784;box-shadow:0 0 0 0 rgba(246,167,132,.5);animation:pulse 2s infinite}
    @keyframes pulse{70%{box-shadow:0 0 0 8px rgba(246,167,132,0)}100%{box-shadow:0 0 0 0 rgba(246,167,132,0)}}
    .countdown{display:flex;align-items:center;gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
    .time-unit{min-width:35px;padding:4px 7px;text-align:center;border-radius:8px;background:rgba(255,255,255,.12);font-weight:800}
    .flash-copy{color:rgba(255,255,255,.72);font-size:13px}

    .section{padding:84px 0}
    .section-tight{padding:62px 0}
    .section-soft{background:var(--surface-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
    .section-head h2{margin:7px 0 0;font-size:clamp(27px,3.6vw,38px);line-height:1.28;letter-spacing:-.035em}
    .section-head p{max-width:600px;color:var(--muted);margin:0}
    .section-kicker{color:var(--wine);font-size:13px;font-weight:800}
    .section-note{font-size:13px;color:var(--muted)}

    .feature-card{
      display:grid;
      grid-template-columns:1.12fr .88fr;
      min-height:370px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .feature-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}
    .feature-copy h2{margin:14px 0 12px;font-size:clamp(27px,4vw,42px);line-height:1.25;letter-spacing:-.035em}
    .feature-copy p{max-width:610px;color:var(--muted);margin:0}
    .feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0 28px}
    .badge,.chip{
      display:inline-flex;
      align-items:center;
      gap:7px;
      border:1px solid var(--line);
      background:var(--surface);
      border-radius:999px;
      color:var(--muted);
      font-size:13px;
      line-height:1.4;
    }
    .badge{padding:7px 11px}
    .badge-wine{color:var(--wine);background:#f3e6e7;border-color:#dfc6ca;font-weight:700}
    .badge-sage{color:#4f6955;background:#e8eee7;border-color:#ced9cc}
    .chip{padding:9px 15px;cursor:pointer}
    .chip:hover,.chip.selected{color:var(--wine);border-color:var(--wine);background:#f1e4e3}
    .chip:active{transform:scale(.98)}
    .feature-visual{min-height:330px;padding:25px;background:#e8ddd7;position:relative;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:12px}
    .abstract-cover{position:relative;overflow:hidden;border-radius:18px;background:#633145;isolation:isolate}
    .abstract-cover::before,.abstract-cover::after{content:"";position:absolute;border-radius:999px;filter:blur(1px)}
    .abstract-cover::before{width:190px;height:190px;right:-48px;top:-36px;background:rgba(212,125,98,.7)}
    .abstract-cover::after{width:150px;height:150px;left:-35px;bottom:-55px;background:rgba(239,220,196,.25)}
    .abstract-main{grid-row:1 / span 2;background:linear-gradient(145deg,#572538,#8c4d62)}
    .abstract-second{background:linear-gradient(145deg,#9b695d,#d7a17c)}
    .abstract-third{background:linear-gradient(145deg,#68796c,#a6af91)}
    .cover-code{position:absolute;left:16px;bottom:13px;z-index:2;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:800;letter-spacing:.08em}
    .visual-age{position:absolute;right:18px;bottom:18px;z-index:3;padding:8px 11px;border-radius:999px;color:#fff;background:rgba(39,35,41,.82);font-size:12px;font-weight:800;backdrop-filter:blur(5px)}

    .filter-panel{
      position:sticky;
      top:92px;
      z-index:12;
      padding:18px;
      background:rgba(255,253,249,.96);
      border:1px solid var(--line);
      border-radius:var(--radius-md);
      box-shadow:var(--shadow-small);
      backdrop-filter:blur(12px);
    }
    .filter-grid{display:grid;grid-template-columns:minmax(240px,1.45fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:12px;align-items:end}
    .field label{display:block;margin:0 0 6px;font-size:12px;font-weight:800;color:var(--muted)}
    .input-wrap{position:relative}
    .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--wine);pointer-events:none}
    .form-control{
      width:100%;
      min-height:45px;
      padding:10px 13px;
      color:var(--ink);
      background:#fff;
      border:1px solid var(--line);
      border-radius:12px;
      transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
    }
    .form-control.search{padding-left:41px}
    .form-control:hover{border-color:#bfaeaa}
    .form-control:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 4px rgba(121,56,79,.1)}
    .form-control:disabled{background:#ece7e2;color:#9d9493;cursor:not-allowed}
    select.form-control{cursor:pointer}
    .filter-chips{display:flex;flex-wrap:wrap;gap:9px;margin:17px 0 0}
    .result-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:25px 2px 15px;color:var(--muted);font-size:13px}

    .content-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:20px;align-items:start}
    .spotlight{
      min-height:480px;
      position:relative;
      display:flex;
      align-items:flex-end;
      overflow:hidden;
      border-radius:var(--radius-lg);
      background:linear-gradient(145deg,#572538,#8a465c 62%,#ca7b66);
      box-shadow:var(--shadow);
      color:#fff;
    }
    .spotlight::before{
      content:"";
      position:absolute;
      width:390px;
      height:390px;
      right:-80px;
      top:-120px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:50%;
      box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025);
    }
    .spotlight::after{content:"01";position:absolute;right:27px;bottom:0;font-size:150px;font-weight:900;line-height:.78;color:rgba(255,255,255,.07)}
    .spotlight-content{position:relative;z-index:2;padding:38px;max-width:650px}
    .spotlight h3{font-size:clamp(26px,3vw,38px);line-height:1.3;margin:15px 0 12px}
    .spotlight p{color:rgba(255,255,255,.76);margin:0 0 25px}
    .spotlight .badge{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
    .side-list{display:flex;flex-direction:column;gap:12px}
    .content-item{
      display:flex;
      gap:16px;
      align-items:center;
      min-height:106px;
      padding:15px;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius-md);
      box-shadow:0 3px 0 transparent;
      transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
    }
    .content-item:hover{transform:translateX(3px);border-color:var(--coral);box-shadow:var(--shadow-small)}
    .content-item:active{transform:translateX(1px)}
    .mini-cover{width:82px;align-self:stretch;min-height:76px;flex:0 0 82px;border-radius:12px;position:relative;overflow:hidden;background:linear-gradient(145deg,#8a465c,#d18871)}
    .mini-cover.sage{background:linear-gradient(145deg,#617565,#a7b49c)}
    .mini-cover.sand{background:linear-gradient(145deg,#a56e5f,#e2b189)}
    .mini-cover::after{content:"";position:absolute;width:70px;height:70px;border:1px solid rgba(255,255,255,.32);border-radius:50%;right:-20px;top:-18px}
    .item-copy{min-width:0;flex:1}
    .item-copy small{display:block;color:var(--wine);font-size:11px;font-weight:800}
    .item-copy strong{display:block;margin:4px 0 2px;font-size:16px;line-height:1.45}
    .item-copy span{display:block;color:var(--muted);font-size:12px;line-height:1.55}
    .arrow{color:var(--wine);font-size:20px}
    .compact-board{
      margin-top:20px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .compact-entry{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);transition:all .2s ease}
    .compact-entry:hover{border-color:var(--wine);transform:translateY(-3px);box-shadow:var(--shadow-small)}
    .compact-entry .entry-top{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}
    .compact-entry h3{margin:13px 0 6px;font-size:18px}
    .compact-entry p{margin:0;color:var(--muted);font-size:13px}
    .load-row{display:flex;justify-content:center;margin-top:26px}

    .state-box{
      display:none;
      min-height:250px;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding:35px;
      background:var(--surface);
      border:1px dashed #cbbcb6;
      border-radius:var(--radius-lg);
    }
    .state-box.visible{display:flex}
    .state-icon{width:54px;height:54px;margin:0 auto 15px;border-radius:18px;display:grid;place-items:center;background:var(--surface-soft);color:var(--wine);font-weight:900}
    .state-box h3{margin:0 0 6px}
    .state-box p{margin:0;color:var(--muted);font-size:14px}

    .steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .step{position:relative;padding:32px 34px}
    .step+.step{border-left:1px solid var(--line)}
    .step-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--coral);font-weight:900}
    .step h3{margin:10px 0 7px;font-size:19px}
    .step p{margin:0;color:var(--muted);font-size:14px}
    .step:not(:last-child)::after{content:"→";position:absolute;right:-11px;top:50%;z-index:2;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--wine);font-size:13px}

    .trend-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:20px}
    .trend-feature{padding:34px;border-radius:var(--radius-lg);background:var(--wine);color:#fff;box-shadow:var(--shadow)}
    .trend-feature h2{margin:11px 0 12px;font-size:31px;line-height:1.35}
    .trend-feature p{color:rgba(255,255,255,.74);margin:0 0 24px}
    .trend-cloud{display:flex;flex-wrap:wrap;gap:9px}
    .trend-cloud span{padding:7px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:rgba(255,255,255,.88);font-size:12px}
    .signal-list{display:flex;flex-direction:column;gap:11px}
    .signal-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:15px;padding:17px 19px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}
    .signal-item:hover{border-color:var(--coral);box-shadow:var(--shadow-small)}
    .signal-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--coral);font-weight:900}
    .signal-item strong{display:block}
    .signal-item small{display:block;color:var(--muted)}
    .signal-state{color:var(--success);font-size:12px;font-weight:800}

    .faq-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:55px;align-items:start}
    .faq-aside{position:sticky;top:112px}
    .faq-aside h2{font-size:36px;line-height:1.3;margin:10px 0 14px}
    .faq-aside p{color:var(--muted)}
    .faq-list{border-top:1px solid var(--line)}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{
      width:100%;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:20px;
      padding:21px 2px;
      color:var(--ink);
      background:transparent;
      border:0;
      text-align:left;
      font-weight:800;
    }
    .faq-question:hover{color:var(--wine)}
    .faq-icon{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--wine);transition:transform .2s ease,background .2s ease}
    .faq-question[aria-expanded="true"] .faq-icon{transform:rotate(45deg);background:#f1e4e3}
    .faq-answer{max-height:0;overflow:hidden;transition:max-height .28s ease}
    .faq-answer p{margin:0;padding:0 48px 20px 2px;color:var(--muted);font-size:14px}

    .cta-panel{
      display:grid;
      grid-template-columns:1fr auto;
      align-items:center;
      gap:32px;
      padding:34px 38px;
      color:#fff;
      background:var(--wine);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .cta-panel::after{content:"";position:absolute;right:18%;top:-100px;width:240px;height:240px;border-radius:50%;border:45px solid rgba(255,255,255,.04)}
    .cta-panel h2{position:relative;z-index:2;margin:0 0 6px;font-size:30px}
    .cta-panel p{position:relative;z-index:2;margin:0;color:rgba(255,255,255,.72)}
    .cta-panel .btn-light{position:relative;z-index:2;white-space:nowrap}

    .footer{padding:68px 0 28px;background:#272329;color:rgba(255,255,255,.72)}
    .footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:55px}
    .footer h3{margin:0 0 15px;color:#fff;font-size:14px}
    .footer p{font-size:14px}
    .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:14px}
    .footer-links a:hover{color:#fff;transform:translateX(2px)}
    .footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);font-size:12px}

    .fixed-cta{
      position:fixed;
      left:50%;
      bottom:14px;
      z-index:35;
      width:min(920px,calc(100% - 28px));
      transform:translateX(-50%);
      display:grid;
      grid-template-columns:1fr auto auto;
      align-items:center;
      gap:16px;
      padding:11px 12px 11px 20px;
      color:#fff;
      background:rgba(39,35,41,.96);
      border:1px solid rgba(255,255,255,.13);
      border-radius:18px;
      box-shadow:0 18px 48px rgba(33,24,28,.3);
      backdrop-filter:blur(15px);
      transition:transform .25s ease,opacity .25s ease;
    }
    .fixed-cta.closed{opacity:0;pointer-events:none;transform:translate(-50%,130%)}
    .fixed-copy{min-width:0}
    .fixed-copy strong{display:block;font-size:14px}
    .fixed-copy span{display:block;color:rgba(255,255,255,.62);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .fixed-close{width:35px;height:35px;border:0;border-radius:10px;color:rgba(255,255,255,.7);background:rgba(255,255,255,.08)}
    .fixed-close:hover{color:#fff;background:rgba(255,255,255,.15)}

    .age-modal{
      position:fixed;
      inset:0;
      z-index:80;
      display:none;
      align-items:center;
      justify-content:center;
      padding:20px;
      background:rgba(39,35,41,.74);
      backdrop-filter:blur(8px);
    }
    .age-modal.open{display:flex}
    .age-dialog{width:min(490px,100%);padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 28px 80px rgba(26,18,21,.35)}
    .age-symbol{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:#fff;background:var(--wine);font-weight:900}
    .age-dialog h2{margin:19px 0 9px;font-size:28px}
    .age-dialog p{margin:0;color:var(--muted);font-size:14px}
    .age-check{display:flex;gap:10px;align-items:flex-start;margin:19px 0;padding:13px;border-radius:12px;background:var(--surface-soft);font-size:13px;color:var(--muted)}
    .age-actions{display:flex;gap:10px}
    .age-actions>*{flex:1}

    @media (max-width:1280px){
      .container{width:min(1120px,calc(100% - 48px))}
      .page-intro h1{font-size:52px}
    }
    @media (max-width:1024px){
      body{padding-bottom:94px}
      .header-row{gap:13px}
      .brand{font-size:15px}
      .nav-tabs{margin-left:0}
      .header-action{padding:9px 14px}
      .intro-grid{grid-template-columns:1fr 160px;gap:32px}
      .feature-card{grid-template-columns:1fr}
      .feature-visual{min-height:290px}
      .filter-grid{grid-template-columns:1.3fr .7fr .7fr}
      .filter-grid .filter-button{grid-column:1/-1}
      .filter-button .btn-secondary{width:100%}
      .content-layout{grid-template-columns:1fr}
      .side-list{display:grid;grid-template-columns:repeat(3,1fr)}
      .content-item{align-items:flex-start;flex-direction:column}
      .mini-cover{width:100%;height:110px;min-height:110px;flex-basis:auto}
      .arrow{display:none}
      .faq-layout{grid-template-columns:.8fr 1.2fr;gap:35px}
    }
    @media (max-width:768px){
      body{padding-bottom:100px}
      .container{width:min(100% - 30px,680px)}
      .site-header{position:relative}
      .header-row{min-height:auto;padding:14px 0;display:grid;grid-template-columns:1fr auto}
      .brand{font-size:14px;white-space:normal;line-height:1.35}
      .brand-mark{flex:0 0 35px}
      .header-tools{grid-column:2;grid-row:1}
      .header-action{display:none}
      .nav-tabs{grid-column:1/-1;grid-row:2;width:100%;overflow-x:auto;padding-top:4px;scrollbar-width:none}
      .nav-tabs::-webkit-scrollbar{display:none}
      .nav-tab{flex:0 0 auto}
      .breadcrumb{padding-top:17px}
      .page-intro{padding:37px 0 28px}
      .intro-grid{grid-template-columns:1fr}
      .page-intro h1{font-size:clamp(34px,10vw,48px)}
      .intro-index{min-height:auto;border-left:0;border-top:1px solid var(--line);padding:18px 0 0;display:flex;flex-direction:row;align-items:center;gap:14px}
      .intro-index b{font-size:42px}
      .intro-index span{margin:0}
      .flash-inner{grid-template-columns:1fr auto;gap:11px}
      .flash-copy{grid-column:1/-1;grid-row:2}
      .section{padding:65px 0}
      .section-tight{padding:48px 0}
      .section-head{display:block}
      .section-head p{margin-top:12px}
      .feature-copy{padding:28px}
      .feature-visual{grid-template-columns:1fr 1fr;min-height:260px}
      .filter-panel{position:relative;top:auto}
      .filter-grid{grid-template-columns:1fr 1fr}
      .filter-grid .field:first-child,.filter-grid .filter-button{grid-column:1/-1}
      .side-list{grid-template-columns:1fr}
      .content-item{flex-direction:row;align-items:center}
      .mini-cover{width:82px;height:auto;min-height:78px;flex-basis:82px}
      .arrow{display:block}
      .compact-board{grid-template-columns:1fr}
      .steps{grid-template-columns:1fr}
      .step+.step{border-left:0;border-top:1px solid var(--line)}
      .step:not(:last-child)::after{content:"↓";right:auto;left:31px;top:auto;bottom:-11px}
      .trend-layout{grid-template-columns:1fr}
      .faq-layout{grid-template-columns:1fr}
      .faq-aside{position:static}
      .cta-panel{grid-template-columns:1fr;padding:28px}
      .cta-panel .btn-light{justify-self:start}
      .footer-grid{grid-template-columns:1fr 1fr}
      .footer-grid>div:first-child{grid-column:1/-1}
      .footer-bottom{flex-direction:column;gap:5px}
      .fixed-cta{grid-template-columns:1fr auto;padding:10px 10px 10px 15px;bottom:8px}
      .fixed-cta .btn-primary{grid-column:1;grid-row:2;width:100%}
      .fixed-close{grid-column:2;grid-row:1/3}
    }
    @media (max-width:640px){
      .flash-inner{grid-template-columns:1fr}
      .countdown{grid-row:2}
      .flash-copy{grid-row:3}
      .feature-visual{min-height:235px;padding:15px;gap:8px}
      .abstract-cover{border-radius:13px}
      .spotlight{min-height:430px}
      .spotlight-content{padding:27px}
      .filter-grid{grid-template-columns:1fr}
      .filter-grid .field:first-child,.filter-grid .filter-button{grid-column:auto}
      .result-meta{align-items:flex-start;flex-direction:column;gap:5px}
      .signal-item{grid-template-columns:34px 1fr}
      .signal-state{grid-column:2}
    }
    @media (max-width:520px){
      .container{width:calc(100% - 24px)}
      .page-intro h1{font-size:34px;word-break:break-word}
      .lead{font-size:15px}
      .feature-copy{padding:23px}
      .feature-actions{display:grid;gap:9px}
      .feature-actions a{width:100%}
      .feature-visual{grid-template-columns:1fr;grid-template-rows:120px 88px 88px}
      .abstract-main{grid-row:auto}
      .visual-age{right:10px;bottom:10px}
      .content-item{padding:12px;gap:12px}
      .mini-cover{width:66px;flex-basis:66px}
      .compact-entry{padding:17px}
      .step{padding:27px 24px}
      .trend-feature{padding:26px}
      .faq-aside h2{font-size:30px}
      .faq-question{font-size:15px}
      .cta-panel{padding:25px 22px}
      .cta-panel h2{font-size:25px}
      .footer{padding-top:52px}
      .footer-grid{grid-template-columns:1fr;gap:30px}
      .footer-grid>div:first-child{grid-column:auto}
      .age-dialog{padding:24px}
      .age-actions{flex-direction:column}
    }
