:root{--note-measure: 780px;--note-toc: 220px;--note-rail-gap: 56px}.note-shell{display:grid;grid-template-columns:minmax(0,var(--note-measure));justify-content:center;gap:var(--note-rail-gap)}.note-shell>*{min-width:0}.note-prose{min-width:0}.note-shell--toc{grid-template-columns:minmax(0,var(--note-measure)) var(--note-toc)}@media(max-width:1100px){.note-shell--toc{grid-template-columns:minmax(0,var(--note-measure))}}.note-head{padding-bottom:40px;margin-bottom:44px;border-bottom:1px solid var(--border-dim)}.note-head__tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--accent)}.note-head__eyebrow{color:var(--text-faint)}.note-head__title{font-size:var(--fs-panel);font-weight:500;letter-spacing:-.03em;line-height:1.05;margin-top:24px;max-width:18ch;text-wrap:balance}.note-head__standfirst{margin-top:24px;font-size:var(--fs-lede);line-height:1.55;color:var(--text-2);max-width:52ch}.note-head__meta{margin-top:30px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-mono-dim)}.note-head__updated{color:var(--text-faintest)}.dotrow{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.dotrow>*{white-space:nowrap}.dotrow>*:not(:last-child):after{content:"·";margin-left:10px;color:var(--text-faintest)}.note-head__archive{color:var(--accent)}.note-head__author{transition:color .25s ease}@media(max-width:640px){.note-head__archive{flex:1 0 100%}.note-head__meta>.note-head__archive:after{content:none}.note-head__long{display:none}}.note-head__tags{margin-top:22px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-faint);row-gap:6px}.note-draft{margin-bottom:28px;padding:12px 16px;border:1px dashed var(--border-hover);border-radius:5px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-4)}.note-prose{font-size:17px;line-height:1.75;color:var(--text-2)}.note-prose>*+*{margin-top:22px}.note-prose p{max-width:68ch}.note-prose h2{font-size:var(--fs-case);font-weight:500;letter-spacing:-.02em;line-height:1.2;color:var(--text);margin-top:64px;margin-bottom:-4px;padding-top:22px;border-top:1px solid var(--border-dim);scroll-margin-top:96px}.note-prose h3{font-size:var(--fs-card);font-weight:500;letter-spacing:-.01em;line-height:1.25;color:var(--text);margin-top:40px;margin-bottom:-6px;scroll-margin-top:96px}.note-prose h4{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mono-dim);margin:34px 0 -8px}.note-heading{position:relative}.note-heading__anchor{margin-left:10px;font-family:var(--font-mono);font-size:.5em;color:var(--text-faintest);opacity:0;transition:opacity .25s ease,color .25s ease}.note-heading:hover .note-heading__anchor,.note-heading__anchor:focus-visible{opacity:1}.note-heading__anchor:hover{color:var(--accent)}@media(min-width:1101px){.note-heading__anchor{position:absolute;left:-26px;top:.15em;margin-left:0}.note-prose h2 .note-heading__anchor{top:.75em}}.note-prose a:not(.note-heading__anchor){color:var(--text);text-decoration:underline;text-decoration-color:var(--border-hover);text-underline-offset:3px;transition:color .25s ease,text-decoration-color .25s ease}.note-prose a:not(.note-heading__anchor):hover{color:var(--accent);text-decoration-color:var(--accent)}.note-prose strong{color:var(--text);font-weight:500}.note-prose em{color:var(--text-4)}.note-prose ul,.note-prose ol{padding-left:22px;max-width:68ch}.note-prose li+li{margin-top:8px}.note-prose li::marker{color:var(--text-faint)}.note-prose li>ul,.note-prose li>ol{margin-top:8px}.note-prose hr{margin:48px 0;border:0;border-top:1px solid var(--border-dim)}.note-prose blockquote{margin-left:0;margin-right:0;padding-left:20px;border-left:1px solid var(--border);font-size:var(--fs-body);line-height:1.6;letter-spacing:-.01em;color:var(--text-2);max-width:56ch}.note-prose blockquote p{margin:0}.note-prose blockquote p+p{margin-top:12px}.note-figure{margin:40px 0;width:min(100%,calc(var(--stage-max) - var(--gutter) * 2))}.note-figure img{width:100%;height:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface-sunken)}.note-figure figcaption{margin-top:12px;font-family:var(--font-mono);font-size:11px;line-height:1.6;letter-spacing:.04em;color:var(--text-faint)}@media(min-width:1101px){.note-figure--wide{width:calc(100% + 120px);margin-left:-60px}}.note-figure__zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;position:relative}.note-figure__zoom img{display:block}.note-figure__zoom:after{content:"CLICK TO ENLARGE";position:absolute;right:10px;bottom:10px;padding:5px 9px;border:1px solid var(--border-hover);border-radius:4px;background:var(--surface);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--text-2);opacity:0;transition:opacity .2s ease}.note-figure__zoom:hover:after,.note-figure__zoom:focus-visible:after{opacity:1}.note-figure__zoom:hover img{border-color:var(--border-hover)}.note-figure__zoom:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.note-figure__zoom:after{transition:none}}@media(hover:none){.note-figure__zoom:after{content:none}}.note-lightbox{width:min(1600px,96vw);max-height:94vh;margin:auto;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.note-lightbox::backdrop{background:#060709eb}.note-lightbox__img{display:block;width:100%;max-height:84vh;object-fit:contain;background:var(--surface-sunken)}.note-lightbox__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;border-top:1px solid var(--border-dim);font-family:var(--font-mono);font-size:11px;line-height:1.5;letter-spacing:.06em;color:var(--text-mono-dim)}.note-lightbox__close{flex:none;width:34px;height:34px;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-mono-dim);font-size:14px;cursor:pointer;transition:color .25s ease,border-color .25s ease}.note-lightbox__close:hover{color:var(--text);border-color:var(--border-hover)}@media(prefers-reduced-motion:reduce){.note-lightbox__close{transition:none}}.note-prose :not(pre)>code{font-family:var(--font-mono);font-size:.86em;color:var(--text-mono);word-break:break-word}.note-prose pre,.note-prose .astro-code{margin:0;padding:20px 22px;border:1px solid var(--border);border-radius:6px;overflow-x:auto;font-family:var(--font-mono);font-size:13.5px;line-height:1.7;tab-size:2}.note-prose pre code{font-family:inherit;font-size:inherit;background:none;padding:0}.code-block{position:relative}.code-block__copy{position:absolute;top:10px;right:10px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-mono-dim);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;cursor:pointer;opacity:0;transition:opacity .25s ease,color .25s ease,border-color .25s ease}.code-block:hover .code-block__copy,.code-block__copy:focus-visible{opacity:1}.code-block__copy:hover{color:var(--text);border-color:var(--border-hover)}.code-block__copy[data-copied]{color:var(--accent);border-color:var(--accent);opacity:1}@media(hover:none){.code-block__copy{display:none}}.note-table{overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:var(--surface-sunken)}.note-table table{width:100%;border-collapse:collapse;font-size:var(--fs-card-body)}.note-table th,.note-table td{padding:13px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-dim)}.note-table th{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mono-dim);white-space:nowrap}.note-table td{color:var(--text-2)}.note-table tr:last-child td{border-bottom:0}.note-table code{white-space:nowrap}.note-foot{margin-top:72px;padding-top:34px;border-top:1px solid var(--border-dim)}.note-related{display:block;border:1px solid var(--border);border-radius:6px;background:var(--surface-grad);padding:28px;transition:border-color .35s ease}.note-related:hover{border-color:var(--accent);color:inherit}.note-related__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--accent)}.note-related__title{font-size:var(--fs-card);font-weight:500;letter-spacing:-.01em;margin-top:12px}.note-related__body{font-size:var(--fs-card-body);line-height:1.6;color:var(--text-3);margin-top:10px;max-width:56ch}.note-related:hover .note-related__title{color:var(--accent)}.note-foot__nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:30px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-mono-dim)}.note-toc{position:sticky;top:96px;align-self:start}.note-toc__label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--text-faintest);margin-bottom:14px}.note-toc__list{list-style:none;margin:0;padding:0}.note-toc__item+.note-toc__item{margin-top:10px}.note-toc__item--sub{padding-left:14px}.note-toc__link{display:block;font-family:var(--font-mono);font-size:11px;line-height:1.5;letter-spacing:.04em;color:var(--text-mono-dim);transition:color .25s ease}.note-toc__item--sub .note-toc__link{color:var(--text-faintest)}.note-toc--inline{display:none}@media(max-width:1100px){.note-toc--rail{display:none}.note-toc--inline{display:block;position:static;margin-bottom:40px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.note-toc--inline>summary{padding:16px 20px;cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--text-mono)}.note-toc--inline>summary::marker{color:var(--text-faint)}.note-toc--inline .note-toc__list{padding:0 20px 20px}.note-toc--inline .note-toc__link{font-size:12px}}.notes-hero{max-width:48ch}.note-list{display:flex;flex-direction:column;gap:var(--card-gap)}.note-card{display:flex;flex-direction:column}.note-card__eyebrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em}.note-card__category{color:var(--accent)}.note-card__meta{color:var(--text-faint);white-space:nowrap}.note-card__archive{color:var(--accent)}.note-card__title{font-size:var(--fs-case);font-weight:500;letter-spacing:-.02em;line-height:1.15;margin-top:16px;max-width:22ch}.note-card--compact .note-card__title{font-size:var(--fs-card);max-width:26ch}.note-card__body{font-size:var(--fs-body);line-height:1.6;color:var(--text-3);margin-top:12px;max-width:60ch}.note-card__tags{margin-top:20px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-faint);row-gap:6px}.note-card__more{display:inline-block;margin-top:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--accent)}.note-card:hover .note-card__more{text-decoration:underline}.note-card:hover .note-card__title{color:var(--accent)}.note-card__draft{color:var(--text-4)}@media(max-width:640px){.note-card__eyebrow{flex-direction:column;gap:6px}.note-card__meta{white-space:normal}}@media print{.site-header,.site-footer,.skip-link,.note-toc,.note-foot__nav,.code-block__copy,.note-lightbox,.note-heading__anchor{display:none!important}.note-figure__zoom:after{content:none}.shell,body{background:#fff;color:#000}.wrap{max-width:none;padding:0}.note-shell,.note-shell--toc{display:block}.note-prose,.note-prose blockquote,.note-head__standfirst,.note-card__body{color:#1a1a1a}.note-prose h2,.note-prose h3,.note-head__title,.note-prose strong{color:#000}.note-prose h2,.note-prose h3{page-break-after:avoid}.note-prose pre,.note-figure,.note-table{page-break-inside:avoid}.note-prose pre,.note-prose .astro-code,.note-prose .astro-code span{background:#f6f6f6!important;color:#1a1a1a!important;border-color:#ccc}.note-prose a[href^=http]:after{content:" (" attr(href) ")";font-family:var(--font-mono);font-size:.8em;word-break:break-all}.note-head__archive,.note-card__archive{color:#0b6b52}.note-head__tag,.note-head__eyebrow,.note-head__meta,.note-head__author,.note-head__tags,.note-figure figcaption,.note-table th{color:#444}.note-head{border-bottom-color:#ccc}.note-prose h2,.note-prose hr{border-top-color:#ccc}.note-prose blockquote{border-left-color:#999}.note-table{background:#f6f6f6;border-color:#d0d0d0}.note-table td{color:#1a1a1a}.note-table th,.note-table td{border-bottom-color:#ddd}.note-foot{border-top-color:#ccc}.note-related{border:0;background:none;padding:0}.note-related__label{color:#0b6b52}.note-related__title{color:#000}.note-related__body{color:#1a1a1a}}
