.header,body,html{box-sizing:border-box}.header{z-index:100;position:fixed;padding:0 .5em;width:100%;top:0;display:flex;flex:1;align-items:center;height:var(--sc-header-height);overflow:hidden;justify-content:space-between;background-color:var(--sc-color-bg);border-bottom:1px solid var(--sc-color-border);color:var(--sc-color-text);transition:background-color var(--sc-duration-base) var(--sc-ease),border-color var(--sc-duration-base) var(--sc-ease)}.header .MuiCircularProgress-circle{stroke:linear-gradient(90deg,red,red);animation:custom-spin 1.5s linear infinite}.header svg{color:var(--sc-color-text-muted)}@media(min-width:780px){.header{padding:0 1em}}a.profile-link{text-decoration:none!important;color:var(--sc-color-text)!important}.logo,a.profile-link{display:flex;align-items:center}.logo{padding:.75em 0;gap:.6em;color:var(--sc-color-text);text-decoration:none;font-weight:800;font-size:var(--sc-text-md);letter-spacing:-.01em}.logo .img{display:block}.login{display:flex;align-items:center;gap:.4em;padding:.7em 0;margin:-.7em 0;background:none;border:0;font-family:inherit;font-size:inherit;cursor:pointer}.login,.login svg{color:var(--sc-color-text)}.login:hover{color:var(--sc-color-accent)}.login:hover svg{color:var(--sc-color-accent-icon)}.searchbar{border:1px solid var(--sc-color-border-strong)!important;flex:1;min-height:44px;color:var(--sc-color-text)!important;border-radius:0;transition:all .3s ease-in-out;background-color:transparent!important}.searchbar input::placeholder{color:var(--sc-color-text-muted);opacity:1}.searchbar button{min-width:44px;min-height:44px}.searchbar input{min-height:44px;box-sizing:border-box}.searchbar.open{opacity:1;transform:translateY(0)}@media(min-width:780px){.searchbar{background-color:transparent!important;margin:0 2em}}.result{background-color:var(--sc-color-accent)!important}.newsletter-form{display:flex;gap:.5em;align-items:center}.newsletter-form input{border-radius:var(--sc-radius-sm);padding:.5em .75em;min-height:44px;box-sizing:border-box;border:1px solid var(--sc-color-border-strong);font-size:14px}.newsletter-form button{white-space:nowrap;min-height:44px}.newsletter-form.done p{margin:0;font-size:14px;color:var(--sc-color-success)}.newsletter-form.compact{max-width:320px}.side-nav-backdrop{inset:0;z-index:89;background-color:rgba(17,24,39,.25)}.side-nav,.side-nav-backdrop{position:fixed;top:var(--sc-header-height)}.side-nav{height:calc(100vh - var(--sc-header-height));z-index:90;background-color:var(--sc-color-bg);left:calc(-1*var(--sc-drawer-width));width:var(--sc-drawer-width);font-weight:500;border-right:1px solid var(--sc-color-border);box-shadow:var(--sc-shadow-overlay);transition:left .2s ease;overflow-y:auto}.side-nav ul{padding:.5em;margin:0;width:100%;box-sizing:border-box}.side-nav ul li{padding:0;display:flex;align-items:center;transition:background-color .15s ease,color .15s ease}.side-nav ul li:hover{background-color:var(--sc-color-surface);border-radius:6px}.side-nav ul li a{display:flex;align-items:center;text-decoration:none;color:var(--sc-color-text);width:100%;padding:.75em;box-sizing:border-box;border-radius:6px;transition:background-color .15s ease,color .15s ease}.side-nav ul li a .fa-icon{width:1em;height:1em;margin-right:1em}.side-nav ul li a:hover{color:var(--sc-color-accent);background-color:var(--sc-color-surface)}.side-nav.open{left:0}@media(max-width:780px){.side-nav{width:85vw;max-width:var(--sc-drawer-width)}}.signin button{background-color:var(--sc-color-accent);color:#fff}:root{color-scheme:light;--sc-color-brand:#e07b39;--sc-color-bg:#fff;--sc-color-surface:#faf9f7;--sc-color-surface-raised:#fff;--sc-color-border:#e7e3dc;--sc-color-border-strong:#d6d0c4;--sc-color-text:#16151a;--sc-color-text-muted:#6b6862;--sc-color-text-faint:#8a867f;--sc-color-accent:#a34a12;--sc-color-accent-icon:#c25f16;--sc-color-accent-contrast:#fff;--sc-color-danger:#b3261e;--sc-color-success:#1e7b45;--sc-font-sans:var(--font-body),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--sc-font-mono:var(--font-mono),"SFMono-Regular",Consolas,monospace;--sc-text-xs:0.8125rem;--sc-text-sm:0.9375rem;--sc-text-base:1.125rem;--sc-text-md:1.25rem;--sc-text-lg:1.5rem;--sc-text-xl:clamp(1.75rem,1.55rem + 1vw,2.25rem);--sc-text-2xl:clamp(2.25rem,1.85rem + 2vw,3.25rem);--sc-text-display:clamp(2.75rem,2rem + 3.5vw,4.5rem);--sc-leading-tight:1.2;--sc-leading-snug:1.35;--sc-leading-normal:1.6;--sc-space-1:0.25rem;--sc-space-2:0.5rem;--sc-space-3:0.75rem;--sc-space-4:1rem;--sc-space-5:1.5rem;--sc-space-6:2rem;--sc-space-7:3rem;--sc-space-8:4rem;--sc-space-9:6rem;--sc-radius-sm:4px;--sc-radius-md:8px;--sc-radius-lg:12px;--sc-radius-full:999px;--sc-shadow-xs:0 1px 2px rgba(22,21,26,.04);--sc-shadow-sm:0 1px 3px rgba(22,21,26,.06);--sc-shadow-md:0 4px 12px rgba(22,21,26,.08);--sc-shadow-overlay:0 12px 32px rgba(22,21,26,.16);--sc-ease:cubic-bezier(0.2,0.8,0.2,1);--sc-duration-fast:120ms;--sc-duration-base:200ms;--sc-duration-slow:320ms;--sc-measure:68ch;--sc-header-height:64px;--sc-drawer-width:280px;--sc-content-max:1080px;--sc-code-bg:#f4f1ea;--sc-code-border:var(--sc-color-border)}[data-theme=dark]{color-scheme:dark;--sc-color-bg:#0e0e10;--sc-color-surface:#17171a;--sc-color-surface-raised:#1d1d21;--sc-color-border:#2c2a28;--sc-color-border-strong:#3c3936;--sc-color-text:#edebe8;--sc-color-text-muted:#a3a09a;--sc-color-text-faint:#7d7a74;--sc-color-accent:#f0a05a;--sc-color-accent-icon:#e07b39;--sc-color-accent-contrast:#16151a;--sc-color-danger:#f87171;--sc-color-success:#4ade80;--sc-shadow-xs:0 1px 2px rgba(0,0,0,.24);--sc-shadow-sm:0 1px 3px rgba(0,0,0,.32);--sc-shadow-md:0 4px 12px rgba(0,0,0,.4);--sc-shadow-overlay:0 12px 32px rgba(0,0,0,.5);--sc-code-bg:#1b1a1d}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*,:focus{outline:none}:focus-visible{outline:2px solid var(--sc-color-accent);outline-offset:2px;border-radius:var(--sc-radius-sm)}body,html{background-color:var(--sc-color-bg)}body{margin:0;padding:0;color:var(--sc-color-text);font-family:var(--sc-font-sans);font-size:var(--sc-text-base);line-height:var(--sc-leading-normal);transition:background-color var(--sc-duration-base) var(--sc-ease),color var(--sc-duration-base) var(--sc-ease)}a{cursor:pointer;color:var(--sc-color-accent)}.btn{background-color:var(--sc-color-accent);display:flex;align-items:center;color:var(--sc-color-accent-contrast);border:0;border-radius:var(--sc-radius-md);justify-content:center;width:100%;padding:.6em 1em;font-weight:500;transition:background-color var(--sc-duration-base) var(--sc-ease)}.btn:hover{background-color:var(--sc-color-accent-icon);cursor:pointer}.wrapper{overflow:hidden}.main{padding:1em;margin-top:var(--sc-header-height)}.main .content{max-width:720px}.main .content,.main .content-wide{width:100%;margin:0 auto;box-sizing:border-box}.main .content-wide{max-width:1080px}.main h1{margin-top:0}.main .category-description{color:var(--sc-color-text-muted);margin-top:-.5em;margin-bottom:1.5em}.main .hub-newsletter{background:var(--sc-color-surface);border:1px solid var(--sc-color-border);border-radius:6px;padding:1em 1.25em;margin-bottom:1.5em;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75em}.main .hub-newsletter p{margin:0;font-weight:500}@media(min-width:780px){.main{padding:0 2em}}.footer{border-top:1px solid var(--sc-color-border);display:flex;position:absolute;bottom:0;z-index:90;width:100%;background-color:var(--sc-color-bg);align-items:center;padding:.5em 1em;flex-wrap:wrap;transition:background-color var(--sc-duration-base) var(--sc-ease),border-color var(--sc-duration-base) var(--sc-ease)}.footer img{width:20px;height:20px;border-radius:var(--sc-radius-full);opacity:.6;object-fit:cover}@media(max-width:780px){.footer{position:relative}}.footer ul{list-style-type:none;margin:0;padding:0;align-items:center;display:flex;flex-wrap:wrap;gap:0 1em;font-size:var(--sc-text-sm);color:var(--sc-color-text-muted)}@media(max-width:780px){.footer ul{padding:1em 0}}.footer ul li{display:flex}.footer ul li a{text-decoration:none;color:var(--sc-color-text-muted);padding:.7em 0;margin:-.7em 0;display:flex;align-items:center}.footer ul li a:hover{color:var(--sc-color-accent)}.about{display:flex;flex-direction:column;align-items:flex-start;background-color:var(--sc-color-surface);border:1px solid var(--sc-color-border);padding:var(--sc-space-7);border-radius:var(--sc-radius-lg);max-width:720px;margin:var(--sc-space-6) auto}.about h1{font-size:var(--sc-text-2xl);font-weight:800;letter-spacing:-.02em;margin:0 0 .6em}.about h1,.about h2{color:var(--sc-color-text)}.about h2{font-weight:700;margin:1.25em 0 .35em}.about h2,.about p{font-size:var(--sc-text-md)}.about p{line-height:var(--sc-leading-normal);color:var(--sc-color-text-muted);margin:0 0 1em}.about p a{color:var(--sc-color-accent);padding:.6em 0;margin:-.6em 0}.about .email{display:flex;align-items:center;gap:.75em;background:var(--sc-color-bg);border:1px solid var(--sc-color-border);padding:1em 1.5em;border-radius:var(--sc-radius-md)}.about .email svg{font-size:1.5rem;color:var(--sc-color-accent-icon)}.about .email a{color:var(--sc-color-accent);text-decoration:none;font-weight:600;font-size:var(--sc-text-md)}.about .email a:hover{text-decoration:underline}.about ul{list-style:none;display:flex;gap:.75em;padding:0;margin:var(--sc-space-6) 0 0}.about ul li a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-full);color:var(--sc-color-text-muted);transition:color var(--sc-duration-fast) var(--sc-ease),border-color var(--sc-duration-fast) var(--sc-ease)}.about ul li a svg{font-size:1.25rem}.about ul li a:hover{color:var(--sc-color-accent);border-color:var(--sc-color-accent)}.contact{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-color:var(--sc-color-surface);border:1px solid var(--sc-color-border);padding:var(--sc-space-7);border-radius:var(--sc-radius-lg);margin:var(--sc-space-6) auto}.contact h1{font-size:var(--sc-text-2xl);font-weight:800;letter-spacing:-.02em;color:var(--sc-color-text);margin:0 0 .4em}.contact p{font-size:var(--sc-text-md);color:var(--sc-color-text-muted);margin-bottom:var(--sc-space-6)}.contact .email{word-break:break-word;display:flex;align-items:center;gap:.75em;background:var(--sc-color-bg);border:1px solid var(--sc-color-border);padding:1em 1.5em;border-radius:var(--sc-radius-md)}.contact .email svg{font-size:1.5rem;color:var(--sc-color-accent-icon);display:flex}.contact .email a{color:var(--sc-color-accent);text-decoration:none;font-weight:600;font-size:var(--sc-text-md)}.contact .email a:hover{text-decoration:underline}.contact ul{list-style:none;display:flex;gap:.75em;padding:0;margin:var(--sc-space-6) 0 0}.contact ul li a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-full);color:var(--sc-color-text-muted);transition:color var(--sc-duration-fast) var(--sc-ease),border-color var(--sc-duration-fast) var(--sc-ease)}.contact ul li a svg{font-size:1.25rem}.contact ul li a:hover{color:var(--sc-color-accent);border-color:var(--sc-color-accent)}@media(max-width:780px){.contact{padding:var(--sc-space-4)}.contact .email{padding:1em;flex-direction:column}}.affiliate-note{margin:var(--sc-space-2) 0 0 0;font-size:var(--sc-text-xs);color:var(--sc-color-text-muted)}.affiliate-note a{color:inherit}.book-card{display:flex;gap:var(--sc-space-5);align-items:flex-start;padding:var(--sc-space-5);margin:var(--sc-space-7) 0;border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-md);background-color:var(--sc-color-surface)}.book-card .cover{flex:0 0 auto;border-radius:var(--sc-radius-sm);object-fit:cover}.book-card .body{min-width:0}.book-card .eyebrow{margin:0 0 var(--sc-space-1) 0;font-family:var(--sc-font-mono);font-size:var(--sc-text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--sc-color-text-muted)}.book-card .title{margin:0 0 var(--sc-space-2) 0;font-size:var(--sc-text-lg);line-height:var(--sc-leading-snug)}.book-card .pitch{margin:0 0 var(--sc-space-3) 0;color:var(--sc-color-text)}.book-card .highlights{margin:0 0 var(--sc-space-4) 0;padding-left:1.2em;color:var(--sc-color-text-muted)}.book-card .highlights li{margin:var(--sc-space-1) 0}.book-card .actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sc-space-4)}.book-card .book-btn{width:auto;min-height:44px;padding:0 var(--sc-space-5);border-radius:var(--sc-radius-sm);text-decoration:none;font-weight:600}.book-card.compact{padding:var(--sc-space-4)}.book-card.compact .title{font-size:var(--sc-text-md)}@media(max-width:780px){.book-card{gap:var(--sc-space-4);padding:var(--sc-space-4)}.book-card .cover{width:72px;height:72px}.book-card .book-btn{width:100%}}.book-inline{margin:var(--sc-space-6) 0;padding:var(--sc-space-3) var(--sc-space-4);border-left:3px solid var(--sc-color-accent-icon);background-color:var(--sc-color-surface);border-radius:0 var(--sc-radius-sm) var(--sc-radius-sm) 0}.book-inline p{margin:0}.book-inline a{color:var(--sc-color-accent);font-weight:600}.book-card .actions .secondary{color:var(--sc-color-accent);font-weight:500;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.book-card .actions .secondary:hover{text-decoration:underline}.v-b,html[data-book-variant=b] .v-a{display:none}html[data-book-variant=b] .v-b{display:block}.book-sticky{display:none}@media(max-width:780px){.book-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;align-items:center;gap:var(--sc-space-3);min-height:56px;padding:var(--sc-space-2) var(--sc-space-3);padding-bottom:calc(var(--sc-space-2) + env(safe-area-inset-bottom));background-color:var(--sc-color-surface-raised);border-top:1px solid var(--sc-color-border);transform:translateY(110%);transition:transform var(--sc-duration-base) var(--sc-ease);visibility:hidden}.book-sticky.visible{transform:translateY(0);visibility:visible}.book-sticky .cover{border-radius:var(--sc-radius-sm);object-fit:cover}.book-sticky .label{flex:1;min-width:0;display:flex;flex-direction:column;line-height:var(--sc-leading-snug)}.book-sticky .label strong{font-size:var(--sc-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-sticky .label small{font-size:var(--sc-text-xs);color:var(--sc-color-text-muted)}.book-sticky .btn{width:auto;min-height:44px;padding:0 var(--sc-space-4);border-radius:var(--sc-radius-sm);text-decoration:none;font-weight:600}.book-sticky .close{min-width:44px;min-height:44px;background:none;border:0;font-size:var(--sc-text-lg);color:var(--sc-color-text-muted);cursor:pointer}}@media(prefers-reduced-motion:reduce){.book-sticky{transition:none}}@media(max-width:780px){.book-sticky-space{padding-bottom:80px}}.author-box{display:flex;gap:var(--sc-space-4);align-items:flex-start;margin:var(--sc-space-6) 0}.author-box .avatar{flex:0 0 auto;border-radius:var(--sc-radius-full);object-fit:cover}.author-box p{margin:0}.author-box .name{font-weight:600}.author-box .bio{color:var(--sc-color-text-muted);font-size:var(--sc-text-sm)}.book-page .lede{font-size:var(--sc-text-md);color:var(--sc-color-text-muted)}.book-page .book-btn{display:inline-flex;width:auto;min-height:44px;padding:0 var(--sc-space-5);border-radius:var(--sc-radius-sm);text-decoration:none;font-weight:600}.book-card .actions a.book-btn,.book-page a.book-btn,.book-sticky a.btn{color:var(--sc-color-accent-contrast);text-decoration:none}.book-card .actions a.book-btn:hover,.book-page a.book-btn:hover,.book-sticky a.btn:hover{color:var(--sc-color-accent-contrast)}.book-card h3.title{color:var(--sc-color-text)}.book-card p.affiliate-note,.book-page p.affiliate-note{font-size:var(--sc-text-xs);line-height:var(--sc-leading-normal);color:var(--sc-color-text-muted)}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;background:transparent;pointer-events:none}.reading-progress-bar{height:100%;width:100%;transform-origin:left;transform:scaleX(0);background-color:var(--sc-color-accent)}.article{font-size:var(--sc-text-base);line-height:var(--sc-leading-normal);max-width:var(--sc-measure);margin:0 auto;padding-bottom:3em;position:relative;word-wrap:break-word;flex-direction:column}.article,.article li,.article p{color:var(--sc-color-text)}.article a{text-decoration:underline;text-decoration-color:var(--sc-color-border-strong);text-underline-offset:2px;color:var(--sc-color-accent)}.article h1{font-weight:800;letter-spacing:-.02em;line-height:var(--sc-leading-tight);font-size:var(--sc-text-2xl);margin:.2em 0 .4em}@media(max-width:780px){.article h1{line-height:1.15;font-weight:800}}.article h2,.article h3,.article h4{font-weight:700;letter-spacing:-.01em;scroll-margin-top:calc(var(--sc-header-height) + var(--sc-space-4))}.article h2{font-size:var(--sc-text-xl)}.article h3{font-size:var(--sc-text-lg)}.article h4{font-size:var(--sc-text-md)}.article img:not(.code-block img){max-width:100%;border-radius:var(--sc-radius-md)}.article a{padding:.5em 0;margin:-.5em 0}.article .metadata{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sc-space-4);flex-wrap:wrap}.article .metadata a{text-decoration:none;font-weight:700}@media(max-width:780px){.article .metadata{padding:1em 0}}.article ul.info{display:inline-flex;padding:0;margin:0;font-family:var(--sc-font-mono);font-size:var(--sc-text-sm);color:var(--sc-color-text-muted)}.article ul.info li{display:flex;align-items:center;padding:0 .75em;position:relative}.article ul.info li .likeBtn{cursor:pointer;color:var(--sc-color-accent);background:none;font-weight:700;border:1px solid var(--sc-color-accent);border-radius:var(--sc-radius-sm);min-height:44px;padding:0 .9em}.article ul.info li .likeBtn:hover{color:var(--sc-color-accent-contrast);background-color:var(--sc-color-accent)}.article ul.info li a{color:var(--sc-color-text-muted);text-decoration:none;display:inline-flex;align-items:center;padding:.7em 0;margin:-.7em 0}.article ul.info li a:hover{color:var(--sc-color-accent)}.article ul.info li:not(:first-of-type):before{content:"•";color:var(--sc-color-border-strong);position:absolute;top:50%;transform:translateY(-50%);line-height:1;font-size:.8em;left:-.15em}.article ul.info li:first-of-type{padding-left:0}@media(max-width:780px){.article ul.info{flex-direction:column}.article ul.info li{padding:0}.article ul.info li:not(:first-of-type):before{content:""}}.article .share-row{display:flex;align-items:center;gap:var(--sc-space-2);padding:0;margin:0;list-style:none}.article .share-row a,.article .share-row button{display:flex;align-items:center;gap:.4em;width:32px;height:32px;border-radius:var(--sc-radius-full);color:var(--sc-color-text-muted);background:transparent;border:1px solid var(--sc-color-border);justify-content:center;cursor:pointer;font:inherit;transition:color var(--sc-duration-fast) var(--sc-ease),border-color var(--sc-duration-fast) var(--sc-ease)}.article .share-row a:hover,.article .share-row button:hover{color:var(--sc-color-accent);border-color:var(--sc-color-accent)}.article .share-row button{width:auto;padding:0 .9em}.article .share-row .copy-label{font-family:var(--sc-font-mono);font-size:var(--sc-text-xs)}.article .category{text-decoration:none;color:var(--sc-color-accent);display:flex;font-family:var(--sc-font-mono);font-size:var(--sc-text-sm);text-transform:uppercase;letter-spacing:.04em;padding:.5em 0;font-weight:600}@media(max-width:780px){.article .category{padding-top:0}}.article .img{display:flex;position:relative;max-width:100%;overflow:hidden;border-radius:var(--sc-radius-md);aspect-ratio:16/9}@media(min-width:780px){.article .img{margin-right:1em}}@media(max-width:780px){.article img{max-width:100%}}.article hr{border:none;border-top:1px solid var(--sc-color-border);margin:2em 0}.article figure{margin:1.5em 0}.article figure img{display:block;margin:0 auto}.article figure figcaption{margin-top:.5em;font-size:var(--sc-text-sm);color:var(--sc-color-text-muted);text-align:center}.article figure.w-wide{width:min(var(--sc-measure)*1.4,100%);margin-left:50%;transform:translateX(-50%)}.article figure.w-full{width:100vw;margin-left:calc(50% - 50vw);max-width:100vw}.article figure.w-full img{border-radius:0;width:100%}.article .table-of-contents{border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-md);padding:1em 1.25em;margin:1.5em 0}.article .table-of-contents .title{font-family:var(--sc-font-mono);font-size:var(--sc-text-xs);font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5em;color:var(--sc-color-text-muted)}.article .table-of-contents ul{list-style:none;margin:0;padding:0}.article .table-of-contents li{margin:.35em 0}.article .table-of-contents li a{color:var(--sc-color-accent);text-decoration:none;display:inline-flex;align-items:center;padding:.55em 0;margin:-.55em 0}.article .table-of-contents li a:hover{text-decoration:underline}.article .table-of-contents li.level-3{margin-left:1em;font-size:.9em}.article .code-block{position:relative;margin:1.5em 0}.article .code-block .code-copy{position:absolute;top:.6em;right:.6em;z-index:1;font-family:var(--sc-font-mono);font-size:var(--sc-text-xs);color:var(--sc-color-text-muted);background-color:var(--sc-color-surface);border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-sm);padding:.25em .6em;min-height:44px;display:inline-flex;align-items:center;cursor:pointer;opacity:0;transition:opacity var(--sc-duration-fast) var(--sc-ease),color var(--sc-duration-fast) var(--sc-ease)}@media(hover:none){.article .code-block .code-copy{opacity:1}}.article .code-block .code-copy:hover{color:var(--sc-color-accent)}.article .code-block:focus-within .code-copy,.article .code-block:hover .code-copy{opacity:1}.article .code-block pre.shiki{margin:0;padding:1.25em;border-radius:var(--sc-radius-md);border:1px solid var(--sc-code-border);overflow-x:auto;font-size:.9em;line-height:1.6;color:var(--shiki-light);background-color:var(--shiki-light-bg)!important}.article .code-block pre.shiki code{font-family:var(--sc-font-mono)}.article .code-block pre.shiki .line span{color:var(--shiki-light)}.article pre:not(.shiki){white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow-x:auto;padding:1em;font-family:var(--sc-font-mono)}.article .callout,.article pre:not(.shiki){background-color:var(--sc-color-surface);border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-md)}.article .callout{margin:var(--sc-space-5) 0;padding:var(--sc-space-3) var(--sc-space-4);border-left:4px solid var(--sc-color-accent-icon)}.article .callout>:first-child{margin-top:0}.article .callout>:last-child{margin-bottom:0}.article .callout.callout-tip{border-left-color:var(--sc-color-success)}.article .callout.callout-warning{border-left-color:var(--sc-color-danger)}.article #article-body table{display:block;max-width:100%;overflow-x:auto;margin:var(--sc-space-5) 0;border-collapse:collapse;font-size:.95em}.article #article-body table td,.article #article-body table th{padding:var(--sc-space-2) var(--sc-space-3);border:1px solid var(--sc-color-border);text-align:left;vertical-align:top}.article #article-body table th{background-color:var(--sc-color-surface);font-weight:600}.article .article-cta{border-top:1px solid var(--sc-color-border);border-bottom:1px solid var(--sc-color-border);padding:1.5em 0;margin:2em 0}.article .article-cta .newsletter h3{margin:0 0 .25em}.article .article-cta .newsletter p{margin:0 0 .75em;color:var(--sc-color-text-muted)}.article .article-cta .book-card{margin:0 0 1.5em}.article .article-cta .newsletter+.book-card{margin:1.5em 0 0}.article .related-reading{margin:2em 0}.article .related-reading h3{font-family:var(--sc-font-mono);font-size:var(--sc-text-xs);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--sc-color-text-muted);margin-bottom:.75em}.article .related-reading ul{list-style:none;margin:0;padding:0}.article .related-reading li{border-bottom:1px solid var(--sc-color-border);padding:.75em 0}.article .related-reading li:last-of-type{border-bottom:none}.article .related-reading li a{display:flex;justify-content:space-between;align-items:baseline;gap:1em;text-decoration:none;color:var(--sc-color-text)}.article .related-reading li a .title{font-weight:600}.article .related-reading li a .meta{white-space:nowrap;font-family:var(--sc-font-mono);color:var(--sc-color-text-muted);font-size:.8em}.article .related-reading li a:hover .title{color:var(--sc-color-accent)}[data-theme=dark] .article .code-block pre.shiki{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)!important}[data-theme=dark] .article .code-block pre.shiki .line span{color:var(--shiki-dark)}.marketplace{box-sizing:border-box;margin:1.5em 0}.marketplace .rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sc-space-4)}.marketplace .rail-head h2{margin:0;font-family:var(--sc-font-mono);font-size:var(--sc-text-xs);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--sc-color-text-muted)}.marketplace .rail-head a{font-size:var(--sc-text-sm);color:var(--sc-color-accent);text-decoration:none}.marketplace .rail-posts{list-style:none;margin:var(--sc-space-3) 0;padding:0}.marketplace .rail-posts li{border-bottom:1px solid var(--sc-color-border)}.marketplace .rail-posts li a{display:block;padding:var(--sc-space-3) 0;color:var(--sc-color-text);font-weight:600;text-decoration:none}.marketplace .rail-posts li a:hover{color:var(--sc-color-accent)}.marketplace .book-card{margin:var(--sc-space-4) 0 0 0}