:root{color-scheme:light;--bg: #fcfaff;--bg-elev: #f5f0ff;--bg-card: #ffffff;--border: #ebe4fb;--border-strong: #d4c4f7;--text: #1f1638;--text-muted: #5d5280;--text-faint: #8b81ab;--accent: #7c3aed;--accent-strong: #6d28d9;--accent-soft: rgba(124, 58, 237, .08);--grad: linear-gradient(135deg, #8b5cf6 0%, #a855f7 50%, #e879f9 100%);--glow-1: rgba(167, 139, 250, .22);--glow-2: rgba(240, 171, 252, .18);--banner: linear-gradient(135deg, #efe7ff 0%, #ddcbff 45%, #f5d0fe 100%);--banner-grid: rgba(124, 58, 237, .08);--code-bg: #faf7ff;--ill-a: #7c3aed;--ill-b: #06b6d4;--ill-c: #d946ef;--ill-ink: #2e1065;--ill-plate: #ffffff;--ill-plate-2: #f6f1ff;--ill-plate-edge: #e2d6fb;--ill-line: rgba(124, 58, 237, .32);--ill-dot: rgba(124, 58, 237, .16);--ill-bg: radial-gradient(120% 90% at 85% 10%, rgba(196, 181, 253, .35), transparent 60%), radial-gradient(90% 80% at 10% 100%, rgba(165, 243, 252, .28), transparent 60%), #fdfcff;--radius: 14px;--radius-lg: 22px;--shadow: 0 12px 36px -18px rgba(109, 40, 217, .35);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--max: 1080px}:root[data-theme=dark]{color-scheme:dark;--bg: #0d0918;--bg-elev: #151027;--bg-card: #1a1430;--border: #2d2350;--border-strong: #463a78;--text: #ece8f8;--text-muted: #a99fc8;--text-faint: #7a6fa0;--accent: #b17cff;--accent-strong: #9147ff;--accent-soft: rgba(145, 71, 255, .14);--grad: linear-gradient(135deg, #6d28d9 0%, #9147ff 45%, #e05ad1 100%);--glow-1: rgba(145, 71, 255, .18);--glow-2: rgba(224, 90, 209, .08);--banner: radial-gradient(600px 260px at 15% 120%, rgba(224, 90, 209, .55), transparent 60%), radial-gradient(700px 300px at 85% -20%, rgba(145, 71, 255, .85), transparent 60%), linear-gradient(135deg, #1b0b3f, #2b1170 55%, #4a1a8a);--banner-grid: rgba(255, 255, 255, .06);--code-bg: #282a36;--ill-a: #a78bfa;--ill-b: #22d3ee;--ill-c: #f0abfc;--ill-ink: #ede9fe;--ill-plate: #221a3d;--ill-plate-2: #1a1430;--ill-plate-edge: #3a2e66;--ill-line: rgba(167, 139, 250, .42);--ill-dot: rgba(167, 139, 250, .2);--ill-bg: radial-gradient(120% 90% at 85% 10%, rgba(124, 58, 237, .28), transparent 60%), radial-gradient(90% 80% at 10% 100%, rgba(34, 211, 238, .12), transparent 60%), #151027;--shadow: 0 10px 40px -12px rgba(110, 40, 220, .45)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 600px at 85% -10%,var(--glow-1),transparent 60%),radial-gradient(900px 500px at -10% 20%,var(--glow-2),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:20px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:100;background:var(--accent-strong);color:#fff;padding:8px 14px;border-radius:8px}.section{margin-block:72px}.section-label{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);letter-spacing:.04em;margin:0 0 18px;display:flex;align-items:center;gap:12px}.section-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border-strong),transparent)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.more-link{font-family:var(--font-mono);font-size:.85rem}.page-title{font-size:clamp(2rem,5vw,3rem);line-height:1.1;letter-spacing:-.02em;margin:56px 0 12px}.page-intro{color:var(--text-muted);max-width:62ch;margin:0 0 32px;font-size:1.1rem}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s,transform .2s,box-shadow .2s}a.card{color:inherit;text-decoration:none;display:block}a.card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow)}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.tag{display:inline-block;font-family:var(--font-mono);font-size:.75rem;padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid transparent}a.tag:hover{text-decoration:none;border-color:var(--accent)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.meta{font-family:var(--font-mono);font-size:.8rem;color:var(--text-faint)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-weight:600;font-size:.95rem;border:1px solid var(--border-strong);color:var(--text);background:var(--bg-elev)}.btn:hover{text-decoration:none;border-color:var(--accent)}.btn-primary{background:var(--grad);border-color:transparent;color:#fff}.prose{font-size:1.07rem;max-width:72ch}.prose h2,.prose h3,.prose h4{line-height:1.25;letter-spacing:-.01em;margin:2.2em 0 .6em;scroll-margin-top:90px}.prose h2{font-size:1.6rem}.prose h3{font-size:1.25rem}.prose p,.prose ul,.prose ol{margin:0 0 1.2em}.prose li{margin-bottom:.35em}.prose a{text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--accent)}.prose blockquote{margin:1.5em 0;padding:.6em 1.2em;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted)}.prose blockquote p:last-child{margin-bottom:0}.prose :not(pre)>code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-elev);border:1px solid var(--border);padding:.12em .4em;border-radius:6px}.prose pre{font-family:var(--font-mono);font-size:.88rem;line-height:1.6;padding:18px 20px;border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto;margin:1.5em 0}.prose pre.astro-code{background-color:var(--code-bg)!important}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}.prose img{border-radius:var(--radius);margin:1.5em auto}.prose hr{border:0;height:1px;background:var(--border);margin:2.5em 0}.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:8px 12px;text-align:left}.prose th{background:var(--bg-elev)}.prose .callout{--c: var(--accent);position:relative;margin:1.8em 0;padding:2.4em 1.4em .4em;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--c);border-radius:6px var(--radius) var(--radius) 6px;box-shadow:var(--shadow)}.prose .callout:before{content:attr(data-label);position:absolute;top:.85em;left:1.4em;font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}.prose .callout.theorem{--c: #c026d3}.prose .callout.axiom{--c: #4f46e5}.prose .callout.history{--c: #b45309}:root[data-theme=dark] .prose .callout.theorem{--c: #e879f9}:root[data-theme=dark] .prose .callout.axiom{--c: #a5b4fc}:root[data-theme=dark] .prose .callout.history{--c: #fbbf24}.prose .formula{margin:2em 0;padding:1.6em 1.2em 1.2em;text-align:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.prose .formula>div{font-family:STIX Two Text,"Cambria Math",Times New Roman,serif;font-size:clamp(1.1rem,3vw,1.45rem);white-space:nowrap;color:var(--text)}.prose .formula figcaption{margin-top:.8em;font-size:.88rem;color:var(--text-faint)}.prose blockquote.pull{border:0;background:none;text-align:center;font-size:1.35rem;line-height:1.45;font-style:italic;color:var(--text);padding:.4em 1em;margin:2em 0}.prose blockquote.pull cite{display:block;margin-top:.7em;font-size:.9rem;font-style:normal;color:var(--text-faint)}.prose .timeline{list-style:none;padding:0 0 0 1.6em;margin:1.8em 0;border-left:2px solid var(--border-strong)}.prose .timeline li{position:relative;margin-bottom:1em}.prose .timeline li:before{content:"";position:absolute;left:calc(-1.6em - 7px);top:.45em;width:12px;height:12px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 4px var(--bg)}.prose .timeline strong{font-family:var(--font-mono);color:var(--accent);margin-right:.5em}.prose .katex-display{overflow-x:auto;overflow-y:hidden;padding:.2em 0}.ill svg{display:block;width:100%;height:auto;overflow:visible}.ill .plate{stroke:var(--ill-plate-edge);stroke-width:1}.ill .edge{fill:var(--ill-plate-edge)}.ill .trace{fill:none;stroke:var(--ill-line);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ill .thin{stroke-width:1.1}.ill .dash{stroke-dasharray:4 5}.ill .ring{fill:none;stroke:var(--ill-line);stroke-width:1.1}.ill .ring.strong{stroke-width:1.6}.ill .face{fill:var(--ill-a);opacity:.08}.ill .flow{fill:none;stroke:var(--ill-plate);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.1 14;animation:ill-flow 2.4s linear infinite}.ill .na{fill:var(--ill-a)}.ill .nb{fill:var(--ill-b)}.ill .nc{fill:var(--ill-c)}.ill .ni{fill:var(--ill-ink)}.ill .nw{fill:var(--ill-plate);stroke:var(--ill-a);stroke-width:1.6}.ill .pt{fill:var(--ill-a)}.ill .ptb{fill:var(--ill-b)}.ill .ptc{fill:var(--ill-c)}.ill .fdot,.ill .lane{fill:var(--ill-dot)}.ill .tile{fill:var(--ill-dot);stroke:var(--ill-line);stroke-width:1}.ill .tile.strong{fill:none;stroke:var(--ill-b);stroke-width:1.6}.ill .rec-done{fill:var(--ill-a);opacity:.22}.ill .rec-a{fill:var(--ill-a)}.ill .rec-b{fill:var(--ill-b)}.ill .rec-w{fill:var(--ill-plate);stroke:var(--ill-a);stroke-width:1.2}.ill .chip-t{font:600 20px var(--font-mono);fill:var(--ill-a);text-anchor:middle;dominant-baseline:central}.ill .pulse{transform-box:fill-box;transform-origin:center;animation:ill-pulse 5s ease-in-out infinite}@keyframes ill-flow{to{stroke-dashoffset:-28.2}}@keyframes ill-pulse{0%,to{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.ill .flow,.ill .pulse{animation:none}}.prose figure{margin:2em 0}.prose figure img{margin:0 auto;border-radius:var(--radius);border:1px solid var(--border)}.prose figure.ill-figure{padding:1.2em 1.2em .8em;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--ill-bg)}.prose figure.ill-figure .ill{max-width:640px;margin:0 auto}.prose figcaption{margin-top:.8em;text-align:center;font-size:.88rem;color:var(--text-faint)}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--border)}.bar[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}.logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700}.logo[data-astro-cid-3ef6ksr2]:hover{text-decoration:none}.logo-mark[data-astro-cid-3ef6ksr2]{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--grad);color:#fff;font-family:var(--font-mono);font-size:.9rem}nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;padding:6px 12px;border-radius:999px;color:var(--text-muted);font-size:.95rem;font-weight:500}.theme-toggle[data-astro-cid-3ef6ksr2]{display:grid;place-items:center;width:36px;height:36px;margin-left:4px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--accent);border-color:var(--border-strong)}.icon-sun[data-astro-cid-3ef6ksr2],[data-theme=dark] .icon-moon[data-astro-cid-3ef6ksr2]{display:none}[data-theme=dark] .icon-sun[data-astro-cid-3ef6ksr2],.icon-moon[data-astro-cid-3ef6ksr2]{display:contents}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--text);background:var(--accent-soft);text-decoration:none}@media(max-width:640px){.logo-name[data-astro-cid-3ef6ksr2]{display:none}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:6px 9px;font-size:.9rem}}.socials[data-astro-cid-upu6fzxr]{display:flex;gap:10px;list-style:none;margin:0;padding:0;flex-wrap:wrap}a[data-astro-cid-upu6fzxr]{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);transition:all .2s}a[data-astro-cid-upu6fzxr]:hover{color:#fff;background:var(--grad);border-color:transparent}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);margin-top:96px;padding-block:36px 28px;background:var(--bg-elev)}.inner[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.name[data-astro-cid-sz7xmlte]{font-weight:700;margin:0}.inner[data-astro-cid-sz7xmlte] .meta[data-astro-cid-sz7xmlte]{margin:4px 0 0}.fine[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px}
