:root{
  --bg:#070B14;
  --surface:#0D1422;
  --surface-2:#131C2E;
  --border:#1E2A3F;
  --border-soft:#16203400;
  --text:#E7EDF6;
  --muted:#8A98AD;
  --primary:#25E0D6;
  --primary-2:#6C5CE7;
  --cta:#F5B544;
  --grad:linear-gradient(135deg,#25E0D6 0%,#6C5CE7 100%);
  --h2-inset:16px;
  --maxw:1200px;
  --header-h:64px;
  --radius:14px;
  --shadow:0 10px 40px rgba(0,0,0,.45);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased;
}
a{color:var(--primary);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;}
h1,h2,h3,h4{line-height:1.35;font-weight:700;color:#fff;}
code,.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;}

/* ---------- header ---------- */
.mwc-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:rgba(7,11,20,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:1000;}
.mwc-header-inner{max-width:var(--maxw);margin:0 auto;height:100%;display:flex;align-items:center;gap:20px;padding:0 24px;}
.mwc-logo{font-weight:800;font-size:18px;color:#fff;white-space:nowrap;letter-spacing:.3px;}
.mwc-logo span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.mwc-nav{flex:1;}
.mwc-nav-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
.mwc-nav-item{position:relative;}
.mwc-nav-item>a,.mwc-nav-label{display:inline-block;padding:10px 14px;color:var(--text);cursor:pointer;font-size:15px;border-radius:8px;}
.mwc-nav-item>a:hover,.mwc-nav-label:hover{color:#fff;background:var(--surface-2);text-decoration:none;}
.mwc-has-sub .mwc-nav-sub{position:absolute;top:100%;left:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:8px;display:none;flex-direction:column;gap:2px;z-index:1100;}
.mwc-has-sub:hover .mwc-nav-sub,.mwc-has-sub:focus-within .mwc-nav-sub{display:flex;}
.mwc-nav-sub li a{display:block;padding:8px 12px;border-radius:8px;color:var(--muted);font-size:14px;}
.mwc-nav-sub li a:hover{background:var(--surface-2);color:#fff;}
.mwc-nav-sub-all{border-top:1px solid var(--border);margin-top:4px;padding-top:4px;}
.mwc-nav-cta a{background:var(--cta);color:#1a1205;font-weight:700;}
.mwc-nav-cta a:hover{filter:brightness(1.06);}
.mwc-nav-toggle{display:none;background:none;border:1px solid var(--border);color:#fff;font-size:22px;width:42px;height:38px;border-radius:8px;cursor:pointer;}

/* ---------- layout ---------- */
.mwc-container{max-width:var(--maxw);margin:0 auto;padding:calc(var(--header-h) + 28px) 24px 60px;}
.mwc-breadcrumb{padding-left:var(--h2-inset);margin:0 0 22px;}
.mwc-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:13px;color:var(--muted);}
.mwc-breadcrumb li+li::before{content:"›";margin-right:8px;color:var(--border);}
.mwc-breadcrumb a{color:var(--muted);}
.mwc-breadcrumb a:hover{color:var(--primary);}

.mwc-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:36px;align-items:start;}
.mwc-content-main{padding-left:var(--h2-inset);min-width:0;}
.mwc-toc-aside{position:sticky;top:calc(var(--header-h) + 20px);max-height:calc(100vh - var(--header-h) - 40px);overflow:auto;}
.mwc-toc-panel,.mwc-cat-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;}
.mwc-toc-panel summary,.mwc-cat-panel summary{cursor:pointer;font-weight:700;color:#fff;list-style:none;display:flex;align-items:center;justify-content:space-between;}
.mwc-toc-panel summary::after,.mwc-cat-panel summary::after{content:"▾";color:var(--primary);transition:transform .2s;margin-left:8px;}
.mwc-toc-panel[open] summary::after,.mwc-cat-panel[open] summary::after{transform:rotate(180deg);}
.mwc-toc-panel ol,.mwc-cat-panel ul{margin:12px 0 0;padding-left:18px;font-size:14px;color:var(--muted);}
.mwc-toc-panel ol a,.mwc-cat-panel ul a{color:var(--muted);}
.mwc-toc-panel ol a:hover,.mwc-cat-panel ul a:hover{color:var(--primary);}

.mwc-list-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:start;}
.mwc-cat-side{padding-left:var(--h2-inset);}
.mwc-cat-side .mwc-cat-panel{margin-bottom:0;}
.category-list{list-style:none;margin:0;padding:0;}
.category-list li{margin:2px 0;}
.category-list a{display:block;padding:9px 12px;border-radius:8px;color:var(--muted);font-size:15px;border:1px solid transparent;}
.category-list a:hover,.category-list a.active{background:var(--surface-2);color:#fff;border-color:var(--border);text-decoration:none;}
.mwc-cat-content{padding-left:var(--h2-inset);min-width:0;}

.mwc-page-wrap{max-width:900px;margin:0 auto;}
.mwc-page-main{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--h2-inset);}

/* body.page uses 48px inset so breadcrumb aligns with card content */
body.mwc-page{--h2-inset:48px;}
body.mwc-page .mwc-breadcrumb{margin-bottom:0;}
body.mwc-page .mwc-page-main .mwc-breadcrumb{margin-bottom:22px;}

/* ---------- typography in content ---------- */
.mwc-content-main h1,.mwc-page-main h1{font-size:30px;margin:0 0 18px;}
.mwc-content-main h2,.mwc-page-main h2{font-size:23px;margin:34px 0 14px;padding-top:8px;border-top:1px solid var(--border);scroll-margin-top:calc(var(--header-h) + 16px);}
.mwc-content-main h3,.mwc-page-main h3{font-size:18px;margin:22px 0 10px;color:var(--primary);scroll-margin-top:calc(var(--header-h) + 16px);}
.mwc-content-main p,.mwc-page-main p{margin:0 0 16px;color:#cdd6e6;}
.mwc-content-main ul,.mwc-content-main ol,.mwc-page-main ul,.mwc-page-main ol{margin:0 0 16px;padding-left:24px;color:#cdd6e6;}
.mwc-content-main li,.mwc-page-main li{margin:6px 0;}
.mwc-content-main strong,.mwc-page-main strong{color:#fff;}
.lead-block{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;padding:16px 20px;margin:0 0 22px;color:#dbe3f0;font-size:15.5px;}
.kw-line{color:var(--muted);font-size:14px;margin:0 0 18px;}
.kw-line b{color:var(--primary);font-weight:600;}
.time-line{color:var(--muted);font-size:13px;margin:0 0 18px;}
.concl-block{border-left:3px solid var(--cta);background:rgba(245,181,68,.07);border-radius:10px;padding:14px 18px;margin:18px 0;}
.concl-block h4{margin:0 0 8px;color:var(--cta);font-size:15px;}
.concl-block ol{margin:0;padding-left:22px;}
.case-callout{border:1px dashed var(--primary-2);background:rgba(108,92,231,.08);border-radius:10px;padding:14px 18px;margin:18px 0;color:#dbe3f0;}
.case-callout b{color:#fff;}

/* tables — must cover bare <table> from markdown too */
.mwc-content-main table,.mwc-page-main table,table.mwc-spec{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px;border:1px solid #cbd5e1;}
.mwc-content-main table th,.mwc-page-main table th,table.mwc-spec th{background:var(--primary-2);color:#fff;font-weight:600;text-align:left;padding:10px 12px;border:1px solid #cbd5e1;}
.mwc-content-main table td,.mwc-page-main table td,table.mwc-spec td{padding:9px 12px;border:1px solid #cbd5e1;color:#dbe3f0;}
.mwc-content-main table tr:nth-child(even) td,table.mwc-spec tr:nth-child(even) td{background:var(--surface-2);}

/* tags */
.tag-text{display:inline-block;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:12px;padding:2px 9px;border-radius:999px;margin:2px 4px 2px 0;}

/* FAQ — bare details */
.mwc-faq details{border:1px solid var(--border);border-radius:10px;margin:10px 0;background:var(--surface);overflow:hidden;}
.mwc-faq details summary{cursor:pointer;padding:13px 16px;font-weight:600;color:#fff;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.mwc-faq details summary::after{content:"+";color:var(--primary);font-size:18px;}
.mwc-faq details[open] summary::after{content:"−";}
.mwc-faq details div,.mwc-faq details p{padding:0 16px 14px;color:#cdd6e6;margin:0;}
.mwc-faq h2{margin-top:30px;}

/* related */
.rel-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px;}
.rel-list li{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;}
.rel-list a{font-weight:600;}
.rel-list span{display:block;color:var(--muted);font-size:13.5px;margin-top:4px;}

/* ---------- cards / grids ---------- */
.mwc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:18px 0;}
.mwc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:transform .15s,border-color .15s;}
.mwc-card:hover{transform:translateY(-3px);border-color:var(--primary);}
.mwc-card h3{margin:0 0 8px;font-size:17px;}
.mwc-card p{margin:0;color:var(--muted);font-size:14px;}
.mwc-card .mwc-card-meta{margin-top:10px;font-size:12.5px;color:var(--primary);}

/* ---------- home ---------- */
.mwc-hero{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:20px;padding:54px 44px;background:radial-gradient(1200px 400px at 80% -10%,rgba(108,92,231,.25),transparent),radial-gradient(900px 360px at 0% 110%,rgba(37,224,214,.18),transparent),var(--surface);}
.mwc-hero h1{font-size:38px;margin:0 0 16px;max-width:760px;}
.mwc-hero p{color:#cdd6e6;font-size:17px;max-width:680px;}
.mwc-hero .mwc-hero-cta{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;}
.mwc-btn{display:inline-block;padding:12px 22px;border-radius:10px;font-weight:700;border:1px solid transparent;}
.mwc-btn-primary{background:var(--cta);color:#1a1205;}
.mwc-btn-ghost{border-color:var(--border);color:#fff;background:var(--surface-2);}
.mwc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:30px 0;}
.mwc-stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;}
.mwc-stat .num{font-size:28px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.mwc-stat .lbl{color:var(--muted);font-size:14px;margin-top:6px;}
.mwc-section{margin:46px 0;}
.mwc-section h2{font-size:26px;margin:0 0 8px;}
.mwc-section .sub{color:var(--muted);margin:0 0 18px;}
.mwc-capsules{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.mwc-capsule{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:8px 16px;font-size:14px;}
.mwc-kw-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.mwc-kw{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:14px;color:#dbe3f0;}
.mwc-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.mwc-prod-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color .15s,transform .15s;}
.mwc-prod-card:hover{border-color:var(--primary);transform:translateY(-3px);}
.mwc-prod-card .freq{font-family:"SFMono-Regular",Consolas,monospace;color:var(--primary);font-size:13px;}
.mwc-prod-card h3{margin:8px 0 6px;font-size:18px;}
.mwc-prod-card p{color:var(--muted);font-size:14px;margin:0;}
.mwc-prod-card .more{display:inline-block;margin-top:12px;color:var(--cta);font-weight:600;}

/* ---------- footer ---------- */
.mwc-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:40px;}
.mwc-footer-inner{max-width:var(--maxw);margin:0 auto;padding:40px 24px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:24px;}
.mwc-footer-logo{font-weight:800;font-size:17px;color:#fff;margin-bottom:10px;}
.mwc-footer-desc{color:var(--muted);font-size:14px;max-width:320px;}
.mwc-footer-col h4{font-size:14px;color:var(--text);margin:0 0 12px;}
.mwc-footer-col ul{list-style:none;margin:0;padding:0;}
.mwc-footer-col li{margin:6px 0;}
.mwc-footer-col a{color:var(--muted);font-size:14px;}
.mwc-footer-col a:hover{color:var(--primary);}
.mwc-footer-bottom{border-top:1px solid var(--border);text-align:center;padding:18px;color:var(--muted);font-size:13px;}

/* ---------- float capsule ---------- */
.mwc-float{position:fixed;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:1200;}
.mwc-float button{width:auto;min-width:46px;height:46px;padding:0 14px;border:none;border-radius:999px;background:var(--grad);color:#06121f;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;box-shadow:var(--shadow);font-size:14px;}
.mwc-float button:hover{filter:brightness(1.08);}
.mwc-float .mwc-float-icon{font-size:18px;line-height:1;}
.mwc-card-modal{position:fixed;inset:0;background:rgba(3,6,12,.82);display:none;align-items:center;justify-content:center;z-index:2000;padding:20px;}
.mwc-card-modal.open{display:flex;}
.mwc-card-modal img{max-width:90vw;max-height:90vh;width:auto;height:auto;border-radius:10px;box-shadow:var(--shadow);}
.mwc-card-modal .mwc-card-close{position:absolute;top:18px;right:22px;font-size:30px;color:#fff;background:none;border:none;cursor:pointer;}

/* ---------- archive / 404 ---------- */
.mwc-archive-columns{column-count:3;column-gap:28px;}
.mwc-archive-columns ul{list-style:none;margin:0 0 18px;padding:0;}
.mwc-archive-columns li{margin:6px 0;break-inside:avoid;}
.mwc-archive-columns a{color:#dbe3f0;font-size:14px;}
.mwc-404{text-align:center;padding:80px 0;}

@media (max-width:1024px){
  .mwc-detail-layout{grid-template-columns:1fr;}
  .mwc-toc-aside{position:static;max-height:none;}
  .mwc-list-layout{grid-template-columns:1fr;}
  .mwc-cat-side{padding-left:0;margin-bottom:18px;}
  .mwc-content-main,.mwc-cat-content{padding-left:0;}
  .mwc-breadcrumb{padding-left:0;}
  .mwc-footer-inner{grid-template-columns:1fr 1fr;}
  .mwc-hero{padding:38px 24px;}
  .mwc-hero h1{font-size:30px;}
  .mwc-nav-toggle{display:block;}
  .mwc-nav{position:absolute;top:var(--header-h);left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);display:none;flex-direction:column;padding:10px;}
  .mwc-nav.open{display:flex;}
  .mwc-nav-list{flex-direction:column;gap:0;width:100%;}
  .mwc-nav-item{width:100%;}
  .mwc-nav-item>a,.mwc-nav-label{display:block;width:100%;}
  .mwc-has-sub .mwc-nav-sub{position:static;display:flex;box-shadow:none;border:none;background:transparent;padding-left:18px;}
  .mwc-archive-columns{column-count:2;}
}
@media (max-width:600px){
  .mwc-footer-inner{grid-template-columns:1fr;}
  .mwc-archive-columns{column-count:1;}
  body.mwc-page{--h2-inset:24px;}
  .mwc-float button{padding:0;min-width:46px;justify-content:center;}
  .mwc-float .mwc-float-text{display:none;}
}
