:root{--bg:#f8fafc;--surface:#fff;--text:#1e293b;--muted:#64748b;--border:#e2e8f0;--accent:#2563eb;--code-bg:#f1f5f9;--max-width:960px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);line-height:1.75;font-size:16px}
.site-header{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 1.5rem;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.site-header .inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.site-header a.home{font-weight:700;font-size:1.1rem;color:var(--text);text-decoration:none}
.site-header a.home:hover{color:var(--accent)}
.site-header .nav-links{display:flex;gap:1rem;font-size:.9rem}
.site-header .nav-links a{color:var(--muted);text-decoration:none}
.site-header .nav-links a:hover{color:var(--accent)}
.container{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem}
.page-header{border-bottom:2px solid var(--border);padding-bottom:1rem;margin-bottom:1.5rem}
.page-header h1{font-size:2rem;color:#0f172a;margin-bottom:.5rem;word-break:break-word;line-height:1.3}
.page-header .meta{font-size:.85rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.75rem}
.page-header .meta span{background:var(--border);padding:.15rem .6rem;border-radius:999px}
.content{background:var(--surface);padding:1.75rem 2rem;border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.05);border:1px solid var(--border)}
.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{margin:1.5em 0 .6em;line-height:1.3;color:#0f172a;border-bottom:1px solid var(--border);padding-bottom:.3em}
.content h1{font-size:1.75rem}.content h2{font-size:1.4rem}.content h3{font-size:1.2rem}
.content h4{font-size:1.05rem}.content h5,.content h6{font-size:1rem}
.content>*:first-child{margin-top:0}
.content p{margin:.75em 0}
.content a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
.content a:hover{color:#1d4ed8;border-bottom-color:#1d4ed8}
.content a.extlink::after{content:"↗";font-size:.75em;margin-left:.15em;opacity:.6}
.content a.wikilink{border-bottom:1px dotted #cbd5e1}
.content a.wikilink:hover{border-bottom-style:solid}
.content ul,.content ol{margin:.75em 0;padding-left:1.75em}
.content li{margin:.25em 0}
.content dl{margin:.75em 0}
.content dt{font-weight:600;margin-top:.5em}
.content dd{margin-left:1.5em;color:var(--muted)}
.content table.wikitable{border-collapse:collapse;margin:1em 0;width:100%;font-size:.95rem;background:var(--surface);border:1px solid var(--border)}
.content table.wikitable th,.content table.wikitable td{border:1px solid var(--border);padding:.5em .75em;text-align:left;vertical-align:top}
.content table.wikitable th{background:var(--code-bg);font-weight:600}
.content table.wikitable tr:nth-child(even) td{background:#fafbfc}
.content pre,.content code{font-family:"JetBrains Mono","Fira Code",Consolas,monospace;font-size:.9em}
.content code{background:var(--code-bg);padding:.15em .4em;border-radius:.3em;color:#be185d}
.content pre{background:var(--code-bg);padding:1em 1.25em;border-radius:.5em;overflow-x:auto;border-left:4px solid #94a3b8;margin:1em 0;line-height:1.5}
.content pre code{background:none;padding:0;color:inherit}
.content blockquote{border-left:4px solid var(--accent);padding:.5em 1em;margin:1em 0;background:#f0f7ff;color:#334155;border-radius:0 .5em .5em 0}
.content hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}
.content .media-placeholder{background:#f1f5f9;border:1px dashed #cbd5e1;padding:.75em 1em;border-radius:.5em;color:var(--muted);font-size:.9rem;margin:.75em 0}
.content .template-call{background:#fef3c7;color:#92400e;padding:.1em .4em;border-radius:.3em;font-family:monospace;font-size:.9em}
.content .category-tag{display:inline-block;background:#e0e7ff;color:#3730a3;font-size:.8rem;padding:.15em .6em;border-radius:999px;margin:.2em .3em .2em 0}
.content .indent{border-left:2px solid var(--border);padding-left:.75em;color:var(--muted)}
.content .signature{color:var(--accent);font-family:monospace}
.content .empty{color:#94a3b8;font-style:italic}
.redirect-box{background:#fef3c7;color:#92400e;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem;border-left:4px solid #f59e0b}
.toc{background:var(--code-bg);border:1px solid var(--border);border-radius:.5rem;padding:.75rem 1.25rem;margin:1em 0;display:inline-block;font-size:.9rem;min-width:200px}
.toc-title{font-weight:600;margin-bottom:.4em;color:#0f172a}
.toc ul{list-style:none;padding-left:0;margin:0}
.toc li{margin:.15em 0}
.toc a{color:var(--accent)}
.toc .toc-level-2{padding-left:1em}.toc .toc-level-3{padding-left:2em}.toc .toc-level-4{padding-left:3em}
.toc .toc-level-5{padding-left:4em}.toc .toc-level-6{padding-left:5em}
.back-link{display:inline-block;margin-top:1.5rem;color:var(--accent);text-decoration:none;font-size:.95rem}
.back-link:hover{text-decoration:underline}
.index-group{background:var(--surface);border-radius:.75rem;padding:1.25rem 1.5rem;margin-bottom:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.05);border:1px solid var(--border)}
.index-group h2{font-size:1.15rem;color:#0f172a;margin-bottom:.75rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}
.index-group h2 small{color:#94a3b8;font-weight:normal;font-size:.85rem}
.index-group ul{list-style:none;padding:0;columns:2;column-gap:2rem}
@media(max-width:640px){.index-group ul{columns:1}}
.index-group li{padding:.25rem 0;break-inside:avoid;border-bottom:1px dashed #f1f5f9}
.index-group li:last-child{border-bottom:none}
.index-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem;background:var(--border);padding:1rem 1.5rem;border-radius:.75rem}
.index-stats strong{color:var(--accent)}
.site-footer{margin-top:3rem;padding:1.5rem;text-align:center;font-size:.8rem;color:#94a3b8;border-top:1px solid var(--border)}
@media(max-width:640px){.container{padding:1.25rem 1rem}.content{padding:1.25rem 1.25rem}.page-header h1{font-size:1.5rem}.index-group ul{columns:1}}
@media print{.site-header,.back-link,.site-footer{display:none}.content{box-shadow:none;border:none;padding:0}}
.infobox{float:right;width:280px;margin:0 0 1em 1em;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.5em;padding:1em;font-size:.9rem;clear:right}
.infobox-title{font-weight:700;font-size:1.1rem;text-align:center;margin-bottom:.75em;padding-bottom:.5em;border-bottom:1px solid #e2e8f0}
.infobox-image{text-align:center;margin-bottom:.75em;color:#64748b;font-style:italic}
.infobox-caption{text-align:center;font-size:.85rem;color:#64748b;margin-top:-.5em;margin-bottom:.75em}
.infobox-header{font-weight:600;background:#e2e8f0;margin:.5em -1em;padding:.35em 1em;color:#334155}
.infobox-row{display:flex;padding:.25em 0;border-bottom:1px dashed #f1f5f9}
.infobox-row:last-child{border-bottom:none}
.infobox-label{flex:0 0 40%;font-weight:600;color:#475569}
.infobox-value{flex:1;color:#1e293b;word-break:break-word}
.infobox-group{margin:.5em 0}
.infobox-panel,.infobox-section,.infobox-navigation{margin:.5em 0}
@media(max-width:640px){.infobox{float:none;width:100%;margin:1em 0}}