/* roulang page: index */
:root{
      --paper:#f6f3ed;--paper-2:#fffdf8;--ink:#171717;--muted:#716f69;
      --line:#ddd8cd;--coral:#d95745;--coral-dark:#b84335;--sage:#6d9187;
      --soft-coral:#f4d9d2;--soft-sage:#dce8e3;--radius:16px;--small-radius:10px;
      --shadow:0 16px 42px rgba(34,28,20,.08);--ease:220ms ease;
    }
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.75}
    a{color:inherit;text-decoration:none;transition:color var(--ease),background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
    img{max-width:100%;display:block}button,input,select{font:inherit}button{cursor:pointer}.container{max-width:1220px;margin:0 auto;padding:0 28px}
    .site-header{position:absolute;z-index:20;top:18px;left:0;width:100%;transition:all var(--ease)}.site-header.is-stuck{position:fixed;top:0;background:rgba(255,253,248,.94);backdrop-filter:blur(18px);box-shadow:0 5px 22px rgba(34,28,20,.08);border-bottom:1px solid var(--line)}
    .nav-shell{min-height:70px;display:flex;align-items:center;gap:28px;padding:11px 18px;border:1px solid rgba(255,255,255,.62);border-radius:14px;background:rgba(255,253,248,.62);backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(37,30,23,.07)}
    .is-stuck .nav-shell{border:0;box-shadow:none;background:transparent}.brand{display:flex;align-items:center;gap:10px;min-width:245px;font-weight:800;line-height:1.15}.brand-mark{width:31px;height:31px;border-radius:9px;background:var(--coral);position:relative}.brand-mark:after{content:"";position:absolute;width:9px;height:9px;right:6px;bottom:6px;border:2px solid #fff;border-radius:50%}.brand-name{font-size:16px;letter-spacing:-.04em}.brand-sub{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.08em;margin-top:3px}
    .nav-links{display:flex;align-items:center;gap:7px;flex:1}.nav-links a{padding:9px 13px;border-radius:8px;font-size:14px;color:#46433e}.nav-links a:hover,.nav-links a.active{background:var(--soft-coral);color:var(--coral-dark)}
    .nav-search{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.5);height:39px;padding:0 10px;gap:7px}.nav-search input{border:0;outline:0;background:transparent;width:106px;font-size:13px}.nav-search svg{width:16px;color:var(--muted)}.menu-toggle{display:none;border:1px solid var(--line);background:var(--paper-2);border-radius:8px;padding:8px 11px}
    .hero{position:relative;overflow:hidden;padding:165px 0 88px;background:var(--paper)}.hero:before{content:"";position:absolute;inset:0;opacity:.38;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,black,transparent 78%)}.hero .container{position:relative}
    .hero-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:72px;align-items:end}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--coral-dark);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px}.eyebrow i{width:28px;height:2px;background:var(--coral);display:inline-block}.hero h1{font-size:clamp(42px,5.6vw,72px);line-height:1.09;letter-spacing:-.075em;margin:0 0 24px;max-width:680px}.hero-copy{max-width:600px;color:var(--muted);font-size:16px;line-height:1.9;margin-bottom:29px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:9px;font-weight:700;font-size:14px;border:1px solid transparent}.button.primary{background:var(--coral);color:#fff}.button.primary:hover{background:var(--coral-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(217,87,69,.2)}.button.secondary{background:var(--paper-2);border-color:var(--line)}.button.secondary:hover{border-color:var(--coral);color:var(--coral-dark)}.button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(217,87,69,.25);outline-offset:3px}
    .dashboard{background:var(--ink);color:#fff;border-radius:18px;padding:25px;box-shadow:var(--shadow);transform:rotate(1.3deg)}.dash-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:18px;margin-bottom:20px}.dash-top strong{font-size:14px}.status{font-size:11px;background:var(--soft-sage);color:#335d52;padding:4px 9px;border-radius:20px}.dash-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:11px}.metric{border:1px solid rgba(255,255,255,.14);border-radius:11px;padding:17px;background:rgba(255,255,255,.045)}.metric.large{grid-row:span 2}.metric b{display:block;font-size:38px;line-height:1.1;letter-spacing:-.06em}.metric small{color:#b7b3ac;font-size:12px}.metric em{font-style:normal;color:#e58273;font-size:12px;display:block;margin-top:8px}.dash-foot{color:#a6a29a;font-size:12px;margin-top:18px;display:flex;justify-content:space-between}.section{padding:92px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}.section-kicker{color:var(--coral-dark);font-size:12px;font-weight:800;letter-spacing:.12em}.section h2{font-size:clamp(28px,3.2vw,43px);line-height:1.2;letter-spacing:-.055em;margin:7px 0 0}.section-intro{max-width:500px;color:var(--muted);margin:0}
    .matrix{display:grid;grid-template-columns:.8fr 1.55fr;gap:18px}.index-panel,.entry-panel,.compare-panel,.news-panel,.guide-panel{border:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius)}.index-panel{padding:26px}.index-panel h3{font-size:18px;margin:0 0 18px}.index-list{list-style:none;margin:0;padding:0}.index-list li{border-top:1px solid var(--line)}.index-list a{display:flex;justify-content:space-between;padding:14px 0;color:#57534c}.index-list a:hover{color:var(--coral)}.entry-panel{padding:17px;display:grid;grid-template-columns:1.35fr .8fr;gap:13px}.entry{border-radius:12px;padding:24px;min-height:185px;border:1px solid var(--line);position:relative;overflow:hidden}.entry.featured{grid-row:span 2;background:var(--coral);border-color:var(--coral);color:#fff;min-height:383px}.entry.sage{background:var(--soft-sage)}.entry h3{font-size:21px;line-height:1.35;margin:8px 0 8px}.entry p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.featured p{color:#ffe9e4}.entry .entry-no{font-size:11px;letter-spacing:.12em;opacity:.72}.entry-arrow{position:absolute;right:22px;bottom:19px;font-size:21px}.entry:hover{transform:translateY(-4px);box-shadow:0 10px 20px rgba(37,30,23,.08)}
    .news-wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.news-panel{padding:10px 25px}.news-item{display:flex;gap:20px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.news-item:last-child{border-bottom:0}.news-date{width:74px;color:var(--coral-dark);font-size:12px;font-weight:800}.news-item h3{font-size:16px;margin:0 0 3px}.news-item p{font-size:13px;color:var(--muted);margin:0}.note-panel{background:var(--sage);color:#fff;border-radius:var(--radius);padding:29px}.note-panel h3{font-size:22px;line-height:1.35;margin:0 0 15px}.note-panel p{color:#edf5f1;font-size:14px}.mini-link{display:inline-flex;margin-top:16px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:4px;font-weight:700;font-size:13px}
    .compare{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.compare-panel{padding:28px}.compare-panel.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.compare-panel h3{font-size:22px;margin:0 0 21px}.compare-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:15px 0;border-top:1px solid var(--line);font-size:14px}.dark .compare-row{border-color:rgba(255,255,255,.14)}.result{color:var(--coral-dark);font-weight:800}.dark .result{color:#ef9a8b}.check-list{list-style:none;padding:0;margin:0}.check-list li{padding:11px 0 11px 27px;border-top:1px solid rgba(255,255,255,.14);position:relative;font-size:14px}.check-list li:before{content:"✓";position:absolute;left:0;color:#a8d0c2;font-weight:800}
    .guide{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px}.guide-intro{background:var(--soft-coral);border-radius:var(--radius);padding:28px}.guide-intro h3{font-size:24px;line-height:1.35;margin:0 0 13px}.guide-intro p{color:#6d4842;font-size:14px}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.step{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:23px}.step-no{color:var(--coral);font-size:12px;font-weight:800}.step h3{font-size:17px;margin:12px 0 7px}.step p{color:var(--muted);font-size:13px;margin:0}
    .faq-list{max-width:900px}.accordion{background:transparent;margin:0}.accordion-item{border-top:1px solid var(--line)}.accordion-title{background:transparent!important;color:var(--ink)!important;border:0!important;padding:21px 35px 21px 0;font-size:16px;font-weight:700}.accordion-title:before{right:5px;color:var(--coral);font-size:20px}.accordion-content{border:0!important;background:transparent!important;padding:0 40px 21px 0;color:var(--muted);font-size:14px}
    .cta{background:var(--ink);color:#fff;border-radius:20px;padding:44px 48px;display:grid;grid-template-columns:.82fr 1.18fr;gap:48px;align-items:center}.cta h2{font-size:34px;line-height:1.2;letter-spacing:-.05em;margin:9px 0 14px}.cta p{color:#bcb8b0;font-size:14px}.access-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;color:#c8c4bc;font-size:12px;margin-bottom:6px}.field input,.field select{height:45px;width:100%;border-radius:8px;border:1px solid #4c4a46;background:#242424;color:#fff;padding:0 12px}.field.full{grid-column:1/-1}.form-note{font-size:11px;color:#9a9791;margin:12px 0 0}.form-message{display:none;color:#a8d0c2;font-size:13px;margin-top:10px}
    .site-footer{background:#e9e5dc;padding:40px 0 23px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:30px;border-bottom:1px solid #d1ccc1}.footer-brand{font-weight:800;font-size:17px}.footer-desc{color:var(--muted);font-size:13px;margin-top:8px}.footer-links{display:flex;gap:22px;color:#57534c;font-size:13px}.footer-links a:hover{color:var(--coral)}.footer-bottom{display:flex;justify-content:space-between;color:#858078;font-size:12px;padding-top:20px}.back-top{color:var(--coral-dark);font-weight:700}
    @media(max-width:1024px){.hero-layout{gap:35px}.nav-links a{padding:8px 7px}.brand{min-width:205px}.matrix,.compare,.guide,.news-wrap{grid-template-columns:1fr}.entry-panel{min-height:0}}
    @media(max-width:768px){.container{padding:0 18px}.site-header{top:10px}.nav-shell{padding:10px 13px}.nav-links,.nav-search{display:none}.menu-toggle{display:block;margin-left:auto}.brand{min-width:0}.brand-name{font-size:14px}.hero{padding:137px 0 64px}.hero-layout{grid-template-columns:1fr}.hero h1{font-size:42px}.dashboard{transform:none}.section{padding:66px 0}.section-head{display:block}.section-intro{margin-top:12px}.matrix{gap:12px}.entry-panel{grid-template-columns:1fr}.entry.featured{min-height:260px}.entry.sage{min-height:150px}.guide-steps{grid-template-columns:1fr}.cta{grid-template-columns:1fr;padding:32px 22px;gap:25px}.cta h2{font-size:29px}.footer-top,.footer-bottom{display:block}.footer-links{margin-top:20px;flex-wrap:wrap;gap:14px}.footer-bottom .back-top{display:block;margin-top:12px}}
    @media(max-width:520px){.dash-grid{grid-template-columns:1fr 1fr}.metric.large{grid-column:1/-1;grid-row:auto}.metric b{font-size:29px}.actions .button{width:100%}.news-item{gap:11px;align-items:flex-start}.news-date{width:62px;flex-shrink:0}.access-form{grid-template-columns:1fr}.field.full{grid-column:auto}.hero h1{font-size:38px}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* roulang page: category1 */
:root{
 --paper:#f6f3ed;
 --paper-2:#fffdf8;
 --ink:#171717;
 --muted:#716f69;
 --line:#ddd8cd;
 --coral:#d95745;
 --coral-dark:#b84335;
 --sage:#6d9187;
 --soft-coral:#f4d9d2;
 --soft-sage:#dce8e3;
 --warning:#d88942;
 --radius:16px;
 --small-radius:10px;
 --shadow:0 16px 42px rgba(34,28,20,.08);
 --shadow-small:0 8px 24px rgba(34,28,20,.06);
 --ease:220ms ease;
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 background:var(--paper);
 color:var(--ink);
 font-family:-apple-system,BlinkMacSystemFont,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
 font-size:15px;
 line-height:1.75;
 -webkit-font-smoothing:antialiased;
}
body.menu-open{overflow:hidden}
a{
 color:inherit;
 text-decoration:none;
 transition:color var(--ease),background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease);
}
img{display:block;max-width:100%}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
p{margin-top:0}
.container{width:100%;max-width:1220px;margin:0 auto;padding:0 28px}
.site-header{
 position:absolute;
 z-index:40;
 top:18px;
 left:0;
 width:100%;
 transition:background var(--ease),box-shadow var(--ease),top var(--ease);
}
.site-header.is-stuck{
 position:fixed;
 top:0;
 background:rgba(255,253,248,.94);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 box-shadow:0 5px 22px rgba(34,28,20,.08);
 border-bottom:1px solid var(--line);
}
.nav-shell{
 min-height:70px;
 display:flex;
 align-items:center;
 gap:28px;
 padding:11px 18px;
 border:1px solid rgba(255,255,255,.62);
 border-radius:14px;
 background:rgba(255,253,248,.66);
 backdrop-filter:blur(16px);
 -webkit-backdrop-filter:blur(16px);
 box-shadow:0 10px 28px rgba(37,30,23,.07);
}
.is-stuck .nav-shell{border:0;box-shadow:none;background:transparent}
.brand{
 display:flex;
 align-items:center;
 gap:10px;
 min-width:245px;
 font-weight:800;
 line-height:1.15;
}
.brand:hover{color:var(--coral-dark)}
.brand-mark{
 flex:0 0 auto;
 width:31px;
 height:31px;
 border-radius:9px;
 background:var(--coral);
 position:relative;
}
.brand-mark::after{
 content:"";
 position:absolute;
 width:9px;
 height:9px;
 right:6px;
 bottom:6px;
 border:2px solid #fff;
 border-radius:50%;
}
.brand-name{font-size:16px;letter-spacing:-.04em}
.brand-sub{
 display:block;
 color:var(--muted);
 font-size:10px;
 font-weight:500;
 letter-spacing:.08em;
 margin-top:3px;
}
.nav-links{display:flex;align-items:center;gap:7px;flex:1}
.nav-links a{
 padding:9px 13px;
 border-radius:8px;
 font-size:14px;
 color:#46433e;
}
.nav-links a:hover,
.nav-links a.active{
 background:var(--soft-coral);
 color:var(--coral-dark);
}
.nav-search{
 display:flex;
 align-items:center;
 border:1px solid var(--line);
 border-radius:8px;
 background:rgba(255,255,255,.52);
 height:39px;
 padding:0 10px;
 gap:7px;
 margin:0;
}
.nav-search:focus-within{
 border-color:var(--coral);
 box-shadow:0 0 0 3px rgba(217,87,69,.12);
}
.nav-search input{
 border:0;
 outline:0;
 background:transparent;
 width:106px;
 height:auto;
 padding:0;
 margin:0;
 box-shadow:none;
 font-size:13px;
}
.nav-search input:focus{border:0;background:transparent;box-shadow:none}
.nav-search svg{width:16px;height:16px;color:var(--muted)}
.menu-toggle{
 display:none;
 min-height:42px;
 border:1px solid var(--line);
 background:var(--paper-2);
 border-radius:8px;
 padding:8px 12px;
 color:var(--ink);
 font-weight:700;
}
.mobile-menu{
 display:none;
 position:fixed;
 z-index:35;
 top:0;
 left:0;
 right:0;
 padding:102px 20px 24px;
 background:var(--paper-2);
 border-bottom:1px solid var(--line);
 box-shadow:var(--shadow);
}
.mobile-menu.is-open{display:block}
.mobile-menu a{
 display:flex;
 align-items:center;
 justify-content:space-between;
 min-height:52px;
 padding:0 13px;
 border-top:1px solid var(--line);
 font-weight:700;
}
.mobile-menu a.active{color:var(--coral-dark)}
.mobile-menu a::after{content:"→";color:var(--muted)}
.mobile-menu .mobile-search{
 display:flex;
 gap:8px;
 margin-top:16px;
}
.mobile-menu input{
 flex:1;
 height:46px;
 margin:0;
 border:1px solid var(--line);
 border-radius:9px;
 background:var(--paper);
 box-shadow:none;
}
.button{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 min-height:46px;
 margin:0;
 padding:0 20px;
 border-radius:9px;
 border:1px solid transparent;
 font-size:14px;
 font-weight:750;
 line-height:1;
}
.button.primary{background:var(--coral);color:#fff}
.button.primary:hover,
.button.primary:active{
 background:var(--coral-dark);
 color:#fff;
 transform:translateY(-2px);
 box-shadow:0 8px 18px rgba(217,87,69,.2);
}
.button.secondary{
 background:var(--paper-2);
 color:var(--ink);
 border-color:var(--line);
}
.button.secondary:hover{
 border-color:var(--coral);
 color:var(--coral-dark);
 background:#fff9f4;
}
.button.text-button{
 min-height:40px;
 padding:0;
 color:var(--coral-dark);
 background:transparent;
}
.button.text-button:hover{transform:translateX(3px);color:var(--ink)}
.button:focus-visible,
.filter-chip:focus-visible,
.menu-toggle:focus-visible,
input:focus-visible,
select:focus-visible,
a:focus-visible{
 outline:3px solid rgba(217,87,69,.28);
 outline-offset:3px;
}
.category-hero{
 position:relative;
 overflow:hidden;
 padding:166px 0 70px;
 border-bottom:1px solid var(--line);
 background:
  radial-gradient(circle at 84% 24%,rgba(109,145,135,.16),transparent 24%),
  var(--paper);
}
.category-hero::before{
 content:"";
 position:absolute;
 inset:0;
 opacity:.34;
 background-image:
  linear-gradient(var(--line) 1px,transparent 1px),
  linear-gradient(90deg,var(--line) 1px,transparent 1px);
 background-size:46px 46px;
 mask-image:linear-gradient(to bottom,#000,transparent 90%);
 -webkit-mask-image:linear-gradient(to bottom,#000,transparent 90%);
}
.category-hero .container{position:relative}
.hero-grid{
 display:grid;
 grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
 gap:70px;
 align-items:end;
}
.eyebrow{
 display:flex;
 align-items:center;
 gap:10px;
 margin-bottom:20px;
 color:var(--coral-dark);
 font-size:12px;
 font-weight:800;
 letter-spacing:.14em;
}
.eyebrow i{display:inline-block;width:28px;height:2px;background:var(--coral)}
.category-hero h1{
 max-width:740px;
 margin:0 0 22px;
 font-size:clamp(42px,5.4vw,68px);
 line-height:1.09;
 letter-spacing:-.072em;
}
.hero-copy{
 max-width:680px;
 margin-bottom:27px;
 color:var(--muted);
 font-size:16px;
 line-height:1.9;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.summary-board{
 overflow:hidden;
 border:1px solid var(--line);
 border-radius:var(--radius);
 background:rgba(255,253,248,.88);
 box-shadow:var(--shadow);
}
.summary-top{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 padding:17px 19px;
 border-bottom:1px solid var(--line);
}
.summary-top strong{font-size:14px}
.status-live{
 display:inline-flex;
 align-items:center;
 gap:6px;
 color:#456e64;
 font-size:12px;
 font-weight:800;
}
.status-live::before{
 content:"";
 width:7px;
 height:7px;
 border-radius:50%;
 background:var(--sage);
 box-shadow:0 0 0 4px var(--soft-sage);
}
.summary-main{
 display:grid;
 grid-template-columns:1.3fr .7fr;
}
.summary-feature{
 min-height:162px;
 padding:22px;
 border-right:1px solid var(--line);
}
.summary-number{
 display:block;
 margin:10px 0 2px;
 font-size:44px;
 font-weight:850;
 line-height:1;
 letter-spacing:-.06em;
}
.summary-label{color:var(--muted);font-size:13px}
.summary-mini{display:grid}
.summary-cell{
 padding:16px 17px;
 border-bottom:1px solid var(--line);
}
.summary-cell:last-child{border-bottom:0}
.summary-cell b{display:block;font-size:20px;line-height:1.2}
.summary-cell span{color:var(--muted);font-size:11px}
.summary-index{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:14px 19px;
 color:var(--muted);
 font-size:12px;
 background:#f1eee7;
}
.section{padding:88px 0}
.section.alt{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.dark-section{background:var(--ink);color:#fff}
.section-head{
 display:flex;
 justify-content:space-between;
 align-items:end;
 gap:28px;
 margin-bottom:34px;
}
.section-title-wrap{max-width:720px}
.section-kicker{
 color:var(--coral-dark);
 font-size:12px;
 font-weight:800;
 letter-spacing:.12em;
}
.dark-section .section-kicker{color:#f19a8d}
.section h2{
 margin:7px 0 0;
 font-size:clamp(28px,3.2vw,43px);
 line-height:1.2;
 letter-spacing:-.055em;
}
.section-intro{max-width:510px;margin:0;color:var(--muted)}
.dark-section .section-intro{color:#bbb7b0}
.browser-layout{
 display:grid;
 grid-template-columns:280px minmax(0,1fr);
 gap:24px;
 align-items:start;
}
.filter-panel{
 position:sticky;
 top:100px;
 border:1px solid var(--line);
 border-radius:var(--radius);
 background:var(--paper-2);
 box-shadow:var(--shadow-small);
}
.filter-head{padding:21px;border-bottom:1px solid var(--line)}
.filter-head h3{margin:0 0 3px;font-size:18px}
.filter-head p{margin:0;color:var(--muted);font-size:12px}
.filter-group{padding:18px 20px;border-bottom:1px solid var(--line)}
.filter-group:last-of-type{border-bottom:0}
.filter-label{
 display:block;
 margin-bottom:10px;
 color:var(--muted);
 font-size:11px;
 font-weight:800;
 letter-spacing:.1em;
}
.filter-stack{display:flex;flex-wrap:wrap;gap:7px}
.filter-chip{
 min-height:36px;
 padding:7px 11px;
 border:1px solid var(--line);
 border-radius:8px;
 background:transparent;
 color:#4e4a45;
 font-size:12px;
 transition:all var(--ease);
}
.filter-chip:hover{border-color:var(--sage);color:#456e64}
.filter-chip.is-active{
 border-color:var(--coral);
 background:var(--soft-coral);
 color:var(--coral-dark);
 font-weight:800;
}
.filter-tip{
 margin:0 20px 20px;
 padding:12px;
 border-radius:9px;
 background:var(--soft-sage);
 color:#456e64;
 font-size:12px;
 line-height:1.65;
}
.content-toolbar{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 min-height:56px;
 margin-bottom:12px;
 padding:8px 14px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--paper-2);
}
.result-summary{font-size:13px;color:var(--muted)}
.result-summary strong{color:var(--ink)}
.sort-select{
 width:auto;
 min-width:130px;
 height:38px;
 margin:0;
 border:1px solid var(--line);
 border-radius:8px;
 background-color:var(--paper);
 box-shadow:none;
 font-size:12px;
}
.content-stream{display:grid;gap:12px}
.content-entry{
 display:grid;
 grid-template-columns:154px minmax(0,1fr) 132px;
 gap:21px;
 align-items:center;
 min-height:154px;
 padding:15px;
 border:1px solid var(--line);
 border-radius:var(--radius);
 background:var(--paper-2);
 transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.content-entry:hover{
 transform:translateY(-3px);
 border-color:#c9b7ae;
 box-shadow:var(--shadow-small);
}
.content-entry.is-hidden{display:none}
.entry-cover{
 position:relative;
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 min-height:122px;
 overflow:hidden;
 padding:14px;
 border-radius:11px;
 color:#fff;
 background:var(--ink);
}
.entry-cover.sage{background:var(--sage)}
.entry-cover.coral{background:var(--coral)}
.entry-cover.warm{background:#9b755a}
.entry-cover::before,
.entry-cover::after{
 content:"";
 position:absolute;
 border:1px solid rgba(255,255,255,.24);
 border-radius:50%;
}
.entry-cover::before{width:76px;height:76px;right:-18px;top:-18px}
.entry-cover::after{width:38px;height:38px;right:24px;top:24px}
.cover-origin{position:relative;z-index:1;font-size:11px;font-weight:800;letter-spacing:.13em}
.cover-number{position:relative;z-index:1;font-size:27px;font-weight:850;letter-spacing:-.05em}
.entry-info{min-width:0}
.entry-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.badge{
 display:inline-flex;
 align-items:center;
 min-height:25px;
 padding:3px 8px;
 border-radius:6px;
 background:#ece8df;
 color:#5e5b55;
 font-size:10px;
 font-weight:800;
}
.badge.coral{background:var(--soft-coral);color:var(--coral-dark)}
.badge.sage{background:var(--soft-sage);color:#456e64}
.entry-info h3{
 margin:0 0 7px;
 font-size:19px;
 line-height:1.35;
 letter-spacing:-.025em;
}
.entry-info p{
 max-width:590px;
 margin:0 0 9px;
 color:var(--muted);
 font-size:13px;
 line-height:1.75;
}
.entry-meta{display:flex;flex-wrap:wrap;gap:15px;color:#8b877f;font-size:11px}
.entry-action{
 display:flex;
 flex-direction:column;
 align-items:flex-end;
 gap:9px;
}
.availability{
 display:inline-flex;
 align-items:center;
 gap:6px;
 color:#456e64;
 font-size:11px;
 font-weight:800;
}
.availability::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sage)}
.entry-action .button{width:100%;min-height:42px}
.stream-footer{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:11px;
 margin-top:20px;
}
.page-state{
 min-width:72px;
 color:var(--muted);
 text-align:center;
 font-size:12px;
}
.state-panel{
 display:none;
 padding:46px 24px;
 border:1px dashed var(--line);
 border-radius:var(--radius);
 background:var(--paper-2);
 text-align:center;
}
.state-panel.is-visible{display:block}
.state-icon{
 display:flex;
 align-items:center;
 justify-content:center;
 width:48px;
 height:48px;
 margin:0 auto 13px;
 border-radius:14px;
 background:var(--soft-coral);
 color:var(--coral-dark);
 font-size:21px;
}
.state-panel h3{margin:0 0 6px;font-size:18px}
.state-panel p{margin:0 0 16px;color:var(--muted);font-size:13px}
.mode-grid{
 display:grid;
 grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
 gap:18px;
}
.mode-main{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:1px;
 overflow:hidden;
 border:1px solid var(--line);
 border-radius:var(--radius);
 background:var(--line);
}
.mode-cell{min-height:196px;padding:27px;background:var(--paper)}
.mode-cell:nth-child(3){grid-column:1/-1;min-height:auto}
.mode-index{color:var(--coral-dark);font-size:11px;font-weight:800;letter-spacing:.12em}
.mode-cell h3{margin:14px 0 8px;font-size:21px;letter-spacing:-.03em}
.mode-cell p{margin:0 0 17px;color:var(--muted);font-size:13px}
.mode-link{color:var(--coral-dark);font-size:13px;font-weight:800}
.mode-link:hover{color:var(--ink)}
.mode-side{
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 padding:29px;
 border-radius:var(--radius);
 background:var(--sage);
 color:#fff;
}
.mode-side .badge{align-self:flex-start;background:rgba(255,255,255,.17);color:#fff}
.mode-side h3{margin:30px 0 9px;font-size:27px;line-height:1.25;letter-spacing:-.045em}
.mode-side p{margin:0;color:#e5f0ec;font-size:13px}
.mode-checks{list-style:none;margin:25px 0 0;padding:0}
.mode-checks li{
 position:relative;
 padding:9px 0 9px 25px;
 border-top:1px solid rgba(255,255,255,.2);
 font-size:13px;
}
.mode-checks li::before{content:"✓";position:absolute;left:0;font-weight:900}
.compare-layout{
 display:grid;
 grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
 gap:20px;
}
.compare-board{
 overflow:hidden;
 border:1px solid rgba(255,255,255,.14);
 border-radius:var(--radius);
}
.compare-header,
.compare-row{
 display:grid;
 grid-template-columns:1.05fr .95fr .95fr;
 align-items:center;
}
.compare-header{
 background:rgba(255,255,255,.06);
 color:#cbc7c0;
 font-size:11px;
 font-weight:800;
}
.compare-header span,
.compare-row > div{padding:14px 18px}
.compare-row{border-top:1px solid rgba(255,255,255,.14);font-size:13px}
.compare-row .dimension{color:#aaa69f}
.result-good{color:#f39b8e;font-weight:800}
.result-assist{color:#a8d0c2;font-weight:800}
.compare-note{
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 padding:28px;
 border-radius:var(--radius);
 background:var(--paper-2);
 color:var(--ink);
}
.compare-note h3{margin:0 0 10px;font-size:24px;line-height:1.3;letter-spacing:-.04em}
.compare-note p{margin:0;color:var(--muted);font-size:13px}
.compare-note .note-index{
 display:flex;
 justify-content:space-between;
 margin-top:28px;
 padding-top:17px;
 border-top:1px solid var(--line);
 color:var(--coral-dark);
 font-size:12px;
 font-weight:800;
}
.steps{
 display:grid;
 grid-template-columns:repeat(12,1fr);
 gap:16px;
}
.step{
 position:relative;
 min-height:210px;
 padding:26px;
 border:1px solid var(--line);
 border-radius:var(--radius);
 background:var(--paper-2);
}
.step:nth-child(1){grid-column:span 3}
.step:nth-child(2){grid-column:span 5}
.step:nth-child(3){grid-column:span 4;background:var(--soft-coral)}
.step-number{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:34px;
 height:34px;
 border:1px solid var(--line);
 border-radius:9px;
 color:var(--coral-dark);
 font-size:12px;
 font-weight:850;
 background:var(--paper);
}
.step h3{margin:35px 0 8px;font-size:20px}
.step p{margin:0;color:var(--muted);font-size:13px}
.step-arrow{position:absolute;right:23px;top:25px;color:var(--muted)}
.faq-layout{
 display:grid;
 grid-template-columns:260px minmax(0,1fr);
 gap:55px;
 align-items:start;
}
.faq-aside{
 position:sticky;
 top:110px;
 padding-top:8px;
}
.faq-aside .faq-count{
 display:block;
 margin-bottom:9px;
 color:var(--coral-dark);
 font-size:39px;
 font-weight:850;
 line-height:1;
 letter-spacing:-.06em;
}
.faq-aside p{color:var(--muted);font-size:13px}
.faq-list{margin:0;background:transparent}
.accordion-item{border:0;border-top:1px solid var(--line);background:transparent}
.accordion-item:last-child{border-bottom:1px solid var(--line)}
.accordion-title{
 border:0!important;
 background:transparent!important;
 color:var(--ink)!important;
 padding:22px 38px 22px 0;
 font-size:16px;
 font-weight:750;
 line-height:1.5;
}
.accordion-title:hover{color:var(--coral-dark)!important}
.accordion-title::before{right:5px;color:var(--coral);font-size:20px}
.is-active > .accordion-title{color:var(--coral-dark)!important}
.accordion-content{
 padding:0 38px 23px 0;
 border:0;
 background:transparent;
 color:var(--muted);
 font-size:14px;
 line-height:1.85;
}
.access-section{padding:0 0 92px}
.cta{
 display:grid;
 grid-template-columns:.84fr 1.16fr;
 gap:48px;
 align-items:center;
 padding:45px 48px;
 border-radius:20px;
 background:var(--ink);
 color:#fff;
 box-shadow:var(--shadow);
}
.cta h2{
 margin:9px 0 14px;
 font-size:clamp(29px,3.1vw,39px);
 line-height:1.2;
 letter-spacing:-.05em;
}
.cta p{max-width:430px;margin:0;color:#bcb8b0;font-size:14px}
.access-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field label{
 display:block;
 margin-bottom:6px;
 color:#d8d4cd;
 font-size:11px;
 font-weight:800;
 letter-spacing:.05em;
}
.field input,
.field select{
 width:100%;
 height:46px;
 margin:0;
 padding:0 12px;
 border:1px solid #4c4a46;
 border-radius:8px;
 background:#242424;
 color:#fff;
 box-shadow:none;
}
.field input::placeholder{color:#8e8a84}
.field input:focus,
.field select:focus{
 border-color:#f08f81;
 background:#242424;
 box-shadow:0 0 0 3px rgba(217,87,69,.18);
}
.field.full{grid-column:1/-1}
.access-form .button{width:100%}
.form-note{grid-column:1/-1;margin:0;color:#9a9791;font-size:11px}
.form-message{
 display:none;
 grid-column:1/-1;
 margin:0;
 padding:10px 12px;
 border-radius:8px;
 background:rgba(109,145,135,.18);
 color:#b8ddd1;
 font-size:13px;
}
.form-message.is-visible{display:block}
.site-footer{background:#e9e5dc;padding:40px 0 23px}
.footer-top{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:35px;
 padding-bottom:30px;
}
.footer-brand{margin-bottom:7px;font-size:17px;font-weight:850;letter-spacing:-.04em}
.footer-desc{color:var(--muted);font-size:13px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 22px}
.footer-links a{color:#55514b;font-size:13px}
.footer-links a:hover{color:var(--coral-dark)}
.footer-bottom{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 padding-top:20px;
 border-top:1px solid #d2ccc0;
 color:#77736c;
 font-size:11px;
}
.back-top{font-weight:800;color:var(--ink)}
.back-top:hover{color:var(--coral-dark)}

@media (max-width:1024px){
 .container{padding:0 22px}
 .nav-shell{gap:14px}
 .brand{min-width:220px}
 .nav-search{display:none}
 .hero-grid{grid-template-columns:1fr 380px;gap:38px}
 .browser-layout{grid-template-columns:230px minmax(0,1fr)}
 .content-entry{grid-template-columns:128px minmax(0,1fr)}
 .entry-action{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}
 .entry-action .button{width:auto}
 .step:nth-child(1),.step:nth-child(2),.step:nth-child(3){grid-column:span 4}
 .cta{gap:30px;padding:38px}
}
@media (max-width:820px){
 .site-header{top:10px}
 .nav-shell{min-height:62px;padding:9px 12px}
 .nav-links,.nav-search,.nav-shell>.button{display:none!important}
 .brand{min-width:0;flex:1}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
 .category-hero{padding:132px 0 60px}
 .hero-grid{grid-template-columns:1fr;gap:35px}
 .summary-board{max-width:620px}
 .section{padding:70px 0}
 .section-head{align-items:flex-start;flex-direction:column}
 .browser-layout{grid-template-columns:1fr}
 .filter-panel{position:static}
 .filter-head{cursor:pointer}
 .filter-body{display:none}
 .filter-panel.is-expanded .filter-body{display:block}
 .filter-head::after{content:"展开筛选";float:right;margin-top:-32px;color:var(--coral-dark);font-size:11px;font-weight:800}
 .filter-panel.is-expanded .filter-head::after{content:"收起筛选"}
 .mode-grid,.compare-layout,.faq-layout,.cta{grid-template-columns:1fr}
 .faq-aside{position:static}
 .steps{grid-template-columns:1fr}
 .step:nth-child(1),.step:nth-child(2),.step:nth-child(3){grid-column:auto}
 .cta{gap:28px}
}
@media (max-width:640px){
 .container{padding:0 16px}
 .brand-name{font-size:14px}
 .brand-sub{font-size:9px}
 .brand-mark{width:29px;height:29px}
 .category-hero h1{font-size:36px;letter-spacing:-.055em}
 .hero-copy{font-size:14px}
 .hero-actions .button{flex:1}
 .summary-main{grid-template-columns:1fr 1fr}
 .summary-feature{min-height:140px}
 .section{padding:58px 0}
 .section h2{font-size:29px}
 .content-toolbar{align-items:flex-start;flex-direction:column}
 .sort-select{width:100%}
 .content-entry{grid-template-columns:96px minmax(0,1fr);gap:13px}
 .entry-cover{min-height:108px;padding:11px}
 .entry-info h3{font-size:16px}
 .entry-info p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
 .entry-action{grid-column:1/-1}
 .entry-action .button{flex:1}
 .mode-main{grid-template-columns:1fr}
 .mode-cell:nth-child(3){grid-column:auto}
 .compare-header,.compare-row{grid-template-columns:1fr 1fr}
 .compare-header span:first-child,.compare-row .dimension{grid-column:1/-1;border-bottom:1px solid rgba(255,255,255,.1)}
 .access-form{grid-template-columns:1fr}
 .field.full,.form-note,.form-message{grid-column:auto}
 .cta{padding:30px 22px;border-radius:16px}
 .footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}
 .footer-links{justify-content:flex-start}
}
@media (max-width:420px){
 .category-hero h1{font-size:32px}
 .summary-main{display:block}
 .summary-feature{border-right:0;border-bottom:1px solid var(--line)}
 .summary-mini{grid-template-columns:1fr 1fr}
 .summary-cell{border-bottom:0}
 .summary-cell:first-child{border-right:1px solid var(--line)}
 .content-entry{display:block}
 .entry-cover{min-height:116px;margin-bottom:14px}
 .entry-action{margin-top:13px}
 .entry-meta{gap:7px}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
