:root{--bg:#ffffff;--ink:#1a1a1a;--muted:#5f6368;--faint:#6b7075;--rule:#e6e6e6;--soft:oklch(0.97 0.015 165);--accent:oklch(0.5 0.11 165);--premium-bg:#fdf0c8;--premium-ink:#8a4b08;--best-flame:#e5382a;--code-bg:#1e1f22;--code-ink:#e4e4e4;--code-rule:#2f3136;--code-faint:#8b8f96;--sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--serif:'Source Serif 4',Georgia,'Times New Roman',serif;--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--text-color:var(--ink);--background-color:var(--bg);--light-grey:var(--soft);--grey:var(--muted);--grey-darker:color-mix(in oklch, var(--ink) 80%, var(--bg));--border-color:var(--rule);--navy-blue:var(--accent);--code-back:var(--code-bg);--light-blue:var(--soft);--card-background:var(--bg);--hover-background:var(--soft)}[data-theme=dark]{--bg:#151514;--ink:#e8e5de;--muted:#a19c92;--faint:#8f8b82;--rule:#2b2a27;--soft:#1f1f1d;--accent:oklch(0.8 0.11 165);--premium-bg:rgba(245, 180, 40, 0.16);--premium-ink:#f7c75a;--best-flame:#ff6652;--code-bg:#1c1c1a}aside,body,html{margin:0;padding:0;color:var(--ink);background-color:var(--bg);font-size:16px;transition:background-color .2s ease,color .2s ease}body{-webkit-font-smoothing:antialiased}::selection{background:oklch(.9 .07 160);color:#111}h1{font-size:2rem;line-height:1}h2{font-size:1.8rem;line-height:1}h3{font-size:1.4rem;line-height:1}a,ol,p,ul{font-size:16px;color:var(--ink)}a{text-decoration:none}hr{border:.5px solid var(--rule);margin:16px 0}body pre[class*=language-] code{font-size:14px}body pre[class*=language-]{line-height:1.2}:not(pre)>code[class*=language-],pre[class*=language-]{background:var(--code-bg)}:not(code):not(code *){font-family:var(--sans);box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;line-height:1;padding:3px 8px;border-radius:999px;white-space:nowrap}.badge svg{flex:none}.badge--updated{background:color-mix(in oklch,var(--accent) 14%,transparent);color:var(--accent)}.badge--premium{background:var(--premium-bg);color:var(--premium-ink)}.badge--best svg{width:14px;height:14px;margin:-3px 0 -3px -1px;stroke-width:1.75;color:var(--best-flame);fill:currentColor}.badge--best{background:0 0;color:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--muted) 40%,var(--rule))}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--rule)}.app-header::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:120px;background:var(--bg);pointer-events:none}.app-header__inner{max-width:1120px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:20px}.app-header__brand{display:flex;align-items:center;flex:none;color:var(--ink);white-space:nowrap}.app-header__logo{display:block;width:auto;height:28px;max-width:40px;margin-right:10px;opacity:1;transition:max-width .25s ease,opacity .25s ease,margin .25s ease}body.is-home:not(.logo-in) .app-header__logo{max-width:0;opacity:0;margin-right:0}.app-header__name{font-weight:600;font-size:17px;letter-spacing:-.01em}.app-header__nav{display:flex;gap:20px;font-size:14px;white-space:nowrap}.app-header__nav a,.app-menu a{color:var(--muted);font-size:inherit}.app-header__nav a:hover{color:var(--ink)}.app-header__spacer{flex:1}.app-header__search{display:flex;align-items:center;gap:10px;height:34px;min-width:150px;padding:0 8px 0 12px;border:1px solid var(--rule);border-radius:8px;background:var(--bg);color:var(--muted);font-size:14px;cursor:pointer;flex:none;white-space:nowrap}.app-header__search:hover{border-color:var(--faint)}.app-header__search-label{flex:1;text-align:left}.app-header__search kbd{font-family:var(--mono);font-size:11px;padding:2px 6px;border:1px solid var(--rule);border-radius:4px;background:var(--bg)}.app-header__subscribe{display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid var(--accent);border-radius:8px;font-size:14px;font-weight:500;color:var(--accent);white-space:nowrap}.app-header__subscribe:hover{background:color-mix(in oklch,var(--accent) 10%,transparent);text-decoration:none}.app-header__btn{flex:none;width:34px;height:34px;padding:0;border:1px solid var(--rule);border-radius:8px;background:0 0;color:var(--ink);cursor:pointer;display:none;align-items:center;justify-content:center}.app-header__btn:hover{border-color:var(--faint)}.theme-toggle{display:flex}.theme-toggle .icon-sun,[data-theme=dark] .theme-toggle .icon-moon{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:block}.app-header__btn svg{display:block}.app-menu{display:none;border-top:1px solid var(--rule);padding:8px 20px 16px;background:var(--bg);flex-direction:column}.app-menu.is-open{display:flex}.app-menu a{padding:12px 0;font-size:17px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--rule)}.app-menu a.app-menu__subscribe{margin-top:14px;height:44px;border-radius:8px;background:0 0;border:1px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500}.app-menu a.app-menu__subscribe:hover{background:color-mix(in oklch,var(--accent) 10%,transparent)}#page-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--accent);z-index:30}@media (max-width:860px){.app-header__inner{gap:10px}.app-header__nav,.app-header__subscribe{display:none}.app-header__search{min-width:0;width:34px;padding:0;justify-content:center}.app-header__search kbd,.app-header__search-label{display:none}.app-header__btn--menu{display:flex}}.lang-switch{position:relative;flex:none}.lang-switch summary{list-style:none;display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--rule);border-radius:8px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink);cursor:pointer}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch summary:hover{border-color:var(--faint)}.lang-switch summary::after{content:"";width:5px;height:5px;margin-top:-3px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:transform .15s ease}.lang-switch[open] summary::after{margin-top:2px;transform:rotate(-135deg)}.lang-switch__menu{position:absolute;top:calc(100% + 6px);right:0;min-width:140px;padding:6px;display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:10px;background:var(--bg);box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:40}.lang-switch__menu a{padding:8px 10px;border-radius:6px;font-size:14px;color:var(--muted)}.lang-switch__menu a:hover{background:var(--soft);color:var(--ink);text-decoration:none}.lang-switch__menu a.is-current{color:var(--ink);font-weight:600}.app-menu__langs{display:flex;gap:8px;padding:14px 0 0}.app-menu .app-menu__langs a{flex:1;padding:9px 0;text-align:center;font-size:14px;border:1px solid var(--rule);border-radius:8px}.app-menu .app-menu__langs a.is-current{border-color:var(--ink)}@media (max-width:860px){.lang-switch{display:none}}.content{max-width:760px;min-height:calc(min(100vh / var(--z),1100px) - 260px);margin:0 auto;padding:28px 20px 40px;width:auto}.app-footer{border-top:1px solid var(--rule);margin-top:40px;color:var(--muted)}.app-footer__inner{max-width:1120px;margin:0 auto;padding:40px 24px;display:flex;flex-direction:column;gap:32px;font-size:14px}.app-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px 24px}.app-footer__col{display:flex;flex-direction:column}.app-footer__heading{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.app-footer .app-footer__link{color:var(--muted);font-size:14px;min-height:36px;display:flex;align-items:center}.app-footer .app-footer__link:hover{color:var(--ink)}.app-footer .app-footer__link.is-current{color:var(--ink);font-weight:600}.app-footer__legal{display:flex;flex-wrap:wrap;gap:8px 24px;padding-top:20px;border-top:1px solid var(--rule);font-size:13px;color:var(--faint)}.app-footer__legal span{align-self:center;flex:1;min-width:240px}.app-footer .app-footer__legal a{color:var(--faint);font-size:13px;min-height:36px;display:flex;align-items:center}.app-footer .app-footer__legal a:hover{color:var(--ink)}.nav-button{background-color:var(--soft);border:1px solid var(--rule);border-radius:8px;text-align:center;text-decoration:none;display:block;padding:12px;font-weight:500;cursor:pointer;color:var(--ink)}.nav-button:hover{filter:brightness(98%)}.post__tags{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 8px}.post__tags .post__tag{color:var(--muted);background:var(--soft);padding:2px 6px;font-size:12px;border-radius:4px;text-decoration:none}@media (max-width:600px){.content{padding:20px 16px 32px}iframe{width:100%}}.button{display:inline-block;padding:.6em 1.2em;font-size:1rem;font-weight:500;color:var(--text-color);background-color:var(--light-grey);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;transition:all .2s ease-in-out;cursor:pointer}.button:hover{background-color:var(--hover-background);border-color:var(--grey);box-shadow:0 2px 6px rgba(0,0,0,.08)}.button:active{transform:scale(.98)}.center-button{text-align:center}.search-toggle{background:0 0!important;border:none!important;cursor:pointer;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--text-color);padding:16px;min-width:44px;min-height:44px}@media (min-width:861px){.app-header__search.search-toggle{padding:0;min-width:0}}.search-icon-svg{display:inline-block!important;transition:transform .2s ease}.search-toggle:hover .search-icon-svg{transform:scale(1.1)}.search-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:flex-start;justify-content:center;padding-top:calc(15vh / var(--z));opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.search-overlay.active{opacity:1;visibility:visible}.search-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4)}[data-theme=dark] .search-backdrop{background:rgba(0,0,0,.6)}.search-modal{position:relative;width:100%;max-width:560px;margin:0 16px;background:var(--background-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.15);overflow:hidden;transform:translateY(-8px);transition:transform .15s ease}.search-overlay.active .search-modal{transform:translateY(0)}.search-input-wrap{display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-color)}.search-input-icon{flex-shrink:0;color:var(--grey)}.search-input{flex:1;border:none;outline:0;background:0 0;color:var(--text-color);font-size:1rem;padding:14px 12px;font-family:inherit}.search-input::placeholder{color:var(--grey)}.search-kbd{flex-shrink:0;font-size:11px;font-family:inherit;padding:2px 6px;border:1px solid var(--border-color);border-radius:4px;color:var(--grey);background:var(--light-grey)}.search-results{max-height:calc(50vh / var(--z));overflow-y:auto}.search-results:empty{display:none}.search-result-item{display:block;padding:12px 16px;text-decoration:none;border-bottom:1px solid var(--border-color);transition:background-color .1s ease}.search-result-item:last-child{border-bottom:none}.search-result-item.active,.search-result-item:hover{background-color:var(--hover-background)}.search-result-title{font-size:16px;font-weight:600;color:var(--text-color);margin-bottom:4px}.search-result-desc{font-size:13px;color:var(--grey);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-meta{font-size:.75rem;color:var(--grey);margin-top:4px}.search-empty{padding:24px 16px;text-align:center;color:var(--grey);font-size:14px}.search-hint{padding:12px 16px;text-align:center;color:var(--grey);font-size:13px}@media (max-width:600px){.search-overlay{padding-top:calc(8vh / var(--z))}.search-modal{max-width:none;margin:0 8px;border-radius:10px}.search-toggle{padding:12px 6px;min-width:40px;min-height:40px}.search-kbd{display:none}}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:14px;font-weight:500}.skip-link:focus{top:12px;text-decoration:none}.content:focus{outline:0}main.content{scroll-margin-top:80px}.notfound{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:64px;align-items:center;width:min(1072px,calc(100vw / var(--z) - 40px));position:relative;left:50%;transform:translateX(-50%);padding:40px 0 24px}.notfound__code{margin:0 0 8px;font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--faint)}.notfound__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}@media (max-width:900px){.notfound{display:flex;flex-direction:column;align-items:stretch;gap:0;width:auto;left:0;transform:none}.notfound__text{display:contents}.notfound__head{order:1}.notfound__comic{order:2;margin-top:32px;max-width:440px}.notfound__links{order:3}.notfound__topics{order:4}}.notfound__comic{margin:0}.notfound__comic img{display:block;width:100%;height:auto}.notfound__comic figcaption{margin-top:8px;font-size:13px;color:var(--faint)}.notfound__comic figcaption a{font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px}.notfound__comic figcaption a:hover{color:var(--accent)}.notfound__topics h2{margin:36px 0 12px;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.share-icon{display:block}.icon{flex:none;display:inline-block;vertical-align:-.2em}.icon--back{transform:scaleX(-1)}.app-footer .app-footer__link .icon{margin-right:10px;color:var(--faint)}.app-footer .app-footer__link:hover .icon{color:var(--ink)}.article__back,.hero__cta,.nav-button,.series-banner__all{display:inline-flex;align-items:center;gap:8px}.nav-button{display:flex;justify-content:center}.btn,.cta-card__button,.feed__all{display:inline-flex;align-items:center;gap:8px}.tag{position:relative;font-size:13px;color:color-mix(in oklch,var(--ink) 55%,var(--muted));text-decoration:none}.tag:hover{color:var(--accent);text-decoration:none}.article__tags a::after,.post-row__tags a::after,.tag::after{content:"";position:absolute;inset:-14px -6px}@media (pointer:fine){.article__tags a::after,.post-row__tags a::after,.tag::after{inset:-4px -4px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}:root{--z:1}@media (min-width:2200px){:root{--z:1.25}html{zoom:1.25}}@media (min-width:2800px){:root{--z:1.5}html{zoom:1.5}}