:root{color-scheme:light;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg: #f7f8fa;--bg-elevated: #ffffff;--bg-muted: #edf1f6;--text: #192531;--text-muted: #526171;--border: #d4dce5;--accent: #1d4ed8;--accent-strong: #153eab;--accent-soft: #eaf0ff;--action-bg: #1d4ed8;--action-text: #ffffff;--title-size: clamp(2.25rem, 4vw, 3.5rem);--code-bg: #edf1f6;--code-text: #192531;--shadow: none;--site-width: 1440px;--content-width: 1200px;--reading-width: 78ch}html[data-theme=dark]{color-scheme:dark;--bg: #111923;--bg-elevated: #172330;--bg-muted: #1e2d3c;--text: #edf2f8;--text-muted: #a6b6c7;--border: #304358;--accent: #91baff;--accent-strong: #cfe0ff;--accent-soft: #1c3150;--code-bg: #172330;--code-text: #edf2f8}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:2rem}body{min-width:320px;min-height:100vh;margin:0;color:var(--text);background:var(--bg);font-family:var(--font-sans);font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit}a{color:var(--accent);text-decoration:underline;text-underline-offset:.22em}a:hover{color:var(--accent-strong)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::-moz-selection{background:var(--border);color:var(--text)}::selection{background:var(--border);color:var(--text)}[hidden]{display:none!important}.site-width{width:min(calc(100% - 48px),var(--site-width));margin-inline:auto}.site-header{border-top:3px solid var(--accent);border-bottom:1px solid var(--border);background:var(--bg)}.site-masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px 18px}.site-identity{display:inline-flex;align-items:center;gap:14px;color:var(--text);text-decoration:none}.site-identity:hover{color:var(--text)}.site-identity img{flex-shrink:0;width:48px;height:48px;border-radius:4px;-o-object-fit:cover;object-fit:cover}.site-name{display:block;font-size:1.2rem;line-height:1.4;font-weight:650;letter-spacing:-.025em}.site-qualification{display:block;margin-top:3px;font-size:.82rem;line-height:1.5;color:var(--text-muted)}.site-navigation{display:flex;flex-wrap:wrap;gap:4px 26px}.site-navigation a{display:inline-block;padding:9px 0 12px;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.9rem;text-decoration:none}.site-navigation a:hover,.site-navigation a[aria-current=page]{color:var(--text)}.site-navigation a[aria-current=page]{border-color:var(--accent);color:var(--accent)}.theme-toggle{display:inline-flex;flex-shrink:0;align-items:center;gap:8px;min-height:40px;padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer}.theme-toggle:hover{border-color:var(--accent);color:var(--text)}.theme-toggle span:first-child{font-size:1.1rem}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:64px;padding-block:24px 36px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.8rem}.site-footer p{margin:0}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}.site-footer a{color:var(--text-muted)}.skip-link{position:absolute;left:16px;top:8px;z-index:50;padding:8px 16px;transform:translateY(-200%);border:1px solid var(--border);background:var(--bg-elevated)}.skip-link:focus{transform:translateY(0)}.section-kicker{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--accent);font-family:var(--font-mono);font-size:.75rem;line-height:1.6}.section-kicker:before{content:"";width:28px;height:2px;flex-shrink:0;background:var(--accent)}@media(max-width:640px){.site-width{width:calc(100% - 32px)}.site-masthead{gap:12px;padding-block:20px 12px}.site-identity{gap:10px}.site-identity img{width:40px;height:40px}.site-name{font-size:1rem}.site-qualification{font-size:.74rem;max-width:28ch}.theme-toggle{padding-inline:8px}.theme-toggle span:last-child{display:none}.site-navigation{gap:0 20px}.site-navigation a{font-size:.83rem;padding-block:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
