:root{--bg:#ffffff;--fg:#1a1d24;--muted:#5b6472;--accent:#2563eb;--accent2:#7c3aed;--card:#f6f7f9;--border:#e4e7ec;--sidebar:#fafbfc;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;line-height:1.65;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);}
.nav{max-width:1240px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px;height:58px;}
.brand{font-weight:700;font-size:17px;letter-spacing:.4px;white-space:nowrap;}
.brand span{color:var(--accent);}
.tabs{display:flex;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:3px;}
.tab{font-size:14px;color:var(--fg);padding:6px 16px;border-radius:8px;white-space:nowrap;}
.tab:hover{background:#e8eef7;text-decoration:none;}
.tab.active{background:var(--accent);color:#fff;font-weight:600;}
.nav .n{font-size:14px;color:var(--fg);white-space:nowrap;}
.nav .n:hover{color:var(--accent);text-decoration:none;}
.nav .grow{flex:1;}
.nav .gh{font-size:13px;padding:6px 14px;border:1px solid var(--border);border-radius:8px;color:var(--fg);white-space:nowrap;}
.wrap{max-width:1240px;margin:0 auto;display:flex;gap:0;}
aside{width:260px;flex:0 0 260px;border-right:1px solid var(--border);background:var(--sidebar);padding:16px 12px 40px;max-height:calc(100vh - 58px);overflow-y:auto;position:sticky;top:58px;}
.filter{padding:2px 10px 12px;border-bottom:1px solid var(--border);margin-bottom:10px;}
.filter label{font-size:12px;color:var(--muted);display:block;margin-bottom:5px;}
.filter select{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--fg);font-size:13px;}
aside .grp{margin-bottom:16px;}
aside .grp-t{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:0 10px 6px;}
aside a{display:block;padding:5px 10px;border-radius:7px;font-size:13.5px;color:var(--fg);margin-bottom:1px;line-height:1.4;}
aside a:hover{background:#eef2f7;text-decoration:none;}
aside a.active{background:#e8f0fe;color:var(--accent);font-weight:600;}
aside a .l{font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 5px;margin-left:5px;vertical-align:middle;font-weight:400;}
main{flex:1;min-width:0;padding:36px 44px 60px;max-width:920px;}
main.full{max-width:1000px;margin:0 auto;}
main h1{font-size:30px;line-height:1.25;margin:0 0 8px;}
main h1 .lang{display:inline-block;font-size:12px;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 9px;vertical-align:middle;margin-left:10px;}
.src{margin:0 0 22px;font-size:13px;color:var(--muted);}
.doc h1:first-child{display:none;}
.doc h2{font-size:22px;margin:28px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.doc h3{font-size:18px;margin:22px 0 10px;}
.doc h4{font-size:16px;margin:18px 0 8px;}
.doc p,.doc ul,.doc ol{margin:10px 0;}
.doc ul,.doc ol{padding-left:24px;}
.doc li{margin:4px 0;}
.doc code{background:var(--card);border:1px solid var(--border);padding:1px 6px;border-radius:5px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.doc pre{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:16px 18px;overflow-x:auto;margin:14px 0;line-height:1.5;}
.doc pre code{background:none;border:none;color:inherit;padding:0;font-size:13px;}
.doc blockquote{border-left:3px solid var(--border);color:var(--muted);padding:2px 0 2px 16px;margin:14px 0;}
.doc table{border-collapse:collapse;margin:14px 0;width:100%;font-size:14px;display:block;overflow-x:auto;}
.doc th,.doc td{border:1px solid var(--border);padding:8px 12px;text-align:left;}
.doc th{background:var(--card);font-weight:600;}
.doc img{max-width:100%;}
.doc hr{border:none;border-top:1px solid var(--border);margin:24px 0;}
.doc a code{color:inherit;}
footer{border-top:1px solid var(--border);padding:26px 20px 40px;color:var(--muted);font-size:13px;background:var(--bg);}
footer .foot{max-width:1240px;margin:0 auto;}
footer .row{margin:3px 0;}
@media (max-width:900px){.nav{flex-wrap:wrap;height:auto;padding:10px 16px;}.tabs{order:3;width:100%;overflow-x:auto;}.wrap{display:block;}aside{width:100%;flex:none;max-height:none;position:static;border-right:none;border-bottom:1px solid var(--border);}main{padding:24px 18px 40px;}}

/* varwof-skip-link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
  padding: 8px 14px;
  background: #ffffff;
  color: #2563eb;
  border: 1px solid #2563eb;
  border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; }
