:root{
  --lcv-bg:#0A0F14;
  --lcv-panel:#111A22;
  --lcv-panel2:#0E161E;
  --lcv-text:#E6EDF3;
  --lcv-muted:#9FB0BD;
  --lcv-cyan:#2DE0C8;
  --lcv-copper:#E0894A;
  --lcv-blue:#4F9DFF;
  --lcv-border:#243240;
  --lcv-border2:#2A3A48;
  --lcv-h2-inset:0px;
  --lcv-maxw:1200px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--lcv-bg);color:var(--lcv-text);
  font-family:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:16px;line-height:1.75;
}
a{color:var(--lcv-cyan);text-decoration:none;}
a:hover{color:var(--lcv-copper);}
img{max-width:100%;}
.lcv-container{max-width:var(--lcv-maxw);margin:0 auto;padding:0 24px;}

/* ===== Header ===== */
.lcv-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,15,20,.92);
  border-bottom:1px solid var(--lcv-border);backdrop-filter:blur(8px);}
.lcv-header-inner{max-width:var(--lcv-maxw);margin:0 auto;padding:0 24px;height:64px;
  display:flex;align-items:center;gap:18px;}
.lcv-logo{font-weight:700;font-size:18px;color:var(--lcv-cyan);white-space:nowrap;}
.lcv-nav{display:flex;align-items:center;gap:18px;margin-left:auto;}
.lcv-nav>a,.lcv-nav-label{color:var(--lcv-text);font-size:14px;cursor:pointer;}
.lcv-nav-group{position:relative;}
.lcv-nav-sub{display:none;position:absolute;top:100%;left:0;background:var(--lcv-panel);
  border:1px solid var(--lcv-border);border-radius:8px;padding:8px 10px;min-width:140px;
  flex-direction:column;gap:6px;}
.lcv-nav-group:hover .lcv-nav-sub{display:flex;}
.lcv-nav-sub a{font-size:13px;color:var(--lcv-muted);white-space:nowrap;}
.lcv-nav-toggle{display:none;background:none;border:1px solid var(--lcv-border);color:var(--lcv-text);
  font-size:22px;line-height:1;padding:4px 10px;border-radius:6px;cursor:pointer;}
body{padding-top:64px;}

/* ===== Layout grids ===== */
.lcv-layout .lcv-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;
  align-items:start;padding:28px 0;}
.lcv-list-layout .lcv-layout-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;
  align-items:start;padding:28px 0;}
.lcv-toc-aside{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto;}
.lcv-cat-side{position:sticky;top:80px;}

/* ===== Breadcrumb ===== */
.lcv-breadcrumb{margin:0 0 18px;font-size:13px;color:var(--lcv-muted);}
.lcv-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;}
.lcv-breadcrumb li{display:flex;align-items:center;gap:6px;}
.lcv-breadcrumb li+li::before{content:"›";color:var(--lcv-border2);}
.lcv-breadcrumb a{color:var(--lcv-muted);}
.lcv-breadcrumb span{color:var(--lcv-text);}

