:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--content-max: 46rem;--nav-width: 17rem;--bg: #ffffff;--bg-alt: #f5f6f8;--bg-elev: #ffffff;--fg: #1c1f24;--fg-muted: #5a6270;--fg-faint: #838b98;--border: #e2e5ea;--border-strong: #cfd4dc;--accent: #2b5ce6;--accent-fg: #ffffff;--accent-soft: #e8eefc;--tag-bg: #eef0f4;--tag-fg: #464e5c;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .06);--code-bg: #f2f3f6}@media(prefers-color-scheme:dark){:root{--bg: #0f1216;--bg-alt: #151a20;--bg-elev: #171c23;--fg: #e7eaef;--fg-muted: #a3acbb;--fg-faint: #78828f;--border: #262d36;--border-strong: #333c47;--accent: #6f9bff;--accent-fg: #0b1017;--accent-soft: #1b2740;--tag-bg: #1e252e;--tag-fg: #c3ccd8;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 20px rgba(0, 0, 0, .35);--code-bg: #1a2027}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.boot-loading,.boot-error{max-width:var(--content-max);margin:4rem auto;padding:0 1.25rem;color:var(--fg-muted)}.boot-error h1{color:var(--fg)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--bg-elev);border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(1.1);backdrop-filter:saturate(1.1)}.site-identity{display:flex;flex-direction:column;line-height:1.2;color:inherit}.site-identity:hover{text-decoration:none}.site-name{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.site-headline{font-size:.8rem;color:var(--fg-muted)}.header-actions{margin-left:auto}.print-button,.nav-toggle{font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);border-radius:8px;padding:.35rem .7rem}.print-button:hover,.nav-toggle:hover{border-color:var(--accent);color:var(--accent)}.nav-toggle{display:none;font-size:1.1rem;line-height:1;padding:.3rem .55rem}.app-body{flex:1;display:grid;grid-template-columns:var(--nav-width) minmax(0,1fr);align-items:start}.app-nav{position:sticky;top:3.1rem;align-self:start;height:calc(100vh - 3.1rem);overflow-y:auto;border-right:1px solid var(--border);background:var(--bg-alt);padding:1.25rem 1rem 2rem}.sidebar .nav-top{display:block;font-weight:600;color:var(--fg);padding:.4rem .6rem;border-radius:8px;margin-bottom:.75rem}.sidebar .nav-top:hover{background:var(--accent-soft);text-decoration:none}.sidebar .nav-top.active{background:var(--accent);color:var(--accent-fg)}.nav-section{margin-top:1.25rem}.nav-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin:0 0 .4rem;padding:0 .6rem;font-weight:700}.nav-list{list-style:none;margin:0;padding:0}.nav-link{display:flex;flex-direction:column;padding:.35rem .6rem;border-radius:8px;color:var(--fg);border-left:2px solid transparent}.nav-link:hover{background:var(--accent-soft);text-decoration:none}.nav-link.active{background:var(--accent-soft);border-left-color:var(--accent);color:var(--accent);font-weight:600}.nav-link-title{font-size:.92rem}.nav-link-meta{font-size:.74rem;color:var(--fg-faint)}.nav-empty,.nav-scrim{color:var(--fg-faint)}.nav-scrim{display:none;border:0;padding:0}.app-main{min-width:0;padding:2rem 1.5rem 3rem;display:flex;flex-direction:column;min-height:calc(100vh - 3.1rem)}.doc{width:100%;max-width:var(--content-max);margin:0 auto;flex:1}.doc-head h1,.landing-name{font-size:2rem;line-height:1.15;letter-spacing:-.02em;margin:0 0 .5rem}.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-bottom:1.5rem;color:var(--fg-muted)}.doc-period{font-size:.9rem;font-weight:600}.tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.tag{font-size:.74rem;background:var(--tag-bg);color:var(--tag-fg);padding:.15rem .55rem;border-radius:999px}.doc-loading,.doc-empty,.doc-error{color:var(--fg-muted)}.doc-error{color:#c0392b}@media(prefers-color-scheme:dark){.doc-error{color:#ff8f81}}.landing-hero{margin-bottom:1.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.landing-headline{font-size:1.15rem;color:var(--fg-muted);margin:0 0 1rem}.contact-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0}.contact-chip{display:inline-flex;align-items:baseline;gap:.4rem;font-size:.9rem}.contact-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);font-weight:700}.landing-sections{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.landing-sections>h2{font-size:1.1rem;margin:0 0 1rem}.section-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem}.section-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem}.section-card h3{margin:0 0 .5rem;font-size:.95rem}.section-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.markdown{font-size:1rem}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{line-height:1.25;letter-spacing:-.01em;margin:2rem 0 .75rem}.markdown h1{font-size:1.7rem}.markdown h2{font-size:1.35rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}.markdown h3{font-size:1.12rem}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown table{margin:0 0 1rem}.markdown ul,.markdown ol{padding-left:1.4rem}.markdown li+li{margin-top:.25rem}.markdown blockquote{margin-left:0;padding:.25rem 1rem;border-left:3px solid var(--border-strong);color:var(--fg-muted)}.markdown code{font-family:var(--font-mono);font-size:.88em;background:var(--code-bg);padding:.12em .38em;border-radius:5px}.markdown pre{background:var(--code-bg);padding:1rem;border-radius:10px;overflow-x:auto;border:1px solid var(--border)}.markdown pre code{background:none;padding:0;font-size:.85rem}.markdown img{max-width:100%;height:auto;border-radius:8px}.markdown hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.markdown table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left}.markdown th{background:var(--bg-alt)}.site-footer{max-width:var(--content-max);margin:3rem auto 0;padding-top:1.25rem;border-top:1px solid var(--border);color:var(--fg-faint);font-size:.82rem;width:100%}@media(max-width:820px){.nav-toggle{display:inline-block}.app-body{grid-template-columns:minmax(0,1fr)}.app-nav{position:fixed;top:0;left:0;height:100vh;width:min(80vw,var(--nav-width));z-index:50;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow);padding-top:4rem}.nav-open .app-nav{transform:translate(0)}.nav-open .nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0006}}@media(max-width:520px){.app-main{padding:1.5rem 1.1rem 2.5rem}.doc-head h1,.landing-name{font-size:1.6rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{@page{margin:16mm 14mm}:root{--content-max: 100%}html,body{background:#fff!important;color:#000!important;font-size:11.5pt;line-height:1.4}.site-header,.app-nav,.nav-scrim,.nav-toggle,.print-button,.header-actions,.landing-sections,.site-footer{display:none!important}.app-shell,.app-body,.app-main{display:block!important;min-height:0!important;padding:0!important;margin:0!important}.app-body{grid-template-columns:1fr!important}.doc{max-width:100%!important;margin:0!important}a{color:#000!important;text-decoration:none}.markdown a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em;color:#333;word-break:break-all}.landing-hero{border-bottom:1px solid #000!important}.contact-label,.doc-period,.nav-link-meta{color:#333!important}.tag{background:none!important;color:#000!important;border:1px solid #999}.markdown h2{border-bottom:1px solid #999!important}.markdown pre,.markdown code{background:#f2f2f2!important;color:#000!important;border-color:#ccc!important}.doc-head,.markdown h1,.markdown h2,.markdown h3{break-after:avoid}.markdown pre,.markdown blockquote,.markdown table,.markdown img{break-inside:avoid}}
