.site-navigation{z-index:1000;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0}.site-navigation__content{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-2);max-width:1200px;margin:0 auto;display:flex}.site-navigation__logo{letter-spacing:-.02em;color:var(--text-primary);flex:none;font-size:1.1rem;font-weight:700;text-decoration:none}.site-navigation__logo:hover{color:var(--accent)}.site-navigation__breadcrumbs{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-meta);color:var(--text-muted);white-space:nowrap;flex:1;display:flex;overflow:hidden}.breadcrumbs a{color:var(--text-secondary);text-decoration:none;transition:color .12s}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs span{align-items:center;gap:var(--space-2);display:inline-flex}.breadcrumbs span:not(:first-child):before{content:"/";margin:0 var(--space-2);color:var(--text-muted)}.site-navigation__links{align-items:center;gap:var(--space-4);font-size:var(--text-meta);flex:none;display:flex}.site-navigation__link{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color .12s}.site-navigation__link:hover{color:var(--text-primary)}.site-navigation__link.active{color:var(--accent)}.site-navigation__menu-button{color:var(--text-primary);cursor:pointer;background:0 0;border:none;font-size:1.25rem;display:none}@media (width<=768px){.site-navigation__links{display:none}.site-navigation__menu-button{display:block}.site-navigation__breadcrumbs{display:none}}.site-footer{margin-top:var(--space-16);background:var(--bg-surface);border-top:1px solid var(--border-subtle)}.site-footer__content{justify-content:space-between;gap:var(--space-12);max-width:1200px;padding:var(--space-12) var(--space-6);margin:0 auto;display:flex}.site-footer__brand{max-width:320px}.site-footer__logo{margin-bottom:var(--space-3);font-size:1.1rem;font-weight:700}.site-footer__description{font-size:var(--text-meta);color:var(--text-secondary);line-height:1.6}.site-footer__columns{gap:var(--space-12);display:flex}.site-footer__column{gap:var(--space-2);flex-direction:column;display:flex}.site-footer__heading{font-size:var(--text-meta);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:600}.site-footer__link{font-size:var(--text-meta);color:var(--text-secondary);text-decoration:none;transition:color .12s}.site-footer__link:hover{color:var(--accent)}.site-footer__bottom{border-top:1px solid var(--border-subtle);padding:var(--space-4) var(--space-6);max-width:1200px;font-size:var(--text-small);color:var(--text-muted);margin:0 auto}.blog-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;height:100%;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.blog-card:hover{border-color:#00000026;transform:translateY(-3px);box-shadow:0 10px 25px #0000000f}.blog-card p{color:var(--text-secondary)}.blog-card-image{aspect-ratio:16/9;overflow:hidden}.blog-card-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.blog-card:hover .blog-card-image img{transform:scale(1.03)}.blog-card-content{flex-direction:column;flex:1;padding:1.75rem;display:flex}.blog-card-content h2{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:650;line-height:1.3}.blog-card-content p{font-size:var(--text-body);color:var(--text-secondary);line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.75rem;line-height:1.65;display:-webkit-box;overflow:hidden}.blog-card-meta{font-size:var(--text-meta);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);gap:.75rem;margin-top:1.25rem;display:flex}.blog-card-meta span:last-child{color:var(--accent-primary)}.blog-card-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.blog-tag{background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.3rem .65rem;font-size:.75rem;transition:all .15s}.blog-tag:hover{background:var(--accent-primary);color:#fff;transform:translateY(-1px)}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2rem;display:grid}@media (width<=768px){.blog-grid{grid-template-columns:1fr;gap:1.5rem}}.blog-filters{margin-bottom:var(--space-8);gap:1rem;display:flex}@media (width<=768px){.blog-filters{flex-direction:column}}.blog-filters input,.blog-filters select{border:1px solid var(--border-subtle);background:var(--bg-surface);height:48px;color:var(--text-primary);border-radius:12px;padding:0 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background .2s}.blog-filters input{flex:1;min-width:0}.blog-filters select{cursor:pointer;min-width:180px}.blog-filters input:focus,.blog-filters select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-primary) 20%, transparent);outline:none}.blog-filters input::placeholder{color:var(--text-muted)}.blog-overview{max-width:1100px;margin:0 auto;padding:3rem 1.5rem}.blog-overview-hero h1{letter-spacing:-.05em;color:var(--text-primary);margin:0;font-size:clamp(3rem,6vw,5rem);font-weight:750;line-height:1}.blog-overview-hero p{max-width:42rem;color:var(--text-secondary);margin-top:1rem;font-size:1.15rem;line-height:1.8}.blog-overview-content{margin-top:var(--space-6)}.blog-empty-state{text-align:center;padding:5rem 2rem}.blog-empty-state h2{color:var(--text-primary);font-size:1.5rem;font-weight:600}.blog-empty-state p{color:var(--text-secondary);margin-top:.75rem}@media (width<=768px){.blog-overview{padding:2rem 1rem}.blog-overview-hero{margin-bottom:2rem}.blog-overview-hero p{font-size:1rem}}.blog-layout{scroll-behavior:smooth;justify-content:center;width:100%;display:flex}.blog-overview{width:100%;max-width:1100px;margin:0 auto;padding:48px 24px}.blog-empty-state{text-align:center;opacity:.7;padding:64px 24px}.blog-container{width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem}.blog-content{flex:1;max-width:720px;font-size:1.05rem;line-height:1.75}.blog-content h2{margin-top:3rem;margin-bottom:1rem;font-size:1.6rem}.blog-content h3{margin-top:2rem;margin-bottom:.75rem}.blog-content p{margin-bottom:1.25rem}.blog-content pre{border-radius:8px;margin:1.5rem 0;padding:16px;overflow-x:auto}.blog-content img{border-radius:8px;width:100%;margin:1.5rem 0}.blog-content-layout{grid-template-columns:1fr 280px;gap:2rem;max-width:1100px;margin:0 auto;display:grid}.profile-picture{-o-object-fit:cover;object-fit:cover;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:999px;flex-shrink:0;display:block}.profile-picture--small{width:1.75rem;height:1.75rem}.profile-picture--medium{width:2.5rem;height:2.5rem}.profile-picture--large{width:4rem;height:4rem}.contributor-badge{align-items:center;display:inline-flex;position:relative}.contributor-badge__trigger{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.contributor-badge__avatar{-o-object-fit:cover;object-fit:cover;border-radius:999px;width:2rem;height:2rem}.contributor-card{top:calc(100% + var(--space-3));width:320px;padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--hover-elevation);opacity:0;visibility:hidden;z-index:100;border-radius:12px;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;left:0;transform:translateY(8px)}.contributor-badge:hover .contributor-card{opacity:1;visibility:visible;transform:translateY(0)}.contributor-card__avatar{width:4rem;height:4rem;margin-bottom:var(--space-3);border-radius:999px}.contributor-card__role{color:var(--text-secondary);font-size:var(--text-meta);margin-bottom:var(--space-3)}.contributor-card__bio{font-size:var(--text-meta);color:var(--text-secondary);line-height:1.6}.contributor-card__expertise{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.contributor-card__tag{padding:var(--space-1) var(--space-2);background:var(--bg-elevated);font-size:var(--text-small);border-radius:999px}.contributor-card__links{gap:var(--space-3);margin-top:var(--space-4);display:flex}.contributor-card__links a{color:var(--accent);font-size:var(--text-meta);text-decoration:none}.blog-overview-hero{margin-bottom:4.5rem}.blog-hero{background:0 0;border:none;width:100%;max-width:1200px;margin:0 auto;padding:3rem 1.5rem 2.5rem}.blog-hero h1{font-size:var(--text-display);letter-spacing:-.04em;margin:0;font-weight:750;line-height:1.05}.blog-hero p{font-size:var(--text-body-lg);color:var(--text-secondary);line-height:1.7}.blog-hero-meta{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.blog-hero-meta .meta-row{color:var(--text-muted);font-size:var(--text-meta);align-items:center;gap:.75rem;display:flex}.blog-hero-meta .dot{opacity:.5;margin:.25rem}.blog-last-edited{color:var(--text-muted);font-size:var(--text-meta)}.blog-last-edited:before{content:"↻ ";opacity:.6}.blog-hero-contributors{align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.blog-hero-contributors img{border:1px solid var(--border-subtle);-o-object-fit:cover;object-fit:cover;border-radius:999px;width:28px;height:28px}.blog-hero-contributors span{font-size:var(--text-meta);color:var(--text-secondary)}.blog-hero-contributors-label{font-size:var(--text-small);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.blog-tag{cursor:pointer}.blog-tag:hover{background:var(--accent);color:#fff}.blog-toc{width:220px;font-size:.9rem;position:sticky;top:32px}.blog-toc ul{margin:0;padding:0;list-style:none}.blog-toc li{margin-bottom:8px}.toc-level-3{opacity:.8;padding-left:12px}.toc-item{margin-bottom:8px}.toc-item a{color:inherit;opacity:.7;text-decoration:none;transition:opacity .2s,transform .2s}.toc-item.active a{opacity:1;font-weight:600;transform:translate(2px)}.series-container{padding:var(--space-6);margin-top:var(--space-12);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px}.series-header{margin-bottom:var(--space-6)}.series-title{font-size:var(--text-h3);letter-spacing:-.02em;margin-bottom:var(--space-2);font-weight:700}.series-subtitle{font-size:var(--text-meta);color:var(--text-secondary);line-height:1.6}.series-progress{margin-top:var(--space-4)}.series-progress-text{font-size:var(--text-small);color:var(--text-muted);margin-bottom:var(--space-2)}.series-progress-bar{background:var(--bg-elevated);border-radius:999px;width:100%;height:4px;overflow:hidden}.series-progress-fill{background:var(--accent);height:100%;transition:width .3s}.series-steps{gap:var(--space-2);flex-direction:column;display:flex}.series-step{gap:var(--space-3);padding:var(--space-3);color:inherit;border:1px solid #0000;border-radius:10px;text-decoration:none;transition:background .18s,transform .18s;display:flex}.series-step:hover{background:var(--bg-elevated);transform:translateY(-1px)}.series-step.active{background:var(--bg-elevated);border:1px solid var(--border-subtle)}.series-step.completed{opacity:.75}.series-step-index{width:24px;height:24px;font-size:var(--text-small);color:var(--text-muted);background:var(--bg-elevated);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.series-step-content{flex-direction:column;gap:2px;display:flex}.series-step-title{font-size:var(--text-body);font-weight:600;line-height:1.4}.series-step-meta{font-size:var(--text-small);color:var(--text-muted)}.series-step.active .series-step-title{color:var(--text-primary)}.series-step.active .series-step-index{background:var(--accent);color:#fff}.blog-content-layout{justify-content:center;align-items:flex-start;gap:3rem;max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex}.blog-main-content{width:100%;max-width:720px}.blog-sidebar{width:220px;font-size:var(--text-meta);border-left:1px solid var(--border-subtle);color:var(--text-secondary);height:fit-content;padding-left:1rem;position:sticky;top:6rem}@media (width<=1024px){.blog-content-layout{flex-direction:column}.blog-sidebar{display:none}}.blog-hero{width:100%;max-width:100%;margin-bottom:2rem}.blog-hero h1{letter-spacing:-.04em;color:var(--text-primary);margin-bottom:.75rem;font-size:clamp(2.5rem,4vw,4rem);font-weight:750;line-height:1.05}.blog-hero p{max-width:65ch;color:var(--text-secondary);margin-bottom:1.5rem}.blog-meta-core{font-size:var(--text-meta);color:var(--text-muted);flex-wrap:wrap;gap:.75rem;display:flex}.blog-meta-tags{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.blog-tag{font-size:var(--text-small);background:var(--bg-elevated);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:.25rem .6rem}.blog-contributors{font-size:var(--text-small);color:var(--text-muted);align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.blog-contributor{align-items:center;gap:.4rem;display:flex}.blog-meta-core,.blog-meta-tags{opacity:.9}.blog-hero-meta{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.9rem;display:flex}.blog-sidebar{font-size:.85rem}.blog-sidebar ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.blog-sidebar a{color:var(--text-secondary);text-decoration:none;transition:color .15s}.blog-sidebar a:hover{color:var(--accent-primary)}.blog-related,.blog-series{max-width:1200px;margin:4rem auto;padding:0 1.5rem}.blog-related h2,.blog-series h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.25rem;font-weight:650}.blog-main-content>*+*{margin-top:2rem}.visualizer-block{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;justify-content:center;width:100%;max-width:100%;margin:2.5rem 0;padding:1rem;display:flex;overflow:hidden}.visualizer-block canvas{height:auto;display:block;width:100%!important}.visualizer-block.full-bleed{margin-left:calc(-1 * var(--space-8));margin-right:calc(-1 * var(--space-8));border-radius:0}.series-hero{background:var(--bg-surface);border:1px solid var(--border-subtle);color:inherit;border-radius:14px;grid-template-columns:1.4fr 1fr;min-height:220px;text-decoration:none;transition:background .16s;display:grid;overflow:hidden}.series-hero:hover{background:var(--bg-elevated)}.series-hero-left{padding:var(--space-6);flex-direction:column;justify-content:space-between;min-height:100%;display:flex}.series-hero-text h2{font-size:var(--text-h3);letter-spacing:-.02em;margin-bottom:var(--space-2);font-weight:750}.series-hero-description{font-size:var(--text-body);color:var(--text-secondary);max-width:60ch;line-height:1.6}.series-hero-header{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.series-hero-meta{font-size:var(--text-small);color:var(--text-muted);white-space:nowrap}.series-hero-footer{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.series-contributor{font-size:var(--text-small);color:var(--text-muted);background:var(--bg-elevated);border-radius:999px;padding:2px 8px}.series-hero-right{background:var(--bg-elevated);width:100%;height:100%;min-height:220px;position:relative}.series-hero-right img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}@media (width<=768px){.series-hero{grid-template-columns:1fr}.series-hero-right{min-height:180px}}.series-page{max-width:1100px;margin:0 auto;padding:3rem 1.5rem}.series-page-header{margin-bottom:var(--space-12)}.series-page-header h1{letter-spacing:-.05em;color:var(--text-primary);margin:0;font-size:clamp(3rem,6vw,5rem);font-weight:750;line-height:1}.series-page-header p{max-width:42rem;color:var(--text-secondary);margin-top:1rem;font-size:1.15rem;line-height:1.8}.series-grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=900px){.series-grid{grid-template-columns:1fr}}@media (width<=768px){.series-page{padding:2rem 1rem}.series-page-header{margin-bottom:2rem}.series-page-header p{font-size:1rem}}.series-detail{max-width:1100px;margin:0 auto;padding:3rem 1.5rem}.series-detail-hero{gap:var(--space-8);margin-bottom:var(--space-12);grid-template-columns:1.3fr 1fr;align-items:stretch;display:grid}.series-detail-hero-content h1{font-size:var(--text-h1);letter-spacing:-.05em;margin-bottom:var(--space-4);font-weight:750}.series-detail-description{font-size:var(--text-body-lg);color:var(--text-secondary);line-height:1.8}.series-detail-meta{margin-top:var(--space-4);font-size:var(--text-meta);color:var(--text-muted)}.series-detail-contributors{margin-top:var(--space-3);gap:var(--space-3);flex-wrap:wrap;display:flex}.series-detail-hero-image{background:var(--bg-elevated);border-radius:12px;overflow:hidden}.series-detail-hero-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.series-detail-layout{gap:var(--space-8);grid-template-columns:1fr 280px;display:grid}.series-curriculum{margin-top:var(--space-4);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.series-curriculum-item{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:10px;display:flex}.series-detail-sidebar{align-self:start;position:sticky;top:2rem}.series-curriculum-section{margin-top:var(--space-8)}.series-curriculum-section h2{margin-bottom:var(--space-4);font-size:var(--text-h2)}.series-curriculum-list{gap:var(--space-2);flex-direction:column;display:flex}.series-curriculum-item{padding:var(--space-4);border:1px solid var(--border-subtle);background:var(--bg-surface);color:inherit;border-radius:12px;justify-content:space-between;align-items:center;text-decoration:none;transition:background .16s,transform .16s;display:flex}.series-curriculum-item:hover{background:var(--bg-elevated);transform:translateY(-1px)}.series-curriculum-left{gap:var(--space-3);align-items:center;display:flex}.series-curriculum-index{width:26px;height:26px;font-size:var(--text-small);color:var(--text-muted);background:var(--bg-elevated);border-radius:6px;justify-content:center;align-items:center;display:flex}.series-curriculum-title{font-size:var(--text-body);font-weight:600}.series-curriculum-arrow{color:var(--text-muted);font-size:var(--text-meta)}.series-curriculum-main{flex-direction:column;gap:4px;display:flex}.series-curriculum-description{font-size:var(--text-small);color:var(--text-secondary);max-width:60ch;line-height:1.5}.series-curriculum-meta{gap:var(--space-3);font-size:var(--text-small);color:var(--text-muted);flex-wrap:wrap;display:flex}.series-curriculum-difficulty{text-transform:capitalize}.visualizer-card{text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);width:100%;padding:var(--space-6);gap:var(--space-4);cursor:pointer;border-radius:14px;flex-direction:column;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.visualizer-card:hover{box-shadow:var(--hover-elevation);border-color:#00000024;transform:translateY(-3px)}.visualizer-card__content{gap:var(--space-2);flex-direction:column;display:flex}.visualizer-card__title{font-size:var(--text-h3);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:700}.visualizer-card__description{font-size:var(--text-meta);color:var(--text-secondary);margin-bottom:var(--space-2);line-height:1.6}.visualizer-card__footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:var(--text-small);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.visualizer-card__action{color:var(--accent);font-weight:600}.modal-overlay{z-index:1000;padding:var(--space-6);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;width:min(1100px,95vw);height:min(85vh,900px);display:flex;overflow:hidden;box-shadow:0 25px 80px #00000073}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);justify-content:space-between;align-items:center;display:flex}.modal-content{padding:var(--space-6);flex:1;overflow-y:auto}.visualizer-modal{gap:var(--space-4);flex-direction:column;display:flex}.visualizer-modal__description{color:var(--text-secondary);font-size:var(--text-meta);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);line-height:1.6}.visualizer-modal__workspace{background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:var(--space-4);border-radius:14px;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.visualizers-page{max-width:1200px;padding:var(--space-8) var(--space-6);margin:0 auto}.visualizers-page-header{margin-bottom:var(--space-8)}.visualizers-page-header h1{margin-bottom:var(--space-2)}.visualizers-page-header p{color:var(--text-secondary);max-width:70ch}.visualizers-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.code-block{margin:var(--space-6) 0;border:1px solid var(--code-border);background:var(--code-bg);border-radius:12px;overflow:hidden}.code-header{background:var(--code-header-bg);border-bottom:1px solid var(--code-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.code-filename{font-size:var(--text-meta);color:#ffffffbf;font-family:var(--font-mono)}.code-copy{font-size:var(--text-small);color:#ffffffd9;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:.35rem .75rem;transition:all .15s}.code-copy:hover{color:#fff;background:#ffffff14}.code-copy:active{transform:translateY(1px)}.code-language{letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;border:1px solid #ffffff1f;border-radius:4px;padding:.15rem .4rem;font-size:.7rem}.code-block pre{color:var(--code-text);margin:0;padding:1rem 1.25rem;overflow-x:auto}.callout{margin:var(--space-6) 0;padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-left-width:4px;border-radius:12px}.callout-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;font-weight:700;display:flex}.callout-content{color:var(--text-secondary)}.callout-content p:first-child{margin-top:0}.callout-content p:last-child{margin-bottom:0}.callout-note{border-left-color:var(--callout-note-border);background:var(--callout-note-bg)}.callout-tip{border-left-color:var(--callout-tip-border);background:var(--callout-tip-bg)}.callout-warning{border-left-color:var(--callout-warning-border);background:var(--callout-warning-bg)}.callout-performance{border-left-color:var(--callout-performance-border);background:var(--callout-performance-bg)}.callout-unreal{border-left-color:var(--callout-unreal-border);background:var(--callout-unreal-bg)}.callout-deepdive{border-left-color:var(--callout-deepdive-border);background:var(--callout-deepdive-bg)}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__attribution{display:none!important}.react-flow,.react-flow *,.react-flow,.react-flow__renderer,.react-flow__pane,.react-flow svg,.react-flow__viewport{background-color:#0000!important}div.react-flow,div.react-flow>div{background:0 0!important}.react-flow__node{box-shadow:none!important;background:0 0!important;border:none!important;width:auto!important;height:auto!important;padding:0!important}.react-flow__background{opacity:.5}.dark .react-flow__background{opacity:.4}.react-flow__edge-path{stroke:#ffffff38;stroke-width:1.6px}.react-flow__edge.animated path{stroke:#6aa2ffe6;stroke-dasharray:6 6;animation:1.4s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-20px}}.react-flow__edge.edge-type-float path{stroke:var(--type-float)}.react-flow__edge.edge-type-bool path{stroke:var(--type-bool)}.react-flow__edge.edge-type-int path{stroke:var(--type-int)}.react-flow__edge.edge-type-vector2 path{stroke:var(--type-vector2)}.react-flow__edge.edge-type-vector3 path{stroke:var(--type-vector3)}.react-flow__edge.edge-type-vector4 path{stroke:var(--type-vector4)}.react-flow__edge.edge-type-uv path{stroke:var(--type-uv)}.react-flow__edge.edge-type-color path{stroke:var(--type-color)}.react-flow__edge.edge-type-any path{stroke:var(--type-any)}.graph-block{margin:var(--space-6) 0;border:1px solid var(--graph-border);background:var(--graph-bg);border-radius:12px;overflow:hidden}.graph-header{background:var(--graph-header-bg);border-bottom:1px solid var(--graph-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.graph-title{font-size:var(--text-meta);font-family:var(--font-mono);color:var(--graph-text)}.graph-meta{font-size:var(--text-small);color:var(--graph-muted);letter-spacing:.08em;text-transform:uppercase}.graph-content{background:var(--graph-bg);height:600px;position:relative;overflow:hidden}.graph-content:before{content:"";background-image:radial-gradient(var(--graph-grid) 1px, transparent 1px);pointer-events:none;background-size:18px 18px;position:absolute;inset:0}.dark .graph-content:before{background-image:radial-gradient(#ffffff0d 1px,#0000 1px)}.graph-node{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:220px;box-shadow:none;background:#ffffffb3;border:1px solid #ffffff0f;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;padding:10px 12px;display:grid}.dark .graph-node{background:#1a1a1abf}.graph-node:hover{border-color:#2f6fed59;transition:all .2s;box-shadow:0 14px 40px #0000001a}.graph-node-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.graph-node-title{letter-spacing:.2px;font-size:13px;font-weight:600}.graph-node-desc{font-size:var(--text-small);color:var(--text-secondary)}.graph-node,.graph-node *{color:var(--graph-text)!important}.graph-node-type,.graph-pin-type{color:var(--graph-muted)!important}.graph-handle{background:#6aa2ff;border:2px solid #ffffff26;border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 3px #6aa2ff1f}.graph-pins{flex-direction:column;justify-content:center;gap:10px;display:flex}.graph-pin-wrapper{white-space:nowrap;align-items:center;gap:8px;display:flex}.graph-pin-meta.left{text-align:left;flex-direction:column;align-items:flex-start;min-width:60px;display:flex}.graph-pin-meta.right{text-align:right;flex-direction:column;align-items:flex-end;min-width:60px;display:flex}.graph-pin-label{color:var(--graph-text);font-size:12px}.graph-pin-type{letter-spacing:.06em;text-transform:uppercase;font-size:10px}.react-flow__controls{background:var(--bg-primary);border:1px solid var(--border-subtle);z-index:10;border-radius:8px;flex-direction:column;overflow:hidden;display:flex!important}.react-flow__controls button{background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.react-flow__controls svg{fill:var(--accent)!important}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sticky{position:sticky}.top-24{top:calc(var(--spacing) * 24)}.mx-auto{margin-inline:auto}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-fit{height:fit-content}.min-h-screen{min-height:100vh}.w-\[220px\]{width:220px}.w-full{width:100%}.max-w-\[720px\]{max-width:720px}.max-w-\[1100px\]{max-width:1100px}.justify-center{justify-content:center}.gap-12{gap:calc(var(--spacing) * 12)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}@media (width>=48rem){.md\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (width>=64rem){.lg\:block{display:block}}}html{scroll-behavior:smooth}:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--text-display:clamp(2.5rem, 4vw, 4rem);--text-h1:2.25rem;--text-h2:1.75rem;--text-h3:1.25rem;--text-body:1rem;--text-body-lg:1.125rem;--text-meta:.85rem;--text-small:.75rem}body{font-family:var(--font-sans);font-size:var(--text-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.75}h1{font-size:var(--text-h1);letter-spacing:-.03em;scroll-margin-top:5rem;font-weight:750;line-height:1.15}h2{font-size:var(--text-h2);letter-spacing:-.02em;scroll-margin-top:5rem;font-weight:700;line-height:1.2}h3{font-size:var(--text-h3);scroll-margin-top:5rem;font-weight:650;line-height:1.25}p{font-size:var(--text-body);color:var(--text-primary);line-height:1.75}code,pre{font-family:var(--font-mono)}pre{font-size:.95rem;line-height:1.6}.meta{font-size:var(--text-meta);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}::selection{background:var(--accent);color:#fff}.prose-content h1{font-size:var(--text-h1);margin:var(--space-8) 0 var(--space-4);font-weight:750;line-height:1.15}.prose-content h2{font-size:var(--text-h2);margin-top:var(--space-12);margin-bottom:var(--space-4);font-weight:700}.prose-content h3{font-size:var(--text-h3);margin-top:var(--space-8);margin-bottom:var(--space-3);font-weight:650}.prose-content p{font-size:var(--text-body-lg);margin:var(--space-4) 0;line-height:1.75}.prose-content a{color:var(--accent-primary);text-underline-offset:3px;text-decoration:underline}.prose-content blockquote{border-left:3px solid var(--border-subtle);color:var(--text-secondary);margin:1.5rem 0;padding-left:1rem}.prose-content>*+*{margin-top:var(--space-4)}:root{--bg-primary:#f6f4ef;--bg-surface:#fff;--bg-elevated:#f1eee7;--text-primary:#1b1b1b;--text-secondary:#4b4b4b;--text-muted:#7a7a7a;--accent:#2f6fed;--border-subtle:#00000014;--hover-elevation:0 10px 30px #00000014;--font-sans:"Geist", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--callout-note-border:var(--accent);--callout-note-bg:color-mix(in srgb, var(--accent) 10%, transparent);--callout-tip-border:#2e9d68;--callout-tip-bg:#2e9d681f;--callout-warning-border:#d97706;--callout-warning-bg:#d977061f;--callout-performance-border:#c2410c;--callout-performance-bg:#c2410c1f;--callout-unreal-border:#6d5efc;--callout-unreal-bg:#6d5efc1f;--callout-deepdive-border:#64748b;--callout-deepdive-bg:#64748b1f;--code-bg:#1b1d23;--code-header-bg:#23262d;--code-text:#e6edf3;--code-border:#ffffff0f;--graph-bg:var(--code-bg);--graph-header-bg:var(--code-header-bg);--graph-border:var(--code-border);--graph-text:#ffffffd9;--graph-muted:#ffffff8c;--graph-grid:#ffffff0a;--graph-accent:var(--accent);--type-float:#298f20;--type-bool:#9b3030;--type-int:#3970c9;--type-vector2:#4bcbcb;--type-vector3:#d0a63b;--type-vector4:#d88a36;--type-uv:#e2b93e;--type-color:#bd50db;--type-any:#e4e4e4}.dark{--bg-primary:#121212;--bg-surface:#1a1a1a;--bg-elevated:#222;--text-primary:#eaeaea;--text-secondary:#b5b5b5;--text-muted:#8a8a8a;--accent:#6aa2ff;--border-subtle:#ffffff14;--hover-elevation:0 10px 30px #00000059;--callout-note-bg:#6aa2ff1f;--callout-tip-bg:#2e9d682e;--callout-warning-bg:#d977062e;--callout-performance-bg:#c2410c2e;--callout-unreal-bg:#6d5efc2e;--callout-deepdive-bg:#64748b2e;--code-bg:#1b1d23;--code-header-bg:#23262d;--code-text:#e6edf3}
