@font-face{font-family:caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:jetbrains mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:playwrite nz guides;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/playwrite-nz-guides-latin.woff2)format("woff2")}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#ffffff;--surface:#f7f7f5;--text:#000000;--muted:#000000;--subtle:#777;--accent:#111111;--accent-hover:#444444;--border:rgba(0, 0, 0, 0.07);--hover-bg:#f5f5f3;--radius:10px;--red:#f44336;--font:'Caveat', cursive;--font-mono:'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace;--text-xs:clamp(0.8125rem, 1.4vw, 0.875rem);--text-sm:clamp(0.85rem, 1.8vw, 0.9375rem);--text-base:clamp(0.9375rem, 2vw, 1.0625rem);--text-lg:clamp(1.15rem, 2.5vw, 1.375rem);--text-xl:clamp(1.5rem, 3.5vw, 2rem);--text-2xl:clamp(2rem, 5vw, 2.75rem)}html{scroll-behavior:smooth}body{font-family:var(--font);font-size:var(--text-base);color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.home-wrapper{position:relative;height:100vh;display:flex;flex-direction:column;overflow:hidden}.site-header{flex-shrink:0;padding:clamp(1.25rem,3vw,2.5rem)clamp(1.5rem,4vw,3rem)clamp(.75rem,2vw,1.5rem);animation:fadeDown .55s cubic-bezier(.22,1,.36,1)both;display:flex;flex-direction:column;align-items:center;text-align:center}.site-title{color:var(--text);font-family:playwrite nz guides,cursive;font-size:var(--text-2xl);font-weight:400;letter-spacing:0;line-height:1.3}.site-tagline{color:var(--muted);font-size:var(--text-lg);font-weight:400;letter-spacing:.04em;margin-top:.6em}.graph-viewport{position:relative;flex:1;overflow:hidden;opacity:0;transition:opacity .5s ease}.graph-viewport.is-ready{opacity:1}.graph-node{position:absolute;display:flex;flex-direction:column;justify-content:center;padding:.7rem 1.1rem;max-width:240px;border:1px solid var(--text);border-radius:var(--radius);background:var(--bg);text-decoration:none;color:var(--text);transition:border-color .15s ease,opacity .15s ease;cursor:pointer}.graph-viewport svg .group-boundary{stroke:currentColor;opacity:1;transition:opacity .15s ease,stroke .15s ease}.graph-viewport svg .group-label{opacity:1;font-weight:700;transition:opacity .15s ease}.graph-viewport.has-hover .graph-node:not(.is-highlighted){opacity:.1}.graph-viewport svg .edge-link{stroke:currentColor;stroke-width:1.5;opacity:.025;transition:opacity .15s ease,stroke .15s ease}.graph-viewport.has-hover svg .edge-link{opacity:0}.graph-viewport.has-hover svg .edge-link.is-highlighted{opacity:1;stroke:var(--text);color:var(--text)}.graph-viewport.has-hover svg .group-boundary{opacity:.05}.graph-viewport.has-hover svg .group-boundary.is-highlighted{opacity:1;stroke:#000;stroke-width:1.5}.graph-viewport.has-hover svg .group-label{opacity:.05}.graph-viewport.has-hover svg .group-label.is-highlighted{opacity:1}.graph-viewport svg .edge-label{opacity:0;transition:opacity .15s ease;pointer-events:none}.graph-viewport svg .edge-label rect{fill:#000}.graph-viewport svg .edge-label text{font-size:15px;letter-spacing:.04em;fill:#fff}.graph-viewport.labels-enabled.has-hover svg .edge-label.is-highlighted{opacity:1}.labels-toggle{position:absolute;top:clamp(1rem,2.5vw,1.75rem);right:clamp(1rem,2.5vw,1.75rem);z-index:10;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;font-family:var(--font);font-size:var(--text-xs);font-weight:500;letter-spacing:.04em;color:var(--subtle);background:0 0;border:1px solid var(--border);border-radius:99px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.labels-toggle svg{flex-shrink:0}.labels-toggle:hover{color:var(--text);border-color:var(--text)}.labels-toggle.is-active{color:var(--text);border-color:var(--text);background:var(--hover-bg)}.node-section{font-size:var(--text-xs);color:var(--red);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.node-title{font-size:var(--text-base);font-weight:500;line-height:1.3;color:var(--text)}.node-description{font-size:var(--text-base);font-weight:500;line-height:1.3;color:var(--subtle)}.empty-state{color:var(--muted);font-size:var(--text-sm);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.empty-state code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);padding:.1em .4em;border-radius:4px}.note-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:clamp(2rem,5vw,4rem)clamp(1.5rem,5vw,3rem);animation:fadeIn .4s ease both}.back-nav{width:100%;max-width:720px;margin-bottom:2.5rem}.back-link{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--muted);text-decoration:none;font-weight:500;transition:color .15s ease,gap .15s ease}.back-link:hover{color:var(--text);gap:.6rem}.back-link svg{transition:transform .15s ease}.back-link:hover svg{transform:translateX(-3px)}.note{width:100%;max-width:720px}.note-header{margin-bottom:2.5rem;padding-bottom:1.75rem;border-bottom:1px solid var(--border)}.note-title{font-size:var(--text-xl);font-weight:700;letter-spacing:-.03em;line-height:1.2;margin-bottom:.85rem;text-align:center}.note-meta{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:var(--text-xs);color:var(--muted)}.meta-name{font-weight:600;letter-spacing:.07em;font-size:var(--text-base)}.meta-sep{color:var(--subtle)}.note-content{font-size:var(--text-base);line-height:1.85;color:var(--text)}.note-content>*+*{margin-top:1.25rem}.note-content h1,.note-content h2,.note-content h3,.note-content h4,.note-content h5{font-weight:700;letter-spacing:-.025em;line-height:1.25;color:var(--text);margin-top:2.75rem;margin-bottom:.65rem}.note-content h1{font-size:var(--text-xl)}.note-content h2{font-size:var(--text-lg)}.note-content h3{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.note-content h4{font-size:var(--text-lg);font-weight:600;letter-spacing:0}.note-content p{color:var(--text);font-size:var(--text-lg)}.note-content a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--subtle);text-decoration-thickness:1px;transition:text-decoration-color .15s ease}.note-content a:hover{text-decoration-color:var(--text)}.note-content ul,.note-content ol{padding-left:1.5rem}.note-content ul{list-style-type:disc}.note-content ol{list-style-type:decimal}.note-content li{margin-bottom:.3rem;font-size:var(--text-lg)}.note-content li::marker{color:var(--subtle)}.note-content blockquote{border-left:2px solid var(--subtle);margin-left:0;padding:.1rem 0 .1rem 1.25rem;color:var(--muted)}.note-content blockquote h2:first-child{margin-top:5px}.note-content blockquote p{color:var(--muted)}.note-content code{font-family:var(--font-mono);font-size:.85em;background:var(--surface);border:1px solid var(--border);padding:.15em .45em;border-radius:4px}.note-content pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;overflow-x:auto;margin-top:1.5rem;margin-bottom:1.5rem}.note-content pre code{background:0 0;border:none;padding:0;font-size:var(--text-xs);line-height:1.75;color:var(--text)}.note-content hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.note-content table{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin:1.5rem 0}.note-content table th,.note-content table td{text-align:left;padding:.6rem .875rem;border-bottom:1px solid var(--border)}.note-content table th{font-size:var(--text-sm);text-decoration:underline;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.note-content table td{font-size:var(--text-base)}.note-content img{max-width:100%;border-radius:var(--radius);border:1px solid var(--border)}.note-content strong{font-weight:600}.note-content em{font-style:italic}.note-content input[type=checkbox]{accent-color:var(--text);margin-right:.4rem}@keyframes fadeDown{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@media(prefers-color-scheme:dark){:root{--bg:#111111;--surface:#1a1a1a;--text:#ebebeb;--muted:#777777;--subtle:#444444;--accent:#ebebeb;--border:rgba(255, 255, 255, 0.08);--hover-bg:#1a1a1a}}