/* ===== Content typography ===== */
.lcv-title{font-size:28px;line-height:1.3;margin:0 0 18px;color:#fff;}
.lcv-article-body{padding-left:var(--lcv-h2-inset);}
.lcv-article-body h2{font-size:21px;margin:30px 0 12px;color:var(--lcv-cyan);
  border-left:3px solid var(--lcv-copper);padding-left:12px;}
.lcv-article-body h3{font-size:17px;margin:22px 0 10px;color:var(--lcv-text);}
.lcv-article-body p{margin:12px 0;}
.lcv-article-body ul,.lcv-article-body ol{margin:12px 0;padding-left:22px;}
.lcv-article-body li{margin:6px 0;}
.lcv-article-body blockquote{background:var(--lcv-panel);border-left:3px solid var(--lcv-cyan);
  margin:16px 0;padding:12px 16px;border-radius:0 8px 8px 0;color:var(--lcv-muted);}
.lcv-article-body blockquote strong{color:var(--lcv-cyan);}
.lcv-article-body code{background:var(--lcv-panel2);padding:2px 6px;border-radius:4px;
  font-size:14px;color:var(--lcv-copper);}
time{color:var(--lcv-muted);font-size:13px;}

/* ===== Tables (covers markdown bare <table> + .lcv-spec) ===== */
.lcv-content-main table,.lcv-page-main table,table.lcv-spec{
  width:100%;border-collapse:collapse;margin:16px 0;font-size:14px;
  border:1px solid var(--lcv-border2);}
.lcv-content-main table th,.lcv-page-main table th,table.lcv-spec th{
  background:#13303a;color:#fff;border:1px solid var(--lcv-border2);padding:9px 12px;text-align:left;}
.lcv-content-main table td,.lcv-page-main table td,table.lcv-spec td{
  border:1px solid var(--lcv-border2);padding:9px 12px;color:var(--lcv-text);}
.lcv-content-main table tr:nth-child(even),.lcv-page-main table tr:nth-child(even),
table.lcv-spec tr:nth-child(even){background:rgba(255,255,255,.03);}

/* ===== TOC panel ===== */
.lcv-toc-panel,.lcv-cat-panel{background:var(--lcv-panel);border:1px solid var(--lcv-border);
  border-radius:10px;padding:12px 14px;}
.lcv-toc-summary,.lcv-cat-summary{cursor:pointer;font-weight:600;color:var(--lcv-cyan);
  list-style:none;font-size:14px;}
.lcv-toc-summary::after,.lcv-cat-summary::after{content:"▾";float:right;transition:transform .2s;}
.lcv-toc-panel[open]>.lcv-toc-summary::after,.lcv-cat-panel[open]>.lcv-cat-summary::after{transform:rotate(180deg);}
.lcv-toc-nav{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.lcv-toc-link{font-size:13px;color:var(--lcv-muted);}
.lcv-toc-link:hover{color:var(--lcv-copper);}

/* ===== Category list ===== */
.lcv-category-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.lcv-category-list a{display:block;padding:6px 10px;border-radius:6px;color:var(--lcv-muted);font-size:14px;}
.lcv-category-list a:hover,.lcv-category-list a.active{background:rgba(45,224,200,.12);color:var(--lcv-cyan);}

/* ===== FAQ (bare details) ===== */
.lcv-faq{margin:24px 0;}
.lcv-faq-item{background:var(--lcv-panel);border:1px solid var(--lcv-border);border-radius:8px;
  margin:8px 0;padding:0 14px;}
.lcv-faq-item summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--lcv-text);list-style:none;}
.lcv-faq-item summary::after{content:"+";float:right;color:var(--lcv-cyan);font-size:18px;}
.lcv-faq-item[open] summary::after{content:"−";}
.lcv-faq-a{padding:0 0 12px;color:var(--lcv-muted);}
.lcv-faq-a p{margin:0;}

/* ===== Related ===== */
.lcv-related{margin:28px 0;border-top:1px solid var(--lcv-border);padding-top:18px;}
.lcv-related-h{font-size:18px;color:var(--lcv-copper);}
.lcv-related-list{list-style:none;padding:0;margin:10px 0;}
.lcv-related-list li{margin:8px 0;padding-left:14px;position:relative;color:var(--lcv-muted);}
.lcv-related-list li::before{content:"→";position:absolute;left:0;color:var(--lcv-cyan);}

/* ===== Case study callout ===== */
.lcv-case{background:rgba(224,137,74,.08);border:1px solid var(--lcv-copper);border-radius:10px;
  padding:14px 16px;margin:22px 0;}
.lcv-case-h{margin:0 0 8px;color:var(--lcv-copper);font-size:16px;}
.lcv-case p{margin:0;color:var(--lcv-muted);}

/* ===== List / posts ===== */
.lcv-list-title{font-size:26px;margin:0 0 8px;color:#fff;}
.lcv-list-desc{color:var(--lcv-muted);margin:0 0 20px;}
.lcv-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.lcv-post{background:var(--lcv-panel);border:1px solid var(--lcv-border);border-radius:10px;padding:16px;}
.lcv-post-title{font-size:17px;margin:0 0 8px;font-weight:600;}
.lcv-post-title a{color:var(--lcv-text);}
.lcv-post-desc{color:var(--lcv-muted);font-size:14px;margin:0;}

/* ===== Pagination ===== */
.lcv-pagination{margin:22px 0;display:flex;gap:12px;align-items:center;}
.lcv-pagination a{padding:6px 14px;border:1px solid var(--lcv-border);border-radius:6px;color:var(--lcv-cyan);}
.lcv-page-cur{padding:6px 14px;color:var(--lcv-muted);}

/* ===== Footer ===== */
.lcv-footer{border-top:1px solid var(--lcv-border);background:var(--lcv-panel2);margin-top:40px;}
.lcv-footer-cols{max-width:var(--lcv-maxw);margin:0 auto;padding:32px 24px;display:grid;
  grid-template-columns:repeat(4,1fr);gap:24px;}
.lcv-footer-h{font-size:15px;color:var(--lcv-cyan);margin:0 0 12px;}
.lcv-footer-col{display:flex;flex-direction:column;gap:8px;}
.lcv-footer-col a{color:var(--lcv-muted);font-size:14px;}
.lcv-footer-bar{border-top:1px solid var(--lcv-border);padding:14px 24px;text-align:center;
  color:var(--lcv-muted);font-size:13px;}

/* ===== Float capsule ===== */
.lcv-float{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:60;
  display:flex;flex-direction:column;gap:10px;}
.lcv-float-btn{width:54px;height:54px;border-radius:27px;border:none;cursor:pointer;
  background:linear-gradient(160deg,var(--lcv-cyan),var(--lcv-blue));color:#04121a;
  font-weight:700;font-size:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(45,224,200,.35);line-height:1.05;}
.lcv-float-btn span{font-size:10px;font-weight:600;}
.lcv-float-btn[data-float="card"]{background:linear-gradient(160deg,var(--lcv-copper),#d4682a);color:#1a0d04;}
.lcv-float-btn[data-float="mail"]{background:linear-gradient(160deg,var(--lcv-blue),#2a6fc0);color:#04121a;}

.lcv-card-overlay{position:fixed;inset:0;z-index:80;background:rgba(4,8,12,.78);
  display:flex;align-items:center;justify-content:center;}
.lcv-card-overlay[hidden]{display:none;}
.lcv-card-box{position:relative;background:#fff;border-radius:10px;padding:10px;}
.lcv-card-box img{display:block;width:300px;height:500px;object-fit:contain;}
.lcv-card-close{position:absolute;top:-12px;right:-12px;width:32px;height:32px;border-radius:50%;
  border:none;background:var(--lcv-copper);color:#1a0d04;font-size:20px;cursor:pointer;}

/* ===== Home ===== */
.lcv-hero{background:radial-gradient(1200px 400px at 20% -10%,rgba(45,224,200,.18),transparent),
  radial-gradient(900px 400px at 90% 10%,rgba(224,137,74,.14),transparent);padding:60px 0 40px;}
.lcv-hero-inner{max-width:var(--lcv-maxw);margin:0 auto;padding:0 24px;}
.lcv-hero-title{font-size:42px;margin:0 0 16px;color:#fff;}
.lcv-hero-sub{font-size:17px;color:var(--lcv-muted);max-width:780px;margin:0 0 24px;}
.lcv-hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.lcv-btn{display:inline-block;padding:12px 22px;border-radius:8px;background:var(--lcv-cyan);color:#04121a;
  font-weight:700;}
.lcv-btn-ghost{background:transparent;border:1px solid var(--lcv-cyan);color:var(--lcv-cyan);}
.lcv-section{max-width:var(--lcv-maxw);margin:0 auto;padding:34px 24px;}
.lcv-section-h{font-size:24px;color:#fff;border-left:3px solid var(--lcv-copper);padding-left:12px;margin:0 0 18px;}
.lcv-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.lcv-home-card{background:var(--lcv-panel);border:1px solid var(--lcv-border);border-radius:10px;padding:18px;}
.lcv-home-card-h{font-size:18px;margin:0 0 8px;}
.lcv-home-card-h a{color:var(--lcv-cyan);}
.lcv-home-card-desc{color:var(--lcv-muted);font-size:14px;margin:0;}
.lcv-tags{display:flex;flex-wrap:wrap;gap:10px;}
.lcv-tag{background:rgba(45,224,200,.1);border:1px solid var(--lcv-border);border-radius:20px;
  padding:6px 14px;color:var(--lcv-cyan);font-size:14px;}
.lcv-baseline{background:var(--lcv-panel);border:1px solid var(--lcv-border);border-radius:10px;padding:18px 20px;
  color:var(--lcv-muted);}
.lcv-baseline p{margin:8px 0;}
.lcv-scenario-list{columns:2;column-gap:30px;padding-left:20px;color:var(--lcv-muted);}
.lcv-scenario-list li{margin:8px 0;break-inside:avoid;}

/* ===== Page wrap ===== */
.lcv-page-wrap{max-width:880px;margin:0 auto;padding:28px 24px 10px;}
.lcv-page-main .lcv-title{margin-top:0;}
.lcv-archive-block{margin:24px 0;}
.lcv-archive-cat{font-size:18px;color:var(--lcv-copper);margin:16px 0 8px;}
.lcv-archive-list{columns:2;column-gap:30px;padding-left:20px;}
.lcv-archive-list li{margin:6px 0;break-inside:avoid;}

/* ===== Responsive folding (V7.0) ===== */
@media (max-width:1024px){
  .lcv-layout .lcv-layout-grid,
  .lcv-list-layout .lcv-layout-grid{grid-template-columns:1fr;gap:18px;}
  .lcv-toc-aside,.lcv-cat-side{position:static;max-height:none;}
  .lcv-nav{position:absolute;top:64px;left:0;right:0;background:var(--lcv-panel);flex-direction:column;
    align-items:flex-start;padding:14px 24px;gap:10px;display:none;border-bottom:1px solid var(--lcv-border);}
  .lcv-nav.open{display:flex;}
  .lcv-nav-sub{position:static;display:flex;background:none;border:none;padding:4px 0 4px 12px;}
  .lcv-nav-toggle{display:block;margin-left:auto;}
  .lcv-scenario-list,.lcv-archive-list{columns:1;}
  .lcv-hero-title{font-size:32px;}
}
