:root{color-scheme:light;--color-accent:#00a2ff;--color-accent-strong:#036dc4;--color-on-accent:#fff;--color-background:#fff;--color-surface:#fafafa;--color-text:#111;--color-text-body:#333;--color-text-muted:#666;--color-text-subtle:#777;--color-text-faint:#aaa;--color-border:#eee;--color-border-medium:#e8e8e8;--color-border-strong:#ddd;--font-sans:var(--font-atkinson), Inter, ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--size-text:16px;--size-text-small:14px;--size-text-tiny:12px;--size-links:1.2em;--size-logo-text:1.3em;--size-header-height:90px;--size-content-max:1200px;--size-reading-max:720px;--size-gutter:32px;--size-radius:12px;--size-radius-large:28px;--size-section-space:clamp(88px, 10vw, 144px);--shadow-header:0 1px 0 #0f172a14;--shadow-card:0 4px 16px #00000014}:root[data-theme=dark]{color-scheme:dark;--color-accent:#38bdf8;--color-accent-strong:#7dd3fc;--color-on-accent:#07111d;--color-background:#0b1120;--color-surface:#111827;--color-text:#f8fafc;--color-text-body:#e2e8f0;--color-text-muted:#a8b3c4;--color-text-subtle:#94a3b8;--color-text-faint:#718096;--color-border:#1e293b;--color-border-medium:#2a374a;--color-border-strong:#3b4a61;--shadow-header:0 1px 0 #ffffff14;--shadow-card:0 8px 28px #0000004d}@media (width<=800px){:root{--size-gutter:20px;--size-header-height:72px}}@media (width<=520px){:root{--size-gutter:16px}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--size-header-height) + 24px);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-background);min-height:100vh;color:var(--color-text-body);font-family:var(--font-sans);font-size:var(--size-text);word-wrap:break-word;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.6;transition:background-color .25s,color .25s;display:flex}main{flex:1 0 auto}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{color:var(--color-text);margin:0 0 .5em;font-weight:700;line-height:1.2}input,textarea,button{font:inherit}.prose{color:var(--color-text-body);font-size:clamp(1rem,.97rem + .15vw,1.08rem);line-height:1.85}.prose>*+*{margin-top:1em}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin:1.5em 0 .5em}.prose a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--color-accent-strong)}.prose code{background:var(--color-surface);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.9em}.prose pre{border-radius:var(--size-radius);padding:1.5em;overflow-x:auto}.prose pre>code{all:unset}.prose blockquote{border-left:4px solid var(--color-accent);color:var(--color-text-muted);margin:1em 0;padding:0 0 0 1em}.prose hr{border:none;border-top:1px solid var(--color-border-strong);margin:2em 0}.prose ul,.prose ol{padding-left:1.5em}.prose table{border-collapse:collapse;width:100%}.prose th,.prose td{border-bottom:1px solid var(--color-border-medium);text-align:left;padding:.5em}.prose img{border-radius:var(--size-radius)}.eyebrow{color:var(--color-accent);font-size:var(--size-text-tiny);letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;font-weight:600}.text-link{color:var(--color-text-muted);font-size:var(--size-text-small);transition:color .2s}.text-link:hover{color:var(--color-text)}.text-link:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--color-accent) 30%, transparent);outline-offset:4px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--color-border);background:var(--color-surface)}.footer-content[data-astro-cid-jo6i4kqk]{width:min(var(--size-content-max), calc(100% - var(--size-gutter) * 2));color:var(--color-text-faint);font-size:var(--size-text-tiny);justify-content:space-between;align-items:center;gap:32px;margin:0 auto;padding:48px 0;display:flex}.footer-brand[data-astro-cid-jo6i4kqk]{color:var(--color-text);letter-spacing:.08em;font-size:18px;font-weight:700}.footer-note[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted);margin:6px 0 0;font-size:13px}.footer-meta[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-end;gap:12px;display:flex}nav[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted);gap:22px;font-size:13px;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--color-accent-strong)}@media (width<=520px){.footer-content[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start}.footer-meta[data-astro-cid-jo6i4kqk]{align-items:flex-start}}.theme-toggle[data-astro-cid-l6lhmie6]{border:1px solid var(--color-border-strong);background:var(--color-background);width:40px;height:40px;color:var(--color-text-body);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;transition:color .2s,background-color .2s,border-color .2s,transform .2s;display:inline-grid}.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--color-accent-strong);border-color:var(--color-accent);transform:rotate(8deg)}.theme-toggle[data-astro-cid-l6lhmie6]:focus-visible{outline:3px solid color-mix(in srgb, var(--color-accent) 35%, transparent);outline-offset:3px}.theme-toggle[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.sun-icon[data-astro-cid-l6lhmie6],html[data-theme=dark] .moon-icon[data-astro-cid-l6lhmie6]{display:none}html[data-theme=dark] .sun-icon[data-astro-cid-l6lhmie6]{display:block}@media (width<=520px){.theme-toggle[data-astro-cid-l6lhmie6]{width:36px;height:36px}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background-color:color-mix(in srgb, var(--color-surface) 88%, transparent);box-shadow:var(--shadow-header);-webkit-backdrop-filter:blur(18px)saturate(140%);transition:background-color .25s,box-shadow .25s;position:sticky;top:0}.header-content[data-astro-cid-nen7h5rs]{width:min(var(--size-content-max), calc(100% - var(--size-gutter) * 2));height:var(--size-header-height);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.logo[data-astro-cid-nen7h5rs]{letter-spacing:.08em;align-items:center;gap:10px;font-weight:800;transition:opacity .2s;display:flex}.logo[data-astro-cid-nen7h5rs]:hover{opacity:.72}.logo[data-astro-cid-nen7h5rs] .site-title[data-astro-cid-nen7h5rs]{font-size:var(--size-logo-text);color:var(--color-text-body)}nav[data-astro-cid-nen7h5rs]{align-items:center;gap:30px;display:flex}.header-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:24px;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--color-text-body);letter-spacing:.01em;align-items:center;padding:0 2px;font-size:15px;font-weight:600;display:inline-flex;position:relative}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--color-accent-strong)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{content:"";background:var(--color-accent);width:0;height:2px;transition:width .25s;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover:after{width:100%}@media (width<=800px){.header-actions[data-astro-cid-nen7h5rs]{gap:18px}nav[data-astro-cid-nen7h5rs]{gap:22px}}@media (width<=520px){.header-actions[data-astro-cid-nen7h5rs]{gap:12px}nav[data-astro-cid-nen7h5rs]{gap:16px}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{font-size:14px}.logo[data-astro-cid-nen7h5rs] .site-title[data-astro-cid-nen7h5rs]{font-size:1.15em}}@media (width<=390px){.logo[data-astro-cid-nen7h5rs] .site-title[data-astro-cid-nen7h5rs]{display:none}}.planet-cursor[data-astro-cid-w2yfjsk2]{z-index:9999;pointer-events:none;opacity:0;will-change:transform;width:28px;height:28px;transition:opacity .18s;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}.planet-cursor[data-astro-cid-w2yfjsk2].is-visible{opacity:1}.planet-cursor__system[data-astro-cid-w2yfjsk2]{place-items:center;width:100%;height:100%;transition:transform .18s;display:grid;position:relative}.planet-cursor__planet[data-astro-cid-w2yfjsk2]{z-index:2;border:1px solid color-mix(in srgb, var(--color-background) 42%, transparent);background:radial-gradient(circle at 32% 28%, var(--color-on-accent) 0 8%, transparent 10%), linear-gradient(135deg, var(--color-accent-strong), var(--color-accent));width:10px;height:10px;box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 12%, transparent), 0 0 12px color-mix(in srgb, var(--color-accent) 55%, transparent);border-radius:50%;position:relative}.planet-cursor__glow[data-astro-cid-w2yfjsk2]{background:color-mix(in srgb, var(--color-accent) 15%, transparent);filter:blur(5px);border-radius:50%;transition:inset .18s,opacity .18s;position:absolute;inset:2px}.planet-cursor__ring[data-astro-cid-w2yfjsk2]{z-index:3;border:1px solid var(--color-accent-strong);width:25px;height:9px;box-shadow:0 0 5px color-mix(in srgb, var(--color-accent) 28%, transparent);border-radius:50%;animation:1.7s linear infinite cursor-orbit;position:absolute}.planet-cursor__ring--back[data-astro-cid-w2yfjsk2]{z-index:1;opacity:.38;animation-duration:2.2s;animation-direction:reverse}.planet-cursor__ring--front[data-astro-cid-w2yfjsk2]{clip-path:inset(50% 0 0)}.planet-cursor[data-astro-cid-w2yfjsk2].is-interactive .planet-cursor__system[data-astro-cid-w2yfjsk2]{transform:scale(1.45)}.planet-cursor[data-astro-cid-w2yfjsk2].is-interactive .planet-cursor__glow[data-astro-cid-w2yfjsk2]{opacity:.9;inset:-3px}.planet-cursor[data-astro-cid-w2yfjsk2].is-pressed .planet-cursor__system[data-astro-cid-w2yfjsk2]{transform:scale(.78)}@keyframes cursor-orbit{0%{transform:rotate(-22deg)}to{transform:rotate(338deg)}}@media (hover:hover) and (pointer:fine){html.has-planet-cursor,html.has-planet-cursor *{cursor:none!important}}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.planet-cursor[data-astro-cid-w2yfjsk2]{display:none}}
