@charset "UTF-8";
:root{--paper:#101614;--ink:#edf1e9;--muted:#a4b2a6;--line:#344237;--red:#ff9275;--green:#2c4735;--white:#19231d;--mono:"Cascadia Code","Consolas",monospace;--sans:"Segoe UI",Arial,sans-serif;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box;border-radius:0!important}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{background:none}img{max-width:100%;display:block}button:disabled{cursor:default}
[hidden]{display:none!important}
.badge.app{background:#233c44;color:#bae0eb}.site-header nav #nav-apps span{font:10px var(--mono);background:#233c44;color:#bae0eb;padding:5px}
.game-card[data-type="app"] .card-image-button img,dialog[data-type="app"] .dialog-art img{object-fit:contain}dialog[data-type="app"] .dialog-art{aspect-ratio:16/9}
@supports(appearance:base-select){select,select::picker(select){appearance:base-select}select::picker(select){border:1px solid var(--ink);background:var(--paper);padding:5px;box-shadow:0 8px 20px #0008}option{padding:9px 12px}option:checked{background:var(--green)}option:hover{background:#26362c}}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:4px}::selection{background:var(--green);color:var(--ink)}
.wrap{width:min(1400px,calc(100% - 112px));margin-inline:auto}.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:16px;padding:14px;background:var(--red);color:#151a16;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{min-height:88px;display:flex;align-items:center;gap:36px}.brand{display:inline-flex;align-items:center;font-size:28px;font-weight:800;letter-spacing:-1.5px;line-height:1}.brand-light{font-weight:400}.brand-period{color:var(--red)}.brand-mark{width:26px;height:26px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-right:12px}.brand-mark i{background:var(--red)}.brand-mark i:last-child{background:transparent;border:2px solid var(--red)}.header-note{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--muted);border-left:1px solid var(--line);padding-left:28px}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.site-header nav a{display:flex;align-items:center;gap:9px}.site-header nav a:hover{color:var(--red)}.nav-active span{font:10px var(--mono);background:var(--green);padding:5px}.site-header nav .icon{width:14px;height:14px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-top:52px;padding-bottom:60px;align-items:center}.eyebrow{font:10px/1.5 var(--mono);font-weight:600;letter-spacing:1.4px;margin:0 0 18px}.hero-copy .eyebrow{display:flex;align-items:center;gap:9px}.status-square{width:7px;height:7px;background:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,4.65vw,74px);line-height:1.04;letter-spacing:-3.8px;font-weight:750;margin-bottom:24px}h1 span{color:var(--red)}.hero-description{font-size:15px;line-height:1.75;max-width:410px;color:#b6c3b4;margin-bottom:27px}.primary-button{border:1px solid var(--red);background:var(--red);color:#151a16;font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:15px 19px;min-height:48px}.primary-button:hover{background:#ffb099;border-color:#ffb099}.primary-button .icon{width:17px;height:17px}.hero-footnote{font:10px/1.7 var(--mono);color:var(--muted);margin-top:24px}.hero-footnote>span:first-child{color:var(--ink);font-weight:700}.footnote-divider{margin:0 12px;color:#a3a898}
.feature{position:relative;display:block;isolation:isolate;width:100%;min-height:358px;align-self:stretch;border:0;padding:0;background:#4b5e35;overflow:hidden;text-align:left;color:#fff}.feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.feature:hover>img{transform:scale(1.035)}.feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.03) 30%,rgba(0,0,0,.78) 100%)}.feature-top{position:absolute;top:24px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;gap:12px;font:9px var(--mono);letter-spacing:1px}.feature-label{padding:8px 9px;background:var(--paper);color:var(--ink);font-weight:bold}.feature-index{font-size:8px}.feature-caption{display:block;position:absolute;bottom:26px;left:26px;right:26px}.feature-genre{font:9px var(--mono);letter-spacing:1.2px;color:#d2e5b4}.feature-caption strong{display:block;font-size:34px;font-weight:650;line-height:1.06;letter-spacing:-1px;margin-top:11px}.feature-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:21px}.feature-arrow{display:grid;place-items:center;width:36px;height:36px;background:var(--green);color:var(--ink)}
.collection{padding-bottom:70px}.section-heading{border-top:1px solid var(--ink);padding-top:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.section-heading .eyebrow{font-size:9px;color:var(--muted);margin-bottom:8px}.section-heading h2{font-size:31px;font-weight:650;letter-spacing:-1.1px;margin:0}.section-heading h2>span{color:var(--red)}.text-link{display:inline-flex;gap:10px;align-items:center;font-size:11px;padding-bottom:3px}.text-link:hover{color:var(--red)}.text-link .icon{width:13px;height:13px}.toolbar{display:flex;border:1px solid var(--line);background:#17201b;min-height:62px}.search-box{display:flex;align-items:center;gap:14px;flex:1;padding:0 20px;min-width:200px}.search-box>.icon{width:19px;color:var(--muted)}.search-box input{width:100%;border:0;background:none;outline:none!important;min-width:0;font-size:13px;height:60px}.search-box:focus-within{box-shadow:inset 0 -2px var(--red)}input::placeholder{color:#9daa96}.search-box kbd{border:1px solid var(--line);padding:2px 7px;font:11px var(--mono);color:var(--muted)}.select-box{border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:10px 17px;min-width:205px;gap:2px}.select-box>span{font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.select-box select{width:100%;border:0;background:transparent;font-size:12px;cursor:pointer;padding:3px 20px 3px 0}.sort-box{min-width:166px}.genre-line{display:flex;align-items:center;gap:22px;margin:21px 0 25px}.genre-filters{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.genre-filters button{border:1px solid transparent;padding:8px 12px;font-size:11px;line-height:1.4;white-space:nowrap;color:#b0bfaa}.genre-filters button:hover{border-color:var(--line);color:var(--ink)}.genre-filters button[aria-pressed="true"]{background:var(--green);border-color:#7b966d;color:var(--ink)}.result-count{margin-left:auto;font:10px var(--mono);color:var(--muted);white-space:nowrap}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.game-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);min-width:0;transition:border-color .2s,transform .2s}.game-card:hover{border-color:#8c9580;transform:translateY(-3px)}.card-image-button{position:relative;border:0;padding:0;width:100%;background:#263126;overflow:hidden;aspect-ratio:16/9;display:block;text-align:left}.card-image-button img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.card-image-button:hover img{transform:scale(1.04)}.card-image-button::after{position:absolute;inset:0;content:"";background:linear-gradient(transparent 65%,#0005);pointer-events:none}.card-image-button>.badge{position:absolute;bottom:12px;left:13px;z-index:1}.badge{font:8px/1.4 var(--mono);font-weight:600;letter-spacing:.55px;padding:6px 8px;display:inline-flex;width:max-content;max-width:calc(100% - 26px)}.badge.standalone{background:var(--green);color:#c2e9a8}.badge.free-data{background:#223c36;color:#b5d8d0}.badge.original{background:#493c23;color:#efcf95}.badge.mod{background:#3f2d4c;color:#e2c2f4}.image-unavailable{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;font:10px var(--mono);color:#b0bfaa}.image-unavailable .icon{width:45px;height:45px;stroke-width:1}.game-card[data-type="standalone"]{--card-tone:#183324;--card-accent:#9bd785}.game-card[data-type="free-data"]{--card-tone:#17323c;--card-accent:#83cfdf}.game-card[data-type="original"]{--card-tone:#362d1d;--card-accent:#e7c071}.game-card[data-type="mod"]{--card-tone:#32233e;--card-accent:#c9a2e8}.game-card[data-type="app"]{--card-tone:#1d2731;--card-accent:#9ab7d5}.card-body{background:var(--card-tone,var(--white));border-top:2px solid var(--card-accent,var(--line));padding:20px 20px 16px;display:flex;flex:1;flex-direction:column}.card-meta{display:flex;align-items:center;gap:7px;font:8px var(--mono);letter-spacing:1px;text-transform:uppercase;color:#b5cba9;margin-bottom:10px}.card-meta::before{content:"";width:5px;height:5px;background:var(--red)}.card-number{margin-left:auto;color:#9b9f94;letter-spacing:0}.game-card h3{overflow-wrap:break-word;font-size:23px;line-height:1.25;font-weight:650;letter-spacing:-.7px;margin-bottom:10px}.title-button{border:0;padding:0;text-align:left;font:inherit;letter-spacing:inherit}.title-button:hover{color:var(--red)}.card-description{font-size:13px;line-height:1.8;color:#b9c6b3;margin-bottom:16px;min-height:41px}.card-requirements{font-size:10px;line-height:1.6;color:#acbca5;margin:auto 0 20px;padding-left:11px;border-left:2px solid #3f5536}.game-card[data-type="original"] .card-requirements{border-left-color:#e3bb72}.game-card[data-type="mod"] .card-requirements{border-left-color:#cab4dc}.card-actions{display:flex;align-items:center;gap:14px;border-top:1px solid #334036;padding-top:13px;margin-top:0}.project-link{display:flex;justify-content:space-between;align-items:center;flex:1;font-size:11px;font-weight:600}.project-link:hover{color:var(--red)}.project-link .icon{width:14px;height:14px}.details-button{border:0;border-left:1px solid var(--line);padding:0 0 0 16px;font-size:10px;color:var(--muted);min-height:24px}.details-button:hover{color:var(--red)}.empty-state{text-align:center;border:1px dashed #a2ac94;padding:60px 20px}.empty-state>.icon{width:30px;height:30px;margin-bottom:12px}.empty-state h3{font-size:25px;letter-spacing:-.6px;margin-bottom:10px}.empty-state p{color:var(--muted);font-size:13px}.empty-state .primary-button{margin-top:10px}.noscript{padding:25px;border:1px solid var(--line)}.noscript a{text-decoration:underline}
.field-guide{background:#1c2820;border-top:1px solid #344639;border-bottom:1px solid #344639;padding:58px 0}.guide-layout{display:grid;grid-template-columns:1fr 2fr;gap:76px}.guide-intro .eyebrow{font-size:8px}.guide-intro h2{font-size:34px;line-height:1.07;letter-spacing:-1.2px;font-weight:650;margin-bottom:18px}.guide-intro>p:last-child{font-size:12px;line-height:1.8;color:#a9baa2;max-width:280px;margin-bottom:0}.guide-items{display:grid;grid-template-columns:1fr 1fr;gap:28px 35px}.guide-items article{border-top:1px solid #3d5340;padding-top:16px}.guide-items .badge{font-size:7px;padding:5px 7px}.guide-items h3{font-size:15px;font-weight:650;letter-spacing:-.2px;margin:10px 0 7px}.guide-items p{font-size:11px;line-height:1.8;color:#a9baa2;margin:0;max-width:300px}.site-footer{display:flex;justify-content:space-between;gap:30px;padding-top:38px;padding-bottom:35px}.site-footer .brand{font-size:24px}.site-footer p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:12px;margin-bottom:0}.footer-note{text-align:right}.footer-note p{margin:0}.footer-note>a{font-size:10px;display:inline-block;margin-top:10px;border-bottom:1px solid var(--ink);padding-bottom:3px}.footer-note>a:hover{color:var(--red)}
dialog{width:min(900px,calc(100% - 40px));max-height:90dvh;padding:0;border:1px solid var(--ink);background:var(--paper);color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#000000bb;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:16px;top:16px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #fff7;background:var(--paper);z-index:2}.dialog-close:hover{background:var(--green)}.dialog-art{background:#26332a;aspect-ratio:16/7;overflow:hidden}.dialog-art img{width:100%;height:100%;object-fit:cover}.dialog-body{padding:28px 35px 32px}.dialog-kicker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.dialog-genre{font:10px var(--mono);letter-spacing:1px;text-transform:uppercase}.dialog-body h2{font-size:36px;line-height:1.1;letter-spacing:-1.3px;margin-bottom:15px;font-weight:650}.dialog-description{color:#bacab3;line-height:1.8;font-size:15px;max-width:650px}.requirement-panel{background:#1c2820;border-left:3px solid #8baa72;padding:17px 20px;margin:22px 0}.requirement-panel h3{font:9px var(--mono);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.requirement-panel p{font-size:12px;line-height:1.7;margin:0}.dialog-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.dialog-links>.text-link{font-size:12px}.art-credit{font:9px/1.7 var(--mono);color:var(--muted);margin:24px 0 0}.art-credit a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1650px){.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wrap{width:min(1600px,calc(100% - 120px))}.hero{gap:80px}.feature{min-height:410px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header-note{display:none}.hero{gap:30px}.hero h1{font-size:51px;letter-spacing:-2.9px}.hero-description{font-size:13px}.feature-caption strong{font-size:30px}.game-grid{gap:18px}.card-body{padding:17px 16px 14px}.game-card h3{font-size:21px}.genre-filters{gap:1px}.genre-filters button{padding:8px 9px}.guide-layout{gap:36px}.feature-index{display:none}.search-box input{font-size:12px}.select-box{min-width:180px;padding-inline:12px}.sort-box{min-width:145px}}
@media(max-width:850px){.hero{grid-template-columns:1fr 1fr;padding-top:34px;padding-bottom:40px;gap:25px}.hero h1{font-size:41px;letter-spacing:-2px}.eyebrow{font-size:8px}.hero-description{font-size:12px;margin-bottom:20px}.hero-footnote{font-size:8px}.feature{min-height:320px}.feature-caption strong{font-size:27px}.feature-top,.feature-caption{left:20px;right:20px}.feature-top{top:20px}.feature-caption{bottom:20px}.feature-genre{font-size:8px;letter-spacing:.5px}.feature-bottom{font-size:11px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{flex-wrap:wrap}.search-box{flex-basis:100%;border-bottom:1px solid var(--line)}.search-box input{height:49px}.select-box{flex:1;min-width:0;border-left:0}.sort-box{border-left:1px solid var(--line)}.section-heading{align-items:flex-start}.section-heading h2{font-size:27px}.section-heading>.text-link{max-width:145px;line-height:1.6}.genre-line{align-items:flex-start}.result-count{padding-top:10px}.guide-layout{grid-template-columns:1fr;gap:30px}.guide-intro h2 br{display:none}.guide-intro>p:last-child{max-width:500px}.guide-items{gap:22px 30px}.guide-items p{max-width:none}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:72px;gap:10px}.brand{font-size:25px}.brand-mark{width:21px;height:21px;margin-right:8px;gap:3px}.site-header nav{gap:16px;font-size:11px}.site-header nav a[href="#field-guide"]{display:none}.hero{grid-template-columns:1fr;gap:27px;padding-top:34px;padding-bottom:34px}.hero h1{font-size:50px;letter-spacing:-2.7px;margin-bottom:18px}.hero-copy .eyebrow{font-size:8px;margin-bottom:17px}.hero-description{max-width:340px;font-size:13px;line-height:1.75;margin-bottom:21px}.hero-footnote{font-size:9px;margin-top:18px}.feature{min-height:300px}.feature-caption strong{font-size:32px}.feature-top{top:20px}.feature-index{display:block;font-size:7px}.feature-genre{font-size:8px;letter-spacing:.8px}.section-heading{padding-top:22px;margin-bottom:20px}.section-heading h2{font-size:26px}.section-heading>.text-link{display:none}.section-heading .eyebrow{font-size:8px}.toolbar{min-height:auto}.search-box{padding:0 13px;gap:9px}.search-box input{font-size:11px}.search-box kbd{display:none}.select-box{padding:11px 12px}.select-box select{font-size:11px}.select-box>span{font-size:7px}.genre-line{display:block;margin:15px 0 19px}.genre-filters{gap:3px}.genre-filters button{font-size:10px;padding:7px 9px}.result-count{display:block;margin:12px 0 0;padding:0;font-size:9px}.game-grid{grid-template-columns:1fr;gap:20px}.card-body{padding:20px}.game-card h3{font-size:25px}.card-description{font-size:13px;min-height:0}.card-meta{font-size:9px}.card-requirements{font-size:11px}.project-link{font-size:12px}.details-button{font-size:11px}.badge{font-size:8px}.collection{padding-bottom:38px}.field-guide{padding:35px 0}.guide-intro h2{font-size:30px}.guide-items{gap:25px 18px}.guide-items h3{font-size:14px;line-height:1.3}.guide-items p{font-size:10px}.guide-items .badge{font-size:6px;letter-spacing:.1px;padding:5px}.site-footer{display:block;padding-top:30px}.footer-note{text-align:left;margin-top:22px}.dialog-body{padding:23px}.dialog-body h2{font-size:28px}.dialog-art{aspect-ratio:16/10}.dialog-description{font-size:13px}.dialog-close{right:10px;top:10px;width:34px;height:34px}.dialog-links{gap:17px}.dialog-links .primary-button{font-size:12px}.art-credit{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
