:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; background: #f8fafc; color: #0f172a; line-height: 1.65; }
a { color: #4f46e5; }
.site-header { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid #e2e8f0; background: rgba(255,255,255,.96); }
.nav { max-width: 76rem; margin: auto; padding: .85rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { color: #1e3a8a; font-weight: 800; text-decoration: none; }
.brand-logo { display: block; width: 250px; max-width: 60vw; height: 50px; }
.nav-links { display: flex; flex-wrap: wrap; gap: .85rem; }
.nav-links a { color: #334155; font-size: .9rem; font-weight: 650; text-decoration: none; }
.page { max-width: 64rem; margin: 2.5rem auto; padding: 0 1rem; }
.breadcrumbs { margin-bottom: 1rem; color: #64748b; font-size: .875rem; }
.breadcrumbs a { color: #475569; }
.article { overflow: hidden; border: 1px solid #e2e8f0; border-radius: 1.25rem; background: white; padding: clamp(1.25rem, 4vw, 3rem); box-shadow: 0 10px 25px rgba(15,23,42,.05); }
.article h1 { margin: 0; font-size: clamp(2rem, 5vw, 3rem); line-height: 1.12; letter-spacing: -.025em; }
.article h2 { margin-top: 2.25rem; font-size: 1.55rem; line-height: 1.25; }
.article h3 { margin-top: 1.75rem; font-size: 1.2rem; }
.article p, .article li { color: #334155; }
.article img { display: block; width: 100%; height: auto; margin: 1.5rem 0; border-radius: .9rem; }
.article table { display: block; overflow-x: auto; width: 100%; border-collapse: collapse; }
.article th, .article td { border: 1px solid #cbd5e1; padding: .65rem; text-align: left; }
.article blockquote { margin-left: 0; border-left: 4px solid #818cf8; padding-left: 1rem; color: #475569; }
.meta { margin: .8rem 0 1.5rem; color: #64748b; font-size: .9rem; }
.notice { margin: 1.4rem 0; border: 1px solid #c7d2fe; border-radius: .8rem; background: #eef2ff; padding: 1rem; color: #3730a3; font-size: .92rem; }
.toc { margin: 1.5rem 0; border: 1px solid #e2e8f0; border-radius: .8rem; background: #f8fafc; padding: 1rem 1.25rem; }
.toc-title { margin: 0 0 .5rem; font-weight: 750; }
.toc ul { margin: .3rem 0; padding-left: 1.2rem; }
.toc li { margin: .35rem 0; }
.toc-level-3 { margin-left: 1rem !important; }
.toc-level-4, .toc-level-5, .toc-level-6 { margin-left: 2rem !important; }
.article-content h2, .article-content h3, .article-content h4, .article-content h5, .article-content h6 { scroll-margin-top: 6rem; }
.footer { margin-top: 3rem; border-top: 1px solid #e2e8f0; background: white; padding: 2rem 1rem; color: #64748b; text-align: center; font-size: .875rem; }
@media (max-width: 640px) { .nav { align-items: flex-start; flex-direction: column; } .page { margin-top: 1.25rem; } }
