﻿.detail-page{margin:0 auto}.detail-header{border-bottom:1px solid var(--line);margin-bottom:2.5rem;padding-bottom:1.5rem}.detail-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.detail-meta{font-family:var(--font-mono);color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.75rem;display:flex}.detail-meta a{color:var(--ink-700);text-decoration:none}.detail-meta a:hover{color:var(--red-link-hover)}.tag-list{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:inline-flex}.mini-toc{display:none}.detail-content{color:var(--ink-700);font-size:1rem;line-height:1.7}.detail-content>*+*{margin-top:1rem}.detail-content>article>:not(.feature-row,.content-figure){max-width:43.75rem;margin-inline:auto}.detail-content>article>:is(h2,h3):has(+.feature-row){max-width:none;margin-inline:0}.detail-content>article>.code-block--wide{max-width:none;margin-inline:0}.detail-content h2{color:var(--ink-900);margin-top:3.5rem;font-size:1.5rem;font-weight:600}.detail-content h3{color:var(--ink-900);margin-top:1.75rem;font-size:1.125rem;font-weight:600}.detail-content .heading-anchor{color:inherit;text-decoration:none;position:relative}.detail-content .heading-anchor:before{content:"#";color:var(--ink-300);opacity:0;transition:opacity var(--dur-base) ease;padding-right:.35em;font-size:.8em;font-weight:400;position:absolute;right:100%}.detail-content :is(h2,h3):hover .heading-anchor:before{opacity:1}.detail-content :is(h2,h3):target .heading-anchor{animation:2s ease-out forwards heading-highlight}@keyframes heading-highlight{0%{color:var(--red-fg)}60%{color:var(--red-fg)}to{color:var(--ink-900)}}.detail-content p{margin:0 0 .875rem}.detail-content ul,.detail-content ol{padding-left:2.5rem}.detail-content li{margin-bottom:4px}.spacer--sm{height:1.5rem}.spacer--md{height:3rem}.spacer--lg{height:5rem}.detail-content hr{border:none;border-top:var(--hairline);margin:2.5rem 0}.detail-content :not(pre)>code{font-family:var(--font-mono);background:var(--count-bg);border:var(--hairline);color:var(--ink-900);border-radius:3px;padding:1px .3125rem;font-size:.8125rem}:root[data-theme=dark] .detail-content :not(pre)>code{border-color:var(--line);background:#ffffff0f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .detail-content :not(pre)>code{border-color:var(--line);background:#ffffff0f}}.code-block{position:relative}.copy-btn{font-family:var(--font-mono);font-size:var(--fs-mono-sm);border:var(--hairline);background:var(--surface-1);color:var(--ink-500);cursor:pointer;opacity:0;transition:opacity var(--dur-base),color var(--dur-base);border-radius:4px;padding:2px .5rem;position:absolute;top:.5rem;right:.5rem}.code-block:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--ink-900)}:root[data-theme=dark] .copy-btn{background:var(--navy-700)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .copy-btn{background:var(--navy-700)}}.detail-content pre{font-family:var(--font-mono);background:var(--shiki-light-bg,var(--surface-2));border:var(--hairline);border-radius:6px;margin-bottom:1rem;padding:.875rem 1.125rem;font-size:.8125rem;line-height:normal;overflow-x:auto}:root[data-theme=dark] .detail-content pre{background:var(--shiki-dark-bg,var(--surface-2))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .detail-content pre{background:var(--shiki-dark-bg,var(--surface-2))}}.detail-content pre code span{color:var(--shiki-light)}:root[data-theme=dark] .detail-content pre code span{color:var(--shiki-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .detail-content pre code span{color:var(--shiki-dark)}}.detail-content img{border-radius:4px;max-width:100%;height:auto;margin:1.125rem 0;display:block}.feature-row{gap:1.75rem}.feature-text>*+*{margin-top:1rem}@media (min-width:701px){.feature-row:not(.feature-row--text-only){align-items:start;display:grid}.feature-row--right{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.feature-row--right>.feature-text{grid-area:1/1}.feature-row--right>.content-figure{grid-area:1/2}.feature-row--left{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.feature-row--left>.content-figure{grid-area:1/1}.feature-row--left>.feature-text{grid-area:1/2}}@media (max-width:700px){.content-figure{margin-top:1.75rem}.mini-toc{border:var(--hairline);background:var(--surface-1);border-radius:4px;margin-bottom:1.75rem;display:block}.mini-toc-summary{cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-900);text-transform:uppercase;letter-spacing:1.5px;justify-content:space-between;align-items:center;gap:.5rem;min-height:24px;padding:.75rem 1rem;font-weight:500;list-style:none;display:flex}.mini-toc-summary::-webkit-details-marker{display:none}.mini-toc-summary:after{content:"⌄";color:var(--ink-400);font-size:.875rem;line-height:0;transition:transform .2s}.mini-toc[open] .mini-toc-summary:after{transform:rotate(180deg)}.mini-toc[open] .mini-toc-summary{border-bottom:var(--hairline)}.mini-toc-list{margin:0;padding:.375rem 1rem .75rem;list-style:none}.mini-toc-list li+li{margin-top:.375rem}.mini-toc-list a{font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-700);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--ink-300);text-decoration-color:var(--ink-300);min-height:24px;padding-block:.125rem;display:inline-block}.mini-toc-list a:hover{color:var(--red-link-hover)}}.content-figure,.feature-text{min-width:0}.content-figure-trigger{cursor:zoom-in;text-align:left;background:0 0;border:none;border-radius:4px;width:100%;margin:0;padding:0;display:block}.content-figure img{aspect-ratio:auto 1600/1075;border-radius:4px;width:100%;height:auto;margin:0;display:block}.content-figure figcaption{font-family:var(--font-mono);color:var(--ink-500);margin-top:.5rem;font-size:.75rem;line-height:1.5}.detail-content a{color:var(--red-link);text-underline-offset:2px;text-decoration:underline}.detail-content a:hover{color:var(--red-link-hover)}.detail-content blockquote{color:var(--ink-700);background:color-mix(in srgb, var(--surface-1) 100%, var(--ink-500));box-shadow:inset 3px 0 0 var(--ink-700);border-radius:0 4px 4px 0;margin:1.25rem 0;padding:1rem;font-style:italic}.detail-content blockquote>*+*{margin-top:.625rem}.detail-content blockquote p{margin:0}.detail-content blockquote :not(pre)>code{font-style:normal}.detail-content blockquote a{color:var(--red-link)}.adjacent-pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3.5rem;padding-top:1.75rem;display:grid}.adjacent-pager-cell{color:inherit;min-height:44px;transition:background var(--dur-mid) ease;border-radius:4px;flex-direction:column;gap:.375rem;padding:.875rem 1rem;text-decoration:none;display:flex}.adjacent-pager-cell:hover{background:var(--surface-1)}.adjacent-pager-cell--prev{text-align:left;grid-column:1;align-items:flex-start}.adjacent-pager-cell--next{text-align:right;grid-column:2;align-items:flex-end}.adjacent-pager-label{font-family:var(--font-mono);font-size:var(--fs-mono-xs);color:var(--ink-400);text-transform:uppercase;letter-spacing:1.5px}.adjacent-pager-arrow{font-size:1.25em;line-height:1;text-decoration:none;display:inline-block}.adjacent-pager-title{color:var(--ink-900);transition:color var(--dur-mid) ease;font-size:1rem;font-weight:500}.adjacent-pager-cell:hover .adjacent-pager-title{color:var(--red-fg)}.adjacent-pager-date{font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-400)}@media (max-width:700px){.adjacent-pager{grid-template-columns:1fr;gap:.75rem}.adjacent-pager-cell--prev{grid-area:1/1}.adjacent-pager-cell--next{grid-area:2/1}}.lightbox-backdrop{z-index:2000;background:color-mix(in srgb, var(--navy-900) 80%, transparent);opacity:0;justify-content:center;align-items:center;padding:2rem;transition:opacity .2s ease-out;display:flex;position:fixed;inset:0}.lightbox-backdrop.is-visible{opacity:1}.lightbox-dialog{opacity:0;flex-direction:column;align-items:center;max-width:min(1200px,100vw - 4rem);max-height:calc(100vh - 4rem);transition:transform .2s ease-out,opacity .2s ease-out;display:flex;position:relative;transform:scale(.94)}.lightbox-backdrop.is-visible .lightbox-dialog{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.lightbox-backdrop,.lightbox-dialog{transition:none}}.lightbox-image{width:auto;max-width:100%;height:auto;min-height:0;max-height:calc(100vh - 4rem);box-shadow:0 20px 60px color-mix(in srgb, var(--navy-900) 45%, transparent);border-radius:6px;display:block}.lightbox-caption{max-width:100%;font-family:var(--font-mono);font-size:var(--fs-mono-sm);text-align:center;color:color-mix(in srgb, var(--white) 75%, transparent);flex-shrink:0;margin-top:.75rem;line-height:1.5}.lightbox-caption:empty{display:none}.lightbox-close{background:color-mix(in srgb, var(--navy-900) 70%, transparent);width:44px;height:44px;color:var(--white);cursor:pointer;transition:background var(--dur-base);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:.5rem;right:.5rem}.lightbox-close:hover{background:var(--navy-900)}.lightbox-backdrop :focus-visible{outline:2px solid var(--white);outline-offset:2px}
