@font-face{font-family:DMSans;src:url('/assets/fonts/dm-sans.woff2') format('woff2');font-display:swap}@font-face{font-family:SpaceMono;src:url('/assets/fonts/space-mono.woff2') format('woff2');font-display:swap}
:root{--ink:#181713;--paper:#f3efe5;--cream:#fffaf0;--acid:#d9ff43;--blue:#4058ff;--orange:#ffb35c;--pink:#ffb4d1;--line:rgba(24,23,19,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 84% 7%,rgba(64,88,255,.09),transparent 25rem),var(--paper);color:var(--ink);font-family:DMSans,Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}
.site-header{align-items:center;display:flex;justify-content:space-between;margin:auto;max-width:1400px;padding:28px 48px}.wordmark{font-size:22px;font-weight:700;letter-spacing:-.045em}.wordmark span{color:var(--blue)}nav{display:flex;gap:34px}nav a,.mono{font-family:SpaceMono,monospace;font-size:11px;text-transform:uppercase}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero{display:grid;gap:clamp(40px,6vw,96px);grid-template-columns:minmax(0,1.06fr) minmax(360px,.74fr);margin:auto;max-width:1400px;min-height:calc(100vh - 84px);padding:clamp(70px,10vh,130px) 48px 100px}.hero-copy{align-self:center}.kicker,.section-number{align-items:center;display:flex;font:700 11px SpaceMono,monospace;letter-spacing:.08em;text-transform:uppercase}.kicker:before{background:var(--blue);border-radius:50%;content:"";height:9px;margin-right:10px;width:9px}h1{font-size:clamp(64px,10vw,142px);font-weight:650;letter-spacing:-.075em;line-height:.82;margin:30px 0 40px}.lede{font-size:clamp(18px,1.7vw,24px);letter-spacing:-.025em;line-height:1.45;margin:0;max-width:620px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}.button{align-items:center;border:1px solid var(--ink);display:inline-flex;font:700 12px SpaceMono,monospace;gap:14px;justify-content:space-between;min-width:190px;padding:16px 18px;text-transform:uppercase;transition:.16s}.button:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-3px,-3px)}.button-primary{background:var(--acid)}.tagline{font-family:Georgia,serif;font-size:16px;font-style:italic;margin-top:46px}.hero-art{align-self:center;background:var(--cream);border:1px solid var(--ink);box-shadow:12px 12px 0 var(--blue);margin:0;padding:22px;transform:rotate(1.5deg)}.hero-art img{display:block;margin:18px auto;mix-blend-mode:multiply}.art-label,.hero-art figcaption{font:10px SpaceMono,monospace;letter-spacing:.05em;text-transform:uppercase}.art-label{border-bottom:1px solid var(--line);padding-bottom:14px}.hero-art figcaption{border-top:1px solid var(--line);padding-top:14px}
.dark-section{background:var(--ink);color:var(--paper);padding:110px max(48px,calc((100vw - 1304px)/2))}.section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:50px}.section-number{color:var(--acid);margin:0}h2{font-size:clamp(40px,6vw,76px);letter-spacing:-.06em;line-height:.95;margin:0}.feature-grid{border-top:1px solid rgba(243,239,229,.26);display:grid;grid-template-columns:repeat(3,1fr)}.feature-card{display:flex;flex-direction:column;justify-content:space-between;min-height:390px;padding:24px 30px 28px;transition:.18s}.feature-card+.feature-card{border-left:1px solid rgba(243,239,229,.26)}.feature-card:hover{background:var(--acid);color:var(--ink)}.card-topline,.card-cta{display:flex;font:10px SpaceMono,monospace;justify-content:space-between;letter-spacing:.05em;text-transform:uppercase}.feature-card h3{font-size:34px;letter-spacing:-.045em;line-height:1;margin:0 0 20px}.feature-card p{font-size:15px;line-height:1.6;margin:0;opacity:.72}.card-cta{border-top:1px solid;padding-top:16px}
.playground{display:grid;gap:clamp(50px,7vw,110px);grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);margin:auto;max-width:1400px;padding:130px 48px}.playground .section-number{color:var(--blue)}.playground h2{font-size:clamp(48px,6vw,82px);margin:38px 0 30px}.playground-copy{font-size:17px;line-height:1.6;max-width:450px}.project-grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.project-card{border:1px solid;display:flex;flex-direction:column;justify-content:space-between;min-height:360px;padding:20px;transition:.18s}.project-card:hover{box-shadow:7px 7px 0;transform:translate(-4px,-4px)}.green{background:var(--acid)}.blue{background:#a6b7ff}.orange{background:var(--orange)}.pink{background:var(--pink)}.project-meta{display:flex;font:9px SpaceMono,monospace;justify-content:space-between;text-transform:uppercase}.project-card h3{font-size:clamp(32px,3.4vw,52px);letter-spacing:-.06em;line-height:.95;margin:10px 0 18px}.project-card p{font-size:13px;line-height:1.55}.round-arrow{align-items:center;align-self:end;border:1px solid;border-radius:50%;display:flex;font-size:20px;height:48px;justify-content:center;width:48px}
.blue-section{background:var(--blue);color:white;display:grid;gap:80px;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);padding:120px max(48px,calc((100vw - 1304px)/2))}.link-list{border-top:1px solid #ffffff6b}.link-list a{align-items:center;border-bottom:1px solid #ffffff6b;display:grid;gap:18px;grid-template-columns:1fr 1fr 30px;padding:24px 0;transition:.15s}.link-list a:hover{padding-left:12px}.link-list strong{font-size:20px}.link-list small{font:10px/1.5 SpaceMono,monospace;opacity:.72;text-transform:uppercase}.about{margin:auto;max-width:1400px;padding:140px 48px}.about .section-number{color:var(--blue)}blockquote{font-size:clamp(40px,6.3vw,86px);font-weight:600;letter-spacing:-.06em;line-height:1.02;margin:50px 0 60px}.about-note{border-left:2px solid var(--blue);font:12px/1.7 SpaceMono,monospace;margin-left:auto;max-width:520px;padding-left:22px}
footer{align-items:end;background:var(--ink);color:var(--paper);display:grid;gap:30px;grid-template-columns:1fr auto auto;padding:70px max(48px,calc((100vw - 1304px)/2)) 36px}footer p{font:10px SpaceMono,monospace;margin:0;text-transform:uppercase}.footer-mark{font-size:clamp(36px,6vw,74px)}
.page-hero{border-bottom:1px solid var(--line);margin:auto;max-width:1400px;padding:110px 48px 80px}.breadcrumbs{font:10px SpaceMono,monospace;text-transform:uppercase}.breadcrumbs a{color:var(--blue)}.page-hero h1{font-size:clamp(58px,9vw,124px);margin-bottom:30px;max-width:1100px}.page-hero .lede{max-width:800px}.content{margin:auto;max-width:1100px;padding:90px 48px 130px}.content h2{font-size:clamp(34px,5vw,58px);margin:70px 0 25px}.content h2:first-child{margin-top:0}.content h3{font-size:24px;margin:48px 0 14px}.content p,.content li{font-size:17px;line-height:1.7}.content a:not(.button):not(.resource-card):not(.gallery-card){color:var(--blue);text-decoration:underline;text-underline-offset:3px}.content li+li{margin-top:10px}.content ul{padding-left:22px}.callout{background:var(--cream);border:1px solid;border-left:9px solid var(--acid);margin:32px 0;padding:22px 26px}.callout p{margin:0}.resource-list{border-top:1px solid;margin:34px 0}.resource-card{align-items:center;border-bottom:1px solid;display:grid;gap:20px;grid-template-columns:1fr auto;padding:24px 0;transition:.15s}.resource-card:hover{padding-left:12px}.resource-card strong{display:block;font-size:22px}.resource-card small{font:10px SpaceMono,monospace;text-transform:uppercase}.gallery{display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.gallery-card{background:var(--cream);border:1px solid;display:block;padding:14px;transition:.18s}.gallery-card:hover{box-shadow:7px 7px 0 var(--blue);transform:translate(-4px,-4px)}.gallery-card img{aspect-ratio:4/3;display:block;object-fit:cover;width:100%}.gallery-card span{display:flex;font:11px SpaceMono,monospace;justify-content:space-between;padding:16px 4px 4px;text-transform:uppercase}.download-grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.download-grid .button{width:100%}.code-note{background:var(--ink);color:var(--paper);font:13px/1.7 SpaceMono,monospace;overflow:auto;padding:22px}.contact-art{background:var(--cream);border:1px solid;max-width:740px;padding:30px}.contact-art img{display:block;width:100%}.archive-badge{background:var(--acid);border:1px solid;display:inline-block;font:10px SpaceMono,monospace;padding:8px 10px;text-transform:uppercase}
.game-shell{background:var(--ink);min-height:100vh;color:white}.game-bar{align-items:center;background:var(--paper);color:var(--ink);display:flex;justify-content:space-between;padding:14px 22px;position:relative;z-index:10}.game-frame{border:0;display:block;height:calc(100vh - 55px);width:100%}
@media(max-width:900px){.site-header{padding:22px 24px}nav{gap:18px}.hero{grid-template-columns:1fr;padding:70px 24px 90px}.hero-art{margin:auto;max-width:560px}.dark-section,.blue-section{padding:80px 24px}.section-heading{align-items:start;flex-direction:column;gap:28px}.feature-grid{grid-template-columns:1fr}.feature-card+.feature-card{border-left:0;border-top:1px solid #f3efe542}.playground{grid-template-columns:1fr;padding:90px 24px}.blue-section{gap:50px;grid-template-columns:1fr}.about,.page-hero,.content{padding-left:24px;padding-right:24px}footer{grid-template-columns:1fr;padding:70px 24px 34px}}
@media(max-width:560px){nav a:first-child{display:none}.hero{padding-top:58px}.actions{align-items:stretch;flex-direction:column}.button{width:100%}.hero-art{box-shadow:7px 7px 0 var(--blue);padding:16px}.project-grid,.gallery,.download-grid{grid-template-columns:1fr}.link-list a{grid-template-columns:1fr 28px}.link-list small{grid-column:1;grid-row:2}.page-hero{padding-top:70px}.resource-card{align-items:start;grid-template-columns:1fr}.game-bar .mono{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
