:root{color-scheme:dark;--bg:#0b0d10;--card:#12151b;--text:#e6e6eb;--muted:#9aa0aa;--accent:#6ee7ff;--border:#1f2430}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;font-size:16px}
a{color:var(--accent);text-decoration:none;text-underline-offset:4px;transition:color .18s ease}
a:hover{text-decoration:underline;color:#b1f3ff}
a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
.container{max-width:1100px;margin:0 auto;padding:7rem 1.5rem 2rem}
.hero{text-align:center}
h1{font-size:2.8rem;line-height:1.3;font-weight:700;letter-spacing:-1.4px}
.subtitle{margin-top:.25rem;color:var(--muted)}
.bio{max-width:790px;margin:.75rem auto 0;color:var(--muted)}
.links{display:flex;justify-content:center;flex-wrap:wrap;gap:1.25rem;margin-top:1rem}
section{margin-top:4rem;scroll-margin-top:2rem}
h2{font-size:1.4rem;text-align:center;margin-bottom:1rem;font-weight:600}
.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;list-style:none}
.tags li{background:var(--card);border:1px solid var(--border);padding:.35rem .65rem;border-radius:6px;font-family:"SFMono-Regular",Consolas,monospace;font-size:.85rem;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;align-items:stretch}
.project-card{background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color .2s ease;display:flex;flex-direction:column;min-width:0}
.project-card:hover,.project-card:focus-within{border-color:#3c5965}
.project-image{height:160px;position:relative;background:#101217;border-bottom:1px solid var(--border);overflow:hidden}
.project-image>img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.project-image.bloxrooms>img{object-fit:contain;object-position:center;background:#101115}
.card-body{padding:1rem;flex:1}
h3,h4{font-size:1rem;font-weight:600;line-height:1.5}
.project-link{color:var(--text)}
.project-link::after{content:' ↗';font-size:.8rem;color:var(--accent)}
.role{color:var(--muted);font-size:.8rem;margin-top:.2rem}
.description{color:var(--muted);font-size:.9rem;margin-top:.6rem}
.text-card .card-body{padding:1.25rem 1rem}
.asset-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.75rem;font-size:.75rem}
.repositories{margin-top:2.5rem}
.repositories>h3{text-align:center;font-size:1rem;margin-bottom:1rem;color:var(--muted)}
.repo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.repo{padding:.85rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--card);min-width:0}
.repo h4{font-size:.85rem;overflow-wrap:anywhere}
.repo h4 a{color:var(--text)}
.repo p{font-size:.8rem;color:var(--muted);margin-top:.3rem}
.meta{display:block;font-size:.75rem;color:var(--muted);margin-top:.4rem;font-family:Consolas,monospace}
summary{color:var(--accent);font-size:.85rem;cursor:pointer;width:fit-content;margin:1.25rem auto}
.experience-list{max-width:820px;margin:1.5rem auto 0}
.experience-row{display:flex;justify-content:space-between;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--border)}
.experience-row h3 a{color:var(--text)}
.experience-role{font-size:.9rem;color:var(--muted)}
.experience-row .description{margin-top:.25rem;font-size:.85rem}
.dates{font-size:.8rem;color:var(--muted);flex-shrink:0;padding-top:.2rem}
.contact{text-align:center}
.contact>p{color:var(--muted);font-size:.9rem}
.contact .discord{margin-top:1rem;font-size:.85rem}
.discord span{color:var(--text)}
footer{color:var(--muted);font-size:.75rem;text-align:center;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.skip-link{position:absolute;left:1rem;top:-5rem;padding:.5rem 1rem;background:var(--card);z-index:2}.skip-link:focus{top:1rem}
.noscript{padding:2rem;text-align:center}
@media(min-width:1600px){.container{padding-top:8rem}}
@media(max-width:900px){.project-grid,.repo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.container{padding-top:5rem}}
@media(max-width:580px){.container{padding:3.5rem 1.25rem 1.5rem}h1{font-size:2.25rem;letter-spacing:-1px}.bio{font-size:.9rem;margin-top:1rem}section{margin-top:3rem}.project-grid,.repo-grid{grid-template-columns:minmax(0,1fr)}.project-image{height:180px}.experience-row{flex-direction:column;gap:.35rem}.dates{padding-top:0}.tags li{font-size:.78rem}.links{gap:1rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.project-image.bloxrooms>img{object-fit:cover;object-position:center 30%}

.project-image.spong>img{object-fit:contain;object-position:center;background:#101217}

.website-link{display:inline-block;margin-top:.75rem;font-size:.85rem}
