@layer theme,base;@layer components{.page-hero{padding-block:clamp(3.5rem,2rem + 5vw,7.5rem) clamp(3rem,2rem + 3.5vw,5.5rem)}.page-hero__inner{justify-items:start;gap:var(--space-4);display:grid}.page-hero__title{max-width:16ch;font-size:var(--fs-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tracking-display)}.page-hero__lead{max-width:40rem;margin-top:var(--space-2)}.page-hero__actions{align-items:center;gap:var(--space-3) var(--space-5);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.page-hero__intro{margin-top:var(--space-3);color:var(--text-muted)}.page-hero__toc{width:100%;max-width:40rem;margin-top:var(--space-4)}.page-hero__toc .toc--inline{margin-bottom:0}.page-hero--narrow .container{--container:calc(46rem + 2 * var(--gutter))}.page-hero--narrow{padding-bottom:clamp(2rem,1.5rem + 2vw,3rem)}.page-hero--narrow .page-hero__title{max-width:none;font-size:var(--fs-h1);letter-spacing:-.03em;line-height:1.08}.page-band{--band-pad:clamp(3.5rem, 2.5rem + 4vw, 6.5rem);padding-block:var(--band-pad);scroll-margin-top:var(--nav-h,3.5rem)}.page-prose.prose{max-width:none}.page-prose>:where(p,ul,ol,blockquote,h3,h4,dl){max-width:var(--measure)}.page-prose>:where(.prose-table,.code,.callout,.prose-figure,.steps){max-width:56rem}.page-prose>h2:first-child{margin-bottom:var(--space-6);max-width:22ch;font-size:var(--fs-h2);letter-spacing:var(--tracking-heading)}.page-prose>h2:first-child+*{margin-top:0}.section--alt .page-prose .prose-table,.section--alt .page-prose .callout--note,.section--alt .page-prose :where(:not(pre)>code){background:var(--surface)}.section--alt .page-prose .roadmap__phase--in-progress .roadmap__card{border-color:#0000}.page-body{--docs-top:calc(var(--nav-h,3.5rem) + var(--space-6));position:relative}.page-toc{display:none}@media (min-width:80rem){.page-body--toc .page-prose{margin-right:calc(13rem + var(--space-8))}.page-toc{pointer-events:none;display:block;position:absolute;inset:0}.page-toc__inner{justify-content:flex-end;height:100%;padding-block:clamp(3.5rem,2.5rem + 4vw,6.5rem);display:flex}.page-toc .toc--aside{pointer-events:auto;align-self:flex-start;width:13rem}}.page-extra{padding-block:0 clamp(4rem,3rem + 4vw,7rem)}.bom{gap:var(--space-6);display:grid}.prose>.bom{max-width:none;margin-top:1.75em}.bom__group{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.bom__table{border-collapse:collapse;width:100%;font-size:var(--fs-small);line-height:1.5}.bom__caption{padding:var(--space-4) var(--space-5) var(--space-3);text-align:left;font-size:var(--fs-h4);letter-spacing:-.015em;font-weight:600}.bom__table :where(th,td){border-top:1px solid var(--border);text-align:left;vertical-align:top;padding:.8rem 1rem}.bom__table :where(th,td):first-child{padding-left:var(--space-5)}.bom__table :where(th,td):last-child{padding-right:var(--space-5)}.bom__table thead th{background:var(--bg-alt);font-size:var(--fs-caption);color:var(--text-muted);white-space:nowrap;font-weight:600}.bom__table{table-layout:fixed}.bom__table thead th:first-child{width:22%}.bom__table thead th:nth-child(2){width:6.5rem}.bom__table thead th:nth-child(3){width:26%}.bom__part{font-weight:600}.bom__qty{font-variant-numeric:tabular-nums}.bom__notes{color:var(--text-muted)}.bom__todo{color:var(--text-muted);font-style:italic}.bom__updated{margin-top:calc(var(--space-2) * -1)}@media (max-width:40rem){.bom__table thead{display:none}.bom__caption{display:block}.bom__table,.bom__table tbody,.bom__table tr,.bom__table :where(th,td){width:auto;display:block}.bom__table tr{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);gap:.35rem;display:grid}.bom__table :where(th,td){border:0;padding:0!important}.bom__part{margin-bottom:.15rem;font-size:.9375rem}.bom__table td{gap:var(--space-3);grid-template-columns:4.5rem minmax(0,1fr);align-items:baseline;display:grid}.bom__table td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--fs-caption);font-weight:600}}.log-list{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));margin:0;padding:0;list-style:none;display:grid}.log-list>li{display:grid}.log-card{gap:var(--space-2)}.log-card .card__media{margin-bottom:var(--space-4);position:relative;overflow:hidden}.log-card .card__media img{object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}a.log-card:hover .card__media img{transform:scale(1.03)}.log-card__title{font-size:var(--fs-h4);letter-spacing:-.015em;line-height:1.25}.log-card .card__body{font-size:.9375rem}.log-card .tag{background:var(--surface)}@media (min-width:64rem){.log-list>li:first-child{grid-column:1/-1}.log-card--featured{align-items:center;gap:0 var(--space-7);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding:0;display:grid}.log-card--featured .card__media{aspect-ratio:auto;height:100%;min-height:20rem;margin:0}.log-card--featured .log-card__text{padding:var(--space-7) var(--space-7) var(--space-7) 0}.log-card--featured .log-card__title{font-size:var(--fs-h3)}}.log-card__text{gap:var(--space-2);display:grid}.log-card .card__more{margin-top:var(--space-2);padding-top:0}.post-meta{align-items:center;gap:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--fs-small);flex-wrap:wrap;display:flex}.post-meta__tags{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.media-flag{top:var(--space-3);left:var(--space-3);z-index:1;box-shadow:var(--shadow-sm);position:absolute;background:var(--surface)!important}.post-back{font-size:var(--fs-small);margin-bottom:var(--space-4)}.post-back:before{content:"‹ "}.post-cover{width:min(100% - 2 * var(--gutter), 60rem);border-radius:var(--radius-xl);background:var(--bg-alt);margin-inline:auto;position:relative;overflow:hidden}.post-cover img{width:100%;height:auto}.post-body{--container:calc(46rem + 2 * var(--gutter));padding-block:clamp(2.5rem,2rem + 3vw,4.5rem) clamp(4rem,3rem + 4vw,7rem)}.post-body .prose{max-width:none}.post-body .prose>:where(p,ul,ol,blockquote,h2,h3,h4){max-width:var(--measure)}.post-pager{gap:var(--space-4);margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.post-pager__link{gap:var(--space-1);padding:var(--space-5)}.post-pager__link--next{text-align:right;grid-column:-2}.post-pager__dir{font-size:var(--fs-caption);color:var(--text-muted);font-weight:600}.post-pager__title{letter-spacing:-.01em;color:var(--text);font-weight:600;line-height:1.35}a.post-pager__link:hover .post-pager__title{color:var(--accent-ink)}.gallery{columns:3 18rem;column-gap:var(--space-5);margin:0;padding:0;list-style:none}.gallery__item{break-inside:avoid;margin-bottom:var(--space-6)}.gallery__figure{gap:var(--space-3);margin:0;display:grid}.gallery__link{border-radius:var(--radius-lg);background:var(--bg-alt);display:block;position:relative;overflow:hidden}.gallery__link img{width:100%;height:auto;transition:transform var(--dur-slow) var(--ease-out), opacity var(--dur-base) var(--ease-out)}.gallery__link:hover img{transform:scale(1.025)}.gallery__link:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 6%, transparent);pointer-events:none;position:absolute;inset:0}.gallery__figure figcaption{padding-inline:var(--space-1)}.play-badge{border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-md);color:var(--text);font-size:var(--fs-small);white-space:nowrap;pointer-events:none;align-items:center;gap:.5rem;padding:.55rem 1rem .55rem .6rem;font-weight:500;display:inline-flex;position:absolute;top:50%;left:50%;translate:-50% -50%}.play-badge--low{top:74%}.play-badge__icon{background:var(--text);width:1.75rem;height:1.75rem;color:var(--bg);border-radius:50%;place-items:center;display:grid}.play-badge__icon svg{width:.7rem;height:.7rem;margin-left:2px}.lightbox{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:0;overflow:hidden}.lightbox::backdrop{background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.lightbox[open]{display:grid}.lightbox__frame{height:100%;padding:var(--space-4) var(--gutter) var(--space-5);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.lightbox__bar{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:2.75rem;display:flex}.lightbox__counter{color:var(--text-muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.lightbox__stage{align-items:center;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;min-height:0;display:grid}.lightbox__media{place-items:center;height:100%;min-height:0;display:grid;position:relative}.lightbox__media>*{border-radius:var(--radius-lg);width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:var(--shadow-lg);background:var(--bg-alt)}.lightbox__media-inner{position:relative}.lightbox__media-inner img{border-radius:inherit;width:auto;max-width:100%;max-height:calc(100dvh - 12rem)}.lightbox__media video{max-height:calc(100dvh - 12rem)}.lightbox__caption{justify-items:center;gap:var(--space-1);margin:var(--space-4) auto 0;text-align:center;max-width:40rem;font-size:var(--fs-small);color:var(--text-muted);display:grid}.lightbox__btn{background:var(--surface);width:2.75rem;height:2.75rem;color:var(--text);box-shadow:var(--shadow-sm)}.lightbox__btn:hover{background:var(--surface-raised)}.lightbox__btn svg{width:20px;height:20px}@media (max-width:40rem){.lightbox__stage{grid-template-columns:minmax(0,1fr)}.lightbox__nav{display:none}.lightbox__phone-nav{display:flex!important}}.lightbox__phone-nav{justify-content:center;gap:var(--space-4);margin-top:var(--space-4);display:none}@media (prefers-reduced-motion:no-preference){.lightbox[open] .lightbox__media-inner{animation:lightbox-in var(--dur-base) var(--ease-out)}.lightbox[open]::backdrop{animation:lightbox-fade var(--dur-base) var(--ease-out)}}@keyframes lightbox-in{0%{opacity:0;transform:scale(.97)}}@keyframes lightbox-fade{0%{opacity:0}}.not-found{align-content:center;min-height:60vh;display:grid}}@layer utilities;
