.journal-root{--j-bg:#fff;--j-paper:#f4f3f0;--j-surface:#fff;--j-surface-2:#f4f3f0;--j-line:#e6e5e2;--j-line-strong:#d8d7d3;--j-text:#111;--j-ink:#0a0a0a;--j-muted:#1111119e;--j-muted-2:#8d8d8d;--j-body-text:#3f3f45;--j-accent:#b15f2c;--j-accent-from:#cf8047;--j-accent-to:#97501f;--j-accent-dim:#f8ece0;--j-accent-line:#e8d3c1;--j-callout-text:#6d3d16;--j-code-bg:#0f0f11;--j-code-text:#d8d8dc;--j-font-body:var(--font-onest), ui-sans-serif, system-ui, sans-serif;--j-font-display:var(--font-onest), ui-sans-serif, system-ui, sans-serif;--j-font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--j-radius:1rem;--j-radius-sm:.625rem;--j-maxw:88rem;--j-measure:70ch}.journal-root[data-theme=dark]{--j-bg:#0a0a0a;--j-paper:#101010;--j-surface:#131316;--j-surface-2:#1a1a1e;--j-line:#232327;--j-line-strong:#2e2e33;--j-text:#ececee;--j-ink:#f5f5f5;--j-muted:#ececee9e;--j-muted-2:#6f6f77;--j-body-text:#c9c9ce;--j-accent:#cf8047;--j-accent-from:#cf8047;--j-accent-to:#97501f;--j-accent-dim:#2a1f16;--j-accent-line:#3d2c1d;--j-callout-text:#ead9b8;--j-code-bg:#131316;--j-code-text:#d8d8dc}
.journal-root{background:var(--j-bg);color:var(--j-text);font-family:var(--j-font-body);-webkit-font-smoothing:antialiased;scroll-padding-top:6rem;font-size:16px;line-height:1.7}.journal-root *,.journal-root :before,.journal-root :after{box-sizing:border-box}.journal-root a{color:inherit;text-decoration:none}.journal-root img{max-width:100%;display:block}.journal-root h1,.journal-root h2,.journal-root h3,.journal-root h4{font-family:var(--j-font-display);letter-spacing:-.02em;color:var(--j-text);font-weight:600}.journal-root code,.journal-root kbd,.journal-root samp{font-family:var(--j-font-mono)}.journal-root .j-mono{font-family:var(--j-font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.journal-root .journal-progress{background:linear-gradient(90deg, var(--j-accent-from), var(--j-accent));z-index:100;width:0;height:3px;transition:width 80ms linear;position:fixed;top:0;left:0}.journal-root .hero{max-width:var(--j-maxw);margin:0 auto;padding:9rem 1.25rem 2.5rem}@media (min-width:640px){.journal-root .hero{padding-inline:2rem}}.journal-root .hero-back{font-family:var(--j-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--j-muted-2);align-items:center;gap:.5rem;font-size:.75rem;transition:color .15s;display:inline-flex}.journal-root .hero-back:hover{color:var(--j-accent)}.journal-root .eyebrow{font-family:var(--j-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--j-accent);align-items:center;gap:.6rem;margin:2.5rem 0 1.25rem;font-size:.75rem;display:inline-flex}.journal-root .eyebrow:before{content:"";background:var(--j-accent);width:1rem;height:1px}.journal-root h1.title{letter-spacing:-.03em;max-width:26ch;margin:0 0 1.5rem;font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.06}.journal-root .dek{color:var(--j-muted);max-width:62ch;margin:0 0 2rem;font-size:1.125rem;line-height:1.65}.journal-root .byline{border-bottom:1px solid var(--j-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:2rem;display:flex}.journal-root .byline-left{align-items:center;gap:.75rem;display:flex}.journal-root .avatar{background:linear-gradient(135deg, var(--j-accent-from), var(--j-accent-to));width:2.5rem;height:2.5rem;font-family:var(--j-font-display);color:#fff;border-radius:9999px;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex}.journal-root .byline-meta{font-size:.875rem}.journal-root .byline-name{letter-spacing:-.01em;font-weight:600}.journal-root .byline-sub{color:var(--j-muted-2);font-family:var(--j-font-mono);font-size:.75rem}.journal-root .share{gap:.625rem;display:flex}.journal-root .icon-btn{border:1px solid var(--j-line);min-width:2.25rem;height:2.25rem;color:var(--j-muted);font-family:var(--j-font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:.625rem;justify-content:center;align-items:center;gap:.5rem;padding:0 .75rem;font-size:.6875rem;transition:border-color .15s,color .15s;display:inline-flex}.journal-root .icon-btn:hover{border-color:var(--j-accent);color:var(--j-accent)}.journal-root .hero-diagram-wrap{border:1px solid var(--j-line);border-radius:var(--j-radius);background:var(--j-surface);margin-top:2.5rem;overflow:hidden}.journal-root .hero-diagram-wrap img{object-fit:cover;width:100%;height:clamp(14rem,38vw,26rem)}.journal-root .layout{max-width:var(--j-maxw);grid-template-columns:14rem minmax(0,1fr);align-items:start;gap:4rem;margin:0 auto;padding:3.5rem 1.25rem 0;display:grid}@media (min-width:640px){.journal-root .layout{padding-inline:2rem}}@media (max-width:900px){.journal-root .layout{grid-template-columns:minmax(0,1fr);gap:2rem;padding-top:2.5rem}}.journal-root aside.toc{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--j-line-strong) transparent;align-self:start;max-height:calc(100vh - 8rem);padding-right:.25rem;position:sticky;top:6rem;overflow-y:auto}.journal-root aside.toc::-webkit-scrollbar{width:4px}.journal-root aside.toc::-webkit-scrollbar-track{background:0 0}.journal-root aside.toc::-webkit-scrollbar-thumb{background:var(--j-line-strong);border-radius:9999px}.journal-root .toc-label{font-family:var(--j-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--j-muted-2);margin-bottom:.875rem;font-size:.6875rem}.journal-root .toc-list{border-left:1px solid var(--j-line);margin:0;padding:0;list-style:none}.journal-root .toc-list li{margin:0}.journal-root .toc-list a{color:var(--j-muted);border-left:2px solid #0000;margin-left:-1px;padding:.4375rem 0 .4375rem 1rem;font-size:.875rem;line-height:1.4;transition:color .15s,border-color .15s;display:block}.journal-root .toc-list a:hover{color:var(--j-text)}.journal-root .toc-list a.active{color:var(--j-accent);border-left-color:var(--j-accent)}.journal-root .toc-list li.depth-3 a{padding-left:1.75rem;font-size:.8125rem}@media (max-width:900px){.journal-root aside.toc{max-height:40vh;padding-bottom:.5rem;position:static}.journal-root .toc-list{border-left:none;flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.journal-root .toc-list a{border-left:none;margin-left:0;padding:.375rem 0}.journal-root .toc-list a.active{text-underline-offset:4px;border-left:none;text-decoration:underline}.journal-root .toc-list li.depth-3 a{padding-left:0}}.journal-root .article{min-width:0;padding-bottom:3rem}.journal-root .article h2{border-top:1px solid var(--j-line);max-width:var(--j-measure);margin:0 0 1rem;padding-top:2.75rem;font-size:clamp(1.4rem,2.4vw,1.75rem);line-height:1.2}.journal-root .article h2:first-child{border-top:none;padding-top:0}.journal-root .article h3{max-width:var(--j-measure);margin:2rem 0 .625rem;font-size:1.1875rem}.journal-root .article p{color:var(--j-body-text);max-width:var(--j-measure);margin:0 0 1.125rem}.journal-root .article>p:first-of-type{color:var(--j-text);font-size:1.0625rem}.journal-root .article ul,.journal-root .article ol{color:var(--j-body-text);max-width:var(--j-measure);counter-reset:j-step;margin:0 0 1.25rem;padding:0;list-style:none}.journal-root .article li{margin-bottom:.5rem}.journal-root .article ul>li{padding-left:1.25rem;position:relative}.journal-root .article ul>li:before{content:"";background:var(--j-accent);border-radius:9999px;width:.375rem;height:.375rem;position:absolute;top:.7em;left:0}.journal-root .article ol>li{counter-increment:j-step;border-top:1px solid var(--j-line);margin-bottom:0;padding:.875rem 0 .875rem 2.5rem;position:relative}.journal-root .article ol>li:first-child{border-top:none;padding-top:.25rem}.journal-root .article ol>li:before{content:counter(j-step, decimal-leading-zero);border:1px solid var(--j-line-strong);background:var(--j-surface-2);width:1.75rem;height:1.75rem;color:var(--j-accent);font-family:var(--j-font-mono);border-radius:9999px;justify-content:center;align-items:center;font-size:.6875rem;display:flex;position:absolute;top:.75rem;left:0}.journal-root .article ol>li:first-child:before{top:.125rem}.journal-root .article strong{color:var(--j-text);font-weight:600}.journal-root .article a{color:var(--j-accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.journal-root .article blockquote+p,.journal-root .article .code+p,.journal-root .article table+p{margin-top:1.5rem}.journal-root .article :not(pre)>code{background:var(--j-surface-2);border:1px solid var(--j-line);color:var(--j-accent);border-radius:.375rem;padding:.1em .4em;font-size:.875em}.journal-root .article figure{margin:1.5rem 0}.journal-root .article figure img{border-radius:var(--j-radius-sm);border:1px solid var(--j-line)}.journal-root .article hr{border:none;border-top:1px solid var(--j-line);max-width:var(--j-measure);margin:2.5rem 0}.journal-root .callout{background:var(--j-accent-dim);border:1px solid var(--j-accent-line);border-radius:var(--j-radius-sm);max-width:var(--j-measure);gap:.875rem;margin:1.5rem 0;padding:1.125rem 1.25rem;display:flex}.journal-root .callout .glyph{font-family:var(--j-font-mono);color:var(--j-accent);flex:none;font-weight:500}.journal-root .callout p{color:var(--j-callout-text);max-width:none;margin:0 0 .5rem;font-size:.9375rem}.journal-root .callout p:last-child{margin-bottom:0}.journal-root .callout a{color:var(--j-accent)}.journal-root .code{background:var(--j-code-bg);border:1px solid var(--j-code-bg);border-radius:var(--j-radius-sm);max-width:var(--j-measure);margin:1.5rem 0;overflow:hidden}.journal-root .code-head{background:#ffffff0a;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem .875rem;display:flex}.journal-root .code-head-left{align-items:center;gap:.75rem;display:flex}.journal-root .dots{gap:.375rem;display:flex}.journal-root .dots span{background:#ffffff38;border-radius:9999px;width:.5625rem;height:.5625rem}.journal-root .code-lang{font-family:var(--j-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff73;font-size:.6875rem}.journal-root .copy-btn{font-family:var(--j-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#fff9;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:.375rem;padding:.25rem .5rem;font-size:.6875rem;transition:color .15s,border-color .15s}.journal-root .copy-btn:hover{color:var(--j-accent-from);border-color:var(--j-accent-from)}.journal-root .code pre{font-family:var(--j-font-mono);color:var(--j-code-text);margin:0;padding:1rem 1.125rem;font-size:.84375rem;line-height:1.65;overflow-x:auto}.journal-root .code code{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;padding:0}.journal-root .code .c1{color:#ffffff6b}.journal-root .code .kw{color:var(--j-accent-from)}.journal-root .table-scroll{max-width:var(--j-measure);margin:1.5rem 0;overflow-x:auto}.journal-root table.cmp{border-collapse:collapse;width:100%;font-size:.875rem}.journal-root table.cmp th,.journal-root table.cmp td{text-align:left;border-bottom:1px solid var(--j-line);vertical-align:top;padding:.6875rem .875rem}.journal-root table.cmp th{font-family:var(--j-font-mono);color:var(--j-muted-2);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.journal-root table.cmp td{color:var(--j-body-text)}.journal-root table.cmp tr:last-child td{border-bottom:none}.journal-root .steps{max-width:var(--j-measure);flex-direction:column;margin:1.5rem 0;display:flex}.journal-root .step{border-top:1px solid var(--j-line);gap:1rem;padding:1.125rem 0;display:flex}.journal-root .step:first-child{border-top:none}.journal-root .step-num{background:var(--j-surface-2);border:1px solid var(--j-line-strong);width:1.75rem;height:1.75rem;font-family:var(--j-font-mono);color:var(--j-accent);border-radius:9999px;flex:none;justify-content:center;align-items:center;font-size:.6875rem;display:flex}.journal-root .step-body h4{margin:0 0 .375rem;font-size:.9375rem;font-weight:600}.journal-root .step-body p{margin:0;font-size:.90625rem}.journal-root details.faq{border-bottom:1px solid var(--j-line);max-width:var(--j-measure);padding:1rem 0}.journal-root details.faq summary{cursor:pointer;color:var(--j-text);justify-content:space-between;align-items:center;gap:1rem;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.journal-root details.faq summary::-webkit-details-marker{display:none}.journal-root details.faq summary:after{content:"+";color:var(--j-accent);font-family:var(--j-font-mono);font-size:1.125rem;transition:transform .2s}.journal-root details.faq[open] summary:after{transform:rotate(45deg)}.journal-root details.faq p{color:var(--j-muted);margin:.75rem 0 0;font-size:.90625rem}.journal-root .article-foot{border-top:1px solid var(--j-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.75rem;display:flex}.journal-root .article-foot p{color:var(--j-muted);max-width:40ch;margin:0;font-size:.875rem}.journal-root .pill{background:var(--j-ink);color:#fff;border-radius:9999px;align-items:center;gap:.625rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;transition:background .2s;display:inline-flex}.journal-root .pill:hover{background:var(--j-accent)}.journal-root .related{max-width:var(--j-maxw);border-top:1px solid var(--j-line);margin:0 auto;padding:4rem 1.25rem 5rem}@media (min-width:640px){.journal-root .related{padding-inline:2rem}}.journal-root .related-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2rem;display:flex}.journal-root .related h2{margin:0 0 .375rem;font-size:1.5rem}.journal-root .related>p,.journal-root .related-head p{color:var(--j-muted);max-width:60ch;margin:0}.journal-root .rel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}@media (max-width:820px){.journal-root .rel-grid{grid-template-columns:minmax(0,1fr)}}.journal-root a.rel-card{border:1px solid var(--j-line);border-radius:var(--j-radius);background:var(--j-surface);transition:border-color .15s,transform .25s;display:block;overflow:hidden}.journal-root a.rel-card:hover{border-color:var(--j-accent);transform:translateY(-4px)}.journal-root .rel-thumb{background-color:var(--j-surface-2);background-position:50%;background-size:cover;height:9.375rem;position:relative;overflow:hidden}.journal-root .rel-tag{font-family:var(--j-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--j-accent);background:#ffffffeb;border-radius:.3125rem;padding:.1875rem .5rem;font-size:.6875rem;position:absolute;top:.75rem;left:.75rem}.journal-root .rel-body{padding:1rem 1.125rem 1.125rem}.journal-root .rel-body h3{margin:0 0 .5rem;font-size:.9375rem;line-height:1.35}.journal-root .rel-body p{color:var(--j-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .75rem;font-size:.84375rem;display:-webkit-box;overflow:hidden}.journal-root .rel-meta{font-family:var(--j-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--j-muted-2);font-size:.6875rem}.journal-root .index-hero{background:var(--j-paper);padding:9rem 1.25rem 3.5rem}@media (min-width:640px){.journal-root .index-hero{padding:11rem 2rem 4.5rem}}.journal-root .index-hero-inner{max-width:var(--j-maxw);margin:0 auto}.journal-root .index-hero h1{letter-spacing:-.045em;max-width:18ch;margin:1.25rem 0 0;font-size:clamp(2.5rem,7vw,5rem);line-height:.98}.journal-root .index-hero p{max-width:52ch;color:var(--j-muted);margin:1.75rem 0 0;font-size:1.0625rem}.journal-root .index-meta{font-family:var(--j-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--j-muted-2);flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2rem;font-size:.6875rem;display:flex}.journal-root .index-section{max-width:var(--j-maxw);margin:0 auto;padding:3.5rem 1.25rem 5rem}@media (min-width:640px){.journal-root .index-section{padding-inline:2rem}}.journal-root .section-head{border-bottom:1px solid var(--j-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.75rem;padding-bottom:1rem;display:flex}.journal-root .section-head h2{margin:0;font-size:1.25rem}.journal-root .section-head span{font-family:var(--j-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--j-muted-2);font-size:.6875rem}.journal-root a.feature{border-radius:var(--j-radius);background:var(--j-ink);color:#fff;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;margin-bottom:4rem;display:grid;overflow:hidden}@media (max-width:900px){.journal-root a.feature{grid-template-columns:minmax(0,1fr)}}.journal-root .feature-media{background-color:#1a1a1a;background-position:50%;background-size:cover;min-height:18rem;transition:transform .7s ease-out}.journal-root a.feature:hover .feature-media{transform:scale(1.04)}.journal-root .feature-media-wrap{overflow:hidden}.journal-root .feature-body{flex-direction:column;justify-content:space-between;padding:2rem 1.75rem 1.75rem;display:flex}@media (min-width:640px){.journal-root .feature-body{padding:3rem}}.journal-root .feature-tag{font-family:var(--j-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--j-accent-from);font-size:.6875rem}.journal-root .feature-body h3{color:#fff;letter-spacing:-.03em;max-width:26ch;margin:1.25rem 0 0;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.06}.journal-root .feature-body p{color:#ffffffa8;max-width:46ch;margin:1.125rem 0 0}.journal-root .feature-foot{font-family:var(--j-font-mono);letter-spacing:.1em;text-transform:uppercase;color:#fff9;border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.125rem;font-size:.6875rem;display:flex}.journal-root .feature-arrow{color:#fff;border:1px solid #ffffff47;border-radius:9999px;place-items:center;width:2.75rem;height:2.75rem;transition:transform .3s,background .3s,color .3s;display:grid}.journal-root a.feature:hover .feature-arrow{color:var(--j-ink);background:#fff;transform:rotate(45deg)}.journal-root .post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}@media (max-width:760px){.journal-root .post-grid{grid-template-columns:minmax(0,1fr)}}.journal-root a.post-card{border:1px solid var(--j-line);border-radius:var(--j-radius);background:var(--j-surface);flex-direction:column;height:100%;transition:border-color .2s,transform .3s;display:flex;overflow:hidden}.journal-root a.post-card:hover{border-color:var(--j-accent);transform:translateY(-4px)}.journal-root .post-card-media-wrap{overflow:hidden}.journal-root .post-card-media{background-color:var(--j-surface-2);background-position:50%;background-size:cover;height:14rem;transition:transform .7s ease-out}.journal-root a.post-card:hover .post-card-media{transform:scale(1.04)}.journal-root .post-card-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.journal-root .post-card-tag{font-family:var(--j-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--j-accent);font-size:.6875rem}.journal-root .post-card-body h3{letter-spacing:-.025em;margin:1rem 0 0;font-size:1.4rem;line-height:1.15}.journal-root .post-card-body p{color:var(--j-muted);margin:.75rem 0 0;font-size:.9375rem}.journal-root .post-card-foot{font-family:var(--j-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--j-muted-2);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1.5rem;font-size:.6875rem;display:flex}.journal-root .post-card-foot .j-go{color:var(--j-accent);transition:transform .25s;display:inline-block}.journal-root a.post-card:hover .post-card-foot .j-go{transform:translate(3px,-3px)}.journal-root .empty{border:1px dashed var(--j-line-strong);border-radius:var(--j-radius);text-align:center;color:var(--j-muted);padding:3rem 1.5rem}.journal-root .empty code{color:var(--j-accent)}@media (prefers-reduced-motion:reduce){.journal-root *{transition:none!important;animation:none!important}.journal-root a.post-card:hover,.journal-root a.rel-card:hover,.journal-root a.feature:hover .feature-media,.journal-root a.post-card:hover .post-card-media{transform:none}}
