:root,html[data-color-scheme=light],html[data-color-scheme=system]{--color-bg:#f5f7f9;--color-bg-acc:#fff;--color-text:#1a1f3a;--color-text-acc:#374151;--color-text-reverse:#f5f7f9;--color-bg-reverse:#1a1f3a;--color-border:#e5e7eb;--ghost-accent-color:#00d9ff}html[data-color-scheme=dark]{--color-bg:#0f1225;--color-bg-acc:#1a1f3a;--color-text:#e8eaf0;--color-text-acc:#9ca3af;--color-text-reverse:#1a1f3a;--color-bg-reverse:#e8eaf0;--color-border:#2d3143;--ghost-accent-color:#00d9ff}@media (prefers-color-scheme:dark){html[data-color-scheme=system]{--color-bg:#0f1225;--color-bg-acc:#1a1f3a;--color-text:#e8eaf0;--color-text-acc:#9ca3af;--color-text-reverse:#1a1f3a;--color-bg-reverse:#e8eaf0;--color-border:#2d3143;--ghost-accent-color:#00d9ff}}:root{--global-content-width:min(92vw,860px);--global-wide-width:min(96vw,1200px)}.content{margin-left:auto!important;margin-right:auto!important;max-width:var(--global-content-width)!important}.featured-feed,.post-feed,.post-hero{max-width:var(--global-wide-width)!important}.footer-logo,.header-brand img{background:transparent!important;max-height:48px;width:auto}html[data-color-scheme=dark] .footer-logo,html[data-color-scheme=dark] .header-brand img{filter:brightness(0) invert(1)}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .footer-logo,html[data-color-scheme=system] .header-brand img{filter:brightness(0) invert(1)}}.header[data-hero-style=accent-background] .header-brand img,.header[data-hero-style=image-background] .header-brand img{filter:brightness(0) invert(1)}:root code[class*=language-],:root pre[class*=language-]{background:#1a1f3a!important;border-radius:8px;color:#e8eaf0!important}.content pre{max-width:100%;overflow-x:auto}.content code:not([class*=language-]){background:var(--color-bg-acc);color:var(--color-text);font-size:.9em;padding:.15em .4em}.mermaid-pre,code.language-mermaid,div.mermaid:not([data-processed=true]),pre.mermaid{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}div.mermaid svg,div.mermaid[data-processed=true]{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}.post-hero.background-full{min-height:55vh!important}.post-hero.background-full .post-hero__media img,.post-hero.background-full .post-hero__media picture img{height:100%!important;object-fit:cover!important;object-position:center!important;width:100%!important}.post-card__media figure img,.post-card__media figure picture img{aspect-ratio:16/9!important;object-fit:cover!important;width:100%!important}.featured-feed .post-card__media figure img{aspect-ratio:16/9!important;object-fit:cover!important}.gh-portal-btn{background-color:#ff7a3d!important}.gh-portal-btn:hover{background-color:#e5692f!important}.footer-copy .footer-ghost{display:none!important}.footer .footer-logo{max-height:48px;object-fit:contain}@media (max-width:767px){.footer-links .footer-left{text-align:center}.footer-links .nav{justify-content:center}.footer-links .footer-right{text-align:center}.footer-links .social-links{justify-content:center}.footer-brand .footer-left{align-items:center;display:flex;flex-direction:column;text-align:center}.hero__scroll.icon{bottom:5rem!important}}.content .table-responsive{-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;border-radius:8px;margin:1.5em 0;overflow-x:auto}html[data-color-scheme=dark] .content .table-responsive{border-color:#2a3050}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content .table-responsive{border-color:#2a3050}}.content .table-responsive table{border:none!important;border-radius:0!important;margin:0!important}.content table{background:#fff!important;border:1px solid #e2e8f0!important;border-collapse:collapse!important;border-radius:8px;border-spacing:0!important;display:table!important;font-size:.95em;margin:1.5em 0!important;table-layout:auto!important;width:100%!important}html[data-color-scheme=dark] .content table{background:#0f1225!important;border-color:#2a3050!important}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content table{background:#0f1225!important;border-color:#2a3050!important}}.content table th,.content table thead th{background:#1a1f3a!important;border:none!important;border-bottom:2px solid #00d9ff!important;color:#fff!important;font-size:.9em!important;font-weight:600!important;letter-spacing:.3px;padding:10px 14px!important;text-align:left!important;white-space:normal!important}.content table tbody td,.content table td{background:transparent!important;border:none!important;border-bottom:1px solid #e2e8f0!important;color:inherit!important;padding:10px 14px!important;vertical-align:top!important;white-space:normal!important}.content table tbody tr:nth-child(2n) td{background:#f5f7fa!important}html[data-color-scheme=dark] .content table tbody td{border-bottom-color:#2a3050!important}html[data-color-scheme=dark] .content table tbody tr:nth-child(2n) td{background:rgba(26,31,58,.5)!important}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content table tbody td{border-bottom-color:#2a3050!important}html[data-color-scheme=system] .content table tbody tr:nth-child(2n) td{background:rgba(26,31,58,.5)!important}}.content table tbody tr:hover td{background:#e0f7ff!important}html[data-color-scheme=dark] .content table tbody tr:hover td{background:#2a3050!important}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content table tbody tr:hover td{background:#2a3050!important}}.content table tbody tr{transition:background-color .15s ease}@media (max-width:767px){.content table{-webkit-overflow-scrolling:touch;border-left:none!important;border-right:none!important;display:block!important;overflow-x:auto!important}.content .table-responsive,.content table{border-radius:0!important;margin-left:-1rem!important;margin-right:-1rem!important}.content table tbody td,.content table thead th{font-size:.85em!important;padding:8px 10px!important}}.content table::-webkit-scrollbar{height:6px}.content table::-webkit-scrollbar-track{background:transparent}.content table::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.content table::-webkit-scrollbar-thumb:hover{background:#00d9ff}.content blockquote{background:#f0f9ff;border-left:3px solid #00d9ff;border-radius:0 6px 6px 0;font-style:normal!important;margin:1.5em 0;padding:14px 20px}.content blockquote p{font-style:normal!important;margin:0}.content blockquote p+p{margin-top:.6em}html[data-color-scheme=dark] .content blockquote{background:rgba(0,217,255,.06);border-left-color:#00d9ff}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content blockquote{background:rgba(0,217,255,.06);border-left-color:#00d9ff}}.content blockquote.callout-tip{background:#f0f9ff;border-left-color:#00d9ff}.content blockquote.callout-critical{background:#fff5f0;border-left-color:#ff7a3d}.content blockquote.callout-warning{background:#fffbeb;border-left-color:#f59e0b}.content blockquote.callout-note{background:#eef2ff;border-left-color:#6366f1}.content blockquote.callout-success{background:#ecfdf5;border-left-color:#10b981}.content blockquote.callout-target{background:#f5f3ff;border-left-color:#8b5cf6}html[data-color-scheme=dark] .content blockquote.callout-tip{background:rgba(0,217,255,.06);border-left-color:#00d9ff}html[data-color-scheme=dark] .content blockquote.callout-critical{background:rgba(255,122,61,.06);border-left-color:#ff7a3d}html[data-color-scheme=dark] .content blockquote.callout-warning{background:rgba(245,158,11,.06);border-left-color:#f59e0b}html[data-color-scheme=dark] .content blockquote.callout-note{background:rgba(99,102,241,.06);border-left-color:#6366f1}html[data-color-scheme=dark] .content blockquote.callout-success{background:rgba(16,185,129,.06);border-left-color:#10b981}html[data-color-scheme=dark] .content blockquote.callout-target{background:rgba(139,92,246,.06);border-left-color:#8b5cf6}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content blockquote.callout-tip{background:rgba(0,217,255,.06);border-left-color:#00d9ff}html[data-color-scheme=system] .content blockquote.callout-critical{background:rgba(255,122,61,.06);border-left-color:#ff7a3d}html[data-color-scheme=system] .content blockquote.callout-warning{background:rgba(245,158,11,.06);border-left-color:#f59e0b}html[data-color-scheme=system] .content blockquote.callout-note{background:rgba(99,102,241,.06);border-left-color:#6366f1}html[data-color-scheme=system] .content blockquote.callout-success{background:rgba(16,185,129,.06);border-left-color:#10b981}html[data-color-scheme=system] .content blockquote.callout-target{background:rgba(139,92,246,.06);border-left-color:#8b5cf6}}@media (max-width:767px){.content blockquote{margin:1.2em 0;padding:10px 14px}}.content hr{background:linear-gradient(90deg,transparent,#00d9ff 30%,#00d9ff 70%,transparent)!important;border:none!important;height:2px!important;margin:2.5em auto!important;max-width:60%;opacity:.5}@media (max-width:767px){.content hr{margin:2em auto!important;max-width:80%}}.content pre{-webkit-overflow-scrolling:touch;background:#1a1f3a!important;border-radius:8px!important;box-shadow:0 2px 8px rgba(0,0,0,.12);margin:1.5em 0!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0!important;position:relative;scrollbar-color:#cbd5e1 transparent;scrollbar-width:thin}html[data-color-scheme=dark] .content pre{background:#0f1225!important;box-shadow:0 2px 8px rgba(0,0,0,.3);scrollbar-color:#3a4060 transparent}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content pre{background:#0f1225!important;box-shadow:0 2px 8px rgba(0,0,0,.3);scrollbar-color:#3a4060 transparent}}.content pre code{background:transparent!important;display:block;font-size:.88em;line-height:1.65;min-width:100%;overflow:visible!important;padding:16px!important;width:max-content}.content pre .token.comment,.content pre .token.prolog{color:#8a92aa}.content pre .token.keyword{color:#ff7a3d}.content pre .token.class-name,.content pre .token.function{color:#00d9ff}.content pre .token.char,.content pre .token.string{color:#a3d977}.content pre .token.boolean,.content pre .token.number{color:#00d9ff}.content pre .token.operator{color:#ff7a3d}.content pre .token.constant,.content pre .token.deleted,.content pre .token.property,.content pre .token.symbol,.content pre .token.tag{color:#ff5c93}.content pre .token.punctuation{color:#c5cad3}.content pre .token.property,.content pre .token.tag{color:#00d9ff}.content pre .token.attr-name{color:#a3d977}.content pre .token.attr-value{color:#ff7a3d}@media (max-width:767px){.content pre{-ms-overflow-style:none!important;border-radius:6px!important;margin-left:0!important;margin-right:0!important;scrollbar-width:none!important}.content pre::-webkit-scrollbar{display:none!important}.content pre code{font-size:.82em;padding:14px!important}}.content code:not([class*=language-]){background:var(--color-bg-acc,#f1f5f9);border-radius:4px;color:#ff7a3d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em;padding:.15em .45em}html[data-color-scheme=dark] .content code:not([class*=language-]){background:#1a1f3a;color:#00d9ff}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content code:not([class*=language-]){background:#1a1f3a;color:#00d9ff}}.content ul{list-style:none;padding-left:0}.content ul>li{line-height:1.65;padding-left:24px;position:relative}.content ul>li:before{background:#00d9ff;border-radius:50%;content:"";height:7px;left:2px;position:absolute;top:.55em;width:7px}.content ol{counter-reset:codyssey-ol;list-style:none;padding-left:0}.content ol>li{counter-increment:codyssey-ol;line-height:1.65;padding-left:32px;position:relative}.content ol>li:before{align-items:center;background:#00d9ff;border-radius:50%;color:#1a1f3a;content:counter(codyssey-ol);display:flex;font-size:.78em;font-weight:700;height:22px;justify-content:center;left:0;position:absolute;top:.05em;width:22px}.content ol ol,.content ol ul,.content ul ol,.content ul ul{margin-bottom:.4em;margin-left:.5em;margin-top:.4em}.content ul ul>li:before{background:transparent;border:1.5px solid #00d9ff;height:5px;top:.6em;width:5px}.content blockquote ol>li,.content blockquote ul>li{padding-left:20px}.content div.mermaid[data-processed=true]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.content p{line-height:1.75}.content a:not([class*=kg-]):not([class*=btn]):not([class*=link-no-style]){border-bottom:1px solid rgba(0,217,255,.3);color:#00d9ff;text-decoration:none!important;transition:border-color .2s ease}.content a:not([class*=kg-]):not([class*=btn]):not([class*=link-no-style]):hover{border-bottom-color:#00d9ff}.content a:not([class*=kg-]):not([class*=btn]):not([class*=link-no-style]):visited{color:#00d9ff;filter:none}html[data-color-scheme=dark] .content a:not([class*=kg-]):not([class*=btn]){color:#00d9ff}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content a:not([class*=kg-]):not([class*=btn]){color:#00d9ff}}.content h2{margin-bottom:.75em;margin-top:2em}.content h3{margin-bottom:.6em;margin-top:1.6em}.content h4{margin-bottom:.5em;margin-top:1.4em}.content br.dialogue-break{content:"";display:block;margin-top:.8em}.content p:empty{display:none!important;margin:0!important;padding:0!important}.author-avatar img,.author-profile__img,img[data-src*=author-avatar],img[src*=author-avatar]{border-radius:50%!important;box-shadow:0 0 0 2px #00d9ff!important;outline:2px solid #00d9ff!important;outline-offset:1px!important}.header-user-toggle .header-user-avatar,button.header-user-toggle img.header-user-avatar,img.header-user-avatar{border:2px solid #00d9ff!important;border-radius:50%!important;box-sizing:border-box!important}li[data-emoji-bullet]{list-style:none!important}li[data-emoji-bullet]:before{content:none!important;display:none!important}li[data-emoji-bullet]::marker{content:""!important;font-size:0!important}a:focus-visible,button:focus-visible{outline:2px solid #00d9ff;outline-offset:2px}@media print{.content pre{background:#fff!important;border:1px solid #ccc}.content pre code{color:#000!important}.content blockquote{background:#f5f5f5;border-left-color:#333}.content table,.content td,.content th{border:1px solid #ccc!important}.content hr{background:#ccc!important;max-width:100%;opacity:1}.content a{border-bottom:none;color:#000}}.content pre>code,:root .content pre>code[class*=language-]{background:transparent!important;border:0!important;margin:0!important;max-width:none!important}.content .code-block{margin:1.5em 0!important;position:relative}.content .code-block>pre{margin:0!important}.code-copy{align-items:center;background:rgba(15,18,37,.88);border:1px solid rgba(232,234,240,.18);border-radius:6px;color:#e8eaf0;cursor:pointer;display:inline-flex;font:600 .75rem/1 var(--font-body,system-ui),sans-serif;gap:6px;height:32px;letter-spacing:.02em;margin:0;padding:0 10px;position:absolute;right:8px;top:8px;transition:opacity .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease;z-index:2}.code-copy svg{flex:0 0 auto;height:16px;width:16px}.code-copy:hover{border-color:#00d9ff;color:#00d9ff}.code-copy:focus-visible{outline:2px solid #00d9ff;outline-offset:2px}.code-copy.is-copied{border-color:#a3d977;color:#a3d977}@media (hover:hover) and (pointer:fine){.code-copy{opacity:0}.code-block:hover .code-copy,.code-copy.is-copied,.code-copy:focus-visible{opacity:1}}@media (max-width:767px){.code-copy{height:30px;padding:0 8px;right:6px;top:6px}.code-copy__label{display:none}}@media print{.code-copy{display:none!important}}.content :not(pre)>code{overflow-wrap:anywhere;white-space:normal;word-break:break-word}:root,html[data-color-scheme=light],html[data-color-scheme=system]{--cdy-accent-text:#00718a;--cdy-code-text:#b03a0a;--cdy-code-bg:#fff4ee;--cdy-radius:12px;--cdy-shadow:0 1px 2px rgba(15,18,37,.04),0 2px 8px rgba(15,18,37,.04);--cdy-shadow-hover:0 14px 32px rgba(15,18,37,.1);--cdy-read-width:min(92vw,42rem);--cdy-wide-width:min(100vw - 4rem,860px)}html[data-color-scheme=dark]{--cdy-accent-text:#00d9ff;--cdy-code-text:#00d9ff;--cdy-code-bg:#1a1f3a;--cdy-shadow:none;--cdy-shadow-hover:0 14px 32px rgba(0,0,0,.35)}@media (prefers-color-scheme:dark){html[data-color-scheme=system]{--cdy-accent-text:#00d9ff;--cdy-code-text:#00d9ff;--cdy-code-bg:#1a1f3a;--cdy-shadow:none;--cdy-shadow-hover:0 14px 32px rgba(0,0,0,.35)}}:root body .content a:not([class*=kg-]):not([class*=card-accent] a):not([class*=btn]):not([class*=link-no-style]):not(.heading-anchor),:root body .content a:not([class*=kg-]):not([class*=card-accent] a):not([class*=btn]):not([class*=link-no-style]):not(.heading-anchor):visited{border-bottom-color:color-mix(in srgb,var(--cdy-accent-text) 40%,transparent);color:var(--cdy-accent-text)}:root body .content a:not([class*=kg-]):not([class*=card-accent] a):not([class*=btn]):not([class*=link-no-style]):not(.heading-anchor):hover{border-bottom-color:currentColor}.author-profile__social a:focus-visible,.author-profile__social a:hover,.feed-toggle-item:hover,.series-banner__arrow,.series-card__count,.series-episode__link:hover .series-episode__title,.series-episode__number,.series-pager__btn:hover:not([disabled]),.start-picks__item a:hover,.start-topic__all,.start-topic__head:hover .start-topic__name,.start-topic__link:hover,[data-post-feed=alternating-list] .feed-toggle-item.alternating,[data-post-feed=grid] .feed-toggle-item.grid,[data-post-feed=list] .feed-toggle-item.list,details[open]>summary,figcaption a{color:var(--cdy-accent-text)}.author-profile__social a:hover{fill:var(--cdy-accent-text)}html .content :not(pre)>code:not([class*=language-]){background:var(--cdy-code-bg);color:var(--cdy-code-text)}html .content a>code:not([class*=language-]){color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--cdy-accent-text);outline-offset:2px}.hero[data-style=image-background] a:focus-visible,.hero[data-style=image-background] button:focus-visible,.hero[data-style=image-background] input:focus-visible{outline-color:#fff}.home-newsletter .subscribe-form .msg-success,.post-subscribe .subscribe-form .msg-success{color:#0f766e}.home-newsletter .subscribe-form .msg-error,.post-subscribe .subscribe-form .msg-error{color:#b42318}html[data-color-scheme=dark] .subscribe-form .msg-success{color:#5eead4}html[data-color-scheme=dark] .subscribe-form .msg-error{color:#fda29b}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .subscribe-form .msg-success{color:#5eead4}html[data-color-scheme=system] .subscribe-form .msg-error{color:#fda29b}}.home-newsletter__box,.post-subscribe,.series-card,.series-nav,.start-topic{border-radius:var(--cdy-radius)}.series-card,.start-topic{box-shadow:var(--cdy-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.start-topic{border-top:1px solid var(--color-border);box-shadow:inset 0 3px 0 var(--ghost-accent-color),var(--cdy-shadow)}.series-card:hover,.start-topic:hover{border-color:color-mix(in srgb,var(--ghost-accent-color) 45%,var(--color-border));transform:translateY(-3px)}.series-card:hover{box-shadow:var(--cdy-shadow-hover)}.start-topic:hover{box-shadow:inset 0 3px 0 var(--ghost-accent-color),var(--cdy-shadow-hover)}@media (prefers-reduced-motion:reduce){.series-card:hover,.start-topic:hover{transform:none}}.hero.is-home{height:auto;max-height:none;min-height:clamp(28rem,66vh,42rem);padding-bottom:clamp(2.5rem,7vh,4.5rem);padding-top:calc(var(--global-header-height) + clamp(1.5rem, 5vh, 3.5rem))}@media (min-width:80em){.hero.is-home[data-style=image-background]{padding-bottom:clamp(3rem,8vh,5rem);padding-top:calc(var(--global-header-height) + clamp(2rem, 6vh, 4rem))}}.hero.is-home .hero__title{text-wrap:balance;margin-bottom:1rem;margin-inline:auto;max-width:22ch}.hero.is-home .hero__description{text-wrap:pretty;margin-bottom:1.5rem}.hero.is-home .hero__scroll{display:none!important}.hero__secondary{font-weight:600;margin-top:.25rem}.hero__stats{display:flex;flex-wrap:wrap;font-size:.85rem;gap:.25rem 0;justify-content:center;letter-spacing:.02em;margin:1.25rem 0 0;opacity:.85}.hero__stats>span:not([hidden])~span:not([hidden]):before{content:"·";margin:0 .6em;opacity:.7}.hero[data-style=image-background] .hero__stats{color:var(--color-white)}.hero[data-style=accent-background] .hero__stats{color:var(--color-brand-contrast)}.page-template article.content,.post-subscribe,.post-template .social-share,.post-template article.content,.post-template hr.content-width,.series-nav{--global-content-width:var(--cdy-read-width);max-width:var(--cdy-read-width)!important}@media (min-width:64em){.page-template article.content,.post-template article.content{--font-size-base:1.1875rem;font-size:var(--font-size-base)}.post-template article.content pre code{font-size:.8em}.post-template article.content>.code-block,.post-template article.content>.kg-code-card,.post-template article.content>.table-responsive,.post-template article.content>div.mermaid[data-processed=true],.post-template article.content>pre,.post-template article.content>table{align-self:center;max-width:none!important;width:var(--cdy-wide-width)!important}}.series-banner{border-radius:var(--cdy-radius);max-width:var(--cdy-read-width);transition:border-left-width .15s ease,box-shadow .2s ease}.series-banner:hover{box-shadow:var(--cdy-shadow-hover)}.series-banner__part{color:var(--color-text-acc);white-space:nowrap}.series-banner__part:before{content:" · "}.series-nav{background:var(--color-bg-acc);border:1px solid var(--color-border);box-shadow:var(--cdy-shadow);margin:0 auto var(--gap-lg,2.5rem);padding:clamp(18px,3vw,28px);width:100%}.series-nav__head{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px}.author-profile__eyebrow,.post-subscribe__eyebrow,.series-nav__eyebrow{color:var(--color-text-acc);flex-basis:100%;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.series-nav__title{flex:1 1 auto;font-size:clamp(1.1rem,1rem + .6vw,1.35rem);line-height:1.3;margin:0}.series-nav__title a{color:var(--color-text);text-decoration:none}.series-nav__title a:hover{color:var(--cdy-accent-text);text-decoration:underline}.series-nav__status{color:var(--color-text-acc);font-size:.85rem;font-weight:600;margin:0;white-space:nowrap}.series-nav__progress{background:color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:999px;height:6px;margin:14px 0 18px;overflow:hidden}.series-nav__bar{background:linear-gradient(90deg,var(--ghost-accent-color),#ff7a3d);border-radius:inherit;display:block;height:100%;transition:width .6s ease;width:0}.series-nav__pn{display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:16px}@media (min-width:37.5em){.series-nav__pn{grid-template-columns:1fr 1fr}}.series-nav__card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);display:flex;flex-direction:column;gap:4px;min-height:100%;padding:14px 16px;text-decoration:none;transition:border-color .15s ease,transform .15s ease}a.series-nav__card:hover{border-color:var(--ghost-accent-color);transform:translateY(-2px)}.series-nav__card--next{text-align:right}@media (min-width:37.5em){.series-nav__card--next:only-child{grid-column:2}}.series-nav__dir{color:var(--cdy-accent-text);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.series-nav__card-title{font-weight:700;line-height:1.35}.series-nav__card--soon{border-style:dashed}.series-nav__card--soon .series-nav__card-title{font-weight:600}.series-nav__card--soon a{color:var(--cdy-accent-text);font-weight:700}.series-nav .series-nav__all{background:none;border:0;border-radius:0;box-shadow:none;margin:0}.series-nav .series-nav__all>summary{color:var(--color-text-acc);font-size:.9rem;font-weight:600;padding:6px 28px 6px 0}.series-nav .series-nav__all>summary:after{right:4px}.series-nav .series-nav__all[open]>summary{color:var(--cdy-accent-text)}.series-nav .series-nav__all>.series-nav__list{border-top:1px solid var(--color-border);counter-reset:none;list-style:none;margin:8px 0 0;padding:8px 0 0}.series-nav__item{margin:0;padding:0}.series-nav__item:before{display:none!important}.series-nav__item a{border-radius:8px;color:var(--color-text);display:flex;font-size:.95rem;gap:12px;line-height:1.4;padding:8px 10px;text-decoration:none}.series-nav__item a:hover{background:var(--color-bg)}.series-nav__num{color:var(--color-text-acc);flex:0 0 2ch;font-weight:700;text-align:right}.series-nav__item.is-current a{background:color-mix(in srgb,var(--ghost-accent-color) 14%,transparent);font-weight:700}.series-nav__item.is-current .series-nav__num{color:var(--cdy-accent-text)}.post-subscribe{background:radial-gradient(120% 140% at 100% 0,color-mix(in srgb,var(--ghost-accent-color) 12%,transparent) 0,transparent 55%),var(--color-bg-acc);border:1px solid var(--color-border);box-shadow:var(--cdy-shadow);margin:0 auto var(--gap-lg,2.5rem);padding:clamp(22px,4vw,36px);text-align:center;width:100%}.post-subscribe__title{text-wrap:balance;font-size:clamp(1.2rem,1.05rem + .8vw,1.55rem);line-height:1.25;margin:6px 0 8px}.post-subscribe__text{color:var(--color-text-acc);font-size:.98rem;line-height:1.6;margin:0 auto 18px;max-width:50ch}.post-subscribe .subscribe-form{margin-inline:auto;max-width:460px}body:has(.post-subscribe) .footer .subscribe-form{display:none}.author-profile.mini .author-profile__eyebrow{margin-bottom:-.25rem}.content h2[id],.content h3[id]{scroll-margin-top:calc(var(--global-header-height) + 1rem)}.heading-anchor{border:0!important;color:var(--color-text-acc)!important;font-weight:400;margin-left:.35em;opacity:0;text-decoration:none!important;transition:opacity .15s ease}.content h2:hover .heading-anchor,.content h3:hover .heading-anchor,.heading-anchor:focus-visible{opacity:.7}.toc{background:var(--color-bg-acc);border:1px solid var(--color-border);border-radius:var(--cdy-radius);font-size:.92rem;margin:0 auto 2rem;max-width:var(--cdy-read-width);width:100%}.toc>summary{color:var(--color-text);cursor:pointer;font-weight:700;padding:12px 16px}.toc__list{list-style:none;margin:0;padding:0 16px 14px}.toc__list li{margin:0;padding:0}.toc__list li:before{display:none!important}.toc__list a{border-left:2px solid var(--color-border);color:var(--color-text-acc);display:block;line-height:1.4;padding:5px 0 5px 12px;text-decoration:none}.toc__list a.is-active,.toc__list a:hover{color:var(--cdy-accent-text)}.toc__list a.is-active{border-left-color:var(--ghost-accent-color);font-weight:600}@media (min-width:90em){.toc.is-floating{background:transparent;border:0;left:calc(50% + 430px + 2.5rem);margin:0;max-height:calc(100vh - var(--global-header-height) - 4rem);opacity:0;overflow:auto;position:fixed;top:calc(var(--global-header-height) + 2rem);transition:opacity .2s ease,visibility .2s ease;visibility:hidden;width:min(240px,calc(50vw - 430px - 4rem));z-index:5}.toc.is-floating.is-visible{opacity:1;visibility:visible}.toc.is-floating>summary{color:var(--color-text-acc);font-size:.72rem;letter-spacing:.08em;list-style:none;padding:0 0 8px 14px;pointer-events:none;text-transform:uppercase}.toc.is-floating>summary::-webkit-details-marker,.toc.is-floating>summary:after{display:none}.toc.is-floating .toc__list{padding:0}}@media print{.heading-anchor,.post-subscribe,.series-nav__pn,.toc{display:none!important}}.err__links{gap:10px;margin-top:1.25rem}.err__links .btn{margin:0}.err__recent{margin-top:2.5rem;text-align:left}.err__recent-title{color:var(--color-text-acc);font-size:.8rem;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.err__recent-list{list-style:none;margin:0;padding:0}.err__recent-list li{border-top:1px solid var(--color-border);padding:10px 0}.err__recent-list a{color:var(--color-text);font-weight:600;text-decoration:none}.err__recent-list a:hover{color:var(--cdy-accent-text)}.post-card__media figure,.series-card__media{border-radius:inherit;overflow:hidden}.post-card__media figure img,.series-card__img{transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .3s ease}.post-card:hover .post-card__media figure img,.series-card:hover .series-card__img{transform:scale(1.045)}.err__links .btn,.subscribe-form .btn--brand,a.btn--brand{transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,filter .2s ease}.err__links .btn:hover,a.btn--brand:hover{box-shadow:0 8px 20px color-mix(in srgb,var(--ghost-accent-color) 35%,transparent);transform:translateY(-1px)}.subscribe-form .btn--brand:hover{filter:brightness(1.06)}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-new(root),::view-transition-old(root){animation-duration:.22s}.hero.is-home .hero__title{animation:cdy-rise .7s cubic-bezier(.2,.7,.2,1) both}.hero.is-home .hero__description,.hero.is-home .hero__secondary,.hero.is-home .hero__stats,.hero.is-home .subscribe-form,.hero.is-home>.hero__content>.btn{animation:cdy-fade-up .7s cubic-bezier(.2,.7,.2,1) both}.hero.is-home .hero__description{animation-delay:.08s}.hero.is-home .subscribe-form,.hero.is-home>.hero__content>.btn{animation-delay:.16s}.hero.is-home .hero__secondary{animation-delay:.24s}.hero.is-home .hero__stats{animation-delay:.32s}.hero.is-home[data-style=image-background] .hero__media img{animation:cdy-settle 1.8s cubic-bezier(.2,.7,.2,1) both}.cdy-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--cdy-delay,0s)}.cdy-reveal.is-in{opacity:1;transform:none}}@keyframes cdy-rise{0%{transform:translateY(10px)}to{transform:none}}@keyframes cdy-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes cdy-settle{0%{transform:scale(1.06)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.err__links .btn:hover,.post-card:hover .post-card__media figure img,.series-card:hover .series-card__img,a.btn--brand:hover,a.series-nav__card:hover{transform:none}.series-nav__bar{transition:none}}@media print{.cdy-reveal{opacity:1!important;transform:none!important}}.home-newsletter .subscribe-form input[type=email],.post-subscribe .subscribe-form input[type=email]{border-radius:8px 8px 0 0;padding-inline:14px}.series-top{--st-track:color-mix(in srgb,var(--color-text) 12%,transparent);--st-gap:4px;background:var(--color-bg-acc);border:1px solid var(--color-border);border-radius:var(--cdy-radius);box-shadow:var(--cdy-shadow);isolation:isolate;margin:0 auto 1.75rem;max-width:var(--cdy-read-width);padding:18px 20px 16px;position:relative;width:100%}.series-top:before{background:linear-gradient(90deg,var(--ghost-accent-color),#ff7a3d);border-radius:var(--cdy-radius) var(--cdy-radius) 0 0;content:"";height:3px;left:-1px;position:absolute;right:-1px;top:-1px}.series-top__head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between}.series-top__name{color:var(--color-text);display:flex;flex-direction:column;gap:2px;min-width:0;text-decoration:none}.series-top__eyebrow{color:var(--cdy-accent-text);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.series-top__title{font-family:var(--font-headings);font-size:clamp(1rem,.95rem + .4vw,1.15rem);font-weight:700;line-height:1.3}.series-top__name:hover .series-top__title{text-decoration:underline;text-underline-offset:3px}.series-top__part{color:var(--color-text-acc);font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em;margin:0;white-space:nowrap}.series-top__label{display:none}.series-top__label.is-current{display:inline}.series-top__part:not(:has(.is-current)) .series-top__label--all{display:inline}.series-top__steps{--st-dot:12px;align-items:center;display:grid;grid-template-columns:repeat(var(--total),minmax(0,1fr));height:22px;list-style:none;margin:12px 0 14px;padding:0;position:relative}.series-top__steps:before{background:repeating-linear-gradient(90deg,var(--st-track) 0 6px,transparent 6px 11px);content:"";height:2px;left:calc(50%/var(--total));position:absolute;right:calc(50%/var(--total));top:50%;transform:translateY(-50%);z-index:-1}.series-top__step{align-items:center;display:flex;height:100%;justify-content:center;margin:0;padding:0;position:relative}.series-top__step:before{display:none!important}.series-top__step+.series-top__step:after{background:color-mix(in srgb,var(--ghost-accent-color) 35%,var(--color-bg-acc));content:"";height:2px;position:absolute;right:50%;top:50%;transform:translateY(-50%);width:100%;z-index:-1}.series-top__step.is-current:after,.series-top__step:has(~.is-current)+.series-top__step:after{background:var(--ghost-accent-color)}.series-top__step a{background:var(--color-bg-acc);border:2px solid color-mix(in srgb,var(--ghost-accent-color) 70%,var(--color-bg-acc));border-radius:50%;display:block;flex:0 0 auto;height:var(--st-dot);transition:width .15s ease,height .15s ease,box-shadow .15s ease;width:var(--st-dot)}.series-top__step:has(~.is-current) a{background:var(--ghost-accent-color);border-color:var(--ghost-accent-color)}.series-top__step.is-current a{background:radial-gradient(circle at 35% 35%,#ffb08a,#ff7a3d 60%);border:0;box-shadow:0 0 0 4px color-mix(in srgb,#ff7a3d 22%,transparent);height:calc(var(--st-dot) + 6px);width:calc(var(--st-dot) + 6px)}.series-top__steps:not(:has(.is-current)) a{background:var(--ghost-accent-color);border-color:var(--ghost-accent-color)}@media (max-width:26em){.series-top__steps{--st-dot:10px}}@media (hover:hover){.series-top__step a:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--ghost-accent-color) 25%,transparent);height:calc(var(--st-dot) + 4px);width:calc(var(--st-dot) + 4px)}.series-top__step.is-current a:hover{height:calc(var(--st-dot) + 8px);width:calc(var(--st-dot) + 8px)}.series-top__step a:after{background:var(--color-bg-reverse);border-radius:8px;bottom:calc(100% + 6px);color:var(--color-text-reverse);content:attr(data-tip);font-size:.78rem;font-weight:600;left:50%;line-height:1.35;max-width:min(380px,80vw);opacity:0;overflow:hidden;padding:6px 10px;pointer-events:none;position:absolute;text-overflow:ellipsis;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease;white-space:nowrap;width:max-content;z-index:3}.series-top__step a:hover:after{opacity:1;transform:translate(-50%)}.series-top__step:nth-child(-n+3) a:after{left:0;transform:translateY(4px)}.series-top__step:nth-child(-n+3) a:hover:after{transform:none}.series-top__step:nth-last-child(-n+3):not(:nth-child(-n+3)) a:after{left:auto;right:0;transform:translateY(4px)}.series-top__step:nth-last-child(-n+3):not(:nth-child(-n+3)) a:hover:after{transform:none}}.series-top__pn{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.series-top__pn>li{display:none;margin:0;padding:0}.series-top__pn>li:before{display:none!important}.series-top__pn-item:has(+.is-current){display:block;grid-column:1}.series-top__pn-item.is-current+li{display:block;grid-column:2;text-align:right}.series-top__pn a,.series-top__pn-soon{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);display:flex;flex-direction:column;gap:3px;height:100%;padding:9px 12px;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.series-top__pn-soon{border-style:dashed}.series-top__pn-item.is-current+.series-top__pn-soon{display:flex}.series-top__pn a:hover{border-color:var(--ghost-accent-color);transform:translateY(-1px)}.series-top__dir{color:var(--cdy-accent-text);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.series-top__dir-next,.series-top__pn-item.is-current+li .series-top__dir-prev{display:none}.series-top__pn-item.is-current+li .series-top__dir-next{display:inline}.series-top__pn-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.88rem;font-weight:600;line-height:1.35;overflow:hidden}.series-top__pn-soon .series-top__pn-title{color:var(--color-text-acc);font-weight:500}@media (max-width:26em){.series-top{padding:16px 14px 14px}.series-top__pn{gap:8px}.series-top__pn a,.series-top__pn-soon{padding:8px 10px}.series-top__pn-title{font-size:.82rem}}@media (prefers-reduced-motion:no-preference){.series-top__step a{animation:cdy-station .4s cubic-bezier(.3,1.4,.5,1) both;animation-delay:calc(var(--i, 0)*50ms + .1s)}.series-top__step.is-current a{animation:cdy-station .4s cubic-bezier(.3,1.4,.5,1) both,cdy-pulse 2.4s ease-out 1s infinite;animation-delay:calc(var(--i, 0)*50ms + .1s),1.2s}}@keyframes cdy-station{0%{transform:scale(0)}to{transform:none}}@keyframes cdy-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,#ff7a3d 45%,transparent)}70%{box-shadow:0 0 0 10px rgba(255,122,61,0)}to{box-shadow:0 0 0 4px color-mix(in srgb,#ff7a3d 22%,transparent)}}@media (prefers-reduced-motion:reduce){.series-top__pn a:hover{transform:none}}@media print{.series-top{display:none!important}}.series-banner{display:none!important}.series-crumbs{align-items:center;color:var(--color-text-acc);display:flex;flex-wrap:wrap;font-size:.85rem;font-weight:600;gap:4px 8px;margin:1.5rem auto -1rem;max-width:var(--global-wide-width)}.series-crumbs a{color:var(--color-text-acc);text-decoration:none}.series-crumbs a:hover{color:var(--cdy-accent-text);text-decoration:underline}.series-crumbs>span[aria-hidden]{opacity:.5}.series-crumbs [aria-current]{color:var(--color-text);max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-hub{align-items:center;background:var(--color-bg-acc);border:1px solid var(--color-border);border-radius:var(--cdy-radius);box-shadow:var(--cdy-shadow);display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;margin:-1rem auto 3rem;max-width:var(--global-wide-width);padding:16px 20px}.series-hub__meta{color:var(--color-text-acc);display:flex;flex-wrap:wrap;font-size:.85rem;font-weight:600;gap:4px 0}.series-hub__meta>span:not([hidden])~span:not([hidden]):before{content:"·";margin:0 .6em;opacity:.7}.series-hub__actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px 18px}.series-hub__start{font-weight:700}.series-hub__latest{color:var(--color-text);display:flex;flex-direction:column;gap:1px;max-width:34ch;text-decoration:none}.series-hub__latest-label{color:var(--cdy-accent-text);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.series-hub__latest-title{font-size:.9rem;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-hub__latest:hover .series-hub__latest-title{text-decoration:underline}@media (max-width:37.5em){.series-hub{margin-top:-.5rem;padding:14px 16px}.series-hub__actions{width:100%}.series-hub__start{justify-content:center;text-align:center;width:100%}.series-hub__latest{max-width:100%}}.content .code-block__bar{align-items:center;background:#141833;border-bottom:1px solid var(--color-border);border:1px solid var(--color-border);border-bottom:1px solid rgba(232,234,240,.08);border-radius:8px 8px 0 0;display:flex;gap:12px;justify-content:space-between;min-height:38px;padding:0 8px 0 14px}html[data-color-scheme=dark] .content .code-block__bar{background:#151a36}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content .code-block__bar{background:#151a36}}.content .code-block__lang{color:#9aa3c7;font:700 .7rem/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}.content .code-block.has-bar>pre{border-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.content .code-block__bar .code-copy{background:transparent;border-color:rgba(232,234,240,.16);height:28px;opacity:1;position:static}.content .code-block__bar .code-copy:hover{background:rgba(0,217,255,.08)}@media (max-width:767px){.content .code-block__bar{border-radius:6px 6px 0 0;min-height:34px;padding:0 6px 0 12px}.content .code-block__bar .code-copy{height:26px}}.header-scheme-toggle{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;width:40px}.header-scheme-toggle .scheme-icon{transition:transform .3s ease}.header-scheme-toggle:hover .scheme-icon{transform:rotate(-18deg)}.scheme-icon--sun,html[data-color-scheme=dark] .scheme-icon--moon{display:none}html[data-color-scheme=dark] .scheme-icon--sun{display:block}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .scheme-icon--moon{display:none}html[data-color-scheme=system] .scheme-icon--sun{display:block}}@media (max-width:380px){.header-scheme-toggle{width:34px}}.post-hero__img{aspect-ratio:auto 16/9;object-fit:cover}.progress-bar{background:linear-gradient(90deg,var(--ghost-accent-color),#ff7a3d);height:4px}.progress-bar:after{display:none}::selection{background:color-mix(in srgb,var(--ghost-accent-color) 30%,transparent)}@media (hover:hover) and (pointer:fine){.home-newsletter__box,.post-subscribe,.series-card,.series-nav__card,.start-topic{position:relative}.home-newsletter__box:after,.post-subscribe:after,.series-card:after,.series-nav__card:after,.start-topic:after{background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--ghost-accent-color) 11%,transparent),transparent 65%);border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease;z-index:0}.home-newsletter__box:hover:after,.post-subscribe:hover:after,.series-card:hover:after,.series-nav__card:hover:after,.start-topic:hover:after{opacity:1}.home-newsletter__box>*,.post-subscribe>*,.series-card>*,.series-nav__card>*,.start-topic>*{position:relative;z-index:1}}.hero.is-home[data-style=image-background] .hero__media:after{background:radial-gradient(40% 35% at 25% 30%,rgba(0,217,255,.28),transparent 70%),radial-gradient(35% 30% at 78% 65%,rgba(255,122,61,.22),transparent 70%);content:"";inset:-20%;mix-blend-mode:screen;pointer-events:none;position:absolute}@media (prefers-reduced-motion:no-preference){.hero.is-home[data-style=image-background] .hero__media:after{animation:cdy-aurora 22s ease-in-out infinite alternate}}@keyframes cdy-aurora{0%{transform:translate3d(-4%,-2%,0) rotate(0deg) scale(1)}50%{transform:translate3d(5%,3%,0) rotate(8deg) scale(1.08)}to{transform:translate3d(-2%,5%,0) rotate(-6deg) scale(1.02)}}.hero.is-home .hero__title .accent,.hero.is-home .hero__title em{background:linear-gradient(90deg,#5fe6ff,#ffb08a);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}.err__kicker{color:var(--cdy-accent-text);font:700 .78rem/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.12em;margin:0 0 .5rem;text-transform:uppercase}.err__orbit{border:1px dashed color-mix(in srgb,var(--ghost-accent-color) 45%,transparent);border-radius:50%;height:120px;margin:0 auto 1.25rem;position:relative;width:120px}.err__orbit:before{background:radial-gradient(circle at 35% 35%,#5fe6ff,var(--ghost-accent-color) 55%,#00718a);box-shadow:0 0 30px color-mix(in srgb,var(--ghost-accent-color) 40%,transparent);inset:34px}.err__orbit:after,.err__orbit:before{border-radius:50%;content:"";position:absolute}.err__orbit:after{background:#ff7a3d;box-shadow:0 0 12px #ff7a3d;height:10px;left:calc(50% - 5px);top:-5px;transform-origin:5px 65px;width:10px}@media (prefers-reduced-motion:no-preference){.err__orbit:after{animation:cdy-orbit 6s linear infinite}}@keyframes cdy-orbit{to{transform:rotate(1turn)}}.series-hub__start>span{margin-left:.45em}.err{display:grid;max-height:none;place-items:center}.err>*{grid-area:1/1}.err__content{padding:2.5rem 1rem;position:relative;z-index:1}.err svg{height:auto;max-height:100%;max-width:960px;width:100%}.series-card__route{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--color-text) 12%,transparent) 0 calc(100%/var(--total, 1) - 3px),transparent calc(100%/var(--total, 1) - 3px) calc(100%/var(--total, 1)));border-radius:999px;height:6px;margin:2px 0 12px;overflow:hidden;position:relative}.series-card__route-done,.series-card__route-mine{background:color-mix(in srgb,var(--ghost-accent-color) 55%,var(--color-bg-acc));inset:0 auto 0 0;-webkit-mask:repeating-linear-gradient(90deg,#000 0 calc(100%/var(--done, 1) - 3px),transparent calc(100%/var(--done, 1) - 3px) calc(100%/var(--done, 1)));mask:repeating-linear-gradient(90deg,#000 0 calc(100%/var(--done, 1) - 3px),transparent calc(100%/var(--done, 1) - 3px) calc(100%/var(--done, 1)));position:absolute;width:calc(var(--done, 0)/var(--total, 1)*100%)}.series-card__route-mine{background:linear-gradient(90deg,var(--ghost-accent-color),#ff7a3d);display:none;-webkit-mask:repeating-linear-gradient(90deg,#000 0 calc(100%/var(--mine, 1) - 3px),transparent calc(100%/var(--mine, 1) - 3px) calc(100%/var(--mine, 1)));mask:repeating-linear-gradient(90deg,#000 0 calc(100%/var(--mine, 1) - 3px),transparent calc(100%/var(--mine, 1) - 3px) calc(100%/var(--mine, 1)));width:calc(var(--mine, 0)/var(--total, 1)*100%)}.series-card.has-mine .series-card__route-mine{display:block}.series-card__mine{color:var(--cdy-accent-text);font-size:.75rem;font-weight:700;letter-spacing:.03em;margin:-6px 0 10px}@media (prefers-reduced-motion:no-preference){.series-card__route-done,.series-card__route-mine{animation:cdy-route .9s cubic-bezier(.2,.7,.2,1) .2s both;transform-origin:left}}@keyframes cdy-route{0%{transform:scaleX(0)}to{transform:none}}.series-feed--list .series-card__link{color:var(--color-text)}.series-feed--list .series-card__link:hover .series-card__title{color:var(--cdy-accent-text)}@media (min-width:37.5em){.series-feed--list .series-card__link{align-items:stretch;flex-direction:row}.series-feed--list .series-card__media{display:block;flex:0 0 34%;margin:0;max-width:260px;overflow:hidden}.series-feed--list .series-card__img{aspect-ratio:auto;height:100%;min-height:160px;object-fit:cover}}@media (max-width:37.49em){.series-feed--list .series-card__media{display:block}}.series-feed--list .series-card__route{max-width:360px}.series-top__step.is-read:not(.is-current) a{background:var(--ghost-accent-color);border-color:var(--ghost-accent-color);box-shadow:0 0 0 2px var(--color-bg-acc),0 0 0 3px color-mix(in srgb,var(--ghost-accent-color) 55%,transparent)}.series-top__mine{color:var(--cdy-accent-text);display:block;font-size:.72rem;font-weight:700;margin-top:2px;text-align:right}.series-top__mine[hidden]{display:none}.continue-chip{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(15,18,37,.45);border:1px solid hsla(0,0%,100%,.28);border-radius:999px;color:#fff;display:inline-flex;font-size:.85rem;gap:10px;line-height:1.3;margin:1.1rem auto 0;max-width:min(100%,560px);padding:8px 8px 8px 16px;text-align:left}.continue-chip__link{color:inherit!important;display:flex;flex-direction:column;min-width:0;text-decoration:none!important}.continue-chip__label{color:#5fe6ff;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.continue-chip__title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-chip__link:hover .continue-chip__title{text-decoration:underline}.continue-chip__close{background:hsla(0,0%,100%,.12);border:0;border-radius:50%;color:inherit;cursor:pointer;flex:0 0 auto;font-size:1rem;height:28px;line-height:1;padding:0;width:28px}.continue-chip__close:hover{background:hsla(0,0%,100%,.24)}.continue-chip--light{background:var(--color-bg-acc);border-color:var(--color-border);box-shadow:var(--cdy-shadow);color:var(--color-text);display:flex;margin:0 auto 1.5rem;max-width:var(--global-wide-width)}.continue-chip--light .continue-chip__label{color:var(--cdy-accent-text)}.continue-chip--light .continue-chip__close{background:var(--color-bg)}@media (prefers-reduced-motion:no-preference){.continue-chip{animation:cdy-fade-up .6s cubic-bezier(.2,.7,.2,1) .45s both}}.up-next{align-items:center;background:var(--color-bg-acc);border:1px solid var(--color-border);border-radius:14px;bottom:max(16px,env(safe-area-inset-bottom));box-shadow:0 18px 40px rgba(15,18,37,.22);color:var(--color-text);display:flex;gap:12px;left:50%;opacity:0;padding:10px 10px 10px 16px;position:fixed;transform:translate(-50%,calc(100% + 40px));transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease,visibility .35s;visibility:hidden;width:min(560px,calc(100vw - 24px));z-index:60}.up-next:before{background:linear-gradient(90deg,var(--ghost-accent-color),#ff7a3d);border-radius:0 0 3px 3px;content:"";height:3px;left:14px;position:absolute;right:14px;top:-1px}.up-next.is-visible{opacity:1;transform:translate(-50%);visibility:visible}.up-next__link{align-items:center;color:inherit;column-gap:12px;display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr) auto;min-width:0;row-gap:2px;text-decoration:none}.up-next__label,.up-next__title{grid-column:1}.up-next__go{grid-column:2;grid-row:1/3}body[data-menu-open] .up-next{opacity:0;visibility:hidden}.up-next__label{color:var(--cdy-accent-text);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.up-next__title{font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-next__go{align-items:center;background:var(--ghost-accent-color);border-radius:10px;color:#04242b;display:inline-flex;flex:0 0 auto;font-size:1.1rem;font-weight:700;height:40px;justify-content:center;width:40px}.up-next__link:hover .up-next__title{text-decoration:underline}.up-next__close{background:transparent;border:0;border-radius:50%;color:var(--color-text-acc);cursor:pointer;flex:0 0 auto;font-size:1.1rem;height:30px;padding:0;width:30px}.up-next__close:hover{background:var(--color-bg);color:var(--color-text)}@media (prefers-reduced-motion:reduce){.up-next{transform:translate(-50%);transition:opacity .2s ease,visibility .2s}}@media print{.cdy-toast,.continue-chip,.hl-share,.up-next,.zoom{display:none!important}}.series-top__keys{color:var(--color-text-acc);display:none;font-size:.72rem;margin:-6px 0 10px}.series-top__keys kbd{background:var(--color-bg);border:solid var(--color-border);border-radius:5px;border-width:1px 1px 2px;color:var(--color-text);display:inline-block;font:600 .7rem/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;min-width:1.6em;padding:1px 5px;text-align:center}@media (hover:hover) and (pointer:fine) and (min-width:48em){.series-top__keys{display:block;text-align:right}}.post-template article.content img.is-zoomable{cursor:zoom-in}.zoom{align-items:center;background:rgba(8,10,22,.92);cursor:zoom-out;display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;opacity:0;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));position:fixed;transition:opacity .2s ease;z-index:4000}.zoom.is-open{opacity:1}.zoom__img{background:#fff;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);max-height:calc(100vh - 110px);max-width:min(100%,1600px);object-fit:contain;transform:scale(.96);transition:transform .25s cubic-bezier(.2,.8,.2,1)}.zoom.is-open .zoom__img{transform:none}.zoom__caption{color:#e8eaf0;font-size:.9rem;line-height:1.5;max-width:70ch;text-align:center}.zoom__close{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.25);border-radius:50%;color:#fff;cursor:pointer;font-size:1.3rem;height:42px;position:absolute;right:14px;top:max(14px,env(safe-area-inset-top));width:42px}.zoom__close:hover{background:hsla(0,0%,100%,.18)}@media (prefers-reduced-motion:reduce){.zoom,.zoom__img{transition:none}}.hl-share{align-items:center;animation:cdy-pop .15s ease both;background:var(--color-bg-reverse);border:0;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.25);color:var(--color-text-reverse);cursor:pointer;display:inline-flex;font:600 .8rem/1 var(--font-body,system-ui),sans-serif;gap:6px;padding:7px 12px;position:absolute;transform:translate(-50%,-100%);z-index:70}.hl-share:after{background:inherit;border-radius:2px;bottom:-5px;content:"";height:10px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:10px}.cdy-toast{background:var(--color-bg-reverse);border-radius:10px;bottom:24px;box-shadow:0 12px 30px rgba(0,0,0,.25);color:var(--color-text-reverse);font-size:.88rem;font-weight:600;left:50%;opacity:0;padding:10px 16px;pointer-events:none;position:fixed;transform:translate(-50%,20px);transition:transform .25s ease,opacity .25s ease;z-index:4100}.cdy-toast.is-visible{opacity:1;transform:translate(-50%)}.post-card__new{align-items:center;background:linear-gradient(90deg,var(--ghost-accent-color),#ff7a3d);border-radius:999px;color:#04242b;display:inline-flex;font-size:.68rem;font-weight:800;letter-spacing:.06em;line-height:1.7;padding:1px 8px;text-transform:uppercase}.toc__left{color:var(--color-text-acc);font-weight:600}.toc>summary .toc__left:before{content:" · "}.toc.is-floating>summary .toc__left{display:block;font-size:.78rem;letter-spacing:0;margin-top:4px;text-transform:none}.toc.is-floating>summary .toc__left:before{content:none}.series-hub__mine{color:var(--cdy-accent-text)}.post-template article.content .mermaid[data-processed=true]{cursor:zoom-in}.zoom__img--svg{background:#fff;height:auto;padding:16px;width:min(100%,1400px)}.zoom-btn{align-items:center;background:var(--color-bg-acc);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-acc);cursor:pointer;display:flex;font:600 .75rem/1 var(--font-body,system-ui),sans-serif;gap:6px;margin:8px 0 1.5rem auto;padding:5px 10px}.zoom-btn:hover{border-color:var(--ghost-accent-color);color:var(--cdy-accent-text)}.content .mermaid[data-processed=true]{background:#fff;border:1px solid var(--color-border);border-radius:var(--cdy-radius);box-shadow:var(--cdy-shadow);padding:18px}html[data-color-scheme=dark] .content .mermaid[data-processed=true]{background:#f5f7fa;border-color:transparent}@media (prefers-color-scheme:dark){html[data-color-scheme=system] .content .mermaid[data-processed=true]{background:#f5f7fa;border-color:transparent}}html.cdy-vt-theme::view-transition-new(root),html.cdy-vt-theme::view-transition-old(root){animation:none;mix-blend-mode:normal}html.cdy-vt-theme::view-transition-new(root){z-index:2}.kbd-help{align-items:center;animation:cdy-fade .15s ease both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(8,10,22,.55);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:4050}@keyframes cdy-fade{0%{opacity:0}to{opacity:1}}.kbd-help__card{background:var(--color-bg-acc);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.35);color:var(--color-text);padding:22px 22px 18px;width:min(420px,100%)}.kbd-help__title{font-family:var(--font-headings);font-size:1.1rem;font-weight:700;margin:0 0 14px}.kbd-help__list{align-items:center;display:grid;gap:10px 16px;grid-template-columns:auto 1fr;margin:0 0 16px}.kbd-help__list dt{margin:0;white-space:nowrap}.kbd-help__list dd{color:var(--color-text-acc);font-size:.92rem;margin:0}.code-wrap kbd,.kbd-help kbd{border:solid var(--color-border);border-radius:6px;border-width:1px 1px 2px;display:inline-block;font:600 .78rem/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;min-width:1.8em;padding:2px 6px;text-align:center}.code-wrap kbd,.kbd-help kbd,.kbd-help__close{background:var(--color-bg);color:var(--color-text)}.kbd-help__close{align-items:center;border:1px solid var(--color-border);border-radius:999px;cursor:pointer;display:inline-flex;font:600 .82rem/1 var(--font-body,system-ui),sans-serif;gap:8px;margin-left:auto;padding:6px 12px}.kbd-help__card{display:flex;flex-direction:column}.content .code-block__tools{align-items:center;display:inline-flex;gap:6px}.content .code-wrap{background:transparent;border:1px solid rgba(232,234,240,.16);border-radius:6px;color:#e8eaf0;cursor:pointer;font:600 .75rem/1 var(--font-body,system-ui),sans-serif;height:28px;padding:0 10px}.content .code-wrap:hover,.content .code-wrap[aria-pressed=true]{border-color:#00d9ff;color:#00d9ff}.content .code-wrap[hidden]{display:none}.content .code-block.is-wrapped pre code{overflow-wrap:anywhere;white-space:pre-wrap!important;width:auto!important;word-break:break-word}@media (max-width:767px){.content .code-wrap{height:26px;padding:0 8px}}.series-hub__route{align-items:center;display:grid;flex-basis:100%;grid-template-columns:repeat(var(--n,1),minmax(0,1fr));height:22px;isolation:isolate;list-style:none;margin:2px 0 4px;padding:0;position:relative}.series-hub__route:before{background:color-mix(in srgb,var(--ghost-accent-color) 45%,var(--color-bg-acc));content:"";height:2px;left:calc(50%/var(--n, 1));position:absolute;right:calc(50%/var(--n, 1));top:50%;transform:translateY(-50%);z-index:-1}.series-hub__route li{display:flex;justify-content:center;margin:0;padding:0;position:relative}.series-hub__route li:before{display:none!important}.series-hub__route a{background:var(--color-bg-acc);border:2px solid color-mix(in srgb,var(--ghost-accent-color) 70%,var(--color-bg-acc));border-radius:50%;display:block;height:12px;transition:width .15s ease,height .15s ease,box-shadow .15s ease;width:12px}.series-hub__route li.is-read a{background:var(--ghost-accent-color);border-color:var(--ghost-accent-color)}@media (hover:hover){.series-hub__route a:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--ghost-accent-color) 25%,transparent);height:16px;width:16px}.series-hub__route a:after{background:var(--color-bg-reverse);border-radius:8px;bottom:calc(100% + 6px);color:var(--color-text-reverse);content:attr(data-tip);font-size:.78rem;font-weight:600;left:50%;max-width:min(380px,80vw);opacity:0;overflow:hidden;padding:6px 10px;pointer-events:none;position:absolute;text-overflow:ellipsis;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease;white-space:nowrap;width:max-content;z-index:3}.series-hub__route a:hover:after{opacity:1;transform:translate(-50%)}.series-hub__route li:nth-child(-n+2) a:after{left:0;transform:translateY(4px)}.series-hub__route li:nth-child(-n+2) a:hover:after{transform:none}.series-hub__route li:nth-last-child(-n+2):not(:nth-child(-n+2)) a:after{left:auto;right:0;transform:translateY(4px)}.series-hub__route li:nth-last-child(-n+2):not(:nth-child(-n+2)) a:hover:after{transform:none}}@media (prefers-reduced-motion:no-preference){.series-hub__route a{animation:cdy-station .4s cubic-bezier(.3,1.4,.5,1) both;animation-delay:calc(var(--i, 0)*50ms + .1s)}}.link-preview{animation:cdy-preview .16s ease both;background:var(--color-bg-acc);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 18px 40px rgba(15,18,37,.22);color:var(--color-text);overflow:hidden;pointer-events:none;position:absolute;width:320px;z-index:75}@keyframes cdy-preview{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.link-preview__img{aspect-ratio:16/9;background:var(--color-bg);display:block;object-fit:cover;width:100%}.link-preview__body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px}.link-preview__title{font-family:var(--font-headings);font-size:.95rem;font-weight:700;line-height:1.3}.link-preview__text{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text-acc);display:-webkit-box;font-size:.82rem;line-height:1.5;overflow:hidden}.link-preview__meta{color:var(--cdy-accent-text);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@media print{.content .code-wrap,.kbd-help,.link-preview{display:none!important}.content pre code{white-space:pre-wrap!important;word-break:break-word}}html.cdy-vt-theme *,html.cdy-vt-theme :after,html.cdy-vt-theme :before{transition:none!important}.kbd-help__switch{align-items:center;color:var(--color-text-acc);cursor:pointer;display:flex;font-size:.88rem;gap:8px;margin:0 0 14px}.kbd-help__switch input{accent-color:var(--ghost-accent-color);height:16px;width:16px}.footer-kbd{background:none;border:0;color:inherit;cursor:pointer;font:inherit;font-size:inherit;margin-left:12px;opacity:.8;padding:0;text-decoration:underline;text-underline-offset:3px}.footer-kbd:hover{opacity:1}.footer-kbd[hidden],.series-top__step.is-locked:after{display:none}.series-hub__lockdot,.series-top__lockdot{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--color-bg-acc);border:1.5px dashed color-mix(in srgb,var(--color-text) 30%,transparent);border-radius:50%;color:color-mix(in srgb,var(--color-text) 45%,transparent);cursor:not-allowed;display:flex;flex:0 0 auto;height:calc(var(--st-dot, 12px) + 6px);justify-content:center;position:relative;width:calc(var(--st-dot, 12px) + 6px)}.series-hub__lockdot svg,.series-top__lockdot svg{height:9px;width:9px}.series-hub__lockdot{height:18px;width:18px}.series-hub__route li.is-locked{opacity:1}.series-hub__route.has-locked:before{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--color-text) 14%,transparent) 0 6px,transparent 6px 11px)}.series-hub__route.has-locked:after{background:color-mix(in srgb,var(--ghost-accent-color) 45%,var(--color-bg-acc));content:"";height:2px;left:calc(50%/var(--n, 1));position:absolute;top:50%;transform:translateY(-50%);width:calc((var(--pub, 1) - 1)*100%/var(--n, 1));z-index:-1}@media (hover:hover){.series-hub__lockdot:after,.series-top__lockdot:after{background:var(--color-bg-reverse);border-radius:8px;bottom:calc(100% + 6px);color:var(--color-text-reverse);content:attr(data-tip);font-size:.78rem;font-weight:600;left:50%;line-height:1.35;max-width:min(380px,80vw);opacity:0;overflow:hidden;padding:6px 10px;pointer-events:none;position:absolute;text-overflow:ellipsis;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease;white-space:nowrap;width:max-content;z-index:3}.series-hub__lockdot:hover:after,.series-top__lockdot:hover:after{opacity:1;transform:translate(-50%)}.series-hub__route li:nth-last-child(-n+2):not(:nth-child(-n+2)) .series-hub__lockdot:after,.series-top__step:nth-last-child(-n+3):not(:nth-child(-n+3)) .series-top__lockdot:after{left:auto;right:0;transform:translateY(4px)}.series-hub__route li:nth-last-child(-n+2):not(:nth-child(-n+2)) .series-hub__lockdot:hover:after,.series-top__step:nth-last-child(-n+3):not(:nth-child(-n+3)) .series-top__lockdot:hover:after{transform:none}.series-hub__lockdot:hover,.series-top__lockdot:hover{border-color:color-mix(in srgb,var(--color-text) 50%,transparent);color:var(--color-text-acc)}}.series-top__pn-soon{background:repeating-linear-gradient(-45deg,transparent 0 9px,color-mix(in srgb,var(--color-text) 4%,transparent) 9px 18px),var(--color-bg);cursor:not-allowed;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.series-top__pn-soon .series-top__dir{align-items:center;color:var(--color-text-acc);display:inline-flex;gap:6px;justify-content:flex-end}.series-nav__card--soon .series-nav__dir:before,.series-top__lock{background:currentColor;content:"";display:inline-block;height:11px;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5zm-3 8V7a3 3 0 1 1 6 0v3H9z'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5zm-3 8V7a3 3 0 1 1 6 0v3H9z'/%3E%3C/svg%3E") center /contain no-repeat;width:10px}.series-top__pn-soon .series-top__pn-title{color:color-mix(in srgb,var(--color-text) 62%,transparent)}.series-nav__when,.series-top__when{color:var(--cdy-accent-text);font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.01em}.series-nav__when.is-close,.series-top__when.is-close{color:#e4571e}.series-nav__when.is-live,.series-top__when.is-live{color:#1f9d63}html[data-color-scheme=dark] .series-top__when.is-close{color:#ff9a66}.series-top__pn-soon:after{background:linear-gradient(100deg,transparent 35%,color-mix(in srgb,var(--color-text) 7%,transparent) 50%,transparent 65%);content:"";inset:0;pointer-events:none;position:absolute;transform:translateX(-100%)}.series-top__pn-unlocked a{border-color:var(--ghost-accent-color)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ghost-accent-color) 18%,transparent)}.series-nav__card--soon{background:repeating-linear-gradient(-45deg,transparent 0 9px,color-mix(in srgb,var(--color-text) 3.5%,transparent) 9px 18px),var(--color-bg);cursor:default}.series-nav__card--soon .series-nav__dir{align-items:center;display:inline-flex;gap:6px;justify-content:flex-end}.series-nav__card--soon .series-nav__dir:before{height:11px;width:10px}.series-nav__card--soon .launchpad__cal{align-self:flex-end;margin-top:4px}.series-nav__card--soon .launchpad__cal-menu{left:auto;right:0}.series-nav__card.is-unlocked{border-color:var(--ghost-accent-color)}.series-hub__next{color:var(--cdy-accent-text)}.series-card__next{align-items:center;border:1px dashed color-mix(in srgb,var(--color-text) 25%,transparent);border-radius:99px;color:var(--color-text-acc);display:inline-flex;font-size:.72rem;font-weight:700;padding:2px 8px;white-space:nowrap}@media (prefers-reduced-motion:no-preference){.is-shake{animation:cdy-shake .5s cubic-bezier(.36,.07,.19,.97) both}}@keyframes cdy-shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-3px)}40%,60%{transform:translateX(3px)}}@media (prefers-reduced-motion:no-preference){.series-hub__route li.is-locked .series-hub__lockdot,.series-top__step.is-locked .series-top__lockdot{animation:cdy-station .4s cubic-bezier(.3,1.4,.5,1) both;animation-delay:calc(var(--i, 0)*50ms + .1s)}.series-hub__route li.is-fresh a,.series-top__step.is-fresh:not(.is-current) a{animation:cdy-unlock 1.3s cubic-bezier(.3,1.4,.5,1) .6s both}.series-top__pn-soon:after{animation:cdy-glint 4.5s ease-in-out 1.5s infinite}.series-top__pn-unlocked a{animation:cdy-pop .6s cubic-bezier(.3,1.5,.5,1) both}}@keyframes cdy-unlock{0%{box-shadow:0 0 0 0 rgba(255,122,61,.75);transform:scale(.4)}45%{transform:scale(1.45)}to{box-shadow:0 0 0 16px rgba(255,122,61,0);transform:none}}@keyframes cdy-glint{0%{transform:translateX(-100%)}35%,to{transform:translateX(100%)}}@keyframes cdy-pop{0%{transform:scale(.94)}60%{transform:scale(1.03)}to{transform:none}}.launchpad{margin-bottom:44px;margin-top:4px}.launchpad[hidden]{display:none!important}.launchpad--compact{margin:36px 0 8px}.launchpad--premiere{margin:4px 0 32px}html:has(meta[name=cdy-launch-feed]) .launchpad--home[hidden]{display:block!important}html:has(meta[name=cdy-launch-feed]) .launchpad--home[hidden]:before{background:radial-gradient(120% 140% at 100% 0,#1b2350 0,transparent 55%),#0a0f1f;border-radius:22px;content:"";display:block;min-height:var(--lp-h);opacity:.9}.launchpad--home{--lp-h:432px}@media (max-width:1023px){.launchpad--home{--lp-h:450px}}@media (max-width:760px){.launchpad--home{--lp-h:575px}}@media (max-width:600px){.launchpad--home{--lp-h:605px}}.launchpad__panel{--lp-ink:#eef1ff;--lp-dim:#aeb6da;--lp-hot:#ff7a3d;--lp-cyan:#3fe0ff;align-items:center;background:radial-gradient(120% 140% at 100% 0,#1b2350 0,transparent 55%),radial-gradient(90% 120% at 0 100%,#2b1633 0,transparent 60%),#0a0f1f;border:1px solid hsla(0,0%,100%,.08);border-radius:22px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 22px 50px -26px rgba(10,15,31,.6);color:var(--lp-ink);display:grid;gap:18px 36px;grid-template-areas:"info clock" "man man";grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);isolation:isolate;min-height:var(--lp-h,0);overflow:hidden;padding:28px 34px;position:relative}.launchpad__stars{background-image:radial-gradient(1px 1px at 12px 18px,#fff 50%,transparent 52%),radial-gradient(1px 1px at 70px 64px,#cfe8ff 50%,transparent 52%),radial-gradient(1.5px 1.5px at 130px 30px,#fff 50%,transparent 52%),radial-gradient(1px 1px at 170px 96px,#ffd9c4 50%,transparent 52%),radial-gradient(1px 1px at 40px 110px,#fff 50%,transparent 52%);background-size:200px 130px;inset:-40px;opacity:.38;position:absolute;z-index:-1}.launchpad__img{height:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 65%);mask-image:linear-gradient(90deg,transparent,#000 65%);object-fit:cover;opacity:.2;position:absolute;right:0;top:0;width:58%;z-index:-2}.launchpad__info{grid-area:info;min-width:0}.launchpad__kicker{align-items:center;color:var(--lp-cyan);display:flex;flex-wrap:wrap;font:700 .7rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;gap:8px;letter-spacing:.16em;margin:0 0 12px;text-transform:uppercase}.launchpad__beacon{background:var(--lp-hot);border-radius:50%;box-shadow:0 0 0 0 rgba(255,122,61,.6);height:8px;width:8px}.launchpad__pill{border:1px solid hsla(0,0%,100%,.25);border-radius:99px;color:var(--lp-dim);letter-spacing:.06em;padding:3px 7px}.launchpad__mission{color:var(--lp-dim);font-size:.84rem;font-weight:600;margin:0 0 6px}.content .launchpad__title,.launchpad__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-family:var(--font-headings,inherit);font-size:clamp(1.4rem,1.05rem + 1.3vw,2.05rem);font-weight:800;letter-spacing:-.015em;line-height:1.15;margin:0 0 8px;overflow:hidden}.launchpad__title a{color:inherit;text-decoration:underline;text-decoration-color:var(--lp-hot);text-underline-offset:4px}.launchpad__excerpt{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--lp-dim);display:-webkit-box;font-size:.93rem;line-height:1.5;margin:0 0 18px;max-width:56ch;overflow:hidden}.launchpad__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:14px}.launchpad__btn{align-items:center;border:1px solid transparent;border-radius:10px;cursor:pointer;display:inline-flex;font:inherit;font-size:.88rem;font-weight:700;gap:8px;height:40px;line-height:1;padding:0 16px;text-decoration:none!important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease;white-space:nowrap}.launchpad__btn--primary{background:linear-gradient(135deg,#ff9056,#ff5f2e);box-shadow:0 10px 24px -12px rgba(255,95,46,.9);color:#1c0b02!important}.launchpad__btn--primary:hover{box-shadow:0 14px 28px -12px #ff5f2e;transform:translateY(-1px)}.launchpad__btn--ghost{background:transparent;border-color:color-mix(in srgb,currentColor 32%,transparent);color:inherit}.launchpad__btn--ghost:hover{border-color:currentColor}.launchpad__btn:focus-visible{outline:2px solid var(--lp-cyan,var(--ghost-accent-color));outline-offset:2px}.launchpad__chip{color:#8ff0c0;font-size:.88rem;font-weight:700}.launchpad__link{color:var(--lp-dim)!important;font-size:.85rem;font-weight:600;text-decoration:none}.launchpad__link:hover{color:#fff!important;text-decoration:underline}.launchpad__cal{position:relative}.launchpad__cal-menu{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 18px 40px -14px rgba(0,0,0,.45);color:var(--color-text);left:0;min-width:220px;padding:6px;position:absolute;text-align:left;top:calc(100% + 6px);z-index:20}.launchpad__cal-menu[hidden]{display:none}.launchpad__cal-menu a{border-radius:8px;color:inherit!important;display:block;font-size:.88rem;font-weight:600;padding:9px 10px;text-decoration:none!important}.launchpad__cal-menu a:focus-visible,.launchpad__cal-menu a:hover{background:var(--color-bg-acc)}.launchpad__panel .launchpad__cal-menu{bottom:calc(100% + 6px);top:auto}.launchpad__clock{grid-area:clock;min-width:0;position:relative;text-align:center}.launchpad__tminus{color:var(--lp-dim);font:700 .7rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.32em;margin:0 0 12px;text-transform:uppercase}.launchpad__digits{display:flex;gap:10px;justify-content:center}.launchpad__unit{align-items:center;display:flex;flex-direction:column;gap:7px}.launchpad__num{background:linear-gradient(180deg,#1d2548 0 49.6%,#161c38 50.4% 100%);border-radius:11px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.08),0 12px 20px -14px #000;color:#fff;display:block;font:700 clamp(1.75rem,1.2rem + 1.9vw,2.75rem)/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;min-width:2.25ch;padding:11px 9px;position:relative}.launchpad__num:after{background:rgba(0,0,0,.5);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.launchpad__lab{color:var(--lp-dim);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.launchpad__fuel{background:hsla(0,0%,100%,.09);border-radius:99px;height:6px;margin:18px auto 12px;max-width:330px;overflow:hidden}.launchpad__fuel span{background:linear-gradient(90deg,var(--lp-cyan),#9b7bff,var(--lp-hot));background-size:200% 100%;display:block;height:100%;transform:scaleX(.02);transform-origin:left}.launchpad__when{color:var(--lp-dim);font-size:.8rem;margin:0}.launchpad__when time{color:#fff;font-weight:700}.launchpad__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.launchpad__manifest{border-top:1px dashed hsla(0,0%,100%,.14);grid-area:man;padding-top:14px}.launchpad__manifest-title{color:var(--lp-dim);font:700 .66rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.16em;margin:0 0 10px;text-transform:uppercase}.launchpad__manifest ol{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}.launchpad__manifest li{background:hsla(0,0%,100%,.035);border:1px solid hsla(0,0%,100%,.07);border-radius:10px;display:flex;flex-direction:column;gap:3px;margin:0;min-width:0;padding:10px 12px}.launchpad__manifest li:before{display:none!important}.launchpad__m-date{color:var(--lp-cyan);font:700 .7rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.launchpad__m-title{color:#fff;font-size:.86rem;font-weight:700}.launchpad__m-series,.launchpad__m-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launchpad__m-series{color:var(--lp-dim);font-size:.72rem}.launchpad__rocket{bottom:-70px;opacity:0;pointer-events:none;position:absolute;right:16%;z-index:2}.launchpad__flame{background:radial-gradient(circle at 50% 20%,#ffe8a3,#ff7a3d 55%,transparent 70%);border-radius:50% 50% 50% 50%/30% 30% 70% 70%;height:26px;left:50%;margin-left:-6px;position:absolute;top:40px;width:12px}.launchpad__burst{left:50%;pointer-events:none;position:absolute;top:45%;z-index:3}.launchpad__burst i{background:var(--lp-hot);border-radius:2px;height:7px;opacity:0;position:absolute;width:7px}.launchpad__burst i:nth-child(3n){background:var(--lp-cyan)}.launchpad__burst i:nth-child(3n+1){background:#ffd66b}.launchpad.is-final .launchpad__num{color:var(--lp-hot);text-shadow:0 0 18px rgba(255,122,61,.55)}.launchpad.is-live .launchpad__beacon{background:#3ddc97}.launchpad.is-live .launchpad__kicker{color:#8ff0c0}.launchpad.is-delayed .launchpad__num{opacity:.45}.launchpad.is-live .launchpad__fuel span{transform:none!important}@media (min-width:761px) and (max-width:1023px){.launchpad__panel{gap:18px 24px;padding:26px}.launchpad__digits{gap:8px}}.launchpad--compact .launchpad__panel{border-radius:16px;gap:14px 24px;grid-template-areas:"info clock";grid-template-columns:minmax(0,1fr) auto;padding:20px 22px}.launchpad--compact .launchpad__title{-webkit-line-clamp:2;font-size:1.15rem}.launchpad--compact .launchpad__kicker{margin-bottom:8px}.launchpad--compact .launchpad__actions{margin-top:10px}.launchpad--compact .launchpad__btn{font-size:.82rem;height:36px;padding:0 13px}.launchpad--compact .launchpad__num{border-radius:9px;font-size:1.45rem;padding:8px 6px}.launchpad--compact .launchpad__digits{gap:6px}.launchpad--compact .launchpad__fuel{margin:12px auto 8px}.launchpad--compact .launchpad__when{font-size:.74rem}@media (max-width:760px){.launchpad__panel{gap:22px;grid-template-areas:"info" "clock" "man";grid-template-columns:minmax(0,1fr);padding:24px 22px}.launchpad__clock{text-align:left}.launchpad__digits{justify-content:flex-start}.launchpad__fuel{margin-left:0}.launchpad__rocket{right:12%}.launchpad__img{height:55%;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent);opacity:.16;width:100%}}@media (max-width:600px){.launchpad{margin-bottom:32px}.launchpad__panel{border-radius:18px;padding:22px 18px}.launchpad__digits{gap:7px}.launchpad__manifest ol{gap:6px;grid-template-columns:minmax(0,1fr)}.launchpad__manifest li{align-items:baseline;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:8px 10px}.launchpad__m-series,.launchpad__manifest li:nth-child(n+3){display:none}.launchpad--compact .launchpad__panel{grid-template-areas:"info" "clock";grid-template-columns:minmax(0,1fr)}.launchpad__actions .launchpad__link{flex-basis:100%}}@media (prefers-reduced-motion:no-preference){.launchpad.is-ready .launchpad__panel{animation:cdy-lp-in .6s cubic-bezier(.2,.8,.2,1) both}.launchpad__stars{animation:cdy-drift 90s linear infinite}.launchpad__beacon{animation:cdy-beacon 1.8s ease-out infinite}.launchpad.is-soon .launchpad__beacon{animation-duration:.9s}.launchpad__unit.is-tick .launchpad__num{animation:cdy-flip .42s cubic-bezier(.3,1.3,.5,1)}.launchpad__fuel span{animation:cdy-fuel 3s linear infinite}.launchpad.is-final .launchpad__unit--s .launchpad__num{animation:cdy-flip .42s cubic-bezier(.3,1.3,.5,1),cdy-glow 1s ease-in-out infinite}.launchpad.is-liftoff .launchpad__digits{animation:cdy-rumble .11s linear 10}.launchpad.is-liftoff .launchpad__rocket{animation:cdy-liftoff 2.6s cubic-bezier(.55,0,.8,.2) .5s forwards}.launchpad.is-liftoff .launchpad__flame{animation:cdy-flame .12s linear infinite alternate}.launchpad__burst i{animation:cdy-burst 1s cubic-bezier(.2,.8,.3,1) forwards;transform:rotate(var(--a))}}@media (prefers-reduced-motion:reduce){.launchpad.is-live .launchpad__burst{display:none}}@keyframes cdy-lp-in{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes cdy-drift{0%{transform:translateZ(0)}to{transform:translate3d(-200px,40px,0)}}@keyframes cdy-beacon{0%{box-shadow:0 0 0 0 rgba(255,122,61,.65)}70%{box-shadow:0 0 0 9px rgba(255,122,61,0)}to{box-shadow:0 0 0 0 rgba(255,122,61,0)}}@keyframes cdy-flip{0%{opacity:.35;transform:perspective(320px) rotateX(-75deg)}to{opacity:1;transform:none}}@keyframes cdy-fuel{0%{background-position:0 0}to{background-position:-200% 0}}@keyframes cdy-glow{50%{text-shadow:0 0 26px rgba(255,122,61,.95)}}@keyframes cdy-rumble{25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}}@keyframes cdy-liftoff{0%{opacity:1;transform:translateY(0)}15%{transform:translateY(-20px)}to{opacity:1;transform:translateY(-640px)}}@keyframes cdy-flame{0%{opacity:.85;transform:scaleY(.85)}to{opacity:1;transform:scaleY(1.25)}}@keyframes cdy-burst{0%{opacity:1;transform:rotate(var(--a)) translateX(0) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) scale(.4)}}@media print{.launchpad,.series-hub__lockdot,.series-top__lockdot{display:none!important}}.series-top__pn>.series-top__pn-item.is-current:first-child+li{grid-column:1/-1}.launchpad--premiere-kind .launchpad__panel{--lp-kind:#ffd66b}.launchpad--episode .launchpad__panel{--lp-kind:#3fe0ff}.launchpad--finale .launchpad__panel{--lp-kind:#ff8a7a}.launchpad--standalone .launchpad__panel{--lp-kind:#b9a4ff}.launchpad__panel .launchpad__kicker{color:var(--lp-kind,var(--lp-cyan))}.launchpad__panel .launchpad__beacon{background:var(--lp-kind,var(--lp-hot))}.launchpad--premiere-kind .launchpad__panel{border-color:rgba(255,214,107,.22)}.launchpad--finale .launchpad__panel{border-color:hsla(7,100%,74%,.22)}.launchpad__route{display:flex;gap:5px;list-style:none;margin:2px 0 12px;padding:0}.launchpad__route li{background:hsla(0,0%,100%,.14);border-radius:99px;height:5px;margin:0;padding:0;width:18px}.launchpad__route li:before{display:none!important}.launchpad__route li.is-out{background:color-mix(in srgb,var(--lp-kind,var(--lp-cyan)) 55%,transparent)}.launchpad__route li.is-next{background:var(--lp-kind,var(--lp-cyan));box-shadow:0 0 10px color-mix(in srgb,var(--lp-kind,var(--lp-cyan)) 70%,transparent)}.launchpad--compact .launchpad__route{margin-bottom:8px}@media (max-width:600px){.launchpad__route li{width:12px}}@media (prefers-reduced-motion:no-preference){.launchpad__route li.is-next{animation:cdy-route-next 1.6s ease-in-out infinite}}@keyframes cdy-route-next{50%{opacity:.45}}h2.section-heading{color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0;text-transform:inherit}.author-profile__social>li.author-profile__more{align-items:center;display:inline-flex;gap:0;list-style:none;margin:0;padding:0}.author-profile__social>li.author-profile__more:before{display:none!important}.series-episode__body{display:block;min-width:0}.footer-kbd{opacity:1}details.cds-toggle{background:var(--color-bg-acc);border:var(--border-width) solid var(--color-border);border-radius:var(--global-radius);margin:var(--gap) 0;padding:var(--gap-sm) var(--gap)}details.cds-toggle>summary{align-items:center;cursor:pointer;display:flex;font-size:calc(1.1rem + .1vw);font-weight:var(--font-weight-semi-bold);gap:var(--gap-sm);justify-content:space-between;list-style:none}details.cds-toggle>summary::-webkit-details-marker{display:none}details.cds-toggle>summary:after{border-bottom:2px solid;border-right:2px solid;content:"";flex:0 0 auto;height:.6em;opacity:.7;transform:rotate(45deg);transition:transform var(--transition-200);width:.6em}details.cds-toggle[open]>summary:after{transform:rotate(-135deg)}details.cds-toggle .cds-toggle-content{padding-top:var(--gap-sm)}details.cds-toggle .cds-toggle-content>:first-child{margin-top:0}.series-episodes__head{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--gap-sm);justify-content:space-between}.series-episodes__total{color:var(--color-text-acc);font-weight:var(--font-weight-semi-bold);white-space:nowrap}h3.start-topic__name{margin:0}.recommendation-title{font-size:1.25rem;line-height:1.3}.menu{transition:transform var(--transition-duration) cubic-bezier(.785,.135,.15,.86),opacity var(--transition-duration) cubic-bezier(.86,0,.07,1),z-index var(--transition-duration) step-end,visibility var(--transition-duration) step-end}body:not([data-menu-open]) .menu{visibility:hidden}body[data-menu-open] .menu{transition:transform var(--transition-duration) cubic-bezier(.785,.135,.15,.86),opacity var(--transition-duration) cubic-bezier(.86,0,.07,1),z-index var(--transition-duration) step-start,visibility 0s step-start;visibility:visible}.content [data-scroll-stop]:focus-visible{outline:2px solid var(--cdy-accent-text,#00d9ff);outline-offset:2px}.menu{bottom:0;height:100vh;height:100dvh;position:fixed;top:0}.menu,body[data-menu-open]{max-height:none}html:has(>body[data-menu-open]){overflow:hidden}body[data-menu-open] .menu{overflow-y:auto;overscroll-behavior:contain}.footer-kbd,.launchpad__link,.post-tag,.start-topic__all,.start-topic__link{min-height:24px}.launchpad__link,.start-topic__all{align-items:center;display:inline-flex}.footer .nav a{padding-block:3px}.footer-copy a,.post-authors-names a,.series-crumbs a,.series-nav__title a{padding-block:4px}.post-card__title a{padding-block:1px}.err__recent-list a{display:block;margin:-10px 0;padding:10px 0}.heading-anchor{display:inline-block;margin-left:.2em;min-width:24px;text-align:center}@media (hover:none){.heading-anchor{display:none}}.series-badge{font-size:.75rem}.continue-chip__label,.post-card__new,.series-top__dir,.up-next__label{font-size:.72rem}.launchpad__lab{font-size:.7rem;letter-spacing:.14em}@media (scripting:none){html:has(meta[name=cdy-launch-feed]) .launchpad--home[hidden]{display:none!important}img.lazyload{opacity:1}}.header .nav li.cdy-sub-closed>.submenu,.header .nav li.cdy-sub-closed>a+.nav{opacity:0!important;transform:translateY(-10px)!important;visibility:hidden!important}.launchpad:not(.launchpad--compact) .launchpad__clock{container-type:inline-size}@media (max-width:760px){.launchpad--compact .launchpad__clock{container-type:inline-size}}.launchpad__num{font-size:min(clamp(1.75rem,1.2rem + 1.9vw,2.75rem),calc(100cqi/4.9 - 20.40816px))}.launchpad--compact .launchpad__num{font-size:min(1.45rem,calc(100cqi/4.9 - 18.36735px))}.launchpad__digits{flex-wrap:wrap;row-gap:10px}.series-card__count{flex:0 1 auto;min-width:0}.series-hub__route a:before,.series-top__step a:before{border-radius:50%;content:"";height:28px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(28px,100%)}@media (max-width:340px){.header__actions .signup-link{display:none}}.start-topic__all{gap:.3em}.launchpad__manifest-title{font-size:.72rem}