*,:before,:after{box-sizing:border-box;margin:0}:root{--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,monospace;--color-bg:#fff;--color-text:#1a1a1a;--color-text-muted:#666;--color-border:#e0e0e0;--color-code-bg:#f6f6f6;--color-link:#06c;--color-link-hover:#0052a3;--color-accent:#06c;--content-max:900px;--page-max:1200px}@media (prefers-color-scheme:dark){:root{--color-bg:#111;--color-text:#e0e0e0;--color-text-muted:#999;--color-border:#333;--color-code-bg:#1a1a1a;--color-link:#6cb6ff;--color-link-hover:#8fc9ff;--color-accent:#6cb6ff}}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.nav{display:flex;align-items:center;gap:2rem;padding:1rem 2rem;border-bottom:1px solid var(--color-border)}.nav-brand{font-weight:700;font-size:1.25rem;color:var(--color-text);text-decoration:none;letter-spacing:-.02em}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:var(--color-text-muted);text-decoration:none;font-size:.9rem}.nav-links a:hover,.nav-links a.active{color:var(--color-text)}.nav-github{margin-left:auto}.container{max-width:var(--page-max);margin:0 auto;padding:2rem;flex:1}.home{max-width:var(--content-max);margin:0 auto;padding:3rem 2rem}.docs-layout{display:flex;max-width:var(--page-max);margin:0 auto;min-height:calc(100vh - 120px)}.sidebar{width:220px;flex-shrink:0;padding:2rem 1rem;border-right:1px solid var(--color-border)}.sidebar .sidebar-header{font-weight:600;margin-bottom:1rem}.sidebar .sidebar-header a{color:var(--color-text);text-decoration:none}.sidebar ul{list-style:none;padding:0}.sidebar ul ul{padding-left:1rem;margin-top:.25rem}.sidebar li{margin-bottom:.25rem}.sidebar a{color:var(--color-text-muted);text-decoration:none;font-size:.9rem;display:block;padding:.25rem 0}.sidebar a:hover{color:var(--color-text)}.sidebar a.active{color:var(--color-accent);font-weight:500}.docs-main{flex:1;width:calc(var(--page-max) - 220px);display:flex;gap:2rem;padding:2rem;min-width:0}.docs-main article{flex:1;max-width:var(--content-max);min-width:0}.toc{width:180px;flex-shrink:0}@media (width<=1000px){.toc{display:none}}.toc nav{position:sticky;top:2rem}.toc h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.75rem;font-weight:600}.toc ul{list-style:none;padding:0}.toc ul ul{padding-left:.75rem}.toc li{margin-bottom:.25rem}.toc a{color:var(--color-text-muted);text-decoration:none;font-size:.8rem}.toc a:hover{color:var(--color-text)}h1,h2,h3,h4,h5,h6{line-height:1.3;margin-top:2rem;margin-bottom:.75rem;scroll-margin-top:2rem}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none}h1{font-size:2rem;font-weight:700;margin-top:0;margin-bottom:1.5rem}h2{font-size:1.5rem;font-weight:600;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}h3{font-size:1.125rem;font-weight:600}h4{font-size:1rem;font-weight:600}p{margin-bottom:1rem}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}ul,ol{margin-bottom:1rem;padding-left:1.5rem}li{margin-bottom:.25rem}li>ul,li>ol{margin-top:.25rem;margin-bottom:.25rem}code{font-family:var(--font-mono);font-size:.85em;background:var(--color-code-bg);padding:.1em .25em;border-radius:3px}pre{font-family:var(--font-mono);font-size:.8rem;line-height:1.4;background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:4px;padding:.5rem .75rem;overflow-x:auto;margin-bottom:1rem}pre code{background:0 0;padding:0;font-size:inherit}.req{position:relative;margin:1.5rem 0;padding:1.25rem 1rem 1rem;border:1px dashed var(--color-border);border-radius:6px;scroll-margin-top:5rem}.req .req-link{position:absolute;top:-.6em;left:1rem;display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--color-text);background:var(--color-bg);padding:.15em .5em;border:1px solid var(--color-border);border-radius:4px;text-decoration:none}.req .req-link:hover{color:var(--color-link);border-color:var(--color-link)}.req>p:first-of-type{margin-top:0}.req>:last-child{margin-bottom:0}.req ul,.req ol{margin-bottom:.5rem}.compare-container{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}@media (width<=800px){.compare-container{grid-template-columns:1fr}}.compare-section{min-width:0}.compare-section .compare-header{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem}.compare-section pre{margin-bottom:0}blockquote{border-left:3px solid var(--color-accent);margin:1rem 0;padding:.5rem 1rem;color:var(--color-text-muted)}blockquote p:last-child{margin-bottom:0}table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}th,td{padding:.5rem .75rem;border:1px solid var(--color-border);text-align:left}th{background:var(--color-code-bg);font-weight:600}hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}article p:has(>img[src*="/grammar/"]){font-size:0;background:#fff;border-radius:6px;padding:1rem;margin:1rem 0;overflow-x:auto}article p:has(>img[src*="/grammar/"]) img{display:block;max-width:100%;height:auto}@media (prefers-color-scheme:dark){article p:has(>img[src*="/grammar/"]){background:#1a1a1a}article p:has(>img[src*="/grammar/"]) img{filter:invert()hue-rotate(180deg)}}.footer{border-top:1px solid var(--color-border);padding:1.5rem 2rem;text-align:center;color:var(--color-text-muted);font-size:.85rem}.footer p{margin:0}@media (width<=768px){.nav{padding:1rem}.docs-layout{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-border);padding:1rem}.docs-main{padding:1rem}.home{padding:2rem 1rem}}pre code .z-keyword{color:#d73a49}pre code .z-string{color:#032f62}pre code .z-comment{color:#6a737d;font-style:italic}pre code .z-constant{color:#005cc5}pre code .z-entity{color:#6f42c1}pre code .z-variable{color:#24292e}pre code .z-punctuation{color:#24292e}@media (prefers-color-scheme:dark){pre code .z-keyword{color:#ff7b72}pre code .z-string{color:#a5d6ff}pre code .z-comment{color:#8b949e;font-style:italic}pre code .z-constant{color:#79c0ff}pre code .z-entity{color:#d2a8ff}pre code .z-variable{color:#c9d1d9}pre code .z-punctuation{color:#c9d1d9}}