:root{--cloud:#f8faf7;--white:#fff;--sky:#d9eefa;--sky-dark:#2f97d6;--sky-tint:#eaf5fc;--mountain-blue:#176b87;--mountain-blue-dark:#125a72;--green:#69b85a;--green-tint:#edf7ea;--coral:#ff6b5e;--coral-tint:#fff0ee;--coral-text:#c9483d;--ink:#17252b;--ink-soft:#5b6b72;--border:#e2eae8;--radius:16px;--radius-sm:10px;--max-width:1140px;--gutter:24px;--shadow:0 1px 2px #17252b0f;--shadow-lift:0 14px 28px #17252b1f;--font-display:"Outfit", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-body:"Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--cloud);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 .4em;line-height:1.15}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.muted{color:var(--ink-soft)}.container{width:100%;max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto}.site{flex-direction:column;min-height:100vh;display:flex}.main{flex:1}.section{padding-block:56px 72px}.section-heading{margin-bottom:8px;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.section-heading:after{content:"";background:var(--green);border-radius:3px;width:52px;height:5px;margin-top:12px;display:block}.section-heading+.grid,.section-heading+.news-list{margin-top:28px}.section-stacked{padding-block:0 72px}.header{background:var(--white);border-bottom:1px solid var(--border);z-index:20;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;padding-bottom:16px;display:flex}.logo img{width:auto;height:68px}.header-nav{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.nav-link{color:var(--mountain-blue);border-bottom:2px solid #0000;padding:4px 0;font-weight:600;transition:color .15s,border-color .15s}.nav-link:hover,.nav-link.active{color:var(--mountain-blue);border-bottom-color:var(--sky-dark)}.lang-switcher{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.lang-option{color:var(--ink-soft);padding:6px 10px;font-size:.8rem;font-weight:700;transition:background .15s,color .15s}.lang-option:hover{background:var(--sky-tint)}.lang-option.is-active{background:var(--sky-tint);color:var(--mountain-blue)}.button{border-radius:var(--radius-sm);background:var(--mountain-blue);color:var(--white);font-family:var(--font-display);border:2px solid var(--mountain-blue);padding:13px 24px;font-size:1rem;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s;display:inline-block}.button:hover{background:var(--mountain-blue-dark);border-color:var(--mountain-blue-dark);color:var(--white);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.button-secondary{background:var(--white);color:var(--mountain-blue);border-color:var(--mountain-blue)}.button-secondary:hover{background:var(--white);color:var(--sky-dark);border-color:var(--sky-dark)}.hero{background:var(--sky);color:var(--ink);padding-top:56px;position:relative}.hero-inner{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:40px;padding-bottom:32px;display:grid}.hero-text h1{letter-spacing:-.03em;margin-bottom:.3em;font-size:clamp(2rem,5vw,3.1rem);font-weight:800}.hero-text p a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--sky-dark);text-decoration-color:var(--sky-dark);text-underline-offset:3px;font-weight:600;text-decoration-thickness:2px;transition:color .15s,text-decoration-color .15s}.hero-text p a:hover{color:var(--mountain-blue);-webkit-text-decoration-color:var(--mountain-blue);text-decoration-color:var(--mountain-blue)}.hero-text p{color:var(--ink);max-width:58ch;margin:0;font-size:1.1rem}.hero-cta{border-radius:12px;margin-top:32px;padding:17px 34px;font-size:1.15rem}.divider svg{width:100%;height:120px;display:block}.news-aside{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lift);color:var(--ink);padding:20px}.aside-heading{font-family:var(--font-body);letter-spacing:.04em;color:var(--coral-text);margin-bottom:12px;font-size:.8rem;font-weight:700}.aside-link{color:var(--mountain-blue);border-bottom:2px solid var(--sky-dark);margin-top:14px;font-weight:600;display:inline-block}.aside-link:hover{border-bottom-color:var(--mountain-blue)}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;display:grid}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-lift);border-color:var(--sky-dark);transform:translateY(-4px)}.card-body{flex-direction:column;gap:3px;padding:16px 18px 20px;display:flex}.game-cover{aspect-ratio:16/9;object-fit:cover;background:var(--sky-tint);width:100%}.game-name{margin:0;font-size:1.15rem;font-weight:700}.game-developer{color:var(--mountain-blue);margin:0;font-size:.92rem;font-weight:600}.game-meta{color:var(--ink-soft);margin:0;font-size:.88rem}.state{background:var(--sky-tint);color:var(--mountain-blue);border-radius:999px;align-self:flex-start;margin-top:12px;padding:4px 12px;font-size:.78rem;font-weight:600}.state-released{background:var(--green-tint);color:#3f7d34}.state-demo{color:#1c6f9e;background:#78beff26}.state-early-access{background:var(--coral-tint);color:var(--coral-text)}.developer-card{gap:18px;padding:20px}.developer-main{align-items:center;gap:16px;display:flex}.developer-logo{object-fit:contain;background:var(--ink);border-radius:12px;flex-shrink:0;width:116px;height:66px;padding:10px}.developer-logo-light{background:var(--cloud);border:1px solid var(--border)}.developer-name{margin:0;font-size:1.15rem;font-weight:700}.developer-games-label{font-family:var(--font-body);letter-spacing:.03em;color:var(--ink-soft);margin-bottom:10px;font-size:.78rem;font-weight:700}.developer-game-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.developer-game-thumb{object-fit:cover;border:1px solid var(--border);background:var(--sky-tint);border-radius:8px;width:72px;height:45px;transition:border-color .15s,transform .15s}.developer-game-thumb:hover{border-color:var(--sky-dark);transform:scale(1.04)}.news-list{flex-direction:column;gap:24px;display:flex}.news-item{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:220px minmax(0,1fr);gap:22px;padding:18px;display:grid}.news-item.is-compact{box-shadow:none;background:0 0;border:none;grid-template-columns:minmax(0,1fr);gap:12px;padding:0}.news-thumb{aspect-ratio:3/2;object-fit:cover;background:var(--sky-tint);border-radius:12px;width:100%}.news-date{color:var(--ink-soft);font-size:.82rem}.news-title{margin:4px 0 6px;font-size:1.2rem;font-weight:700}.news-text{color:var(--ink-soft);font-size:.95rem}.news-text :is(p,ul,ol){margin:0 0 .6em}.news-text b,.news-text strong{color:var(--ink)}.prose{max-width:64ch;color:var(--ink-soft);font-size:1.05rem}.prose p{margin:0 0 1em}.indie-page .button{margin-top:12px}.join-layout{grid-template-columns:minmax(0,1fr);gap:36px;display:grid}.join-blocks{flex-direction:column;gap:24px;display:flex}.submit-block{border-radius:var(--radius);background:var(--sky-tint);border:1px solid #cfe6f6;max-width:64ch;padding:28px}.submit-block-alt{background:var(--green-tint);border-color:#cfe6c6}.submit-heading{margin-bottom:12px;font-size:1.3rem;font-weight:700}.submit-body{color:var(--ink-soft);margin:0 0 20px}.requirements-label{margin:0 0 12px;font-weight:700}.requirements{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.requirements li{color:var(--ink-soft);padding-left:30px;position:relative}.requirements li:before{content:"";border:solid var(--green);border-width:0 3px 3px 0;width:7px;height:13px;position:absolute;top:.32em;left:4px;transform:rotate(45deg)}.submit-close{margin:0 0 24px;font-weight:600}.submit-actions{flex-wrap:wrap;gap:12px;display:flex}.empty-state{color:var(--ink-soft);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:56px 0;display:flex}.empty-state svg{opacity:.65;width:72px;height:48px}.empty-state p{margin:0}.empty-state .button{margin-top:10px}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:36px;display:flex}.pagination button{border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--white);color:var(--mountain-blue);font-family:var(--font-display);cursor:pointer;padding:9px 18px;font-size:.95rem;font-weight:700;transition:border-color .15s,color .15s}.pagination button:hover:not(:disabled){border-color:var(--sky-dark);color:var(--mountain-blue)}.pagination button:disabled{opacity:.45;cursor:default}.pagination-status{color:var(--ink-soft);font-size:.9rem}.footer{background:var(--mountain-blue);color:var(--white)}.footer-ridge{background:linear-gradient(to bottom, var(--cloud) calc(100% - 3px), var(--mountain-blue) calc(100% - 3px))}.footer-ridge svg{width:100%;height:70px;margin-bottom:-1px;display:block}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-bottom:36px;display:flex}.footer-brand{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.footer-logo{filter:brightness(0)invert();width:auto;height:26px}.footer-rights{color:#ffffffe0;margin:0;font-size:.88rem}.footer-submit{margin:2px 0 0;font-size:.95rem}.footer-submit a{border-bottom:2px solid var(--green);font-weight:700;transition:color .15s,border-color .15s}.footer-submit a:hover{color:var(--green);border-bottom-color:var(--white)}.footer-socials{flex-wrap:wrap;gap:20px;font-weight:600;display:flex}.footer-socials a{border-bottom:2px solid #0000;transition:border-color .15s}.footer-socials a:hover{border-bottom-color:var(--green)}@media (width>=901px){.join-layout{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:56px}.join-intro{position:sticky;top:124px}.join-blocks .submit-block{max-width:none}}@media (width<=900px){.hero-inner{grid-template-columns:minmax(0,1fr);gap:32px}.divider svg{height:80px}}@media (width<=640px){:root{--gutter:18px}.header-inner{justify-content:center;gap:12px}.logo img{height:56px}.header-nav{gap:14px}.hero{padding-top:40px}.section{padding-block:40px 56px}.news-item{grid-template-columns:minmax(0,1fr)}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}.footer-inner{text-align:center;justify-content:center}.footer-brand{align-items:center}}
