﻿html,body{height:100%;font-family:var(--k-font-ui)}body{margin:0;background:var(--k-ground) !important;background-image:url("../images/background-shapes.svg") !important;background-size:960px;color:var(--k-text)}img,video{height:auto}.layoutWrapper{min-height:100%;display:flex;flex-direction:column}main{flex:1}.md-table-wrap{overflow-x:auto}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--k-focus);outline-offset:4px}::selection{color:var(--k-brand-fg);background:var(--k-focus)}html{scroll-padding-top:var(--site-sticky-h, 0px)}.k-nav{position:sticky;top:0;z-index:20}@media(max-width: 600px){.k-nav{position:static}.k-nav-stub{position:sticky;top:0;z-index:20}}.k-prose p>code,.k-prose li>code{padding:2px 5px;border-radius:var(--k-r-1);background:var(--k-content);color:var(--k-text);font-family:var(--k-font-mono);font-size:var(--k-t-body)}.k-prose:not(.project__body) pre:not(.warning-message){margin:var(--k-s-4) 0;padding:var(--k-s-4);border:2px solid var(--k-brand);border-radius:var(--k-r-1);background:var(--k-raised);color:var(--k-text);font-family:var(--k-font-mono);font-size:var(--k-t-body);line-height:var(--k-lh-body);overflow-x:auto}.k-prose pre code{background:none;padding:0}.wrap-pre pre{white-space:pre-wrap;word-break:break-word}.k-prose figcaption{color:var(--k-dim);font-size:var(--k-t-body);font-style:italic;text-align:center}.resume .k-prose a{overflow-wrap:anywhere}.resume .k-prose>h1{margin:0 0 var(--k-s-4);font-family:var(--k-font-display);font-size:clamp(2.8rem,7vw,6rem);font-weight:700;line-height:.95;letter-spacing:-0.055em}.resume .k-prose>h2{margin-top:var(--k-s-8);padding-top:var(--k-s-4);border-top:3px solid var(--k-cap-2);font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.1;letter-spacing:-0.035em}.resume .k-prose>p:nth-of-type(-n + 3){font-size:var(--k-t-lead)}.k-prose ul.profile-view{padding:0;list-style:none}.k-prose ul.profile-view li{margin:var(--k-s-2) 0;padding:var(--k-s-2);border-radius:var(--k-r-2);background:var(--k-content)}.k-prose ul.profile-view li img{width:80px;height:80px;margin-right:var(--k-s-5);border-radius:var(--k-r-circle)}.k-prose ul.profile-view li .block{display:block}.k-prose ul.profile-view li .block a{display:inline-block}.k-band>.k-article{margin-inline:auto}.k-article.hiring{max-width:68rem}.my-life{width:min(94vw,110em);margin-bottom:var(--k-s-8);background:var(--k-ground);color:var(--k-text);font-family:var(--k-font-ui)}.my-life :is(img,video){box-sizing:border-box}.my-life-slide{position:relative;display:grid;min-height:min(56.25vw,61em);overflow:hidden;scroll-margin-top:var(--k-s-5);isolation:isolate;color:var(--k-text);background:var(--k-surface)}.my-life-slide+.my-life-slide{border-top:var(--k-s-3) solid var(--k-ground)}.my-life-slide:nth-child(odd){box-shadow:inset 0 6px 0 0 var(--k-accent)}.my-life-slide:nth-child(even){background:rgba(0,0,0,0)}.my-life-slide__copy{position:relative;z-index:2}.my-life-slide__copy h1,.my-life-slide__copy h2{margin:0;font-family:var(--k-font-display);font-size:var(--k-t-display);font-weight:700;line-height:.95;letter-spacing:-0.03em}.my-life-slide__copy h1 a,.my-life-slide__copy h2 a{color:inherit;text-decoration-line:underline;text-decoration-color:rgba(0,0,0,0);text-decoration-thickness:.045em;text-underline-offset:.1em;transition:text-decoration-color var(--k-dur) var(--k-ease)}.my-life-slide__copy h1 a:hover,.my-life-slide__copy h1 a:focus-visible,.my-life-slide__copy h2 a:hover,.my-life-slide__copy h2 a:focus-visible{text-decoration-color:currentColor}.my-life-slide__copy h1{max-width:7ch}.my-life-slide__copy h2{max-width:10ch}.my-life-slide__list{max-width:22ch;margin:var(--k-s-5) 0 0;padding:0;color:var(--k-text);font-size:var(--k-t-lead);line-height:var(--k-lh-ui);list-style:none}.my-life-slide__list li{display:flex;gap:var(--k-s-2);align-items:baseline}.my-life-slide__list li+li{margin-top:var(--k-s-2)}.my-life-slide__list .my-life-slide__list-icon{width:1.25em;flex:0 0 1.25em;line-height:1;text-align:center}.my-life-slide--intro{grid-template-columns:minmax(17em, 0.85fr) minmax(0, 1.15fr);gap:clamp(var(--k-s-6),8vw,var(--k-s-9));align-items:center;padding:clamp(var(--k-s-6),7vw,var(--k-s-9))}.my-life-slide--intro .my-life-slide__copy{max-width:34em}.my-life-slide--intro .my-life-slide__copy p{max-width:39ch;margin:var(--k-s-5) 0 0;color:var(--k-text);font-size:var(--k-t-lead);line-height:var(--k-lh-body)}.my-life-intro__portrait{position:relative;z-index:1;width:min(100%,27em);aspect-ratio:4/5;justify-self:end;padding:var(--k-s-2);object-fit:cover;background:var(--k-cap-3);box-shadow:var(--k-shadow-hard);transform:rotate(-2.5deg)}.my-life-slide--technology,.my-life-slide--gaming{grid-template-columns:minmax(15em, 0.75fr) minmax(27em, 1.25fr);gap:clamp(var(--k-s-6),6vw,var(--k-s-9));align-items:center;padding:clamp(var(--k-s-6),7vw,var(--k-s-9))}.my-life-project-grid{display:grid;height:min(37vw,40em);min-height:24em;grid-template-columns:minmax(0, 2fr) minmax(12em, 1fr);grid-template-rows:repeat(2, minmax(0, 1fr));gap:var(--k-s-3)}.my-life-project-grid img,.my-life-project-grid video{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-tile-1);box-shadow:var(--k-shadow-2)}.my-life-technology-grid__hardware,.my-life-gaming-grid__eco{grid-column:2;grid-row:1/span 2}.my-life-technology-grid__hardware{object-position:center}.my-life-project-grid .my-life-gaming-grid__factory,.my-life-project-grid .my-life-gaming-grid__galaxy,.my-life-project-grid .my-life-gaming-grid__eco{object-fit:contain}.my-life-project-grid .my-life-gaming-grid__eco{padding:var(--k-s-3)}.my-life-slide--home{grid-template-columns:minmax(29em, 1.25fr) minmax(16em, 0.75fr);gap:clamp(var(--k-s-6),7vw,var(--k-s-9));align-items:center;padding:clamp(var(--k-s-6),7vw,var(--k-s-9))}.my-life-home-images{position:relative;height:min(42vw,47em);min-height:28em}.my-life-home-images img{position:absolute;display:block;padding:var(--k-s-2);object-fit:cover;box-shadow:var(--k-shadow-hard)}.my-life-home-images__primary{inset:0 16% 7% 0;width:84%;height:93%;background:var(--k-cap-3)}.my-life-home-images__plan{top:3%;right:0;width:41%;height:40%;background:var(--k-text);transform:rotate(4deg)}.my-life-home-images__garden{right:0;bottom:0;width:51%;height:27%;background:var(--k-cap-2);transform:rotate(-2deg)}.my-life-home-images__build{right:6%;bottom:15%;width:38%;height:28%;background:var(--k-cap-1);transform:rotate(5deg)}.my-life-slide--favorites{grid-template-columns:minmax(15em, 0.7fr) minmax(29em, 1.3fr);gap:clamp(var(--k-s-5),5vw,var(--k-s-8));align-items:center;padding:clamp(var(--k-s-6),7vw,var(--k-s-9))}.my-life-favorite-grid{display:grid;height:min(38vw,39em);min-height:25em;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(var(--k-s-2),1.2vw,var(--k-s-4));align-items:center}.my-life-favorite-grid img{width:100%;height:min(32vw,34em);object-fit:cover;border-radius:var(--k-r-1);box-shadow:var(--k-shadow-2);transform:rotate(-1.2deg)}.my-life-favorite-grid img:nth-child(even){align-self:end;transform:rotate(1.5deg) translateY(1em)}.my-life-slide--books .my-life-favorite-grid{position:relative;display:block;width:min(38vw,40em);height:min(38vw,40em);min-height:0;justify-self:center}.my-life-slide--books .my-life-favorite-grid img,.my-life-slide--books .my-life-favorite-grid img:nth-child(even){position:absolute;width:35%;height:auto;object-fit:contain}.my-life-slide--books .my-life-favorite-grid img:nth-child(1){z-index:5;top:1%;left:16%;transform:rotate(-5deg)}.my-life-slide--books .my-life-favorite-grid img:nth-child(2){z-index:4;top:0;left:47%;transform:rotate(3.5deg)}.my-life-slide--books .my-life-favorite-grid img:nth-child(3){z-index:2;top:47%;left:14%;transform:rotate(3deg)}.my-life-slide--books .my-life-favorite-grid img:nth-child(4){z-index:3;top:46%;left:45%;transform:rotate(-4deg)}.my-life-slide--games .my-life-favorite-grid{height:min(31vw,34em);grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-rows:repeat(2, minmax(0, 1fr))}.my-life-slide--games .my-life-favorite-grid img,.my-life-slide--games .my-life-favorite-grid img:nth-child(even){height:100%;object-fit:cover;transform:none}.my-life-slide--games .my-life-favorite-grid img[src$="/my-life/fav-game_eco.jpg"]{object-fit:contain;background:var(--k-tile-1)}.my-life-slide--games .my-life-favorite-grid img[src$="/my-life/fav-game_final-fantasy-xiv.jpg"],.my-life-slide--games .my-life-favorite-grid img[src$="/my-life/fav-game_oxygen-not-included.jpg"]{box-sizing:border-box;padding:var(--k-s-2);object-fit:contain;background:var(--k-tile-1)}.my-life-slide--shows .my-life-favorite-grid{height:auto;min-height:0;grid-template-columns:repeat(3, minmax(0, 1fr))}.my-life-slide--shows .my-life-favorite-grid img,.my-life-slide--shows .my-life-favorite-grid img:nth-child(even){height:auto;padding:0;object-fit:contain;transform:none}.my-life-slide--anime .my-life-favorite-grid{height:auto;min-height:0;grid-template-columns:repeat(3, minmax(0, 1fr))}.my-life-slide--anime .my-life-favorite-grid img,.my-life-slide--anime .my-life-favorite-grid img:nth-child(even){height:auto;aspect-ratio:266/375;object-fit:cover}.my-life-slide--animals .my-life-favorite-grid{width:min(38vw,40em);height:auto;min-height:0;aspect-ratio:1/1;grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-rows:repeat(2, minmax(0, 1fr));justify-self:center}.my-life-slide--animals .my-life-favorite-grid img,.my-life-slide--animals .my-life-favorite-grid img:nth-child(even){height:auto;aspect-ratio:1/1;object-fit:cover;transform:none}.my-life-slide--animals .my-life-favorite-grid img[src$="fav-animal_dolphin.jpg"]{clip-path:inset(8.333%);transform:scale(1.2)}@media(prefers-reduced-motion: no-preference){.my-life-slide .my-life-intro__portrait,.my-life-slide .my-life-project-grid img,.my-life-slide .my-life-project-grid video,.my-life-slide .my-life-home-images img{transition:transform var(--k-dur-slow) var(--k-ease),filter var(--k-dur-slow) var(--k-ease)}.my-life-slide:hover .my-life-intro__portrait{transform:rotate(-1deg) scale(1.01)}.my-life-slide:hover .my-life-project-grid img,.my-life-slide:hover .my-life-home-images img{filter:saturate(1.08)}}@media(max-width: 600px){.my-life{width:100%;margin-top:0;margin-bottom:0}.my-life-slide,.my-life-slide--intro,.my-life-slide--technology,.my-life-slide--gaming,.my-life-slide--home,.my-life-slide--favorites{min-height:auto;grid-template-columns:1fr}.my-life-slide--intro,.my-life-slide--technology,.my-life-slide--gaming,.my-life-slide--home,.my-life-slide--favorites{gap:var(--k-s-6);padding:var(--k-s-7) var(--k-s-5)}.my-life-intro__portrait{width:min(76vw,22em);justify-self:center}.my-life-home-images{min-height:22em;height:70vw}.my-life-project-grid{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:none}.my-life-project-grid img,.my-life-project-grid .my-life-technology-grid__hardware,.my-life-project-grid .my-life-gaming-grid__eco{height:auto;grid-column:auto;grid-row:auto;aspect-ratio:auto;object-fit:contain}.my-life-favorite-grid{height:auto;min-height:0;grid-template-columns:repeat(2, minmax(0, 1fr))}.my-life-favorite-grid img,.my-life-slide--shows .my-life-favorite-grid img,.my-life-slide--games .my-life-favorite-grid img{height:13em}.my-life-slide--animals .my-life-favorite-grid{width:100%;grid-template-columns:repeat(2, minmax(0, 1fr))}.my-life-slide--animals .my-life-favorite-grid img{height:auto}.my-life-slide--anime .my-life-favorite-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.my-life-slide--books .my-life-favorite-grid{display:grid;width:100%;height:auto;aspect-ratio:auto;grid-template-columns:repeat(2, minmax(0, 1fr))}.my-life-slide--books .my-life-favorite-grid img,.my-life-slide--books .my-life-favorite-grid img:nth-child(n){position:static;width:100%;height:auto;transform:none}.my-life-slide--games .my-life-favorite-grid,.my-life-slide--shows .my-life-favorite-grid{height:auto;grid-template-columns:1fr;grid-template-rows:none}.my-life-slide--games .my-life-favorite-grid img,.my-life-slide--shows .my-life-favorite-grid img,.my-life-slide--shows .my-life-favorite-grid img:nth-child(2){height:auto;min-height:0;grid-column:auto;grid-row:auto;aspect-ratio:auto}}.project{color:var(--k-text);font-size:var(--k-t-body);line-height:var(--k-lh-body);overflow-x:clip;isolation:isolate}.project--umbra{--plate-texture: url("/images/banners/umbra-texture.jpg")}.project--agent-compose{--plate-texture: url("/images/banners/agent-compose-texture.jpg");--wordmark: clamp(2.1rem, 6vw, 4rem)}.project--mcp-beaver{--plate-texture: url("/images/banners/mcp-beaver-texture.jpg")}.project pre{display:block;margin:0;padding:0}.project code{font-family:var(--k-font-mono)}.project__col{width:min(100% - clamp(var(--k-s-5),5vw,var(--k-s-8)),var(--k-column));margin-inline:auto}.project .label{margin:0}.project .project__body h2{margin:0;font-family:var(--k-font-display);font-size:var(--k-t-h2);line-height:var(--k-lh-tight);text-wrap:balance}.project .project__body h3{margin:var(--k-s-6) 0 0;font-size:var(--k-t-h3);line-height:var(--k-lh-tight)}:where(.project) p{max-width:var(--k-measure);margin:var(--k-s-4) 0 0}.project p code,.project li code,.project td code{color:var(--k-grant)}.project__hero{padding:var(--k-s-6) 0}.project__hero .label{color:var(--k-grant)}.project__plate{position:relative;isolation:isolate;padding:clamp(var(--k-s-5),4vw,var(--k-s-7));border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background-color:var(--k-surface);box-shadow:var(--k-shadow-2);overflow:hidden}.project__plate::before{position:absolute;z-index:-1;inset:0;content:"";background-image:var(--plate-texture);background-position:center center;background-size:cover;background-repeat:no-repeat}.project__plate::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(to right, color-mix(in srgb, var(--k-surface) 94%, transparent) 4%, color-mix(in srgb, var(--k-surface) 72%, transparent) 46%, color-mix(in srgb, var(--k-surface) 50%, transparent)),linear-gradient(to bottom, color-mix(in srgb, var(--k-surface) 55%, transparent), transparent 45%)}@media(max-width: 600px){.project__plate::before{background-position:center bottom;background-size:100% auto;mask-image:linear-gradient(to top, #000 32%, transparent 96%)}}.project__hero-grid{display:grid;grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr);gap:clamp(var(--k-s-6),5vw,var(--k-s-8));align-items:end}.project__hero-grid>*{min-width:0}@media(max-width: 60rem){.project__hero-grid{grid-template-columns:minmax(0, 1fr);align-items:start}}.project__mark{--mark: clamp(3.75rem, 6.5vw, 6.25rem);position:absolute;z-index:2;top:calc(var(--mark)*-0.15);right:calc(var(--mark)*-0.15);width:var(--mark);height:auto;pointer-events:none;filter:hue-rotate(-20deg) saturate(0.9) drop-shadow(0 0 0.35rem color-mix(in srgb, var(--k-shade) 90%, transparent)) drop-shadow(0 0.15rem 0.75rem color-mix(in srgb, var(--k-shade) 55%, transparent))}.project .project__wordmark{margin:0;color:var(--k-text);font-family:var(--k-font-display);font-size:var(--wordmark, var(--k-t-display));font-weight:700;line-height:.8;letter-spacing:-0.06em;white-space:nowrap}.project .project__hook{max-width:22ch;margin:var(--k-s-5) 0 0;color:var(--k-text);font-family:var(--k-font-display);font-size:var(--k-t-h1);font-weight:700;line-height:var(--k-lh-tight);letter-spacing:-0.032em;text-wrap:balance}@media(max-width: 600px){.project .project__hook{font-size:var(--k-t-h2)}}.project__meta{display:flex;gap:var(--k-s-1) var(--k-s-5);flex-wrap:wrap;margin:var(--k-s-5) 0 0;padding:0;list-style:none;color:var(--k-dim);font-family:var(--k-font-mono);font-size:var(--k-t-body);font-variant-numeric:tabular-nums}.project__meta b{color:var(--k-grant);font-weight:700}.project__onward{display:flex;gap:var(--k-s-1) var(--k-s-4);align-items:baseline;flex-wrap:wrap;margin:var(--k-s-5) 0 0}.project__onward a::after{content:" →"}.project__onward span{color:var(--k-dim);font-size:var(--k-t-body)}.project__code{border:2px solid var(--k-brand);border-radius:var(--k-r-1);background:var(--k-raised)}.project__code pre{padding:var(--k-s-4);overflow-x:auto;color:var(--k-text);font-family:var(--k-font-mono);font-size:var(--k-t-body);line-height:var(--k-lh-body);white-space:pre;tab-size:2}.project__code code{color:inherit;font:inherit}.project__code .kw,.project__code .s,.project__code .c{background:none;font:inherit}.project__code .kw{color:var(--k-grant);font-weight:700}.project__code .s{color:var(--k-refuse)}.project__code .c{color:var(--k-dim)}.project__code--annotated .c{color:var(--k-grant);font-weight:700}:where(.project) p+.project__code,:where(.project) p+.project__table-wrap,:where(.project) p+.project__deflist{margin-top:var(--k-s-5)}.project__field{padding:var(--k-s-6) 0 var(--k-s-8)}.project__verbs{display:flex;gap:var(--k-s-1) var(--k-s-4);flex-wrap:wrap;margin:var(--k-s-5) 0 0;padding:0;list-style:none;font-family:var(--k-font-mono);font-size:var(--k-t-body);line-height:var(--k-lh-body)}.project__verbs li{color:var(--k-dim)}.project__verbs li[data-state=granted]{color:var(--k-grant);font-weight:700;text-shadow:0 0 1.4rem color-mix(in srgb, var(--k-grant) 55%, transparent)}.project__verbs li[data-state=refused]{color:var(--k-refuse);text-decoration:line-through;text-decoration-thickness:1px}.project__legend+.label{margin-top:var(--k-s-7)}.project__legend{display:flex;gap:var(--k-s-2) var(--k-s-6);flex-wrap:wrap;margin:var(--k-s-5) 0 0;color:var(--k-dim);font-size:var(--k-t-body)}.project__legend .g,.project__legend .r,.project__legend .o{font-family:var(--k-font-mono);font-weight:700}.project__legend .g{color:var(--k-grant)}.project__legend .r{color:var(--k-refuse)}.project__legend .o{color:var(--k-text)}.project__doc{display:grid;grid-template-columns:minmax(0, 15rem) minmax(0, 1fr);gap:clamp(var(--k-s-5),4vw,var(--k-s-8));border-top:var(--k-edge-w) solid var(--k-edge)}@media(max-width: 62rem){.project__doc{grid-template-columns:minmax(0, 1fr)}}.project__toc{position:sticky;top:5.5rem;align-self:start;padding:var(--k-s-7) 0}@media(max-width: 62rem){.project__toc{display:none}}.project__toc .k-toc{margin:var(--k-s-4) 0 0;padding:0;list-style:none}.project__body>section{--sect: var(--k-grant);position:relative;padding:var(--k-s-7) 0}.project__body>section::before{position:absolute;z-index:-1;inset:0 -100vw 0 calc(clamp(var(--k-s-5),4vw,var(--k-s-8))/-2);content:""}@media(max-width: 62rem){.project__body>section::before{inset:0 -100vw}}.project__body>section::before{border-top:2px solid var(--sect)}.project__body>section .label{color:var(--sect)}.project__body>section[data-accent=grant]{--sect: var(--k-grant)}.project__body>section[data-accent=refuse]{--sect: var(--k-refuse)}.project__body>section[data-accent=cost]{--sect: var(--k-cost)}.project__body>section[data-accent=context]{--sect: var(--k-context)}.project__body>section[data-accent=reference]{--sect: var(--k-reference)}@media(prefers-reduced-motion: reduce){.project__anchor{transition:none}}.project__deflist{margin:var(--k-s-5) 0 0;padding:0}.project__deflist>div{display:grid;grid-template-columns:minmax(0, 15rem) minmax(0, 1fr);gap:var(--k-s-1) var(--k-s-5);padding:var(--k-s-3) 0;border-top:1px solid var(--k-line-quiet)}.project__deflist>div:last-child{border-bottom:1px solid var(--k-line-quiet)}@media(max-width: 44rem){.project__deflist>div{grid-template-columns:1fr}}.project__deflist dt{color:var(--sect, var(--k-grant));font-family:var(--k-font-mono);font-size:var(--k-t-body);font-weight:700;line-height:var(--k-lh-body)}.project__deflist dd{margin:0;color:var(--k-text)}.project__deflist--numbered dt{display:flex;gap:var(--k-s-2);align-items:baseline}.project__n{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid var(--sect, var(--k-grant));border-radius:var(--k-r-circle);color:var(--sect, var(--k-grant));font-size:var(--k-t-body);font-variant-numeric:tabular-nums}.project__table-wrap{margin:var(--k-s-5) 0 0;overflow-x:auto}.project__table{width:100%;border-collapse:collapse;font-size:var(--k-t-body)}.project__table caption{margin-bottom:var(--k-s-3);color:var(--k-dim);font-size:var(--k-t-body);font-weight:500;letter-spacing:.06em;text-align:left;text-transform:uppercase}.project__table th{padding:var(--k-s-3) var(--k-s-4);border-bottom:2px solid var(--k-accent);background:var(--k-brand);color:var(--k-brand-fg);font-size:var(--k-t-body);font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}.project__table td{padding:var(--k-s-3) var(--k-s-4);border-bottom:1px solid var(--k-line-quiet);vertical-align:top}.project__table tbody th{border-bottom:1px solid var(--k-line-quiet);background:none;color:var(--k-text);letter-spacing:0;text-transform:none;white-space:normal;vertical-align:top}.project__note{display:grid;grid-template-columns:max-content minmax(0, 1fr);gap:0 var(--k-s-4);margin:var(--k-s-5) 0 0;padding:var(--k-s-4);border:var(--k-edge-w) solid var(--k-refuse);border-left:3px solid var(--k-refuse);border-radius:var(--k-r-1);background:color-mix(in srgb, var(--k-refuse) 18%, var(--k-ground));box-shadow:var(--k-shadow-1)}.project__note p{max-width:var(--k-measure);margin:0}.project__note p+p{margin-top:var(--k-s-3)}@media(max-width: 34rem){.project__note{grid-template-columns:1fr;gap:var(--k-s-2)}}.project__note-label{color:var(--k-refuse);font-size:var(--k-t-body);font-weight:700;letter-spacing:.06em;line-height:var(--k-lh-body);text-transform:uppercase}.project__chain ol{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(var(--k-s-4),2.2vw,var(--k-s-6));margin:var(--k-s-5) 0 0;padding:0;list-style:none;counter-reset:step}@media(max-width: 68rem){.project__chain ol{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 34rem){.project__chain ol{grid-template-columns:1fr}}.project__chain li{display:flex;flex-direction:column;gap:var(--k-s-1);padding:var(--k-s-3) 0 0 var(--k-s-3);border-top:2px solid var(--k-edge);border-left:2px solid rgba(0,0,0,0)}.project__chain li::before{counter-increment:step;content:counter(step) " //";color:var(--k-dim);font-family:var(--k-font-mono);font-size:var(--k-t-body);font-weight:700}.project__chain li[aria-current=step]{border-top-color:var(--sect);border-left-color:var(--sect)}.project__chain li[aria-current=step]::before{color:var(--sect)}.project__chain li[aria-current=step] .project__chain-name{color:var(--sect)}.project__chain-name{display:flex;gap:var(--k-s-1) var(--k-s-2);align-items:baseline;flex-wrap:wrap;color:var(--k-text);font-size:var(--k-t-lead);font-weight:700}.project__chain-name a{border-bottom:1px solid var(--k-edge);color:var(--k-text);text-decoration:none}.project__chain-name a:hover{border-bottom-color:var(--sect);color:var(--sect)}.project__state{color:var(--k-dim);font-family:var(--k-font-mono);font-size:var(--k-t-body);font-weight:700;font-variant-numeric:tabular-nums}.project__state--live{color:var(--sect, var(--k-grant))}.project__chain-role{color:var(--k-text);font-size:var(--k-t-body);line-height:var(--k-lh-ui)}.project__links{display:flex;gap:var(--k-s-3) var(--k-s-6);flex-wrap:wrap;margin:var(--k-s-5) 0 0;padding:0;list-style:none}.project__links a{border-bottom:1px solid rgba(0,0,0,0);color:var(--sect, var(--k-grant));font-family:var(--k-font-mono);font-size:var(--k-t-body);font-weight:700;text-decoration:none}.project__links a:hover{border-bottom-color:var(--sect, var(--k-grant))}.project__byline{display:flex;gap:var(--k-s-2) var(--k-s-5);flex-wrap:wrap;margin:var(--k-s-6) 0 0;padding-bottom:var(--k-s-8);color:var(--k-dim);font-size:var(--k-t-body)}.project__byline a{color:var(--k-text);font-weight:700}.project :target{scroll-margin-top:6rem}.docs{--rail: 13.5rem;--nav: 15rem;color:var(--k-text);font-size:var(--k-t-body);line-height:var(--k-lh-body)}.docs__col,.docs__crumbs,.docs__frame{width:min(100% - clamp(var(--k-s-5),5vw,var(--k-s-8)),var(--k-column));margin-inline:auto}.docs__crumbs{padding:var(--k-s-5) 0 0}.docs__crumbs ol{margin:0;padding:0;list-style:none}.docs__crumbs a{text-decoration:none}.docs__crumbs a:hover{color:var(--k-brand)}.docs__crumbs li:first-child a{color:var(--k-text);font-weight:700}.docs__crumbs [aria-current=page]{color:var(--k-text)}.docs__frame{display:grid;grid-template-columns:var(--nav) minmax(0, 1fr) var(--rail);gap:clamp(var(--k-s-5),3.5vw,var(--k-s-7));align-items:start;padding:var(--k-s-5) 0 var(--k-s-8)}@media(max-width: 78rem){.docs__frame{grid-template-columns:var(--nav) minmax(0, 1fr)}}@media(max-width: 60rem){.docs__frame{grid-template-columns:minmax(0, 1fr)}}.docs__nav{position:sticky;top:5.5rem;align-self:start;max-height:calc(100vh - 7rem);padding:var(--k-s-5) var(--k-s-4);overflow-y:auto}@media(max-width: 60rem){.docs__nav{position:static;max-height:none;overflow-y:visible}}.docs__nav ul{display:flex;flex-direction:column;gap:var(--k-s-1);margin:var(--k-s-2) 0 var(--k-s-5);padding:0;list-style:none}.docs__nav a{display:block;padding:var(--k-s-1) var(--k-s-2);border-left:2px solid rgba(0,0,0,0);border-radius:var(--k-r-1);color:var(--k-dim);font-size:var(--k-t-body);line-height:var(--k-lh-ui);text-decoration:none}.docs__nav a:hover{background:var(--k-raised);color:var(--k-text)}.docs__nav a[aria-current=page]{border-left-color:var(--k-brand);color:var(--k-text);font-weight:700}.docs__brand{display:flex;gap:var(--k-s-3);align-items:center;margin-bottom:var(--k-s-5);color:var(--k-text);text-decoration:none}.docs__brand img{width:2.5rem;height:auto;filter:hue-rotate(-20deg) saturate(0.9)}.docs__brand b{display:block;font-family:var(--k-font-display);font-size:var(--k-t-h3);line-height:var(--k-lh-tight)}.docs__brand-sub{display:block;margin-top:var(--k-s-1)}.docs__shelf{margin:0}.docs__catalogue-summary{display:none}@media(max-width: 60rem){.docs__catalogue-summary{display:flex;gap:var(--k-s-2) var(--k-s-4);flex-wrap:wrap;align-items:baseline;justify-content:space-between;padding:var(--k-s-3) var(--k-s-4);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);color:var(--k-text);font-size:var(--k-t-body);cursor:pointer}.docs__catalogue-summary::marker,.docs__catalogue-summary::-webkit-details-marker{content:""}.docs__catalogue-label::before{content:"▸";margin-right:var(--k-s-2);color:var(--k-dim)}.docs__catalogue[open] .docs__catalogue-label::before{content:"▾"}.docs__catalogue-current{color:var(--k-dim)}.docs__catalogue[open] .docs__catalogue-summary{margin-bottom:var(--k-s-4)}}.docs__snapshot{margin:var(--k-s-5) 0 0;padding-top:var(--k-s-4);border-top:1px solid var(--k-line-quiet);color:var(--k-dim);font-size:var(--k-t-body);line-height:var(--k-lh-ui)}.docs__snapshot a{color:var(--k-dim);text-underline-offset:3px}.docs__snapshot a:hover{color:var(--k-brand)}.docs__front .docs__snapshot{max-width:46ch;margin:var(--k-s-6) 0 0}.docs__main{min-width:0;padding:var(--k-s-6);border:2px solid var(--k-accent);border-radius:var(--k-r-1);background:var(--k-raised);box-shadow:var(--k-shadow-3)}@media(max-width: 600px){.docs__main{padding:var(--k-s-5)}}.docs__body{max-width:68ch}.docs__body h1{margin:0 0 var(--k-s-5);font-family:var(--k-font-display);font-size:var(--k-t-h1);line-height:var(--k-lh-tight);text-wrap:balance}.docs__body h2{padding-top:var(--k-s-5);border-top:1px solid var(--k-line-quiet);font-family:var(--k-font-display);scroll-margin-top:6rem}.docs__body h3{scroll-margin-top:6rem}.docs__body code{padding:2px 5px;border-radius:var(--k-r-1);background:var(--k-content);color:var(--k-text);font-family:var(--k-font-mono);font-size:var(--k-t-body)}.docs__body pre:not(.warning-message){padding:var(--k-s-4);border:2px solid var(--k-brand);border-radius:var(--k-r-1);background:var(--k-surface);color:var(--k-text);font-family:var(--k-font-mono);font-size:var(--k-t-body);line-height:var(--k-lh-body);overflow-x:auto}.docs__body pre:not(.warning-message) code{padding:0;background:none;color:inherit;font:inherit}.docs__body table{width:100%;border-collapse:collapse;font-size:var(--k-t-body)}.docs__body th{padding:var(--k-s-3) var(--k-s-4);border-bottom:2px solid var(--k-accent);background:var(--k-brand);color:var(--k-brand-fg);font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}.docs__body td{padding:var(--k-s-3) var(--k-s-4);border-bottom:1px solid var(--k-line-quiet);vertical-align:top}.docs__rail{position:sticky;top:5.5rem;align-self:start;max-height:calc(100vh - 7rem);padding:var(--k-s-5) 0;overflow-y:auto}@media(max-width: 78rem){.docs__rail{display:none}}.docs__rail ol{margin:var(--k-s-3) 0 0;padding:0;list-style:none}.docs__rail a{display:block}.docs__rail a[aria-current=true]{border-left:2px solid var(--k-brand);color:var(--k-text)}.docs__rail-sub a{padding-left:var(--k-s-5)}.docs__pager-name{font-weight:700}.docs__front{padding:var(--k-s-7) 0 var(--k-s-8)}.docs__front h1{margin:var(--k-s-3) 0 var(--k-s-5);font-family:var(--k-font-display)}.docs__front .k-lead{max-width:var(--k-measure);margin:var(--k-s-4) 0 0}.docs__shelves{margin:clamp(var(--k-s-7),5vw,var(--k-s-8)) 0 0}.docs__shelf-block{padding-top:var(--k-s-5)}.docs__shelf-block+.docs__shelf-block{margin-top:var(--k-s-6)}.docs__shelf-block ul{display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 18rem), 1fr));gap:0 clamp(var(--k-s-5),3vw,var(--k-s-7));margin:var(--k-s-2) 0 0;padding:0;list-style:none}.docs__shelf-block li{border-bottom:1px solid var(--k-line-quiet)}.docs__shelf-block a{display:block;padding:var(--k-s-3) 0;color:var(--k-text);font-weight:700;text-decoration:none}.docs__shelf-block a:hover{color:var(--k-brand)}.docs__shelf-block span{display:block;color:var(--k-dim);font-size:var(--k-t-body);font-weight:400;line-height:var(--k-lh-ui)}.creature{white-space:nowrap}.creature::before{content:"";display:inline-block;width:1.6em;height:1.6em;margin-right:.3em;vertical-align:-0.45em;background-position:center;background-repeat:no-repeat;background-size:contain}.creature[data-role=platform]::before{background-image:url("/images/creatures/platform.png")}.creature[data-role=sysadmin]::before{background-image:url("/images/creatures/sysadmin.png")}.creature[data-role=science]::before{background-image:url("/images/creatures/science.png")}.creature[data-role=frontend]::before{background-image:url("/images/creatures/frontend.png")}.creature[data-role=gamedev]::before{background-image:url("/images/creatures/gamedev.png")}.creature[data-role=director]::before{background-image:url("/images/creatures/director.png")}.creature[data-role=advocate]::before{background-image:url("/images/creatures/advocate.png")}.creature[data-role=analyst]::before{background-image:url("/images/creatures/analyst.png")}.creature[data-role=psych]::before{background-image:url("/images/creatures/psych.png")}.creature[data-role=reporter]::before{background-image:url("/images/creatures/reporter.png")}:root{--k-t-body: 1rem;--k-t-lead: 1.125rem;--k-t-h3: 1.375rem;--k-t-h2: 1.75rem;--k-t-h1: 2.25rem;--k-t-display: clamp(2.5rem, 6vw, 4rem);--k-lh-tight: 1.2;--k-lh-ui: 1.4;--k-lh-body: 1.6;--k-measure: 65ch;--k-column: 1180px;--k-s-1: 4px;--k-s-2: 8px;--k-s-3: 12px;--k-s-4: 16px;--k-s-5: 24px;--k-s-6: 32px;--k-s-7: 48px;--k-s-8: 64px;--k-s-9: 96px;--k-r-0: 0;--k-r-1: 2px;--k-r-2: 4px;--k-r-pill: 999px;--k-r-circle: 50%;--k-font-display: "Chakra Petch", "Trebuchet MS", var(--k-font-ui);--k-font-ui: "Roboto", system-ui, -apple-system, "Helvetica Neue", sans-serif;--k-font-mono: "JetBrains Mono", sfmono-regular, consolas, menlo, monospace;--k-ease: cubic-bezier(0.2, 0.6, 0.3, 1);--k-dur: 120ms;--k-dur-slow: 260ms;--k-n-950: #010101;--k-n-100: #f1f1f6;--k-n-0: #fcfcff;--k-p-950: #030307;--k-p-900: #080711;--k-p-850: #121022;--k-p-800: #1c1a32;--k-p-750: #2b2844;--k-p-700: #393755;--k-p-650: #48475a;--k-w-50: #fdfaf8;--k-w-100: #f8f0ec;--k-w-200: #f2e5de;--k-w-300: #e8d6cc;--k-w-400: #c2ada1;--k-b-700: #3b0896;--k-b-600: #5410d0;--k-b-500: #6a3bf2;--k-b-400: #9083f9;--k-b-300: #a49dfc;--k-b-200: #c5c3fd;--k-a-700: #8e3c00;--k-a-300: #fb6e00;--k-cost-d: #e0716a;--k-cost-p: #a43b38;--k-refuse-d: #bd891c;--k-refuse-p: #6b4a00;--k-grant-d: #4ca563;--k-grant-p: #006e30;--k-context-d: #8f8cc9;--k-context-p: #5c5891;--k-reference-d: #af7fd2;--k-reference-p: #7a4b9a;--k-dim-d: #a9a7b3;--k-dim-p: #5e5e65;--k-focus-both: #7665e0;--k-shade-ink: #03020c;--k-loud: 0.5;--k-edge-w: 1.5px;--k-ground-texture: radial-gradient( circle at 90% 110px, color-mix(in srgb, var(--k-brand) 30%, transparent) 0%, color-mix(in srgb, var(--k-brand) 24%, transparent) 30%, color-mix(in srgb, var(--k-accent) 18%, transparent) 60%, transparent 260px ), radial-gradient( circle at 68% 30px, color-mix(in srgb, var(--k-brand) 26%, transparent) 0 54px, transparent 55px ), radial-gradient( circle at 55% 130px, color-mix(in srgb, var(--k-brand) 22%, transparent) 0 39px, transparent 40px ), radial-gradient( circle at 42% 50px, color-mix(in srgb, var(--k-accent) 18%, transparent) 0 27px, transparent 28px ), radial-gradient( circle at 60% 200px, color-mix(in srgb, var(--k-brand) 16%, transparent) 0 21px, transparent 22px );--k-ground: var(--k-p-900);--k-frame: var(--k-p-850);--k-canvas: var(--k-p-800);--k-surface: var(--k-p-800);--k-content: var(--k-surface);--k-raised: var(--k-p-750);--k-line: var(--k-a-300);--k-line-strong: var(--k-a-300);--k-line-quiet: var(--k-p-650);--k-edge-mix: 50%;--k-fx-off: 0px;--k-fx-off-hover: 0px;--k-fx-ring: 1px;--k-fx-bloom: 14px;--k-fx-bloom-hover: 22px;--k-fx-bloom-press: 6px;--k-fx-halo-hover: 44px;--k-fx-lift: 0px;--k-fx-sink: 1px;--k-dim: var(--k-dim-d);--k-text: var(--k-n-100);--k-brand: var(--k-b-400);--k-accent: var(--k-a-300);--k-brand-fg: var(--k-p-950);--k-accent-fg: var(--k-p-950);--k-focus: var(--k-focus-both);--k-scrim: color-mix(in srgb, var(--k-p-950) 72%, transparent);--k-shade: var(--k-shade-ink);--k-shade-near: 47.5%;--k-shade-far-2: 34.2%;--k-shade-near-3: 47.5%;--k-shade-far-3: 38%;--k-cap-1: var(--k-b-500);--k-cap-2: var(--k-b-400);--k-cap-3: var(--k-b-300);--k-tile-1: var(--k-p-950);--k-tile-1-hover: var(--k-p-850);--k-tile-2: var(--k-p-850);--k-tile-2-hover: var(--k-p-800);--k-tile-3: var(--k-p-750);--k-tile-3-hover: var(--k-p-700);--k-cost: var(--k-cost-d);--k-refuse: var(--k-refuse-d);--k-grant: var(--k-grant-d);--k-context: var(--k-context-d);--k-reference: var(--k-reference-d);--k-syn-keyword: var(--k-b-300);--k-syn-string: var(--k-b-200);--k-syn-name: var(--k-a-300);--k-syn-quiet: var(--k-dim-d)}[data-ground=paper],.k-canvas{--k-ground: var(--k-w-50);--k-frame: var(--k-p-850);--k-canvas: var(--k-w-300);--k-surface: var(--k-w-100);--k-content: var(--k-surface);--k-raised: var(--k-w-200);--k-line: var(--k-b-700);--k-line-strong: var(--k-b-700);--k-line-quiet: var(--k-w-400);--k-edge-mix: 34%;--k-fx-off: 4px;--k-fx-off-hover: 6px;--k-fx-ring: 0px;--k-fx-bloom: 0px;--k-fx-bloom-hover: 0px;--k-fx-bloom-press: 0px;--k-fx-halo-hover: 0px;--k-fx-lift: -2px;--k-fx-sink: 4px;--k-shade: var(--k-b-700);--k-shade-near: 15.2%;--k-shade-far-2: 11.4%;--k-shade-near-3: 17.1%;--k-shade-far-3: 13.3%;--k-dim: var(--k-dim-p);--k-text: var(--k-p-900);--k-brand: var(--k-b-700);--k-accent: var(--k-a-700);--k-brand-fg: var(--k-w-50);--k-accent-fg: var(--k-w-50);--k-focus: var(--k-focus-both);--k-scrim: color-mix(in srgb, var(--k-p-950) 72%, transparent);--k-cap-1: var(--k-b-700);--k-cap-2: var(--k-b-600);--k-cap-3: var(--k-b-500);--k-tile-1: var(--k-w-100);--k-tile-1-hover: var(--k-w-200);--k-tile-2: var(--k-w-200);--k-tile-2-hover: var(--k-w-300);--k-tile-3: var(--k-w-300);--k-tile-3-hover: var(--k-w-200);--k-cost: var(--k-cost-p);--k-refuse: var(--k-refuse-p);--k-grant: var(--k-grant-p);--k-context: var(--k-context-p);--k-reference: var(--k-reference-p)}[data-ground=dark],[data-theme=dark] .k-canvas,.k-nav,.k-nav-stub,.k-footer,.k-shell__rail,.k-prose pre{--k-shade: var(--k-shade-ink);--k-shade-near: 47.5%;--k-shade-far-2: 34.2%;--k-shade-near-3: 47.5%;--k-shade-far-3: 38%;--k-ground: var(--k-p-900);--k-canvas: var(--k-p-800);--k-surface: var(--k-p-800);--k-content: var(--k-surface);--k-raised: var(--k-p-750);--k-line: var(--k-a-300);--k-line-strong: var(--k-a-300);--k-line-quiet: var(--k-p-700);--k-edge-mix: 50%;--k-fx-off: 0px;--k-fx-off-hover: 0px;--k-fx-ring: 1px;--k-fx-bloom: 14px;--k-fx-bloom-hover: 22px;--k-fx-bloom-press: 6px;--k-fx-halo-hover: 44px;--k-fx-lift: 0px;--k-fx-sink: 1px;--k-dim: var(--k-dim-d);--k-text: var(--k-n-100);--k-brand: var(--k-b-400);--k-accent: var(--k-a-300);--k-brand-fg: var(--k-p-950);--k-accent-fg: var(--k-p-950);--k-cap-1: var(--k-b-500);--k-cap-2: var(--k-b-400);--k-cap-3: var(--k-b-300);--k-tile-1: var(--k-p-950);--k-tile-1-hover: var(--k-p-850);--k-tile-2: var(--k-p-850);--k-tile-2-hover: var(--k-p-800);--k-tile-3: var(--k-p-750);--k-tile-3-hover: var(--k-p-700);--k-cost: var(--k-cost-d);--k-refuse: var(--k-refuse-d);--k-grant: var(--k-grant-d);--k-context: var(--k-context-d);--k-reference: var(--k-reference-d)}:root,[data-ground],.k-canvas,.k-nav,.k-nav-stub,.k-footer,.k-shell__rail,.k-prose pre{--k-edge: color-mix( in srgb, var(--k-line) var(--k-edge-mix), var(--k-line-quiet) );--k-shadow-1: 0 1px 2px color-mix(in srgb, var(--k-shade) var(--k-shade-near), transparent);--k-shadow-2: 0 2px 4px color-mix(in srgb, var(--k-shade) var(--k-shade-near), transparent), 0 6px 16px color-mix(in srgb, var(--k-shade) var(--k-shade-far-2), transparent);--k-shadow-3: 0 4px 8px color-mix(in srgb, var(--k-shade) var(--k-shade-near-3), transparent), 0 12px 32px color-mix(in srgb, var(--k-shade) var(--k-shade-far-3), transparent);--k-shadow-hard: var(--k-s-4) var(--k-s-4) 0 0 color-mix(in srgb, var(--k-accent) 72%, transparent)}[data-theme=dark] .k-canvas{--k-canvas: var(--k-p-900)}[data-theme=dark] .k-article{background:var(--k-surface);--k-content: var(--k-p-750)}@media(prefers-color-scheme: dark){:root:not([data-theme=light]) .k-canvas--auto{--k-shade: var(--k-shade-ink);--k-shade-near: 47.5%;--k-shade-far-2: 34.2%;--k-shade-near-3: 47.5%;--k-shade-far-3: 38%;--k-ground: var(--k-p-900);--k-canvas: var(--k-p-900);--k-surface: var(--k-p-800);--k-content: var(--k-surface);--k-raised: var(--k-p-750);--k-line: var(--k-a-300);--k-line-strong: var(--k-a-300);--k-line-quiet: var(--k-p-700);--k-edge-mix: 50%;--k-fx-off: 0px;--k-fx-off-hover: 0px;--k-fx-ring: 1px;--k-fx-bloom: 14px;--k-fx-bloom-hover: 22px;--k-fx-bloom-press: 6px;--k-fx-halo-hover: 44px;--k-fx-lift: 0px;--k-fx-sink: 1px;--k-dim: var(--k-dim-d);--k-text: var(--k-n-100);--k-brand: var(--k-b-400);--k-accent: var(--k-a-300);--k-brand-fg: var(--k-p-950);--k-accent-fg: var(--k-p-950);--k-cap-1: var(--k-b-500);--k-cap-2: var(--k-b-400);--k-cap-3: var(--k-b-300);--k-tile-1: var(--k-p-950);--k-tile-1-hover: var(--k-p-850);--k-tile-2: var(--k-p-850);--k-tile-2-hover: var(--k-p-800);--k-tile-3: var(--k-p-750);--k-tile-3-hover: var(--k-p-700);--k-cost: var(--k-cost-d);--k-refuse: var(--k-refuse-d);--k-grant: var(--k-grant-d);--k-context: var(--k-context-d);--k-reference: var(--k-reference-d)}:root:not([data-theme=light]) .k-canvas--auto .k-article{background:var(--k-surface);--k-content: var(--k-p-750)}}.k-canvas{background:var(--k-canvas);color:var(--k-text);padding:var(--k-s-8) var(--k-s-5);--k-content: var(--k-surface)}.k-canvas__inner{max-width:68rem;margin:0 auto;min-width:0}.k-canvas--narrow .k-canvas__inner{max-width:44rem}@media(max-width: 600px){.k-canvas{padding:var(--k-s-6) var(--k-s-4)}}.k{background:var(--k-ground);color:var(--k-text);font-family:var(--k-font-ui);font-size:var(--k-t-body);line-height:var(--k-lh-body)}.k :where(code,kbd,samp,pre){font-family:var(--k-font-mono)}.k-page{background-color:var(--k-ground);clip-path:inset(0);isolation:isolate}.k-page>.k-band:not([data-ground]):not(.k-canvas){background-color:rgba(0,0,0,0)}.k-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--k-ground-texture);background-repeat:no-repeat}.k *,.k *::before,.k *::after{box-sizing:border-box}.k :focus-visible{outline:3px solid var(--k-focus);outline-offset:var(--k-focus-offset, 2px);border-radius:var(--k-r-1)}.k-display{margin:0;font-family:var(--k-font-display);font-size:var(--k-t-display);font-weight:700;line-height:var(--k-lh-tight);letter-spacing:-0.03em;text-wrap:balance;text-shadow:0 1px 2px color-mix(in srgb, var(--k-shade) 70%, transparent),0 2px 8px color-mix(in srgb, var(--k-shade) 55%, transparent),0 0 24px color-mix(in srgb, var(--k-shade) 35%, transparent)}.k-h1,.k-h2,.k-h3{margin:0;font-weight:700;line-height:var(--k-lh-tight);text-wrap:balance}.k-h1{margin:0;font-family:var(--k-font-display);font-size:var(--k-t-h1);letter-spacing:-0.02em}.k-h2{margin:0;font-family:var(--k-font-display);font-size:var(--k-t-h2);letter-spacing:-0.01em}.k-h3{font-size:var(--k-t-h3)}.k-lead{max-width:var(--k-measure);margin:0;font-size:var(--k-t-lead);line-height:var(--k-lh-body)}.k-body{max-width:var(--k-measure);margin:0;font-size:var(--k-t-body);line-height:var(--k-lh-body)}.k-article .k-lead,.k-article .k-body{max-width:none}.k-small{margin:0;color:var(--k-dim);font-size:var(--k-t-body);line-height:var(--k-lh-ui)}.k-eyebrow,.k-label{margin:0;color:var(--k-dim);font-size:var(--k-t-body);font-weight:500;line-height:1;letter-spacing:.06em;text-transform:uppercase}.k-meta{color:var(--k-dim);font-size:var(--k-t-body);font-variant-numeric:tabular-nums}.k-meta--stale{color:var(--k-refuse)}.k-section-heading{display:flex;flex-direction:column;gap:var(--k-s-2)}.k-link{color:var(--k-brand);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.k-link:hover{text-decoration-thickness:2px}.k-link--external::after{content:" ↗";content:" ↗"/" (external site)";color:var(--k-accent);font-size:1.15em;font-weight:700}.k-btn{display:inline-flex;align-items:center;gap:var(--k-s-2);padding:10px var(--k-s-4);border:1px solid rgba(0,0,0,0);border-radius:var(--k-r-1);font-family:var(--k-font-ui);font-size:var(--k-t-body);font-weight:600;line-height:var(--k-lh-ui);text-decoration:none;cursor:pointer;box-shadow:var(--k-shadow-2);transition:background-color var(--k-dur) var(--k-ease),color var(--k-dur) var(--k-ease),border-color var(--k-dur) var(--k-ease),box-shadow var(--k-dur) var(--k-ease),transform var(--k-dur) var(--k-ease)}.k-btn__icon{width:1.05em;height:1.05em;flex:none;fill:currentColor}.k-btn--primary{background:var(--k-brand);color:var(--k-brand-fg)}.k-btn--primary:hover{filter:brightness(1.1)}.k-btn--accent{background:var(--k-accent);color:var(--k-accent-fg);box-shadow:var(--k-shadow-2)}.k-btn--accent:hover,.k-btn--dual:hover{filter:brightness(1.1)}.k-btn--dual{border-color:rgba(0,0,0,0);background:linear-gradient(100deg, var(--k-brand) 0 52%, var(--k-accent) 52% 100%);color:var(--k-brand-fg);font-weight:700;box-shadow:var(--k-shadow-2)}.k-btn--ghost{border-color:var(--k-brand);background:var(--k-content);color:var(--k-brand)}.k-btn--ghost:hover{background:color-mix(in srgb, var(--k-brand) 14%, transparent)}.k-btn--quiet{border-color:var(--k-edge);background:var(--k-content);color:var(--k-dim)}.k-btn--quiet:hover{border-color:var(--k-dim);color:var(--k-text)}.k-btn--text{padding:var(--k-s-2) 0;border:0;background:rgba(0,0,0,0);box-shadow:none;color:var(--k-brand);text-decoration:underline;text-underline-offset:3px}.k-btn--text:hover{text-decoration-thickness:2px}.k-btn--text:active{box-shadow:none;transform:none}.k-btn[disabled],.k-btn[aria-disabled=true]{border-color:var(--k-edge);background:var(--k-raised);color:var(--k-dim);cursor:not-allowed;filter:none}.k-btn[aria-pressed=true]{border-color:var(--k-brand);background:var(--k-brand);color:var(--k-brand-fg)}.k-btn[aria-pressed=true]::before{content:"✓";content:"✓"/""}.k-btn[aria-expanded=true]{border-color:var(--k-brand);background:var(--k-raised);color:var(--k-text)}.k-btn[aria-busy=true]{cursor:progress}.k-btn[aria-busy=true]::after{width:1em;height:1em;flex:none;border:2px solid currentcolor;border-right-color:rgba(0,0,0,0);border-radius:var(--k-r-circle);content:"";animation:k-spin 720ms linear infinite}.k-btn-row{display:flex;flex-wrap:wrap;gap:var(--k-s-3);align-items:center}.k-panel{padding:var(--k-s-5);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-surface);box-shadow:var(--k-shadow-2);--k-content: var(--k-ground)}.k-panel--flush{padding:0;overflow:hidden}.k-raised{padding:var(--k-s-4);border-radius:var(--k-r-1);background:var(--k-raised);border:1px solid var(--k-line-quiet);--k-content: var(--k-surface)}.k-plate{display:flex;align-items:center;justify-content:center;padding:var(--k-s-5);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-tile-1);overflow:hidden;box-shadow:var(--k-shadow-2)}.k-plate img,.k-plate video{display:block;max-width:100%;height:auto}.k-tile{display:block;padding:var(--k-s-4);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-tile-1);color:inherit;text-decoration:none;transition:background-color var(--k-dur) var(--k-ease);box-shadow:var(--k-shadow-1)}:is(a,button).k-tile:hover{background:var(--k-tile-1-hover)}.k-tile--2{background:var(--k-tile-2)}:is(a,button).k-tile--2:hover{background:var(--k-tile-2-hover)}.k-tile--3{background:var(--k-tile-3)}:is(a,button).k-tile--3:hover{background:var(--k-tile-3-hover)}.k-tile--private{border-style:dashed;background:var(--k-raised)}.k-tile--private:hover{background:var(--k-raised)}.k-rule{width:100%;height:2px;margin:0;border:0;background:var(--k-accent)}.k-cap{width:100%;height:4px;border-radius:var(--k-r-1) var(--k-r-1) 0 0;background:var(--k-cap-1)}.k-cap--2{background:var(--k-cap-2)}.k-cap--3{background:var(--k-cap-3)}.k-cap--accent{background:var(--k-accent)}.k-card{display:flex;flex-direction:column;gap:var(--k-s-3);padding:var(--k-s-4);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-surface);color:inherit;text-decoration:none;box-shadow:var(--k-shadow-2);--k-content: var(--k-ground)}a.k-card,.k-card--link{transition:background-color var(--k-dur) var(--k-ease),border-color var(--k-dur) var(--k-ease)}a.k-card:hover,.k-card--link:hover{border-color:var(--k-accent);background:var(--k-raised)}.k-card__media{color:inherit;margin:calc(var(--k-s-4)*-1) calc(var(--k-s-4)*-1) 0;border-radius:var(--k-r-1) var(--k-r-1) 0 0;background:var(--k-tile-1);overflow:hidden}.k-card__media img,.k-card__media video{display:block;width:100%;height:100%;object-fit:cover}.k-card__media--wide{aspect-ratio:16/9}.k-card__media--square{aspect-ratio:1/1}.k-card__topline{display:flex;flex-wrap:wrap;gap:var(--k-s-2);align-items:center;justify-content:space-between;color:var(--k-dim);font-size:var(--k-t-body);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.k-card__name{margin:0;font-size:var(--k-t-h3);font-weight:700;line-height:var(--k-lh-tight);text-wrap:balance}.k-card__claim{margin:0;color:var(--k-dim);font-size:var(--k-t-body);line-height:var(--k-lh-body)}.k-card__foot{display:flex;flex-wrap:wrap;gap:var(--k-s-2);align-items:center;margin-top:auto;padding-top:var(--k-s-1)}.k-card--feature{gap:var(--k-s-4);padding:var(--k-s-5)}.k-card--feature .k-card__media{margin:calc(var(--k-s-5)*-1) calc(var(--k-s-5)*-1) 0}.k-card--feature .k-card__name{font-size:var(--k-t-h2);letter-spacing:-0.01em}.k-card--feature .k-card__claim{font-size:var(--k-t-body)}.k-card--private{border-style:dashed;background:var(--k-raised)}a.k-card--private:hover,.k-card--private.k-card--link:hover{background:var(--k-raised);border-color:var(--k-edge)}.k-card--seat{flex-direction:row;align-items:center;gap:var(--k-s-4)}.k-card__portrait{width:56px;height:56px;flex:none;border-radius:var(--k-r-circle);background:var(--k-tile-1);overflow:hidden}.k-card__portrait img{display:block;width:100%;height:100%;object-fit:cover}.k-card--seat .k-card__name{font-size:var(--k-t-body)}.k-card-grid{display:grid;gap:var(--k-s-4);grid-template-columns:repeat(auto-fit, minmax(min(260px, 100%), 1fr));margin:0;padding:0;list-style:none}.k-card-grid--condensed{gap:var(--k-s-3);grid-template-columns:repeat(auto-fit, minmax(min(200px, 100%), 1fr))}.k-card-grid--roomy{gap:var(--k-s-5);grid-template-columns:repeat(auto-fit, minmax(min(340px, 100%), 1fr))}.k-card-grid>*{min-width:0}.k-card--wide{grid-column:span 2}@media(max-width: 600px){.k-card--wide{grid-column:auto}}.k-chip{display:inline-block;padding:5px var(--k-s-2);border:1px solid currentcolor;border-radius:var(--k-r-1);background:color-mix(in srgb, currentcolor 18%, var(--k-ground));font-size:var(--k-t-lead);font-weight:600;line-height:1;letter-spacing:.06em;text-transform:uppercase}.k-chip--tag{color:var(--k-brand)}.k-chip--neutral{color:var(--k-dim)}.k-chip--cost{color:var(--k-cost)}.k-chip--refuse{color:var(--k-refuse)}.k-chip--grant{color:var(--k-grant)}.k-chip--error{color:var(--k-cost)}.k-chip--pending{color:var(--k-context)}.k-chip--state{border-color:var(--k-edge);color:var(--k-text)}.k-chip--draft{color:var(--k-dim)}.k-chip--state::before{content:"●";content:"●"/"";margin-right:var(--k-s-1)}.k-chip--state.k-chip--cost::before,.k-chip--state.k-chip--refuse::before,.k-chip--state.k-chip--grant::before,.k-chip--state.k-chip--pending::before,.k-chip--state.k-chip--error::before,.k-chip--state.k-chip--draft::before{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;letter-spacing:0}.k-chip--state.k-chip--cost::before{content:"⚠️";content:"⚠️"/""}.k-chip--state.k-chip--refuse::before{content:"🚫";content:"🚫"/""}.k-chip--state.k-chip--grant::before{content:"✅";content:"✅"/""}.k-chip--state.k-chip--pending::before{content:"⏳";content:"⏳"/""}.k-chip--state.k-chip--error::before{content:"❌";content:"❌"/""}.k-chip--state.k-chip--draft::before{content:"📝";content:"📝"/""}.k-chip-row{display:flex;flex-wrap:wrap;gap:var(--k-s-2)}.k-note{display:flex;flex-direction:column;gap:var(--k-s-2);padding:var(--k-s-4);border:var(--k-edge-w) solid var(--k-context);border-left:3px solid var(--k-context);border-radius:var(--k-r-1);background:var(--k-surface);box-shadow:var(--k-shadow-1);--k-content: var(--k-ground)}.k-note__label{color:var(--k-context);font-size:var(--k-t-lead);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.k-note--cost{border-left-color:var(--k-cost);background:color-mix(in srgb, var(--k-cost) 18%, var(--k-ground));border-color:var(--k-cost)}.k-note--cost .k-note__label{color:var(--k-cost)}.k-note--refuse{border-left-color:var(--k-refuse);background:color-mix(in srgb, var(--k-refuse) 18%, var(--k-ground));border-color:var(--k-refuse)}.k-note--refuse .k-note__label{color:var(--k-refuse)}.k-note--grant{border-left-color:var(--k-grant);background:color-mix(in srgb, var(--k-grant) 18%, var(--k-ground));border-color:var(--k-grant)}.k-note--grant .k-note__label{color:var(--k-grant)}.k-note--reference{border-left-color:var(--k-reference);background:color-mix(in srgb, var(--k-reference) 18%, var(--k-ground));border-color:var(--k-reference)}.k-note--reference .k-note__label{color:var(--k-reference)}.k-note--error{border-left-color:var(--k-cost);background:color-mix(in srgb, var(--k-cost) 18%, var(--k-ground));border-color:var(--k-cost)}.k-note--error .k-note__label{color:var(--k-cost)}.k-legend{display:flex;flex-wrap:wrap;gap:var(--k-s-3) var(--k-s-5);padding:var(--k-s-3) var(--k-s-4);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);font-size:var(--k-t-lead);background:var(--k-content);box-shadow:var(--k-shadow-1)}.k-legend__item{display:flex;align-items:center;gap:var(--k-s-2);color:var(--k-dim)}.k-legend__swatch{width:10px;height:10px;flex:none;border-radius:var(--k-r-1);background:currentcolor}.k-code{margin:0;padding:var(--k-s-3) var(--k-s-4);border:2px solid var(--k-brand);border-radius:var(--k-r-1);background:var(--k-content);color:var(--k-text);font-family:var(--k-font-mono);font-size:var(--k-t-body);white-space:pre;overflow-x:auto}.k-code--inline{display:inline;padding:2px 5px;white-space:nowrap}.k-code--annotated{display:grid;gap:0;padding:0;white-space:normal}.k-code__line{padding:var(--k-s-2) var(--k-s-4);border-bottom:1px solid var(--k-line-quiet);white-space:pre;overflow-x:auto}.k-code__note{padding:var(--k-s-2) var(--k-s-4);border-bottom:1px solid var(--k-line-quiet);background:var(--k-surface);color:var(--k-dim);font-family:var(--k-font-ui);font-size:var(--k-t-body)}.k-code__line:last-child,.k-code__note:last-child{border-bottom:0}:where(pre,code)[class*=language-]{color:var(--k-text);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;overflow-wrap:normal;tab-size:4;hyphens:none}:where([class*=language-]) .token:is(.comment,.prolog,.doctype,.cdata){color:var(--k-syn-quiet);font-style:italic}:where([class*=language-]) .token:is(.punctuation,.operator){color:var(--k-syn-quiet)}:where([class*=language-]) .token:is(.keyword,.atrule,.builtin,.important,.selector,.tag,.title){color:var(--k-syn-keyword);font-weight:700}:where([class*=language-]) .token:is(.string,.char,.attr-value,.regex,.inserted,.scalar,.url){color:var(--k-syn-string)}:where([class*=language-]) .token:is(.function,.class-name,.number,.boolean,.constant,.symbol,.deleted,.property){color:var(--k-syn-name)}:where([class*=language-]) .token:is(.variable,.parameter,.attr-name,.namespace,.code-snippet){color:var(--k-text)}.k-table-wrap{border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);overflow-x:auto;box-shadow:var(--k-shadow-2);background:var(--k-content)}.k-chart{display:flex;flex-direction:column;gap:var(--k-s-3);padding:var(--k-s-4);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-surface);color:var(--k-text);--k-content: var(--k-ground)}.k-chart__plot{overflow-x:auto}.k-chart__plot svg{display:block;max-width:100%;height:auto}.k-chart__plot text{fill:var(--k-dim);font-family:var(--k-font-mono);font-size:var(--k-t-body)}.k-chart__grid{stroke:var(--k-line-quiet);stroke-width:1;fill:none}.k-chart__series{fill:var(--k-brand);stroke:var(--k-brand)}.k-chart__series--2{fill:color-mix(in srgb, var(--k-context) 18%, transparent);stroke:var(--k-context);stroke-width:2;stroke-dasharray:5 3}.k-chart__label{fill:var(--k-text);font-weight:600}.k-legend__swatch--2{background:color-mix(in srgb, currentcolor 18%, transparent);border:2px dashed currentcolor}.k-table{width:100%;border-collapse:collapse;font-size:var(--k-t-body)}.k-table th{padding:var(--k-s-3) var(--k-s-4);border-bottom:2px solid var(--k-accent);background:var(--k-brand);color:var(--k-brand-fg);font-size:var(--k-t-body);font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}.k-table td{padding:var(--k-s-3) var(--k-s-4);border-bottom:1px solid var(--k-line-quiet);color:var(--k-text)}.k-table tr:last-child td{border-bottom:0}.k-num{font-family:var(--k-font-mono);font-variant-numeric:tabular-nums;text-align:right}.k-deflist{display:grid;gap:var(--k-s-2) var(--k-s-4);margin:0;grid-template-columns:max-content 1fr}.k-deflist dt{color:var(--k-dim);font-size:var(--k-t-body);font-weight:600}.k-deflist dd{margin:0;font-size:var(--k-t-body)}.k-deflist--numbered{counter-reset:k-def}.k-deflist--numbered dt::before{counter-increment:k-def;content:counter(k-def) ". ";color:var(--k-brand)}@media(max-width: 600px){.k-deflist{grid-template-columns:1fr;gap:var(--k-s-1) 0}.k-deflist dd{margin-bottom:var(--k-s-3)}}.k-field{display:flex;flex-direction:column;gap:var(--k-s-2)}.k-field>label{color:var(--k-text);font-size:var(--k-t-body);font-weight:700}.k-input,.k-textarea,.k-select{width:100%;padding:10px var(--k-s-3);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-content);color:var(--k-text);font-family:var(--k-font-ui);font-size:var(--k-t-body);line-height:var(--k-lh-ui)}.k-textarea{min-height:7em;resize:vertical}.k-input::placeholder,.k-textarea::placeholder{color:var(--k-dim)}.k-input:hover,.k-textarea:hover,.k-select:hover{border-color:var(--k-dim)}.k-input[aria-invalid=true],.k-textarea[aria-invalid=true],.k-select[aria-invalid=true]{border-color:var(--k-cost)}.k-input[disabled],.k-textarea[disabled],.k-select[disabled]{background:var(--k-surface);color:var(--k-dim);cursor:not-allowed}.k-check{display:flex;align-items:flex-start;gap:var(--k-s-2);font-size:var(--k-t-body)}.k-check input{width:16px;height:16px;margin-top:3px;flex:none;accent-color:var(--k-brand);cursor:pointer}.k-check:has(input:not(:disabled)){cursor:pointer}.k-check:hover input:not(:disabled){box-shadow:0 0 0 3px color-mix(in srgb, var(--k-brand) 35%, transparent)}.k-check input[aria-invalid=true]{box-shadow:0 0 0 2px var(--k-cost)}.k-check:has(input:disabled){color:var(--k-dim);cursor:not-allowed}.k-check input:disabled{cursor:not-allowed}.k-hint{color:var(--k-dim);font-size:var(--k-t-body)}.k-error-text{color:var(--k-cost);font-size:var(--k-t-body);font-weight:500}.k-progress{width:100%;height:6px;border-radius:var(--k-r-pill);background:var(--k-raised);overflow:hidden}.k-progress__bar{height:100%;border-radius:var(--k-r-pill);background:var(--k-brand);transition:width var(--k-dur-slow) var(--k-ease)}.k-skeleton{height:var(--k-s-4);border-radius:var(--k-r-1);background:var(--k-line-quiet)}.k-skeleton--title{height:var(--k-s-6)}.k-skeleton--last{width:60%}.k-steps{display:grid;gap:var(--k-s-3);margin:0;padding:0;counter-reset:k-step;grid-template-columns:repeat(auto-fit, minmax(min(180px, 100%), 1fr));list-style:none}.k-step{display:flex;flex-direction:column;gap:var(--k-s-2);padding:var(--k-s-4);border:var(--k-edge-w) solid var(--k-edge);border-top:3px solid var(--k-cap-1);border-radius:var(--k-r-1);background:var(--k-surface);box-shadow:var(--k-shadow-2);--k-content: var(--k-ground)}.k-step::before{counter-increment:k-step;content:counter(k-step, decimal-leading-zero);color:var(--k-brand);font-family:var(--k-font-mono);font-size:var(--k-t-body)}.k-step__name{font-size:var(--k-t-lead);font-weight:700}.k-step__body{color:var(--k-dim);font-size:var(--k-t-body);line-height:var(--k-lh-body)}.k-toc{display:flex;flex-direction:column;gap:var(--k-s-1)}.k-toc a{padding:5px var(--k-s-2);border-radius:var(--k-r-1);color:var(--k-dim);font-size:var(--k-t-lead);text-decoration:none;font-weight:600}.k-toc a:hover{background:var(--k-surface);color:var(--k-text)}.k-toc a[aria-current]{border-left:2px solid var(--k-brand);color:var(--k-text)}.k-crumbs{display:flex;flex-wrap:wrap;gap:var(--k-s-2);align-items:center;color:var(--k-dim);font-size:var(--k-t-lead)}.k-crumbs a{color:var(--k-dim)}.k-crumbs li+li::before{content:"/";content:"/"/"";margin-right:var(--k-s-2);color:var(--k-line-strong)}.k-pager{display:flex;flex-wrap:wrap;gap:var(--k-s-3);justify-content:space-between}.k-pager__link{display:flex;flex:1 1 220px;flex-direction:column;gap:var(--k-s-1);padding:var(--k-s-3) var(--k-s-4);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);color:inherit;text-decoration:none;box-shadow:var(--k-shadow-2);background:var(--k-content)}.k-pager__link:hover{border-color:var(--k-dim)}.k-pager__link--next{text-align:right}.k-pager__dir{color:var(--k-dim);font-size:var(--k-t-body);letter-spacing:.06em;text-transform:uppercase}.k-pager__name{font-size:var(--k-t-h3);font-weight:700}.k-skip{position:absolute;left:-9999px;z-index:100;padding:var(--k-s-3) var(--k-s-4);background:var(--k-brand);color:var(--k-brand-fg);font-weight:600}.k-skip:focus{left:var(--k-s-4);top:var(--k-s-4)}.k-list{display:flex;flex-direction:column;gap:var(--k-s-2);margin:0;padding:0;list-style:none}.k-list--checked li,.k-list--icon li{display:flex;gap:var(--k-s-3);align-items:flex-start;font-size:var(--k-t-body);line-height:var(--k-lh-body)}.k-list--checked li::before{content:"✓";content:"✓"/"";flex:none;color:var(--k-grant);font-weight:700}.k-list__icon{flex:none;width:1.4em;text-align:center}.k-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--k-s-3);padding:var(--k-s-7) var(--k-s-5);border:var(--k-edge-w) dashed var(--k-edge);border-radius:var(--k-r-1);background:var(--k-surface);--k-content: var(--k-ground)}.k-empty p{max-width:48ch;margin:0;color:var(--k-dim);font-size:var(--k-t-body);line-height:var(--k-lh-body)}:is(.k-card-grid,.k-grid,.k-gallery)>:is(.k-empty,.k-note){grid-column:1/-1}.k-table td.k-table__state{padding:var(--k-s-6) var(--k-s-4);white-space:normal}.k-table td.k-table__state>:is(.k-empty,.k-note){border:0;box-shadow:none;padding:0;background:none}.k-chart__state{display:flex;flex-direction:column;justify-content:center;gap:var(--k-s-3);min-height:var(--k-s-9)}.k-skeleton--plot{height:var(--k-s-9)}.k-stale{border-left:3px solid var(--k-refuse)}.k-frame{border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-tile-1);overflow:hidden}.k-frame--portrait{padding:var(--k-s-2);background:var(--k-cap-3);border:0;transform:rotate(-3deg);box-shadow:var(--k-shadow-hard);margin:var(--k-s-3) var(--k-s-6) var(--k-s-6) var(--k-s-3)}.k-frame--raised{box-shadow:var(--k-shadow-2)}.k-frame img,.k-frame video{display:block;width:100%;height:auto}.k-frame--portrait{aspect-ratio:3/4}.k-frame--wide{aspect-ratio:16/9}.k-frame--portrait img,.k-frame--wide img,.k-frame--portrait video,.k-frame--wide video{height:100%;object-fit:cover}.k-caption{margin:var(--k-s-2) 0 0;color:var(--k-dim);font-size:var(--k-t-body);line-height:var(--k-lh-ui)}.k-wordmark{font-family:var(--k-font-display);font-size:var(--k-t-h2);font-weight:700;letter-spacing:-0.02em;line-height:1}.k-hero{display:flex;flex-direction:column;gap:var(--k-s-4);padding:var(--k-s-8) 0 var(--k-s-7)}.k-band .k-hero{padding-block:0}.k-hero__standfirst{max-width:52ch;color:var(--k-dim);font-size:var(--k-t-lead);line-height:var(--k-lh-body)}.k-hero--split{display:grid;gap:var(--k-s-6);align-items:center;grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr)}@media(max-width: 600px){.k-hero--split{grid-template-columns:1fr}.k-hero{padding:var(--k-s-6) 0 var(--k-s-5)}}.k-nav-stub{display:none;padding:var(--k-s-2) var(--k-s-5);border-bottom:2px solid var(--k-accent);background:radial-gradient(circle at 88% 120%, color-mix(in srgb, var(--k-brand) 30%, transparent) 0%, transparent 70%),radial-gradient(circle at 6% -60%, color-mix(in srgb, var(--k-accent) 22%, transparent) 0%, transparent 65%),color-mix(in srgb, var(--k-frame) 62%, transparent);--k-content: var(--k-surface)}.k-nav-stub--demo{display:block}.k-nav{display:flex;flex-wrap:wrap;gap:var(--k-s-3) var(--k-s-5);align-items:center;justify-content:space-between;padding:var(--k-s-3) var(--k-s-5);border-bottom:2px solid var(--k-accent);background:radial-gradient(circle at 88% 120%, color-mix(in srgb, var(--k-brand) 30%, transparent) 0%, transparent 70%),radial-gradient(circle at 6% -60%, color-mix(in srgb, var(--k-accent) 22%, transparent) 0%, transparent 65%),color-mix(in srgb, var(--k-frame) 62%, transparent);--k-content: var(--k-surface)}.k-theme-toggle{display:inline-flex;gap:var(--k-s-2);align-items:center;padding:6px var(--k-s-3);border:0;border-radius:var(--k-r-1);background:none;color:var(--k-dim);font-family:var(--k-font-ui);font-size:var(--k-t-lead);font-weight:600;line-height:var(--k-lh-ui);cursor:pointer}.k-theme-toggle[hidden]{display:none}.k-theme-toggle:hover{background:var(--k-surface);color:var(--k-text)}.k-theme-toggle__icon{display:none;width:1em;height:1em;flex:none}[data-theme=light] .k-theme-toggle__icon--moon,[data-theme=dark] .k-theme-toggle__icon--sun{display:block}.k-nav__brand,.k-footer__brand{color:var(--k-text);font-family:var(--k-font-display);font-size:var(--k-t-body);font-weight:700;letter-spacing:-0.01em;text-decoration:none}.k-nav__brand{display:flex;gap:var(--k-s-2);align-items:center;font-size:var(--k-t-h3)}.k-nav__brand>.k-eyebrow,.k-nav__eyebrow,.k-footer__brand>.k-eyebrow{font-family:var(--k-font-ui)}.k-nav__identity{display:flex;gap:var(--k-s-2);align-items:center}.k-brandmark{width:1.15em;height:1.15em;flex:none;color:var(--k-text);transition:color var(--k-dur) var(--k-ease)}.k-nav__brand:hover .k-brandmark{color:var(--k-accent)}@property --k-mark-draw{syntax:"<number>";inherits:true;initial-value:1}@keyframes k-mark-draw{from{--k-mark-draw: 0}to{--k-mark-draw: 1}}@keyframes k-mark-ink{from,73%{color:var(--k-brand)}}.k-brandmark__ring,.k-brandmark__curl{stroke-dasharray:1 2}.k-brandmark__ring{stroke-dashoffset:clamp(0,1 - var(--k-mark-draw, 1)/.71,1)}.k-brandmark__curl{stroke-dashoffset:clamp(0,1.05 - (var(--k-mark-draw, 1) - .71)/.29*1.05,1.05)}.k-nav__brand .k-brandmark{animation:k-mark-draw 700ms ease-in-out both,k-mark-ink 960ms ease}.k-nav__brand:is(:hover,:focus-visible) .k-brandmark use{animation:k-mark-draw 700ms ease-in-out both,k-mark-ink 960ms ease}@media(prefers-reduced-motion: reduce){.k-nav__brand .k-brandmark,.k-nav__brand .k-brandmark use{animation:none}}.k-footer__brand{display:inline-flex;gap:var(--k-s-2);align-items:center}.k-nav__links{display:flex;flex-wrap:wrap;gap:var(--k-s-1);align-items:center;margin:0;padding:0;list-style:none}@media(max-width: 600px){.k-nav__links{flex:1 1 100%;margin-left:calc(var(--k-s-3)*-1);justify-content:space-between}.k-nav__links--paired{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--k-s-1) var(--k-s-2)}.k-nav__links--paired>.k-nav__switch{grid-column:1/-1}.k-nav>.k-theme-toggle{margin-left:calc(var(--k-s-3)*-1)}.k-nav .k-nav__brand{display:none}.k-nav{border-bottom:0}.k-nav-stub{display:block}.k-nav__switch{flex-basis:100%}}.k-nav__links a{padding:6px var(--k-s-3);border-radius:var(--k-r-1);color:var(--k-dim);font-size:var(--k-t-lead);text-decoration:none;font-weight:600}.k-nav__links a:hover{background:var(--k-surface);color:var(--k-text)}.k-nav__links a[aria-current]{border-bottom:2px solid var(--k-brand);color:var(--k-text)}.k-footer{display:flex;flex-wrap:wrap;gap:var(--k-s-3) var(--k-s-5);align-items:baseline;justify-content:space-between;padding:var(--k-s-6) var(--k-s-5);border-top:2px solid var(--k-accent);background:radial-gradient(circle at 12% -80%, color-mix(in srgb, var(--k-brand) 30%, transparent) 0%, transparent 70%),radial-gradient(circle at 92% 160%, color-mix(in srgb, var(--k-accent) 13%, transparent) 0%, transparent 65%),color-mix(in srgb, var(--k-frame) 62%, transparent);color:var(--k-dim);font-size:var(--k-t-lead);--k-content: var(--k-surface)}.k-footer a{color:var(--k-dim)}.k-shell{display:grid;grid-template-columns:220px minmax(0, 1fr);align-items:start}.k-shell__rail{position:sticky;top:0;align-self:start;max-height:100vh;padding:var(--k-s-5) var(--k-s-4);border-right:var(--k-edge-w) solid var(--k-edge);overflow-y:auto;background:var(--k-frame);color:var(--k-text);--k-content: var(--k-surface)}.k-shell__body{min-width:0;padding:var(--k-s-6)}@media(max-width: 900px){.k-shell{grid-template-columns:1fr}.k-shell__rail{position:static;max-height:none;border-right:0;border-bottom:var(--k-edge-w) solid var(--k-edge)}}.k-article{display:flex;flex-direction:column;gap:var(--k-s-5);background:var(--k-ground);padding:var(--k-s-6);border:var(--k-edge-w) solid var(--k-edge);box-shadow:var(--k-shadow-3);--k-content: var(--k-surface)}@media(max-width: 600px){.k-article{padding:var(--k-s-4)}}.k-article a:not(.k-btn){color:var(--k-brand);text-decoration:underline;text-underline-offset:3px}.k-article__header{display:flex;flex-direction:column;gap:var(--k-s-3);padding-bottom:var(--k-s-4);border-bottom:2px solid var(--k-accent)}.k-article__closer{padding-top:var(--k-s-4);border-top:2px solid var(--k-accent);background:rgba(0,0,0,0);color:var(--k-dim);font-size:var(--k-t-body)}.k-prose>*+*{margin-top:var(--k-s-4)}.k-prose h2{margin-top:var(--k-s-7);font-size:var(--k-t-h2);line-height:var(--k-lh-tight)}.k-prose h3{margin-top:var(--k-s-6);font-size:var(--k-t-h3);line-height:var(--k-lh-tight)}.k-prose p,.k-prose li{font-size:var(--k-t-body);line-height:var(--k-lh-body)}.k-prose a:not(.k-btn){color:var(--k-brand);text-decoration:underline;text-underline-offset:3px}.k-prose ul,.k-prose ol{padding-left:var(--k-s-5)}.k-prose li+li{margin-top:var(--k-s-2)}.k-prose blockquote{margin:0;padding-left:var(--k-s-4);border-left:3px solid var(--k-cap-1);color:var(--k-dim)}.k-prose img{display:block;max-width:100%;height:auto;border-radius:var(--k-r-1)}.k-prose figure{margin:0}.k-prose hr{height:1px;border:0;background:var(--k-line-quiet)}.k-signal{display:flex;flex-direction:column;gap:var(--k-s-3);padding:var(--k-s-5);border:var(--k-edge-w) solid var(--k-refuse);border-left:3px solid var(--k-refuse);border-radius:var(--k-r-1);background:var(--k-surface);box-shadow:var(--k-shadow-1);--k-content: var(--k-ground)}.k-signal__code{color:var(--k-refuse);font-family:var(--k-font-mono);font-size:var(--k-t-h2);line-height:1}.k-signal__status{color:var(--k-dim);font-size:var(--k-t-body);letter-spacing:.06em;text-transform:uppercase}.k-routes{display:flex;flex-direction:column;gap:1px;margin:0;padding:0;border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-line-quiet);list-style:none;overflow:hidden;--k-focus-offset: -3px}.k-route{display:grid;gap:var(--k-s-1) var(--k-s-4);padding:var(--k-s-3) var(--k-s-4);background:var(--k-content);color:inherit;text-decoration:none;grid-template-columns:minmax(0, 16ch) minmax(0, 1fr) auto;align-items:baseline}.k-route:hover{background:var(--k-raised)}.k-route__path{color:var(--k-brand);font-family:var(--k-font-mono);font-size:var(--k-t-lead)}.k-route__description{color:var(--k-dim);font-size:var(--k-t-body)}.k-route__arrow{color:var(--k-dim)}@media(max-width: 600px){.k-route{grid-template-columns:1fr auto}.k-route__description{grid-column:1/-1}}.k-facts{display:grid;gap:1px;border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-line-quiet);grid-template-columns:repeat(auto-fit, minmax(min(160px, 100%), 1fr));overflow:hidden}.k-fact{display:flex;flex-direction:column;gap:var(--k-s-1);padding:var(--k-s-4);background:var(--k-surface);--k-content: var(--k-ground)}.k-fact__value{font-size:var(--k-t-h2);font-weight:700;line-height:var(--k-lh-tight)}.k-fact__label{color:var(--k-dim);font-size:var(--k-t-body);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.k-fact:nth-child(even){background:color-mix(in srgb, var(--k-accent) 18%, var(--k-ground))}.k-quote{display:flex;flex-direction:column;gap:var(--k-s-3);margin:0;padding:var(--k-s-6);border-left:3px solid var(--k-reference);background:var(--k-surface);box-shadow:var(--k-shadow-3);--k-content: var(--k-ground)}.k-quote p{margin:0;font-size:var(--k-t-h3);line-height:var(--k-lh-body)}.k-quote figcaption{color:var(--k-dim);font-size:var(--k-t-body)}.k-player{position:relative;border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-tile-1);overflow:hidden;box-shadow:var(--k-shadow-2)}.k-player video,.k-player img,.k-player iframe{display:block;width:100%;height:100%;border:0;object-fit:cover}.k-player--wide{aspect-ratio:16/9}.k-player__poster{--k-focus-offset: -3px;position:relative;display:block;width:100%;height:100%}.k-player__play{position:absolute;top:50%;left:50%;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--k-accent);box-shadow:var(--k-shadow-2);transform:translate(-50%, -50%);transition:transform var(--k-dur) var(--k-ease)}.k-player__play::before{content:"";position:absolute;inset:30% 26% 30% 36%;background:var(--k-accent-fg);clip-path:polygon(0 0, 100% 50%, 0 100%)}.k-player__poster:hover .k-player__play{transform:translate(-50%, -50%) scale(1.08)}.k-reel{display:grid;gap:var(--k-s-4);grid-auto-columns:minmax(260px, 1fr);grid-auto-flow:column;overflow-x:auto;scroll-snap-type:x proximity;border:var(--k-edge-w) solid var(--k-edge);background:var(--k-raised);padding:var(--k-s-4)}.k-reel>*{scroll-snap-align:start}.k-flow{display:flex;flex-wrap:wrap;gap:var(--k-s-3);align-items:stretch;margin:0;padding:0;list-style:none}.k-flow>li{flex:1 1 160px;padding:var(--k-s-4);border:var(--k-edge-w) solid var(--k-edge);border-radius:var(--k-r-1);background:var(--k-content);box-shadow:var(--k-shadow-2)}.k-flow>li+li{position:relative}.k-flow>li+li::before{position:absolute;top:50%;left:calc(var(--k-s-3)*-1);color:var(--k-line-strong);content:"›";content:"›"/"";transform:translate(-50%, -50%)}.k-slide{display:grid;gap:var(--k-s-6);align-items:center;padding:var(--k-s-9) var(--k-s-5);grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)}.k-slide--single{grid-template-columns:minmax(0, 1fr)}.k-slide--tinted{background:var(--k-surface);box-shadow:inset 0 6px 0 0 var(--k-accent);--k-content: var(--k-ground)}.k-slide__copy{display:flex;flex-direction:column;gap:var(--k-s-4);max-width:52ch}.k-gallery{display:grid;gap:var(--k-s-3);grid-template-columns:repeat(auto-fit, minmax(min(140px, 100%), 1fr))}.k-gallery--pair{grid-template-columns:repeat(auto-fit, minmax(min(240px, 100%), 1fr))}@media(max-width: 600px){.k-slide{padding:var(--k-s-7) var(--k-s-4);grid-template-columns:minmax(0, 1fr)}}.k-glyph{white-space:nowrap;font-weight:700}.k-glyph::before{content:"";display:inline-block;width:1.6em;height:1.6em;margin-right:.3em;vertical-align:-0.45em;background-image:var(--k-glyph-src, none);background-position:center;background-repeat:no-repeat;background-size:contain}.k-cue{display:flex;gap:var(--k-s-2);align-items:center;color:var(--k-brand);font-family:var(--k-font-mono);font-size:var(--k-t-lead);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.k-cue__icon{font-size:var(--k-t-h3);line-height:1}.k-icon{display:inline-block;flex:none;width:1.1em;height:1.1em;vertical-align:-0.16em;fill:currentColor;margin-right:var(--k-s-2)}.k-icon--lead{width:1.3em;height:1.3em;margin-right:var(--k-s-2);color:var(--k-accent);vertical-align:-0.22em}.k-emoji{display:inline-block;flex:none;font-size:1.15em;line-height:1}.k-band{box-sizing:border-box;width:100%;padding-block:var(--k-s-9);padding-inline:max(var(--k-s-5),(100% - var(--k-column))/2);background-color:var(--k-ground);color:var(--k-text)}.k-band--tight{padding-block:var(--k-s-8)}@media(max-width: 600px){.k-band{padding-inline:var(--k-s-4)}}.k-cap--flanked{height:var(--k-s-5);border-radius:0;box-shadow:inset 0 2px 0 0 var(--k-ground)}.k-closer{display:flex;flex-wrap:wrap;gap:var(--k-s-5);align-items:flex-end;justify-content:space-between;padding:var(--k-s-5);border:var(--k-edge-w) solid var(--k-edge);border-top:3px solid var(--k-cap-2);background:var(--k-surface);box-shadow:var(--k-shadow-3);--k-content: var(--k-ground)}.k-closer__title{max-width:18ch;margin:0;font-size:var(--k-t-display);line-height:var(--k-lh-tight);text-wrap:balance}.k-section-heading--capped{padding-top:var(--k-s-4);border-top:3px solid var(--k-cap-2)}.k-stack{display:flex;flex-direction:column}.k-stack--2{gap:var(--k-s-2)}.k-stack--3{gap:var(--k-s-3)}.k-stack--4{gap:var(--k-s-4)}.k-stack--5{gap:var(--k-s-5)}.k-stack--6{gap:var(--k-s-6)}.k-stack--8{gap:var(--k-s-8)}.k-row{display:flex;flex-wrap:wrap;align-items:center}.k-row--2{gap:var(--k-s-2)}.k-row--3{gap:var(--k-s-3)}.k-row--4{gap:var(--k-s-4)}.k-row--stretch{align-items:stretch}.k-row--stretch>*{flex:1 1 0}.k-grid{display:grid;gap:var(--k-s-4);grid-template-columns:repeat(auto-fit, minmax(min(220px, 100%), 1fr))}.k-grid--wide{grid-template-columns:repeat(auto-fit, minmax(min(300px, 100%), 1fr))}.k-grid--narrow{grid-template-columns:repeat(auto-fit, minmax(min(160px, 100%), 1fr))}.k-grid>*,.k-stack>*,.k-row>*{min-width:0}:is(.k-btn:not(.k-btn--text),a.k-card:not(.k-card--private),.k-card--link:not(.k-card--private),a.k-tile:not(.k-tile--private),.k-pager__link,.k-input,.k-textarea,.k-select,.k-switch__control,.k-tab[aria-selected=true]):not([disabled],[aria-disabled=true],:disabled){box-shadow:var(--k-fx-off) var(--k-fx-off) 0 0 var(--k-fx-c, var(--k-accent)),0 0 0 var(--k-fx-ring) var(--k-brand),0 0 var(--k-fx-bloom) color-mix(in srgb, var(--k-brand) 45%, transparent);transition-property:background-color,color,border-color,box-shadow,transform;transition-duration:var(--k-dur);transition-timing-function:var(--k-ease)}:is(.k-btn--accent,.k-btn--dual,.k-switch__control:checked){--k-fx-c: var(--k-brand)}:is(.k-input,.k-textarea,.k-select){--k-fx-own-lift: 0px}:is(.k-btn:not(.k-btn--text),a.k-card:not(.k-card--private),.k-card--link:not(.k-card--private),a.k-tile:not(.k-tile--private),.k-pager__link,.k-input,.k-textarea,.k-select,.k-tab[aria-selected=true]):not([disabled],[aria-disabled=true],:disabled):is(:hover,:focus-visible){box-shadow:var(--k-fx-off-hover) var(--k-fx-off-hover) 0 0 var(--k-fx-c, var(--k-accent)),0 0 0 var(--k-fx-ring) var(--k-brand),0 0 var(--k-fx-bloom-hover) color-mix(in srgb, var(--k-brand) 65%, transparent),0 0 var(--k-fx-halo-hover) color-mix(in srgb, var(--k-accent) 30%, transparent);transform:translate(var(--k-fx-own-lift, var(--k-fx-lift)), var(--k-fx-own-lift, var(--k-fx-lift)))}.k-switch__control:not(:disabled):hover{box-shadow:var(--k-fx-off-hover) var(--k-fx-off-hover) 0 0 var(--k-fx-c, var(--k-accent)),0 0 0 var(--k-fx-ring) var(--k-brand),0 0 var(--k-fx-bloom-hover) color-mix(in srgb, var(--k-brand) 65%, transparent)}:is(.k-btn:not(.k-btn--text),a.k-card:not(.k-card--private),.k-card--link:not(.k-card--private),a.k-tile:not(.k-tile--private),.k-pager__link,.k-tab[aria-selected=true]):not([disabled],[aria-disabled=true],:disabled):active{box-shadow:0 0 0 0 var(--k-fx-c, var(--k-accent)),0 0 0 var(--k-fx-ring) var(--k-brand),0 0 var(--k-fx-bloom-press) color-mix(in srgb, var(--k-brand) 40%, transparent);transform:translate(var(--k-fx-sink), var(--k-fx-sink))}.k-measure{max-width:var(--k-measure)}.k-sr-only{position:absolute;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}@media(prefers-reduced-motion: reduce){.k *,.k *::before,.k *::after{transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}}.k-dialog{width:min(34rem,100vw - var(--k-s-6));padding:0;border:var(--k-edge-w) solid var(--k-line);border-radius:var(--k-r-1);background:var(--k-surface);color:var(--k-text);box-shadow:var(--k-shadow-3);font-family:var(--k-font-ui)}.k-dialog::backdrop{background:var(--k-scrim)}.k-dialog__head,.k-dialog__foot{display:flex;gap:var(--k-s-4);align-items:center;padding:var(--k-s-4) var(--k-s-5);background:var(--k-raised)}.k-dialog__head{justify-content:space-between;border-bottom:var(--k-edge-w) solid var(--k-line-quiet)}.k-dialog__foot{justify-content:flex-end;border-top:var(--k-edge-w) solid var(--k-line-quiet)}.k-dialog__body{padding:var(--k-s-5)}.k-dialog--drawer{width:min(24rem,100vw - var(--k-s-6));height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-width:0 0 0 var(--k-edge-w);border-radius:0}.k-close{display:inline-flex;font-family:inherit;width:var(--k-s-6);height:var(--k-s-6);align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--k-r-1);background:none;color:var(--k-dim);cursor:pointer;font-size:var(--k-t-lead);line-height:1}.k-close:hover{background:var(--k-raised);color:var(--k-text)}.k-menu-anchor{position:relative;display:inline-block}.k-menu{position:absolute;z-index:40;top:calc(100% + var(--k-s-2));left:0;min-width:12rem;padding:var(--k-s-2);border:var(--k-edge-w) solid var(--k-line);border-radius:var(--k-r-1);margin:0;background:var(--k-surface);box-shadow:var(--k-shadow-3);list-style:none}.k-menu--right{right:0;left:auto}.k-menu__item{display:flex;width:100%;gap:var(--k-s-3);align-items:center;padding:var(--k-s-2) var(--k-s-3);border:0;border-radius:var(--k-r-1);background:none;color:var(--k-text);cursor:pointer;font-family:var(--k-font-ui);font-size:var(--k-t-body);line-height:var(--k-lh-ui);text-align:left}.k-menu__item:hover{background:var(--k-raised)}.k-menu__item[aria-disabled=true]{color:var(--k-dim);cursor:not-allowed}.k-menu__item[aria-disabled=true]:hover{background:none}.k-menu__sep{height:var(--k-edge-w);border:0;margin:var(--k-s-2) 0;background:var(--k-line-quiet)}.k-tabs__list{display:flex;gap:var(--k-s-1);border-bottom:var(--k-edge-w) solid var(--k-line-quiet);overflow-x:auto;--k-focus-offset: -3px}.k-tab{padding:var(--k-s-3) var(--k-s-4);border:0;border-bottom:3px solid rgba(0,0,0,0);background:none;color:var(--k-dim);cursor:pointer;font-family:var(--k-font-ui);font-size:var(--k-t-body);font-weight:600;line-height:var(--k-lh-ui);white-space:nowrap}.k-tab:hover{color:var(--k-text)}.k-tab[aria-selected=true]{border-bottom-color:var(--k-brand);color:var(--k-text)}.k-tabs__panel{padding:var(--k-s-5) 0}.k-accordion{border:var(--k-edge-w) solid var(--k-line-quiet);border-radius:var(--k-r-1);background:var(--k-surface)}.k-accordion__item+.k-accordion__item{border-top:var(--k-edge-w) solid var(--k-line-quiet)}.k-accordion__summary{display:flex;gap:var(--k-s-3);align-items:center;padding:var(--k-s-4) var(--k-s-5);color:var(--k-text);cursor:pointer;font-weight:600;line-height:var(--k-lh-ui);list-style:none}.k-accordion__summary:hover{background:var(--k-raised)}.k-accordion__summary::-webkit-details-marker{display:none}.k-accordion__summary::before{width:0;height:0;border-top:5px solid rgba(0,0,0,0);border-bottom:5px solid rgba(0,0,0,0);border-left:7px solid var(--k-brand);content:"";transition:transform var(--k-dur) var(--k-ease)}.k-accordion__item[open]>.k-accordion__summary::before{transform:rotate(90deg)}.k-accordion__body{padding:0 var(--k-s-5) var(--k-s-5)}.k-tip{position:relative;display:inline-block}.k-tip__bubble{position:absolute;z-index:30;bottom:calc(100% + var(--k-s-2));left:50%;width:max-content;max-width:16rem;padding:var(--k-s-2) var(--k-s-3);border:var(--k-edge-w) solid var(--k-line);border-radius:var(--k-r-1);background:var(--k-raised);color:var(--k-text);font-size:var(--k-t-body);line-height:var(--k-lh-ui);opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity var(--k-dur) var(--k-ease)}.k-tip:hover .k-tip__bubble,.k-tip:focus-within .k-tip__bubble{opacity:1}.k-toasts{position:fixed;z-index:50;right:var(--k-s-5);bottom:var(--k-s-5);display:flex;max-width:calc(100vw - var(--k-s-6));flex-direction:column;gap:var(--k-s-3)}.k-toast{display:flex;width:22rem;max-width:100%;gap:var(--k-s-3);align-items:flex-start;padding:var(--k-s-4);border:var(--k-edge-w) solid var(--k-line);border-left:3px solid var(--k-brand);border-radius:var(--k-r-1);background:var(--k-surface);box-shadow:var(--k-shadow-3)}.k-toast--grant{border-left-color:var(--k-grant)}.k-toast--refuse{border-left-color:var(--k-refuse)}.k-toast--cost,.k-toast--error{border-left-color:var(--k-cost)}.k-toast__body{flex:1;min-width:0}.k-switch{display:inline-flex;gap:var(--k-s-3);align-items:center;cursor:pointer;line-height:var(--k-lh-ui)}.k-switch__control{width:calc(var(--k-s-8) - var(--k-s-3));height:var(--k-s-5);flex:none;padding:2px;border:var(--k-edge-w) solid var(--k-line);border-radius:var(--k-r-pill);appearance:none;background:var(--k-raised);cursor:pointer;transition:background var(--k-dur) var(--k-ease)}.k-switch__control::before{display:block;width:calc(var(--k-s-5) - 6px);height:calc(var(--k-s-5) - 6px);border-radius:var(--k-r-circle);background:var(--k-dim);content:"";transition:transform var(--k-dur) var(--k-ease)}.k-switch__control:checked{background:var(--k-brand)}.k-switch__control:checked::before{background:var(--k-brand-fg);transform:translateX(calc(var(--k-s-6) - var(--k-s-3)))}.k-switch__control:disabled{border-color:var(--k-line-quiet);background:var(--k-surface);cursor:not-allowed}.k-switch__control:disabled::before{background:var(--k-line-quiet)}.k-switch:has(.k-switch__control:disabled){color:var(--k-dim);cursor:not-allowed}.k-spinner{display:inline-block;width:var(--k-s-5);height:var(--k-s-5);border-radius:var(--k-r-circle);background:conic-gradient(from 0turn, var(--k-line-quiet), var(--k-brand));animation:k-spin 720ms linear infinite;mask:radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 3px), #000 calc(100% - 3px))}@keyframes k-spin{to{transform:rotate(360deg)}}.k-source{display:flow-root}.k-source--changed{animation:k-source-settle var(--k-dur-slow) var(--k-ease)}@keyframes k-source-settle{from{background:color-mix(in oklab, var(--k-accent) 16%, transparent)}to{background:rgba(0,0,0,0)}}.k-source__tick{display:inline-block;inline-size:var(--k-s-1);block-size:var(--k-s-1);border-radius:var(--k-r-circle);background:var(--k-dim);vertical-align:baseline;animation:k-source-pulse var(--k-dur-slow) var(--k-ease) infinite}@keyframes k-source-pulse{50%{opacity:.25}}@media(prefers-reduced-motion: reduce){.k-source--changed,.k-source__tick{animation:none}}@media(forced-colors: active){.k :focus-visible{outline-color:Highlight}.k-btn[disabled],.k-btn[aria-disabled=true],.k-menu__item[aria-disabled=true]{border-color:GrayText;color:GrayText}.k-btn[aria-pressed=true],.k-switch__control:checked{forced-color-adjust:none;border-color:Highlight;background:Highlight;color:HighlightText}.k-btn[aria-busy=true]::after{border-right-color:Canvas}.k-tab{border-bottom-color:Canvas}.k-tab[aria-selected=true]{border-bottom-color:Highlight}.k-menu__sep{border-top:1px solid CanvasText}.k-btn[aria-expanded=true]{border-color:Highlight}.k-accordion__summary::before{border-top-color:Canvas;border-bottom-color:Canvas;border-left-color:CanvasText}.k-switch__control::before,.k-source__tick{forced-color-adjust:none;background:CanvasText}.k-switch__control:checked::before{background:HighlightText}.k-switch__control:disabled::before{background:GrayText}.k-progress{border:1px solid CanvasText}.k-progress__bar,.k-rule,.k-cap{forced-color-adjust:none;background:Highlight}.k-skeleton{border:1px dashed GrayText}.k-chart__series{fill:CanvasText;stroke:CanvasText}.k-chart__plot text{fill:CanvasText}.k-chart__series--2{fill:none}.k-legend__swatch{forced-color-adjust:none;background:CanvasText}.k-legend__swatch--2{background:none;border-color:CanvasText}.k-spinner{forced-color-adjust:none;background:conic-gradient(from 0turn, Canvas, CanvasText)}.k-player__play{forced-color-adjust:none;border:2px solid ButtonText;background:ButtonFace}.k-player__play::before{forced-color-adjust:none;background:ButtonText}}.kit-page{display:grid;grid-template-columns:200px minmax(0, 1fr);min-height:100vh;background:var(--k-ground);color:var(--k-text);font-family:var(--k-font-ui)}@media(max-width: 900px){.kit-page{grid-template-columns:1fr}}.kit-rail{position:sticky;top:var(--site-sticky-h, 0px);align-self:start;max-height:calc(100vh - var(--site-sticky-h, 0px));padding:var(--k-s-5) var(--k-s-4);border-right:1px solid var(--k-line-quiet);overflow-y:auto}@media(max-width: 900px){.kit-rail{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--k-line-quiet)}.kit-rail .k-toc{flex-direction:row;flex-wrap:wrap;gap:var(--k-s-2)}}.kit-main{display:flex;flex-direction:column;gap:var(--k-s-8);padding:var(--k-s-6);min-width:0}@media(max-width: 520px){.kit-main{padding:var(--k-s-4)}}.kit-section{display:flex;flex-direction:column;gap:var(--k-s-4);scroll-margin-top:var(--k-s-4)}.kit-section>*,.kit-demo>*{min-width:0;max-width:100%}.kit-demo{display:flex;flex-wrap:wrap;gap:var(--k-s-4);align-items:flex-start;padding:var(--k-s-5)}.kit-demo--stack{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.kit-pair{display:grid;gap:var(--k-s-4);grid-template-columns:repeat(auto-fit, minmax(min(260px, 100%), 1fr))}.kit-pair>*{padding:var(--k-s-5);border-radius:var(--k-r-1);background:var(--k-ground)}.kit-swatches{display:grid;gap:1px;border:1px solid var(--k-line-quiet);border-radius:var(--k-r-1);background:var(--k-line-quiet);grid-template-columns:repeat(auto-fit, minmax(min(128px, 100%), 1fr));overflow:hidden}.kit-swatch{display:flex;flex-direction:column;background:var(--k-surface)}.kit-swatch__chip{height:56px}.kit-swatch__meta{display:flex;flex-direction:column;gap:2px;padding:var(--k-s-2) var(--k-s-3) var(--k-s-3)}.kit-swatch b{color:var(--k-text);font-size:var(--k-t-body);font-weight:600}.kit-swatch code{color:var(--k-dim);font-family:var(--k-font-mono);font-size:var(--k-t-body)}.kit-scale-row{display:flex;flex-wrap:wrap;gap:var(--k-s-3) var(--k-s-4);align-items:baseline;min-width:0;padding:var(--k-s-2) 0;border-bottom:1px solid var(--k-line-quiet)}.kit-scale-row:last-child{border-bottom:0}.kit-scale-row>:last-child{min-width:0;overflow-wrap:anywhere}.kit-scale-row code{min-width:12ch;color:var(--k-dim);font-family:var(--k-font-mono);font-size:var(--k-t-body)}.kit-scale-row .kit-px{min-width:6ch;color:var(--k-dim);font-family:var(--k-font-mono);font-size:var(--k-t-body);font-variant-numeric:tabular-nums;text-align:right}.kit-bar{height:14px;border-radius:var(--k-r-1);background:var(--k-brand)}.kit-checks{display:grid;gap:1px;border:1px solid var(--k-line-quiet);border-radius:var(--k-r-1);background:var(--k-line-quiet);overflow:hidden}.kit-check{display:grid;gap:var(--k-s-3);align-items:center;padding:var(--k-s-2) var(--k-s-4);background:var(--k-surface);font-size:var(--k-t-body);grid-template-columns:1fr auto auto}.kit-check__name{color:var(--k-dim)}.kit-check__ratio{font-family:var(--k-font-mono);font-variant-numeric:tabular-nums}.kit-check__verdict{padding:var(--k-s-1) var(--k-s-2);border:1px solid currentcolor;border-radius:var(--k-r-1);font-size:var(--k-t-body);font-weight:600;letter-spacing:.08em;background:color-mix(in srgb, currentcolor 18%, var(--k-ground))}.kit-check__verdict--pass{color:var(--k-grant)}.kit-check__verdict--fail{color:var(--k-cost)}.kit-page input[type=range]{width:100%;height:20px;accent-color:var(--k-brand);cursor:pointer}.kit-arch{border:1px solid var(--k-line-quiet);border-radius:var(--k-r-1);overflow:hidden}.kit-arch .k-canvas{padding:var(--k-s-6) var(--k-s-5)}.kit-section .k-canvas.k-shell{padding:0}.kit-accent-grid{display:grid;gap:var(--k-s-4);grid-template-columns:repeat(auto-fit, minmax(min(240px, 100%), 1fr))}.kit-accent-role{display:flex;flex-direction:column;gap:var(--k-s-2);padding:var(--k-s-4);border:1px solid var(--k-line-quiet);border-radius:var(--k-r-1);background:var(--k-surface)}.kit-accent-rule{padding-top:var(--k-s-3);border-top:2px solid var(--k-accent)}.kit-accent-link{color:var(--k-accent);text-decoration:underline;text-underline-offset:3px}.kit-accent-chip{align-self:flex-start;padding:var(--k-s-1) var(--k-s-3);border:1px solid var(--k-accent);border-radius:var(--k-r-pill);color:var(--k-accent);font-family:var(--k-font-mono);letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb, var(--k-accent) 18%, var(--k-ground))}.kit-accent-current{padding-left:var(--k-s-3);box-shadow:inset 3px 0 0 0 var(--k-accent)}.kit-accent-dot::before{content:"●";margin-right:var(--k-s-2);color:var(--k-accent)}.kit-accent-underline{padding-bottom:var(--k-s-1);border-bottom:2px solid var(--k-accent)}.kit-source{margin:calc(var(--k-s-4)*-1) var(--k-s-5) var(--k-s-5);border-radius:var(--k-r-1);background:var(--k-raised)}.kit-source__summary{padding:var(--k-s-2) var(--k-s-4);color:var(--k-dim);font-size:var(--k-t-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.kit-source{position:relative}.kit-source__copy{position:absolute;top:0;right:var(--k-s-2)}.kit-source:not([open]) .kit-source__copy{display:none}.kit-source .k-code{margin:0;border:0;border-radius:0 0 var(--k-r-1) var(--k-r-1)}@font-face{font-family:"Roboto";font-style:normal;font-display:swap;font-weight:400;src:url("/fonts/roboto-latin-400-normal.woff2") format("woff2"),url("/fonts/roboto-latin-400-normal.woff") format("woff")}@font-face{font-family:"Roboto";font-style:normal;font-display:swap;font-weight:700;src:url("/fonts/roboto-latin-700-normal.woff2") format("woff2"),url("/fonts/roboto-latin-700-normal.woff") format("woff")}@font-face{font-family:"Roboto";font-style:italic;font-display:swap;font-weight:700;src:url("/fonts/roboto-latin-700-italic.woff2") format("woff2"),url("/fonts/roboto-latin-700-italic.woff") format("woff")}@font-face{font-family:"Chakra Petch";font-style:normal;font-display:swap;font-weight:700;src:url("/fonts/chakra-petch-latin-700-normal.woff2") format("woff2"),url("/fonts/chakra-petch-latin-700-normal.woff") format("woff")}