:root{--bg:#0f1115;--bg-alt:#171a21;--card:#1d2230;--text:#f5f7fb;--muted:#b5bfd3;--line:#2b3242;--accent:#7c9cff;--accent-hover:#96affe;--max-width:1100px;--radius:18px;--shadow:0 10px 30px #00000040}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(100% - 2rem, var(--max-width));margin:0 auto}.site-header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0f1115d9;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;min-height:72px;display:flex;position:relative}.logo{border:1px solid var(--line);background:#ffffff05;border-radius:12px;justify-content:center;align-items:center;padding:.45rem;font-size:1.1rem;font-weight:700;transition:border-color .2s,transform .2s;display:inline-flex}.logo:hover{border-color:var(--accent);transform:translateY(-2px)}.logo img{object-fit:contain;width:32px;height:32px;display:block}.nav-links{gap:1.25rem;display:flex}.nav-links a{color:var(--muted);transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--text)}.menu-toggle{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;padding:.55rem .8rem;font-size:1rem;display:none}h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,3.4rem);line-height:1.08}h2{line-height:1.1}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem;font-size:.8rem;font-weight:700}.section{padding:5rem 0}.section-alt{background:var(--bg-alt)}.section-heading{margin-bottom:2.5rem}.section-heading p:last-child{color:var(--muted);max-width:680px}.hero{padding:6rem 0 5rem}.hero-single{flex-direction:column;align-items:flex-start;gap:1rem;max-width:820px;display:flex}.hero-photo-wrap.large{margin-bottom:.75rem;position:relative}.hero-photo-wrap.large:before{content:"";filter:blur(60px);z-index:0;background:radial-gradient(circle,#7c9cff47,#0000 65%);width:320px;height:320px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-photo-wrap.large img{object-fit:cover;object-position:center;width:180px;height:180px;box-shadow:var(--shadow);z-index:1;border:2px solid #7c9cff47;border-radius:50%;transition:transform .3s,box-shadow .3s;position:relative}.hero-photo-wrap.large img:hover{transform:scale(1.04);box-shadow:0 0 40px #7c9cff33}.hero-title{letter-spacing:-.04em;margin:0;font-size:clamp(3.6rem,8vw,6rem);line-height:.95}.hero-description-large{max-width:720px;color:var(--muted);margin:.25rem 0 .5rem;font-size:1.15rem;line-height:1.7}.hero-tech-list{margin-top:.5rem}.btn{border-radius:12px;padding:.95rem 1.2rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s;display:inline-block}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#0d1320}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{border:1px solid var(--line);color:var(--text)}.btn-secondary:hover{border-color:var(--accent)}.tech-list{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.tech-list li{border:1px solid var(--line);color:var(--muted);background:#ffffff08;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .8rem;font-size:.92rem;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.tech-list li:hover{color:#fff;border-color:var(--accent);background:#7c9cff26}.card,.project-card,.contact-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:1.5rem;transition:transform .2s,border-color .2s}.card:hover{border-color:var(--accent);transform:translateY(-4px)}.card-label{color:var(--accent);margin-bottom:.75rem;font-weight:700}.card h2{margin-top:0}.projects-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.project-card{padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s}.project-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 0 20px #7c9cff29}.project-card img{border-radius:12px;width:100%;margin-bottom:1rem;transition:transform .3s}.project-card:hover img{transform:scale(1.03)}.project-content h3{margin-top:0;margin-bottom:.75rem}.project-content p{color:var(--muted)}.project-links{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.project-links a{color:var(--accent);font-weight:700;position:relative}.project-links a:after{content:"";background:var(--accent);width:0%;height:2px;transition:width .2s;position:absolute;bottom:-2px;left:0}.project-links a:hover:after{width:100%}.features{color:var(--muted);margin-top:.75rem;padding-left:1rem;font-size:.9rem}.about-grid{grid-template-columns:.7fr 1.3fr;gap:2rem;display:grid}.about-text p{color:var(--muted);margin-top:0}.contact-card{max-width:500px;padding:1.5rem}.contact-card p{color:var(--muted);margin:.5rem 0}.contact-card a{color:var(--accent)}.tech-section{gap:1.5rem;display:grid}.tech-section .card h2{margin-top:0;margin-bottom:.75rem}.game-hero{padding-top:4.5rem}.game-intro{max-width:700px;color:var(--muted)}.featured-game.cinematic{grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:2rem;margin-top:2.5rem;display:grid}.featured-game-media,.featured-game-content{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:24px;min-height:100%;overflow:hidden}.featured-game-media{min-height:620px;position:relative}.featured-main-image{object-fit:cover;object-position:left center;width:100%;height:100%;transition:transform .45s;display:block}.featured-game-media:hover .featured-main-image{transform:scale(1.03)}.featured-image-overlay{background:linear-gradient(#06080e00 20%,#06080e1f 42%,#06080e6b 68%,#06080ec7 100%),linear-gradient(90deg,#06080e33 0%,#06080e14 35%,#06080e00 65%);align-items:flex-end;padding:2rem;display:flex;position:absolute;inset:0}.featured-image-content{max-width:440px;margin-bottom:.5rem}.featured-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin:0 0 .6rem;font-size:.75rem;font-weight:700}.featured-image-content h2{margin:0 0 .8rem;font-size:clamp(2.8rem,5vw,4.3rem);line-height:.95}.featured-overlay-text{color:#f5f7fbf0;margin:0;font-size:1rem;line-height:1.55}.featured-game-content{flex-direction:column;justify-content:space-between;padding:2rem;display:flex}.featured-side-label{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin:0 0 .45rem;font-size:.75rem;font-weight:700}.featured-side-title{margin:0 0 1rem;font-size:1.9rem;line-height:1.08}.featured-summary{color:var(--muted);max-width:580px;margin-bottom:1.4rem;font-size:.98rem;line-height:1.6}.game-feature-list{gap:1rem;margin-bottom:1.5rem;display:grid}.game-feature-list.compact{grid-template-columns:repeat(2,1fr)}.game-feature-item{border:1px solid var(--line);background:#ffffff05;border-radius:18px;align-items:flex-start;gap:.9rem;padding:1rem 1rem .95rem;transition:transform .2s,border-color .2s,background .2s;display:flex}.game-feature-item:hover{border-color:var(--accent);background:#7c9cff12;transform:translateY(-3px)}.game-feature-item i{width:20px;height:20px;color:var(--accent);flex-shrink:0;margin-top:.15rem}.game-feature-item h3,.game-feature-item h4{margin:0 0 .3rem;font-size:1rem;line-height:1.2}.game-feature-item p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.project-tags{flex-wrap:wrap;gap:.8rem;margin-top:.25rem;margin-bottom:0;padding:0;list-style:none;display:flex}.project-tags li{color:#d8e2ff;background:#7c9cff14;border:1px solid #7c9cff38;border-radius:999px;align-items:center;gap:.55rem;padding:.6rem .95rem;font-size:.96rem;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.project-tags li:hover{color:#fff;background:#7c9cff29;border-color:#7c9cff73;transform:translateY(-2px)}.project-tags li i{width:18px;height:18px;color:var(--accent)}.screenshot-section{padding-top:1rem}.screenshot-grid{grid-template-columns:1.4fr 1fr 1fr;gap:1.25rem;display:grid}.screenshot-card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:20px;min-height:260px;overflow:hidden}.screenshot-card.large{min-height:360px}.screenshot-card img{object-fit:cover;object-position:left center;width:100%;height:100%;transition:transform .35s;display:block}.screenshot-card:hover img{transform:scale(1.04)}.site-footer{border-top:1px solid var(--line);padding:1.5rem 0}.footer-content{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.95rem;display:flex}@media (width<=1000px){.featured-game.cinematic{grid-template-columns:1fr}.featured-game-media{min-height:420px}.game-feature-list.compact,.screenshot-grid{grid-template-columns:1fr}.screenshot-card,.screenshot-card.large{min-height:260px}}@media (width<=900px){.about-grid,.projects-grid{grid-template-columns:1fr}}@media (width<=700px){.menu-toggle{display:block}.nav-links{background:var(--bg-alt);border:1px solid var(--line);border-radius:16px;flex-direction:column;padding:1rem;display:none;position:absolute;top:72px;left:1rem;right:1rem}.nav-links.show{display:flex}.hero{padding:4.5rem 0 4rem}.hero-photo-wrap.large img{width:130px;height:130px}.hero-photo-wrap.large:before{width:240px;height:240px}.hero-title{font-size:clamp(2.8rem,12vw,4rem)}.hero-description-large{font-size:1rem}.section{padding:4rem 0}.featured-game-content,.featured-image-overlay{padding:1.25rem}.featured-game-media{min-height:300px}.featured-image-content h2{font-size:2.5rem}.featured-overlay-text{font-size:.95rem}.game-feature-list.compact{grid-template-columns:1fr}}.skills-market{padding:5rem 0}.job-search-form{grid-template-columns:repeat(4,minmax(150px,1fr));grid-template-areas:"field location date depth""keyword keyword keyword button";gap:16px;margin-bottom:2rem;display:grid}#fieldInput{grid-area:field}#locationInput{grid-area:location}#dateInput{grid-area:date}#depthInput{grid-area:depth}#keywordInput{grid-area:keyword;width:100%;min-width:0}.job-search-form button[type=submit]{grid-area:button}.job-search-form input,.job-search-form select{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:12px;padding:.9rem 1rem}#job-market,#job-list{margin-top:2rem}.market-card{background:var(--card);border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow);border-radius:18px;padding:24px}.market-card h2,.market-card h3,.market-card h4{margin-top:0}.market-card p{color:var(--muted)}.overview-card{padding:1.5rem}.stat-tags,.sample-job-tags{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.stat-tag,.mini-filter-tag{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff09;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .75rem;font-family:inherit;font-size:.92rem;display:inline-flex}.stat-tag:hover,.mini-filter-tag:hover,.source-legend-item:hover{border-color:var(--accent);color:var(--text);background:#7c9cff24}.stat-tag strong{min-width:1.6rem;color:var(--text);text-align:center;background:#7c9cff2e;border-radius:999px;padding:.1rem .45rem}.source-chart-layout{grid-template-columns:150px 1fr;align-items:center;gap:1.2rem;margin-top:1rem;display:grid}.source-pie{border:1px solid var(--line);width:140px;height:140px;box-shadow:var(--shadow);border-radius:50%}.source-legend{gap:.65rem;display:grid}.source-legend-item{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.25rem;font-family:inherit;font-size:.92rem;display:grid}.source-legend-item strong{color:var(--text)}.source-dot{border-radius:50%;width:.75rem;height:.75rem}.list-heading-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.active-filter-badge{border:1px solid var(--accent);color:var(--text);background:#7c9cff29;border-radius:999px;padding:.35rem .7rem;font-size:.9rem}.reset-filter-btn{border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:999px;padding:.55rem .9rem;font-family:inherit;font-weight:600}.reset-filter-btn:hover{border-color:var(--accent);background:#7c9cff29}.active-filter-tag{border-color:var(--accent)!important;color:var(--text)!important;background:#7c9cff38!important}.job-results-grid{gap:1rem;display:grid}.job-result-card a{color:var(--accent);margin-top:1rem;font-weight:700;display:inline-block}@media (width<=900px){.job-search-form{grid-template-columns:1fr;grid-template-areas:"field""location""date""depth""keyword""button"}.market-top-row{grid-template-columns:1fr}}@media (width<=700px){.source-chart-layout{grid-template-columns:1fr}.source-pie{width:120px;height:120px}}.logo img{width:32px;height:32px}.nav-links a.active:after{content:"";background:var(--accent);border-radius:999px;height:2px;margin-top:4px;display:block}button.stat-tag,button.mini-filter-tag,button.source-legend-item{font-family:inherit}.market-top-row{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.market-full-width{width:100%;margin-top:1.5rem}.market-full-width .market-card{width:100%}@media (width<=900px){.market-top-row{grid-template-columns:1fr}}.hero-actions,.hero-buttons,.hero-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.hero-tech-list,.tech-list{flex-wrap:wrap;gap:.75rem;display:flex}#job-progress{margin-bottom:1.5rem}#job-status{margin-bottom:2rem}
