@font-face{font-family:Inter;src:url('fonts/Inter-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/Inter-Medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/Inter-SemiBold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/IBMPlexMono-Regular.woff2') format('woff2'),url('fonts/IBMPlexMono-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--c-space-8)}
body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--c-type-body-font-family),sans-serif;font-size:var(--c-type-body-font-size);line-height:var(--c-type-body-line-height);font-weight:var(--c-type-body-font-weight)}
[data-theme]{background:var(--c-bg);color:var(--c-text)}
a{color:var(--c-link);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{color:var(--c-link-hover)}
a:active{color:var(--c-link-active)}
a,summary{-webkit-tap-highlight-color:var(--c-scrim)}
:focus-visible{outline:var(--c-layout-focus-width) solid var(--c-focus);outline-offset:var(--c-layout-focus-offset)}
:target{scroll-margin-top:var(--c-space-8)}
img,svg{max-width:100%;vertical-align:middle}
img{height:auto}
p,h1,h2,h3,ul{margin:0}
p,.family-outline span,.family-row-summary{overflow-wrap:anywhere}
p+p{margin-top:var(--c-space-4)}
h1,h2,h3{font-weight:600;overflow-wrap:anywhere}
h1{font-family:var(--c-type-display-font-family),sans-serif;font-weight:var(--c-type-display-font-weight);letter-spacing:var(--c-type-display-letter-spacing);font-size:var(--c-type-display-font-size);line-height:var(--c-type-display-line-height)}
h2{font-family:var(--c-type-section-font-family),sans-serif;font-weight:var(--c-type-section-font-weight);letter-spacing:var(--c-type-section-letter-spacing);font-size:var(--c-type-section-font-size);line-height:var(--c-type-section-line-height)}
h3{font-family:var(--c-type-card-font-family),sans-serif;font-weight:var(--c-type-card-font-weight);letter-spacing:var(--c-type-card-letter-spacing);font-size:var(--c-type-card-font-size);line-height:var(--c-type-card-line-height)}
.wrap{width:calc(100% - var(--c-layout-gutter)*2);max-width:var(--c-layout-max-content);margin-inline:auto}
.arrow{width:24px;height:24px;flex:none}
.eyebrow,.section-label{font:var(--c-type-label-font-weight) var(--c-type-label-font-size)/var(--c-type-label-line-height) var(--c-type-label-font-family),monospace;letter-spacing:var(--c-type-label-letter-spacing);text-transform:var(--c-type-label-text-transform)}
.eyebrow{color:var(--c-muted)}
.skip-link{position:absolute;left:var(--c-space-4);top:var(--c-space-4);z-index:10;padding:var(--c-space-4);background:var(--c-action-primary);color:var(--c-action-primary-fg);transform:translateY(-200%)}
.skip-link:focus{transform:none;outline-color:var(--c-action-primary-fg)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--c-space-6);padding-block:var(--c-space-6);border-bottom:1px solid var(--c-divider)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex:none;min-height:48px}
.brand img{width:48px;height:48px;flex:none}
.brand span{font:var(--c-type-identity-label-font-weight) var(--c-type-identity-label-font-size)/var(--c-type-identity-label-line-height) var(--c-type-identity-label-font-family),sans-serif;letter-spacing:var(--c-type-identity-label-letter-spacing)}
.site-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--c-space-6)}
.site-header nav a,.site-footer a{display:inline-flex;align-items:center;gap:var(--c-space-base);min-height:var(--c-layout-control-min);text-decoration:none;font-size:var(--c-type-control-font-size);font-weight:var(--c-type-control-font-weight)}
.site-header nav a[aria-current],.site-header nav a:hover,.site-footer a:hover{text-decoration:underline}
.home-intro{padding-block:var(--c-space-16)}
.home-intro>.eyebrow{margin-bottom:var(--c-space-6)}
.home-intro>div{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;gap:var(--c-space-16)}
.home-intro p:not(.eyebrow){color:var(--c-muted);max-width:39ch;padding-bottom:var(--c-space-base)}
.feature-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--c-space-16);padding-block:var(--c-space-16)}
.feature-main h2{font-size:var(--c-type-display-font-size);line-height:var(--c-type-display-line-height);margin-block:var(--c-space-6) var(--c-space-4)}
.feature-heading{font-weight:500;font-size:var(--c-type-card-font-size);line-height:var(--c-type-card-line-height)}
.feature-description{max-width:43ch;margin-top:var(--c-space-4);color:var(--c-muted)}
.button{display:inline-flex;max-width:100%;overflow-wrap:anywhere;align-items:center;justify-content:space-between;gap:min(var(--c-space-8),6vw);min-height:var(--c-layout-control-min);padding:12px var(--c-space-6);margin-top:var(--c-space-8);border:1px solid var(--c-action-primary);border-radius:var(--c-layout-radius);background:var(--c-action-primary);color:var(--c-action-primary-fg);font-size:var(--c-type-control-font-size);font-weight:var(--c-type-control-font-weight);text-decoration:none;transition:background-color var(--c-motion-duration) var(--c-motion-easing)}
.button:hover{background:var(--c-action-primary-hover);color:var(--c-action-primary-fg)}
.button:active{background:var(--c-action-primary-active)}
.feature-context{border-left:1px solid var(--c-divider-strong);padding-left:var(--c-space-12)}
.feature-status{display:flex;flex-wrap:wrap;gap:var(--c-space-4);align-items:center;justify-content:space-between}
.feature-status>.eyebrow{text-transform:none;letter-spacing:0;font-family:var(--c-type-body-font-family),sans-serif}
.status{display:inline-block;font-size:var(--c-type-label-font-size);line-height:1.5;font-weight:500;color:var(--c-status-fg);padding:var(--c-space-base) var(--c-space-2);border:1px solid var(--c-status-border);border-radius:var(--c-radius-sm);white-space:normal;overflow-wrap:anywhere;background:var(--c-status-bg)}
.family-outline{margin-block:var(--c-space-8);border-top:1px solid var(--c-divider-strong)}
.family-outline>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--c-space-4);align-items:baseline;padding-block:var(--c-space-4);border-bottom:1px solid var(--c-divider-strong)}
.outline-label{font:var(--c-type-label-font-size)/1.5 var(--c-type-label-font-family),monospace;color:var(--c-muted)}
.current-focus h3{font-size:var(--c-type-control-font-size);font-weight:600;margin-top:var(--c-space-2)}
.current-focus p:last-child{color:var(--c-muted);font-size:var(--c-type-control-font-size);margin-top:var(--c-space-base)}
.family-section{padding-top:var(--c-space-16)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--c-space-6);margin-bottom:var(--c-space-6)}
.text-link{display:inline-flex;align-items:center;gap:var(--c-space-2);min-height:var(--c-layout-control-min);font-weight:500;font-size:var(--c-type-control-font-size);text-decoration:none}
.text-link:hover{text-decoration:underline}
.family-list{padding:0;list-style:none;border-top:1px solid var(--c-divider)}
.family-list>li{border-bottom:1px solid var(--c-divider)}
.family-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) minmax(0,1.5fr);gap:var(--c-space-6);align-items:center;padding-block:var(--c-space-8);text-decoration:none}
.family-row:hover .family-row-name{text-decoration:underline;text-underline-offset:.2em}
.family-row-name{font-size:var(--c-type-card-font-size);font-weight:600}
.family-row-summary{font-size:var(--c-type-control-font-size)}
.family-row-summary>span{display:block;color:var(--c-muted);margin-top:var(--c-space-base)}
.family-row-end{display:flex;flex-wrap:wrap;align-items:center;gap:var(--c-space-6)}
.home-about{display:flex;gap:var(--c-space-8);align-items:center;justify-content:space-between;padding-block:var(--c-space-12) var(--c-space-16)}
.home-about p{color:var(--c-muted);font-size:var(--c-type-control-font-size)}
.site-footer>*{min-width:0;max-width:100%}
.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--c-space-6);padding-block:var(--c-space-8);border-top:1px solid var(--c-divider);font-size:var(--c-type-label-font-size)}
.site-footer p>span{color:var(--c-muted)}
.site-footer>div{display:flex;flex-wrap:wrap;gap:var(--c-space-6)}
.page-heading{padding-block:var(--c-space-24) var(--c-space-12)}
.page-heading h1{margin-top:var(--c-space-6)}
.page-heading>p:not(.eyebrow){margin-top:var(--c-space-6);color:var(--c-muted);max-width:var(--c-layout-line)}
.directory-section{padding-top:var(--c-space-6)}
.section-label{margin-bottom:var(--c-space-6);color:var(--c-muted)}
.directory-note{padding-block:var(--c-space-8) var(--c-space-24);color:var(--c-muted)}
.directory-note p{max-width:52ch}
.breadcrumbs{display:flex;gap:var(--c-space-4);align-items:center;padding-top:var(--c-space-6);font-size:var(--c-type-control-font-size);color:var(--c-muted)}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:var(--c-layout-control-min)}
.family-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--c-space-16);padding-block:var(--c-space-12) var(--c-space-16)}
.family-heading h1{margin-top:var(--c-space-6)}
.family-logo{display:block;width:15rem;max-width:100%;height:auto;margin-top:var(--c-space-6)}
.endorsement{font-size:.875rem;color:var(--c-muted);margin-top:var(--c-space-4)}
.family-heading h2{margin-bottom:var(--c-space-6)}
.family-heading>div>p:not(.eyebrow):not(.endorsement){color:var(--c-muted);max-width:52ch}
.family-heading .status{margin-top:var(--c-space-6)}
.family-nav{display:flex;flex-wrap:wrap;gap:var(--c-space-8);border-top:1px solid var(--c-divider);padding-block:var(--c-space-2)}
.family-nav a{display:inline-flex;min-height:var(--c-layout-control-min);align-items:center;font-size:var(--c-type-control-font-size);font-weight:500;text-decoration:none}
.family-nav a:hover{text-decoration:underline}
.section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--c-space-16);padding-block:var(--c-space-16)}
.section-grid .eyebrow{margin-bottom:var(--c-space-6)}
.game-detail h3{margin-block:var(--c-space-6) var(--c-space-4)}
.game-detail>p{max-width:var(--c-layout-line)}
details{margin-top:var(--c-space-8);border-block:1px solid var(--c-border)}
summary{display:flex;align-items:center;justify-content:space-between;gap:var(--c-space-4);min-height:var(--c-layout-control-min);padding-block:var(--c-space-4);font-weight:500;font-size:var(--c-type-control-font-size);list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary>.arrow{transform:rotate(90deg);transition:transform var(--c-motion-duration) var(--c-motion-easing)}
details[open]>summary>.arrow{transform:rotate(-90deg)}
.disclosure-body{padding-block:var(--c-space-2) var(--c-space-6);font-size:var(--c-type-control-font-size)}
.disclosure-body p{max-width:var(--c-layout-line)}
.disclosure-body p+p{color:var(--c-muted)}
.tool-row+.tool-row{margin-top:var(--c-space-8);padding-top:var(--c-space-8);border-top:1px solid var(--c-divider)}
.tool-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--c-space-4)}
.tool-row p{color:var(--c-muted);margin-top:var(--c-space-4)}
.development-lead{font-size:var(--c-type-card-font-size);line-height:var(--c-type-card-line-height);font-weight:500}
.development-copy>p+p{color:var(--c-muted);margin-top:var(--c-space-6)}
.future-plans h3{font-size:var(--c-type-control-font-size);margin-bottom:var(--c-space-2)}
.future-plans article+article{margin-top:var(--c-space-6)}
.future-plans .disclosure-body>p{margin-top:var(--c-space-6);color:var(--c-muted)}
.family-bottom{padding-block:var(--c-space-12);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--c-space-16);align-items:start}
.family-bottom .text-link>.arrow{transform:rotate(180deg)}
.legal-note{font-size:var(--c-type-label-font-size);color:var(--c-muted)}
.about-content{margin-top:var(--c-space-4)}
.about-content p{max-width:var(--c-layout-line)}
.about-content p+p{color:var(--c-muted)}
.about-content .text-link{margin-top:var(--c-space-6)}
.about-lead{font-size:var(--c-type-card-font-size);line-height:1.5}
.about-approach{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--c-space-12);padding-block:var(--c-space-16)}
.about-approach h2{font-size:var(--c-type-card-font-size);margin-block:var(--c-space-4)}
.about-approach p:last-child{color:var(--c-muted)}
.about-links{display:flex;justify-content:space-between;align-items:center;gap:var(--c-space-6);padding-bottom:var(--c-space-16)}
.about-links>p{color:var(--c-muted)}
.not-found{min-height:65vh}
.pillars{padding-bottom:var(--c-space-12)}
.pillar-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--c-space-8);padding:var(--c-space-8) 0 0;list-style:none;border-top:1px solid var(--c-divider)}
.pillar-list p{color:var(--c-muted);margin-top:var(--c-space-4)}
.pillar-families a{display:inline-flex;align-items:center;min-height:var(--c-layout-control-min)}
@media(min-width:721px) and (max-width:960px){.feature-layout,.home-intro>div,.family-heading,.section-grid,.family-bottom{gap:var(--c-space-8)}.feature-context{padding-left:var(--c-space-8)}.family-row{grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr) minmax(0,1.5fr);gap:var(--c-space-4)}.family-row-end{gap:var(--c-space-4)}}
@media(max-width:720px){
 .pillar-list{grid-template-columns:minmax(0,1fr)}
 h1{font-size:var(--c-type-display-small-font-size);line-height:var(--c-type-display-small-line-height)}
 .site-header{align-items:flex-start;flex-wrap:wrap;gap:var(--c-space-4);padding-block:var(--c-space-4)}
 .site-header nav{gap:var(--c-space-4);margin-left:-.25rem;flex-basis:100%}
 .site-header nav a{padding-inline:var(--c-space-base)}
 .home-intro{padding-block:var(--c-space-12)}
 .home-intro>div,.feature-layout,.family-heading,.section-grid,.family-bottom{grid-template-columns:minmax(0,1fr);gap:var(--c-space-8)}
 .home-intro p:not(.eyebrow){max-width:46ch}
 .feature-layout{padding-block:var(--c-space-12)}
 .feature-context{border-left:0;border-top:1px solid var(--c-divider-strong);padding-left:0;padding-top:var(--c-space-8)}
 .feature-main h2{margin-top:var(--c-space-4)}
 .feature-description{max-width:var(--c-layout-line)}
 .family-outline{margin-block:var(--c-space-6)}
 .family-section{padding-top:var(--c-space-12)}
 .section-heading{align-items:flex-start;flex-direction:column;gap:var(--c-space-2)}
 .family-row{grid-template-columns:minmax(0,1fr);gap:var(--c-space-4);padding-block:var(--c-space-6)}
 .family-row-summary{grid-column:1 / -1;grid-row:2}
 .family-row-end{grid-row:3;justify-content:space-between;flex-wrap:wrap;gap:var(--c-space-4)}
 .home-about{flex-direction:column;align-items:flex-start;gap:var(--c-space-4);padding-block:var(--c-space-8) var(--c-space-12)}
 .site-footer{align-items:flex-start;flex-direction:column;gap:var(--c-space-4)}
 .footer-separator{display:none}.site-footer p>span:last-child{display:block;margin-top:var(--c-space-base)}
 .page-heading{padding-block:var(--c-space-12) var(--c-space-8)}
 .directory-section{padding-top:var(--c-space-4)}
 .directory-note{padding-bottom:var(--c-space-16)}
 .family-heading{padding-block:var(--c-space-8) var(--c-space-12)}
 .family-heading h1{font-size:var(--c-type-display-font-size)}
 .family-nav{gap:var(--c-space-4)}
 .section-grid{padding-block:var(--c-space-12)}
 .section-grid h2 br{display:none}
 .section-grid .eyebrow{margin-bottom:var(--c-space-4)}
 .tool-title{align-items:flex-start}
 .family-bottom{padding-block:var(--c-space-8)}
 .about-approach{grid-template-columns:minmax(0,1fr);gap:var(--c-space-8);padding-block:var(--c-space-12)}
 .about-approach article+article{border-top:1px solid var(--c-divider);padding-top:var(--c-space-8)}
 .about-links{align-items:flex-start;flex-direction:column;gap:var(--c-space-2);padding-bottom:var(--c-space-12)}
}
@media(max-width:380px){.wrap{width:calc(100% - var(--c-space-4)*2)}.family-row-end{gap:var(--c-space-2)}.family-row-end .status{font-size:.75rem}.family-nav{gap:var(--c-space-2)}.family-nav a{font-size:.875rem}.feature-status{gap:var(--c-space-2)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:var(--c-motion-reduced-duration)!important;animation-duration:var(--c-motion-reduced-duration)!important}}
