html{scroll-behavior:smooth;scroll-padding-top:96px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.skip-link{left:var(--jls-space-md);z-index:30;padding:var(--jls-space-xs) var(--jls-space-md);background:var(--jls-color-surface);color:var(--jls-color-accent-text);border-radius:var(--jls-radius-md);box-shadow:var(--jls-shadow-lg);position:absolute;top:-100px}.skip-link:focus{top:var(--jls-space-md)}.nowrap{white-space:nowrap}.section-head{max-width:var(--jls-layout-prose);margin-bottom:var(--jls-space-2xl)}.section-head .jls-lead{margin-bottom:0}.grid{gap:var(--jls-space-lg);display:grid}@media (width>=720px){.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(2,1fr)}}@media (width>=1040px){.grid--4{grid-template-columns:repeat(4,1fr)}}@media (width<=719px){.jls-card:not(.jls-card--featured){padding:var(--jls-space-lg)}}.cta-row{align-items:center;gap:var(--jls-space-sm) var(--jls-space-lg);margin-bottom:var(--jls-space-lg);flex-wrap:wrap;display:flex}@media (width<=479px){.cta-row .jls-btn{flex:100%}}.num{color:var(--jls-color-text);font-family:var(--jls-font-family-mono);font-weight:var(--jls-font-weight-semibold);font-variant-numeric:tabular-nums;line-height:var(--jls-font-line-height-tight);letter-spacing:-.03em}.site-header{z-index:20;background:var(--jls-color-bg);border-bottom:var(--jls-border-width-thin) solid var(--jls-color-border);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:var(--jls-space-lg);min-height:80px;display:flex}.nav-logo{padding-block:var(--jls-space-md);flex:none}.nav-links{gap:var(--jls-space-xl);margin:0;padding:0;list-style:none;display:none}.nav-links a,.nav-menu a{color:var(--jls-color-text);font-family:var(--jls-font-family-display);font-size:var(--jls-font-size-sm);font-weight:var(--jls-font-weight-medium);text-decoration:none}.nav-links a:hover,.nav-menu a:hover,.nav-links a[aria-current=page]{color:var(--jls-color-accent-text)}.nav-links a[aria-current=page]{text-underline-offset:.5em;text-decoration:underline 2px}.nav-actions{align-items:center;gap:var(--jls-space-sm);display:flex}.nav-actions .jls-btn{flex:none;padding:12px 20px}.nav-menu{position:relative}.nav-menu summary{cursor:pointer;border:var(--jls-border-width-thin) solid var(--jls-color-border-strong);border-radius:var(--jls-radius-md);background:var(--jls-color-surface);place-items:center;width:46px;height:46px;list-style:none;display:grid}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu__icon,.nav-menu__icon:before,.nav-menu__icon:after{background:var(--jls-color-text);content:"";width:18px;height:2px;display:block}.nav-menu__icon{position:relative}.nav-menu__icon:before{position:absolute;top:-6px}.nav-menu__icon:after{position:absolute;top:6px}.nav-menu[open] .nav-menu__icon{background:0 0}.nav-menu[open] .nav-menu__icon:before{top:0;transform:rotate(45deg)}.nav-menu[open] .nav-menu__icon:after{top:0;transform:rotate(-45deg)}.nav-menu ul{right:0;top:calc(100% + var(--jls-space-xs));min-width:220px;padding:var(--jls-space-xs);background:var(--jls-color-surface);border:var(--jls-border-width-thin) solid var(--jls-color-border-strong);border-radius:var(--jls-radius-md);box-shadow:var(--jls-shadow-lg);margin:0;list-style:none;position:absolute}.nav-menu li a{padding:var(--jls-space-sm) var(--jls-space-md);border-radius:var(--jls-radius-sm);display:block}.nav-menu li a:hover{background:var(--jls-color-bg-alt)}@media (width>=1100px){.nav-links{display:flex}.nav-menu{display:none}}@media (width<=379px){.nav-actions>.jls-btn{display:none}}.nav-menu .nav-menu__cta{margin-top:var(--jls-space-xxs);padding-top:var(--jls-space-xxs);border-top:var(--jls-border-width-thin) dashed var(--jls-color-border)}.nav-menu .nav-menu__cta a{color:var(--jls-color-accent-text);font-weight:var(--jls-font-weight-semibold)}.site-footer{padding-block:var(--jls-space-3xl) var(--jls-space-xl);background:var(--jls-color-bg);border-top:var(--jls-border-width-thin) solid var(--jls-color-border)}.footer-grid{gap:var(--jls-space-xl);display:grid}.footer-logo{width:220px;height:auto;margin-bottom:var(--jls-space-sm)}.footer-links{gap:var(--jls-space-xs);margin:0;padding:0;list-style:none;display:grid}.footer-links a{color:var(--jls-color-text-soft);font-size:var(--jls-font-size-sm);text-decoration:none}.footer-links a:hover{color:var(--jls-color-accent-text);text-decoration:underline}.footer-base{margin-top:var(--jls-space-2xl);padding-top:var(--jls-space-lg);border-top:var(--jls-border-width-thin) dashed var(--jls-color-border)}.footer-base p{margin:0}@media (width>=720px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}.page-hero{padding-block:var(--jls-space-4xl) var(--jls-space-3xl)}.page-hero h1{max-width:880px}.page-hero .jls-lead{max-width:var(--jls-layout-prose);margin-bottom:0}@media (width<=719px){.page-hero{padding-block:var(--jls-space-3xl) var(--jls-space-2xl)}}.hero{padding-block:var(--jls-space-5xl) var(--jls-space-4xl)}.hero-grid{gap:var(--jls-space-3xl);align-items:center;display:grid}.hero h1{margin-bottom:var(--jls-space-lg);font:var(--jls-typography-display);font-size:clamp(var(--jls-font-size-3xl), 5.2vw, var(--jls-font-size-5xl));letter-spacing:var(--jls-typography-display-letter-spacing)}.hero .jls-lead{margin-bottom:var(--jls-space-xl)}@media (width>=1040px){.hero-grid{grid-template-columns:7fr 5fr}}@media (width<=719px){.hero{padding-block:var(--jls-space-3xl)}.hero h1{letter-spacing:var(--jls-typography-h1-letter-spacing)}}.scorecard{background:var(--jls-color-surface)}.scorecard ol{margin:0;padding:0;list-style:none}.scorecard li{gap:var(--jls-space-xs) var(--jls-space-md);padding:var(--jls-space-md);border-top:var(--jls-border-width-thin) solid var(--jls-color-border);grid-template-columns:96px 1fr auto;align-items:center;display:grid}.scorecard li:first-child{border-top:0}.scorecard .stage{color:var(--jls-color-text);font-family:var(--jls-font-family-display);font-weight:var(--jls-font-weight-semibold)}.scorecard .metric{color:var(--jls-color-text-soft);font-size:var(--jls-font-size-sm)}.scorecard .rate{font-family:var(--jls-font-family-mono);font-weight:var(--jls-font-weight-semibold);color:var(--jls-color-text);font-variant-numeric:tabular-nums}.scorecard .jls-meter{grid-column:2/-1}.scorecard .is-bottleneck{background:var(--jls-color-accent-soft)}.scorecard .is-bottleneck .rate{color:var(--jls-color-danger)}.scorecard .verdict{padding:var(--jls-space-md);border-top:var(--jls-border-width-thin) dashed var(--jls-color-border-strong);color:var(--jls-color-text);font-size:var(--jls-font-size-sm);margin:0}.scorecard .verdict .jls-tag{margin-right:var(--jls-space-xs)}@media (width<=479px){.scorecard li{grid-template-columns:1fr auto}.scorecard .metric{grid-area:2/1/auto/-1}.scorecard .jls-meter{grid-column:1/-1}}.problem{gap:var(--jls-space-2xl);align-items:start;display:grid}.checklist{gap:var(--jls-space-sm);margin:0;padding:0;list-style:none;display:grid}.checklist li{gap:var(--jls-space-md);padding:var(--jls-space-lg);background:var(--jls-color-surface);border:var(--jls-border-width-thin) solid var(--jls-color-border-strong);border-radius:var(--jls-radius-md);color:var(--jls-color-text);font-size:var(--jls-font-size-lg);line-height:var(--jls-font-line-height-normal);grid-template-columns:24px 1fr;align-items:start;display:grid}.box{border:var(--jls-border-width-thick) solid var(--jls-color-accent);border-radius:var(--jls-radius-sm);width:24px;height:24px;margin-top:2px;position:relative}.box:after{content:"";border:solid var(--jls-color-accent-text);border-width:0 2px 2px 0;width:6px;height:11px;position:absolute;top:3px;left:7px;transform:rotate(45deg)}@media (width>=960px){.problem{gap:var(--jls-space-3xl);grid-template-columns:5fr 7fr}}.stack-card{flex-direction:column;display:flex}.stack-card>p:last-of-type{flex:1}.stack-card ul{margin:var(--jls-space-sm) 0 0;padding-left:var(--jls-space-lg)}.stack-card li+li{margin-top:var(--jls-space-xxs)}.race-letter{margin-bottom:var(--jls-space-sm);color:var(--jls-color-accent-text);font:var(--jls-typography-number);letter-spacing:var(--jls-typography-number-letter-spacing);display:block}.race-question{color:var(--jls-color-text);font-weight:var(--jls-font-weight-semibold)}.race-note{max-width:var(--jls-layout-prose);margin:var(--jls-space-2xl) 0 0;padding:var(--jls-space-lg);border-left:3px solid var(--jls-color-accent);background:var(--jls-color-surface);color:var(--jls-color-text)}.steps{gap:var(--jls-space-lg);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.step{padding:var(--jls-space-lg) 0 0;border-top:var(--jls-border-width-thin) solid var(--jls-color-border-strong);position:relative}.step h3{font:var(--jls-typography-h4);margin-bottom:var(--jls-space-xs)}.step p{margin:0}.step .jls-eyebrow{color:var(--jls-color-text-faint)}@media (width>=720px){.steps{gap:var(--jls-space-xl);grid-template-columns:repeat(2,1fr)}}@media (width>=1040px){.steps{grid-template-columns:repeat(5,1fr)}}.fit{gap:var(--jls-space-lg);display:grid}.fit h3{align-items:center;gap:var(--jls-space-sm);display:flex}.ticks,.crosses{gap:var(--jls-space-sm);margin:0;padding:0;list-style:none;display:grid}.ticks li,.crosses li{padding-left:var(--jls-space-xl);position:relative}.ticks li:before{content:"";border:solid var(--jls-color-success);border-width:0 2px 2px 0;width:6px;height:11px;position:absolute;top:5px;left:4px;transform:rotate(45deg)}.crosses li:before,.crosses li:after{content:"";background:var(--jls-color-text-faint);width:14px;height:2px;position:absolute;top:12px;left:1px;transform:rotate(45deg)}.crosses li:after{transform:rotate(-45deg)}@media (width>=860px){.fit{grid-template-columns:3fr 2fr}}.entry-card{flex-direction:column;height:100%;display:flex}.entry-card h3{margin-bottom:var(--jls-space-xs)}.entry-card p{flex:1}.entry-card .more{color:var(--jls-color-accent-text);font-family:var(--jls-font-family-display);font-size:var(--jls-font-size-sm);font-weight:var(--jls-font-weight-semibold)}.results{gap:var(--jls-space-lg);margin:0 0 var(--jls-space-md);padding-top:var(--jls-space-md);border-top:var(--jls-border-width-thin) solid var(--jls-color-border);flex-wrap:wrap;display:flex}.results dt{font-size:var(--jls-font-size-2xl)}.results dd{font-size:var(--jls-font-size-sm);color:var(--jls-color-text-faint);margin:0}.draft-flag{margin-left:auto}.empty-state{max-width:var(--jls-layout-prose);padding:var(--jls-space-xl);border:var(--jls-border-width-thin) dashed var(--jls-color-border-strong);border-radius:var(--jls-radius-md);background:var(--jls-color-surface)}.empty-state p:last-child{margin-bottom:0}.note-list{max-width:880px;margin:0;padding:0;list-style:none}.note-list li{border-bottom:var(--jls-border-width-thin) solid var(--jls-color-border)}.note-list li:first-child{border-top:var(--jls-border-width-thin) solid var(--jls-color-border)}.note-list a{gap:var(--jls-space-xxs);padding-block:var(--jls-space-lg);color:inherit;text-decoration:none;display:grid}.note-list h2,.note-list h3{font:var(--jls-typography-h3);color:var(--jls-color-text);margin:0}.note-list a:hover h2,.note-list a:hover h3{color:var(--jls-color-accent-text)}.note-list p{margin:0}.article-meta{gap:var(--jls-space-xs) var(--jls-space-md);margin-top:var(--jls-space-lg);flex-wrap:wrap;display:flex}.article{padding-bottom:var(--jls-space-4xl)}.article .jls-prose>:first-child{margin-top:0}.jls-prose h2{margin-top:var(--jls-space-2xl);font:var(--jls-typography-h3);letter-spacing:var(--jls-typography-h3-letter-spacing)}.jls-prose h3{margin-top:var(--jls-space-xl);font:var(--jls-typography-h4)}.jls-prose ul,.jls-prose ol{padding-left:var(--jls-space-lg)}.jls-prose li+li{margin-top:var(--jls-space-xxs)}.jls-prose blockquote{margin:var(--jls-space-lg) 0;padding:var(--jls-space-sm) var(--jls-space-lg);border-left:3px solid var(--jls-color-accent);color:var(--jls-color-text)}.jls-prose code{border-radius:var(--jls-radius-sm);background:var(--jls-color-bg-alt);font-family:var(--jls-font-family-mono);padding:1px 4px;font-size:.9em}.jls-prose pre{padding:var(--jls-space-md);border:var(--jls-border-width-thin) solid var(--jls-color-border-strong);border-radius:var(--jls-radius-md);overflow-x:auto}.jls-prose pre code{background:0 0;padding:0}.jls-prose table{width:100%;margin-bottom:var(--jls-space-lg);border-collapse:collapse;font-size:var(--jls-font-size-sm)}.jls-prose th,.jls-prose td{padding:var(--jls-space-xs) var(--jls-space-sm);border-bottom:var(--jls-border-width-thin) solid var(--jls-color-border);text-align:left}.jls-prose th{color:var(--jls-color-text);font-family:var(--jls-font-family-display)}.jls-prose hr{margin:var(--jls-space-2xl) 0;border:0;border-top:var(--jls-border-width-thin) dashed var(--jls-color-border-strong)}.jls-prose img{border:var(--jls-border-width-thin) solid var(--jls-color-border-strong);border-radius:var(--jls-radius-md);height:auto}.back-link{margin-top:var(--jls-space-2xl);font-family:var(--jls-font-family-display);font-size:var(--jls-font-size-sm);font-weight:var(--jls-font-weight-semibold);text-decoration:none;display:inline-block}.faq{max-width:880px}.faq details{border-bottom:var(--jls-border-width-thin) solid var(--jls-color-border)}.faq details:first-of-type{border-top:var(--jls-border-width-thin) solid var(--jls-color-border)}.faq summary{justify-content:space-between;align-items:center;gap:var(--jls-space-lg);padding-block:var(--jls-space-lg);cursor:pointer;color:var(--jls-color-text);font:var(--jls-typography-h4);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";border:var(--jls-border-width-thin) solid var(--jls-color-border-strong);border-radius:var(--jls-radius-pill);width:32px;height:32px;color:var(--jls-color-accent-text);font-weight:var(--jls-font-weight-regular);flex:none;place-items:center;display:grid}.faq details[open] summary:after{content:"−"}.faq details>p{max-width:var(--jls-layout-prose);padding-bottom:var(--jls-space-lg);margin:0}.cta-band h2{max-width:760px}.cta-band .jls-lead{max-width:var(--jls-layout-prose);color:var(--jls-color-inverse-text-soft);margin-bottom:var(--jls-space-xl)}.cta-band .jls-eyebrow{color:var(--jls-color-inverse-accent-text)}.cta-alt{font-family:var(--jls-font-family-display);font-size:var(--jls-font-size-sm);font-weight:var(--jls-font-weight-semibold)}.cta-meta{color:var(--jls-color-inverse-text-faint);margin:0}.about-grid{gap:var(--jls-space-2xl);align-items:start;display:grid}.portrait{aspect-ratio:4/5;padding:var(--jls-space-lg);text-align:center;place-items:center;display:grid}.portrait img{object-fit:cover;border-radius:var(--jls-radius-sm);width:100%;height:100%}@media (width>=900px){.about-grid{gap:var(--jls-space-3xl);grid-template-columns:2fr 1fr}}.contact-columns{gap:var(--jls-space-3xl);align-items:start;display:grid}.contact-columns>div>.jls-data{margin-bottom:var(--jls-space-lg)}.jls-card.cal-embed{padding:0;overflow:hidden}.cal-embed__frame{width:100%;min-height:520px}.cal-embed__fallback{padding:var(--jls-space-sm) var(--jls-space-lg);border-top:var(--jls-border-width-thin) dashed var(--jls-color-border-strong);margin:0}.contact-form{gap:var(--jls-space-lg);padding:var(--jls-space-xl);display:grid}.contact-form .row{gap:var(--jls-space-lg);display:grid}.contact-form .jls-btn{justify-self:start}.hidden-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (width>=720px) and (width<=1039px){.contact-form .row{grid-template-columns:1fr 1fr}}@media (width>=1040px){.contact-columns{gap:var(--jls-space-2xl);grid-template-columns:7fr 5fr}}@media (width<=719px){.contact-form{padding:var(--jls-space-lg)}}.todo{border:1px dashed var(--jls-color-warning);background:var(--jls-color-warning-soft);color:var(--jls-color-warning);font-family:var(--jls-font-family-mono);padding:2px 6px;font-size:.85em}
