.whyneh .note{--note-hue: 220;--note-base: oklch(64% .16 var(--note-hue));--note-deep: oklch(38% .13 var(--note-hue));--note-surface: color-mix(in oklch, var(--note-base) 14%, white);--note-surface-strong: color-mix(in oklch, var(--note-base) 22%, white);--note-border: color-mix(in oklch, var(--note-base) 42%, white);--note-glow: color-mix(in oklch, var(--note-base) 22%, transparent);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem .95rem;align-items:start;padding:clamp(1rem,.88rem + .48vw,1.28rem);border:1px solid var(--note-border);border-radius:var(--whyneh-radius-md);background:radial-gradient(circle at 1.2rem 1.2rem,var(--note-glow),transparent 2.6rem),linear-gradient(135deg,var(--note-surface),var(--note-surface-strong));box-shadow:0 16px 36px color-mix(in oklch,var(--note-base) 10%,transparent),0 1px color-mix(in oklch,white 78%,transparent) inset;color:color-mix(in oklch,var(--whyneh-text) 88%,var(--note-deep));overflow:hidden}.whyneh .note--success{--note-hue: 150;--note-base: oklch(65% .15 150);--note-deep: oklch(36% .11 150)}.whyneh .note--info{--note-hue: 230;--note-base: oklch(68% .13 230);--note-deep: oklch(38% .12 238)}.whyneh .note--warning{--note-hue: 82;--note-base: oklch(78% .16 82);--note-deep: oklch(43% .11 74)}.whyneh .note--error{--note-hue: 25;--note-base: oklch(64% .17 25);--note-deep: oklch(39% .14 24)}.whyneh .note:before{content:"";width:.82rem;aspect-ratio:1;margin-top:.55em;border-radius:999px;background:var(--note-base);box-shadow:0 0 0 .28rem color-mix(in oklch,var(--note-base) 16%,transparent),0 0 0 .5rem color-mix(in oklch,var(--note-base) 8%,transparent)}.whyneh .note>*{grid-column:2;margin-block:0;min-width:0}.whyneh .note>:where(*+*){margin-top:.72rem}.whyneh .note :where(strong,b){color:var(--note-deep)}.whyneh .note :where(p,li){color:color-mix(in oklch,var(--whyneh-text) 84%,var(--note-deep))}.whyneh .note :where(a){color:var(--note-deep);text-decoration-color:color-mix(in oklch,var(--note-base) 58%,transparent)}.whyneh .note :where(code):not(pre code){background:color-mix(in oklch,var(--note-base) 18%,white);color:var(--note-deep)}.whyneh .note :where(ul,ol){padding-left:1.25rem}@media(max-width:768px){.whyneh .note{gap:.6rem .78rem;padding:.95rem;border-radius:.82rem}.whyneh .note:before{width:.72rem}}.whyneh{--whyneh-text: var(--text-primary);--whyneh-muted: var(--text-muted);--whyneh-heading: color-mix(in oklch, var(--text-primary) 92%, black);--whyneh-font-body: var(--font-atkinson);--whyneh-font-heading: var(--font-atkinson);--whyneh-font-code: var(--font-mono);--whyneh-link: var(--accent-dark);--whyneh-link-hover: oklch(68% .16 28);--whyneh-accent: oklch(68% .16 28);--whyneh-quote-bar: var(--theme-primary);--whyneh-border: color-mix(in oklch, var(--panel-border) 78%, var(--text-muted));--whyneh-soft-bg: color-mix(in oklch, var(--panel-background) 92%, var(--color-bg));--whyneh-quote-bg: color-mix(in oklch, var(--panel-background) 82%, var(--theme-secondary) 18%);--whyneh-code-bg: color-mix(in oklch, var(--text-primary) 18%, white);--whyneh-inline-code-bg: color-mix(in oklch, var(--theme-secondary) 24%, white);--whyneh-mark-bg: color-mix(in oklch, var(--theme-secondary) 58%, white);--whyneh-radius-sm: .45rem;--whyneh-radius-md: .9rem;--whyneh-space-1: .4rem;--whyneh-space-2: .8rem;--whyneh-space-3: 1.2rem;--whyneh-space-4: 1.8rem;--whyneh-space-5: 2.8rem;--whyneh-measure: 72ch;color:var(--whyneh-text);font-family:var(--whyneh-font-body);font-size:1rem;line-height:1.85;font-kerning:normal}.whyneh>*{margin-block:0}.whyneh>:where(*+*){margin-top:var(--whyneh-space-4)}.whyneh p{color:var(--whyneh-text);text-wrap:pretty}.whyneh :where(strong,b){color:var(--whyneh-heading);font-weight:700}.whyneh :where(em,i){color:color-mix(in oklch,var(--whyneh-text) 82%,var(--whyneh-muted))}.whyneh :where(del,s){color:var(--whyneh-muted);text-decoration-color:var(--whyneh-accent);text-decoration-thickness:1px}.whyneh :where(h1,h2,h3,h4,h5,h6){color:var(--whyneh-heading);font-family:var(--whyneh-font-heading);font-weight:700;line-height:1.28;letter-spacing:.01em;text-wrap:balance}.whyneh :where(h1,h2,h3,h4,h5,h6)+*{margin-top:var(--whyneh-space-2)}.whyneh h1{margin-top:var(--whyneh-space-5);padding-bottom:var(--whyneh-space-2);font-size:clamp(2.05rem,1.74rem + 1.28vw,2.85rem);text-align:center;border-bottom:3px solid color-mix(in oklch,var(--whyneh-accent) 72%,white)}.whyneh h2{margin-top:var(--whyneh-space-5);display:block;width:fit-content;max-width:100%;padding-bottom:var(--whyneh-space-2);font-size:clamp(1.62rem,1.42rem + .72vw,2.02rem);border-bottom:2px solid color-mix(in oklch,var(--whyneh-accent) 82%,white)}.whyneh h2:before{content:"#";margin-right:.42rem;color:var(--whyneh-quote-bar)}.whyneh h3{margin-top:calc(var(--whyneh-space-4) + .2rem);display:block;width:fit-content;max-width:100%;padding-bottom:.45rem;font-size:clamp(1.3rem,1.16rem + .42vw,1.56rem);border-bottom:1px solid color-mix(in oklch,var(--whyneh-accent) 38%,white)}.whyneh h3:before{content:"#";margin-right:.38rem;color:var(--whyneh-quote-bar)}.whyneh h4{margin-top:var(--whyneh-space-4);font-size:1.08rem}.whyneh h5{margin-top:var(--whyneh-space-4);font-size:1rem}.whyneh h6{margin-top:var(--whyneh-space-3);color:var(--whyneh-muted);font-size:.94rem}.whyneh a{color:var(--whyneh-link);text-decoration-line:underline;text-decoration-color:color-mix(in oklch,var(--whyneh-heading) 78%,white);text-decoration-thickness:1.5px;text-underline-offset:.16em;font-size:1.04em;transition:color .16s ease,text-decoration-color .16s ease}.whyneh a:hover{color:var(--whyneh-link-hover);text-decoration-color:var(--whyneh-link-hover)}.whyneh :where(ul,ol){padding-left:1.45rem;color:var(--whyneh-text)}.whyneh li+li{margin-top:var(--whyneh-space-1)}.whyneh li>:where(ul,ol){margin-top:var(--whyneh-space-2)}.whyneh ul li::marker{color:var(--whyneh-accent)}.whyneh ol li::marker{color:var(--whyneh-accent);font-weight:700}.whyneh blockquote{margin-top:calc(var(--whyneh-space-4) + .1rem);margin-bottom:calc(var(--whyneh-space-4) + .1rem);margin-left:.25rem;margin-right:0;padding:1rem 1.2rem;color:color-mix(in oklch,var(--whyneh-text) 78%,var(--whyneh-muted));background:var(--whyneh-quote-bg);border:1px solid color-mix(in oklch,var(--whyneh-border) 74%,white);border-left:3px solid var(--whyneh-quote-bar);border-radius:0 var(--whyneh-radius-md) var(--whyneh-radius-md) 0}.whyneh blockquote>*{max-width:none}.whyneh blockquote p+p{margin-top:var(--whyneh-space-2)}.whyneh :not(pre)>code{padding:.18rem .48rem;border:1px solid color-mix(in oklch,var(--whyneh-accent) 28%,white);border-radius:var(--whyneh-radius-sm);background:color-mix(in oklch,var(--whyneh-inline-code-bg) 72%,white);color:color-mix(in oklch,var(--whyneh-heading) 88%,var(--whyneh-accent));box-shadow:0 1px color-mix(in oklch,var(--whyneh-accent) 20%,white);font-family:var(--whyneh-font-code);font-size:.92em;line-height:inherit;font-variant-ligatures:none}.whyneh pre{margin:0;padding:1.1rem 1.2rem;background:transparent;overflow-x:auto}.whyneh pre code{padding:0;background:transparent;color:#939ab7;font-family:var(--whyneh-font-code);font-size:.95rem;line-height:1.72;font-variant-ligatures:none}.whyneh .markdown-code-block{position:relative;width:100%;margin-top:var(--whyneh-space-4);margin-inline:0;border:1px solid color-mix(in oklch,var(--whyneh-border) 78%,white);border-radius:.85rem;background:linear-gradient(180deg,color-mix(in oklch,white 82%,var(--theme-secondary) 18%),color-mix(in oklch,var(--whyneh-code-bg) 78%,white));box-shadow:0 18px 38px -28px oklch(35% .12 var(--brand-hue-indigo) / .34),inset 0 1px #ffffffb8;overflow:hidden}.whyneh .markdown-code-block__header{display:flex;align-items:center;gap:.75rem;min-height:2.6rem;margin-top:0;padding:.5rem .75rem;border-bottom:1px solid oklch(100% 0 0 / .08);background:oklch(21% .018 var(--brand-hue-indigo))}.whyneh .markdown-code-block__dots{display:inline-flex;flex:0 0 auto;align-items:center;gap:.42rem}.whyneh .markdown-code-block__dots i{width:.7rem;aspect-ratio:1;border-radius:999px;box-shadow:inset 0 0 0 1px #00000014}.whyneh .markdown-code-block__dots i:nth-child(1){background:#f75e51}.whyneh .markdown-code-block__dots i:nth-child(2){background:#f4b93c}.whyneh .markdown-code-block__dots i:nth-child(3){background:#56bd78}.whyneh .markdown-code-block__lang{min-width:0;color:oklch(92% .02 var(--brand-hue-indigo));font-family:var(--whyneh-font-body);font-size:.88rem;font-weight:700;line-height:1.2;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whyneh .markdown-code-block__copy{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:1.4rem;aspect-ratio:1;margin-left:auto;padding:0;border:0;border-radius:0;background:transparent;color:oklch(92% .02 var(--brand-hue-indigo));cursor:pointer;transition:opacity .16s ease,transform .16s ease}.whyneh .markdown-code-block__copy:hover,.whyneh .markdown-code-block__copy.is-copied{opacity:.78;transform:translateY(-1px)}.whyneh .markdown-code-block__copy img,.whyneh .markdown-code-block__expand img{display:block;width:1rem;aspect-ratio:1;filter:invert(1);opacity:.86}.whyneh .markdown-code-block__copy-tip{position:absolute;top:.55rem;right:2.55rem;z-index:2;padding:.36rem .72rem;border:1px solid color-mix(in oklch,var(--whyneh-border) 68%,white);border-radius:999px;background:color-mix(in oklch,var(--panel-background) 88%,white);color:var(--whyneh-heading);box-shadow:0 12px 28px -18px oklch(30% .08 var(--brand-hue-indigo) / .5);font:700 .8rem/1.2 var(--whyneh-font-body);pointer-events:none;opacity:0;transform:translateY(-.35rem);transition:opacity .16s ease,transform .16s ease}.whyneh .markdown-code-block__copy-tip.is-visible{opacity:1;transform:translateY(0)}.whyneh .markdown-code-block.is-collapsed pre{max-height:25rem;overflow:hidden}.whyneh .markdown-code-block.is-collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7rem;pointer-events:none;background:linear-gradient(180deg,transparent,color-mix(in oklch,var(--whyneh-code-bg) 94%,white))}.whyneh .markdown-code-block__expand{display:inline-flex;position:absolute;left:50%;bottom:.75rem;z-index:1;align-items:center;justify-content:center;width:2.45rem;aspect-ratio:1;transform:translate(-50%);padding:0;border:0;border-radius:0;background:transparent;color:var(--whyneh-heading);cursor:pointer;transition:opacity .16s ease,transform .16s ease}.whyneh .markdown-code-block__expand:hover{opacity:.76;transform:translate(-50%) translateY(-1px)}.whyneh .markdown-code-block__expand img{width:1.55rem;filter:none;opacity:.74}.whyneh hr{height:1px;border:0;background:repeating-linear-gradient(90deg,var(--whyneh-accent) 0 .58rem,transparent .58rem .82rem)}.whyneh table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.7;border:1px solid color-mix(in oklch,var(--whyneh-border) 96%,black 10%);border-radius:var(--whyneh-radius-md);overflow:hidden;background:var(--whyneh-soft-bg)}.whyneh thead th{padding:.9rem 1rem;color:var(--whyneh-heading);font-weight:700;text-align:left;background:color-mix(in oklch,var(--whyneh-soft-bg) 72%,var(--theme-secondary))}.whyneh tbody td{padding:.8rem 1rem;color:var(--whyneh-text);border-top:1px solid color-mix(in oklch,var(--whyneh-border) 92%,black 8%)}.whyneh tbody tr:nth-child(2n){background:color-mix(in oklch,var(--whyneh-soft-bg) 86%,white)}.whyneh img{display:block;width:auto;max-width:min(100%,56rem);margin-inline:auto;border-radius:var(--whyneh-radius-md);transition:transform .18s ease}.whyneh a:has(img):hover img,.whyneh img:hover{transform:scale(1.03)}.whyneh figure{width:fit-content;max-width:100%;margin-inline:auto}.whyneh figure>*{margin-inline:auto}.whyneh figcaption{margin-top:var(--whyneh-space-2);color:var(--whyneh-muted);font-size:.9rem;line-height:1.65;text-align:center}.whyneh :where(iframe,video){display:block;width:100%;max-width:100%;border:1px solid color-mix(in oklch,var(--whyneh-border) 78%,white);border-radius:var(--whyneh-radius-md);background:var(--whyneh-soft-bg)}.whyneh kbd{padding:.12rem .4rem;border:1px solid color-mix(in oklch,var(--whyneh-border) 82%,white);border-radius:var(--whyneh-radius-sm);background:var(--whyneh-soft-bg);color:var(--whyneh-heading);font-family:var(--whyneh-font-code);font-size:.9em}.whyneh mark{padding:0 .18em;background:linear-gradient(180deg,transparent 10%,var(--whyneh-mark-bg) 10%,var(--whyneh-mark-bg) 90%,transparent 90%);color:inherit}.whyneh ::selection{background:color-mix(in oklch,var(--whyneh-accent) 24%,white);color:var(--whyneh-heading)}@media(max-width:768px){.whyneh{font-size:.98rem;line-height:1.8}.whyneh>:where(*+*){margin-top:1.35rem}.whyneh h1{font-size:clamp(1.8rem,1.5rem + 1.4vw,2.2rem)}.whyneh h2{margin-top:2.25rem;font-size:clamp(1.42rem,1.28rem + .82vw,1.76rem)}.whyneh h3{font-size:clamp(1.18rem,1.08rem + .52vw,1.36rem)}.whyneh blockquote,.whyneh pre{padding-inline:.95rem}.whyneh table{display:block;overflow-x:auto;white-space:nowrap}}.post-header-container[data-astro-cid-egg7nqdx]{position:relative;width:100%;background:var(--page-background)}.post-header[data-astro-cid-egg7nqdx]{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100%;padding-bottom:5rem;z-index:10;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.post-header__inner[data-astro-cid-egg7nqdx]{max-width:var(--container-max-lg);margin:0 auto;padding:0 1.5rem}.post-header__meta[data-astro-cid-egg7nqdx]{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:1.2rem;font-size:.95rem;opacity:.95}.post-header__category[data-astro-cid-egg7nqdx]{padding:.2rem .8rem;border-radius:6px;background:var(--theme-primary);color:#fff;font-weight:700;text-shadow:none}.post-header__date-group[data-astro-cid-egg7nqdx]{display:flex;align-items:center;gap:.5rem}.post-header__updated[data-astro-cid-egg7nqdx]{font-style:italic;font-size:.85rem;opacity:.8}.post-header__stats[data-astro-cid-egg7nqdx]{display:flex;align-items:center;gap:1rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.3)}.stat-item[data-astro-cid-egg7nqdx]{display:flex;align-items:center;gap:.4rem}.stat-item__label[data-astro-cid-egg7nqdx]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.stat-item__value[data-astro-cid-egg7nqdx]{font-weight:700;font-family:var(--font-mono)}.post-header__title[data-astro-cid-egg7nqdx]{margin:0 0 .8rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.2;color:#fff;word-break:break-word}.post-header__desc[data-astro-cid-egg7nqdx]{margin:0;max-width:48rem;font-size:1.1rem;line-height:1.6;opacity:.9}.post-page[data-astro-cid-egg7nqdx]{--post-toc-width: clamp(13rem, calc(25vw - 13rem) , 17.5rem);position:relative;width:100%;min-width:0;margin-top:-3rem}.post-toc-panel[data-astro-cid-egg7nqdx]{position:absolute;top:6rem;bottom:0;left:calc(50% - (var(--container-max-lg) / 2) - 1.5rem - var(--post-toc-width));width:var(--post-toc-width);z-index:2}.post-toc-panel__inner[data-astro-cid-egg7nqdx]{position:sticky;top:6rem;max-height:calc(100vh - 10rem)}.blog-post[data-astro-cid-egg7nqdx]{display:flex;flex-direction:column;align-items:center;gap:2.5rem;margin:0 auto;min-width:0}.blog-post__body[data-astro-cid-egg7nqdx]{width:min(var(--container-max-lg),calc(100% - 36px));margin:0 auto;padding:20px 60px 50px;color:var(--text-primary);background:var(--panel-background);backdrop-filter:blur(10px);border:1px solid var(--panel-border);border-radius:20px;box-shadow:0 20px 50px -12px oklch(25% .1 var(--brand-hue-indigo) / .15),0 0 0 1px #ffffff0d}@media(max-width:1024px){.post-header[data-astro-cid-egg7nqdx]{padding-bottom:4rem}.blog-post__body[data-astro-cid-egg7nqdx]{padding:20px 45px 40px;border-radius:16px}}@media(max-width:768px){.post-header-container[data-astro-cid-egg7nqdx] .custom-banner{height:45vh}.post-header[data-astro-cid-egg7nqdx]{position:relative;bottom:auto;left:auto;transform:none;padding:2.5rem 0;background:var(--page-background);color:var(--text-primary);text-shadow:none}.post-header__inner[data-astro-cid-egg7nqdx]{padding:0 1.25rem}.post-header__meta[data-astro-cid-egg7nqdx]{gap:.8rem}.post-header__stats[data-astro-cid-egg7nqdx]{padding-left:0;border-left:none;width:100%;margin-top:.4rem}.post-header__title[data-astro-cid-egg7nqdx]{color:var(--text-primary);font-size:1.8rem}.post-header__desc[data-astro-cid-egg7nqdx]{color:var(--text-muted);font-size:1rem}.post-header__category[data-astro-cid-egg7nqdx]{box-shadow:none}.post-page[data-astro-cid-egg7nqdx]{margin-top:0}.blog-post__body[data-astro-cid-egg7nqdx]{padding:20px 20px 30px;border-radius:12px;width:100%;border:none;box-shadow:none;background:transparent}}.blog-post__article-content[data-astro-cid-egg7nqdx] .blog-post__search-hit{padding:0 .1em;background:#ffedeb;color:#e62b34;font-weight:700;border-radius:2px}@media(min-width:1601px){.post-toc-panel[data-astro-cid-egg7nqdx]{display:block}}@media(max-width:1600px){.post-toc-panel[data-astro-cid-egg7nqdx]{display:none}}
