
:root{
  --bg:#0b1020;
  --bg-soft:#121a31;
  --panel:#121935;
  --panel-2:#192347;
  --line:#2a3768;
  --text:#ecf1ff;
  --muted:#aeb9dd;
  --accent:#73a3ff;
  --accent-2:#8be9cf;
  --shadow:0 18px 45px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#08101f,#0d1530 35%,#0a1020);color:var(--text)}
a{color:#9fc2ff;text-decoration:none}
a:hover{text-decoration:underline}
.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}
.sidebar{border-right:1px solid var(--line);padding:24px 18px;background:rgba(8,13,28,.88);position:sticky;top:0;height:100vh}
.brand{display:flex;gap:14px;align-items:center;margin-bottom:28px}
.brand h1{font-size:1.4rem;margin:0}
.brand p{margin:.25rem 0 0;color:var(--muted);font-size:.92rem}
.brand-badge{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--accent),#4f71ff);display:grid;place-items:center;font-weight:800;box-shadow:var(--shadow)}
.side-nav{display:grid;gap:8px}
.nav-link{padding:11px 14px;border:1px solid transparent;border-radius:14px;color:var(--text);background:transparent}
.nav-link.active,.nav-link:hover{background:var(--panel);border-color:var(--line);text-decoration:none}
.sidebar-note{margin-top:26px;padding:14px;border-radius:16px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:.92rem;line-height:1.45}
.main{padding:20px 28px 40px}
.topbar{margin-bottom:18px}
.topbar input{width:100%;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:rgba(18,25,53,.9);color:var(--text);font-size:1rem;outline:none}
.hero{padding:28px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at top left,rgba(115,163,255,.18),transparent 35%),linear-gradient(180deg,#121b3c,#0f1731);box-shadow:var(--shadow)}
.hero h2{font-size:2.2rem;line-height:1.1;margin:0 0 14px}
.hero p{max-width:900px;color:var(--muted);font-size:1.02rem;line-height:1.6}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:22px}
.stat{padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(11,16,32,.4)}
.stat b{display:block;font-size:1.8rem;margin-bottom:5px}
.section-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:28px 0 14px}
.section-title h3{margin:0;font-size:1.35rem}
.section-title p{margin:0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.card{background:linear-gradient(180deg,var(--panel),#101731);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.card h4{margin:0 0 10px;font-size:1.08rem}
.card p{margin:0;color:var(--muted);line-height:1.55}
.card .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tag{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:.83rem;color:#d8e2ff}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.btn{padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}
.article{padding:24px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#121b3b,#0d142c)}
.article h1,.article h2,.article h3,.article h4{scroll-margin-top:90px}
.article h1{font-size:2rem;margin-top:0}
.article h2{margin-top:1.8rem;font-size:1.45rem}
.article h3{margin-top:1.2rem;font-size:1.15rem}
.article p,.article li{line-height:1.7}
.article img{max-width:100%;height:auto;border-radius:16px;border:1px solid var(--line);margin:14px 0}
.article pre{background:#09101f;border:1px solid var(--line);border-radius:18px;padding:16px;overflow:auto}
.article code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.article table{width:100%;border-collapse:collapse;margin:16px 0;display:block;overflow:auto}
.article th,.article td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.article blockquote{margin:14px 0;padding:14px 16px;border-left:4px solid var(--accent);background:rgba(115,163,255,.08);border-radius:12px}
.aside-column{display:grid;gap:16px;align-content:start}
.panel{padding:18px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--panel),#101731)}
.panel h4{margin:0 0 12px}
.toc a{display:block;padding:8px 0;color:var(--muted)}
.toc a:hover{color:var(--text)}
.config{padding:20px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--panel),#101731)}
.config pre{margin:0;background:#09101f;border:1px solid var(--line);border-radius:18px;padding:16px;overflow:auto}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gallery-item{background:linear-gradient(180deg,var(--panel),#101731);border:1px solid var(--line);border-radius:20px;padding:12px}
.gallery-item img{width:100%;height:180px;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block}
.gallery-item span{display:block;margin-top:10px;color:var(--muted);font-size:.92rem;word-break:break-word}
.empty{padding:34px;border:1px dashed var(--line);border-radius:24px;color:var(--muted);text-align:center}
@media (max-width: 1080px){.detail{grid-template-columns:1fr}.aside-column{order:-1}.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--line)}}
