*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0a0a0a;--surface:#141414;--surface2:#1a1a1a;--border:#262626;--text:#e8e8e8;--muted:#8a8a8a;--accent:#5dcaa5;--accent2:#7f77dd;--gold:#d8a657}body{background:var(--bg);color:var(--text);font-family:-apple-system,system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:0 2rem 4rem}header.site{text-align:center;padding:5rem 2rem 1.5rem}header.site h1{font-size:2.6rem;font-weight:300;letter-spacing:.04em;color:var(--text)}header.site h1 span{color:var(--accent)}header.site p{color:var(--muted);margin-top:.6rem;font-size:1.1rem}.vm-launch{text-align:center;margin:1.5rem auto 3.5rem;padding:2.25rem;max-width:620px;background:radial-gradient(120% 140% at 50% 0,#0f2e1f 0,#14142a 60%,#101018 100%);border:1px solid #2a5f4a;border-radius:14px;box-shadow:0 10px 40px -20px #000}.vm-launch h2{font-size:1.35rem;font-weight:500;margin-bottom:.5rem}.vm-launch p{color:#b7b7b7;font-size:.92rem;margin-bottom:1.4rem}.vm-launch a.btn{display:inline-block;padding:.8rem 2.2rem;background:var(--accent);color:#06140e;border-radius:8px;font-weight:700;font-size:1rem;transition:transform .15s,box-shadow .15s}.vm-launch a.btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px -8px var(--accent)}.vm-launch .sub{font-size:.74rem;color:var(--muted);margin-top:.9rem;letter-spacing:.02em}.timeline{position:relative;padding-left:2.25rem}.timeline::before{content:'';position:absolute;left:7px;top:14px;bottom:0;width:2px;background:linear-gradient(var(--accent),var(--accent2) 40%,#2a2a2a)}.era{position:relative;margin-bottom:3.25rem}.era-head{display:flex;align-items:center;gap:.7rem;margin:0 0 1.4rem -2.25rem;position:relative}.era-dot{width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--accent);box-shadow:0 0 0 4px #0a0a0a,0 0 14px -2px var(--accent);flex:none}.era-label{color:var(--accent);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;flex-direction:column;color:inherit}.card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 36px -22px #000}.card .shot{position:relative;aspect-ratio:720/450;background:#000;overflow:hidden;border-bottom:1px solid var(--border)}.card .shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .35s ease}.card.has-shot:hover .shot img{transform:scale(1.04)}.card-body{padding:1.05rem 1.15rem 1.2rem}.card h3{font-size:1.02rem;font-weight:600;margin-bottom:.15rem}.card .meta{font-size:.76rem;color:var(--muted);margin-bottom:.55rem;letter-spacing:.02em}.card .desc{font-size:.86rem;color:#b2b2b2;margin-bottom:.85rem}.card .tags{display:flex;gap:.4rem;flex-wrap:wrap}.tag{font-size:.68rem;padding:3px 9px;border-radius:20px;background:#1d1d2e;color:var(--accent2);font-weight:500}.tag.playable{background:#0f2e1f;color:var(--accent)}.tag.source{background:#1c1c1c;color:var(--muted)}.tag.preview{background:#2a210f;color:var(--gold)}.tag.download{background:#10242e;color:#5db4ca}.card:not(.has-shot){background:var(--surface2)}.card:not(.has-shot) h3{font-weight:500}footer.site{text-align:center;padding:3rem 2rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--border)}.backlink{display:inline-block;margin-bottom:1.5rem;font-size:.9rem}.prose{max-width:760px;margin:0 auto}.prose h1{font-weight:300;font-size:2rem;margin-bottom:.5rem}.prose h2{font-weight:400;font-size:1.3rem;margin:2rem 0 .75rem;color:var(--accent)}.prose p{margin-bottom:1rem}.prose img{max-width:100%;border:1px solid var(--border);border-radius:8px;margin:1rem 0}.prose .meta{color:var(--muted);font-size:.9rem;margin-bottom:2rem}@media(max-width:640px){.timeline{padding-left:1.5rem}.era-head{margin-left:-1.5rem}header.site{padding-top:3rem}header.site h1{font-size:2rem}}