@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@600;700&family=Nunito:wght@400;500;600;700;800&display=swap";:root{--bg-900:#fff;--bg-800:#fafafa;--bg-700:#f5f5f5;--surface-700:#fffffff2;--surface-600:#fafafafa;--border-soft:#ff950026;--text-100:#1a1a1a;--text-200:#333;--text-300:#666;--accent-orange:#ff9500;--accent-yellow:gold;--accent-orange-hover:#e68800;--accent-yellow-hover:#ffc700;--font-heading:"Space Grotesk", "Nunito", sans-serif;--font-body:"Nunito", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#fffdfa 0%,#dc9b5a 100%);margin:0}:root{--accent-orange:#ff9500;--accent-yellow:gold;--text-primary:#1a1a1a;--text-secondary:#333;--text-muted:#666;--bg-light:#fafafad9;--bg-normal:#ffffffd9;--border-light:#ff950026;--border-normal:#ff950033;--border-hover:#ff950066;--shadow-hover:#ff950026;--shadow-light:#ff95001a;--shadow-muted:#ff950014;--card-opacity:.75;--card-bg-light:linear-gradient(135deg, rgba(255, 255, 255, var(--card-opacity)) 0%, rgba(250, 250, 250, var(--card-opacity)) 100%);--card-bg-normal:rgba(255, 255, 255, var(--card-opacity));--card-border:2px solid var(--border-normal);--card-border-hover:2px solid var(--border-hover);--card-shadow:0 8px 32px var(--shadow-hover);--card-transition:all .3s cubic-bezier(.4, 0, .2, 1);--spacing-xs:2px;--spacing-sm:4px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:16px;--spacing-2xl:18px;--spacing-3xl:20px;--spacing-4xl:24px;--spacing-5xl:28px;--spacing-6xl:32px;--spacing-7xl:34px;--spacing-8xl:40px;--spacing-9xl:56px;--spacing-10xl:60px;--pad-card-tight:var(--spacing-4xl);--pad-card:var(--spacing-5xl);--pad-card-lg:var(--spacing-6xl);--pad-section:var(--spacing-10xl) var(--spacing-3xl);--font-family-heading:"Space Grotesk", "Nunito", sans-serif;--font-family-body:"Nunito", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs:.78rem;--font-size-sm:.82rem;--font-size-md:.9rem;--font-size-base:.98rem;--font-size-lg:1.02rem;--font-size-xl:1.15rem;--font-size-2xl:14px;--font-size-3xl:16px;--font-size-4xl:18px;--font-size-5xl:20px;--font-size-6xl:22px;--font-size-7xl:24px;--font-size-hero:clamp(2rem, 10vw, 3rem);--font-size-title:clamp(2.1rem, 5vw, 3.4rem);--font-size-title-lg:clamp(2.1rem, 5.4vw, 4.2rem);--font-size-section:clamp(1.4rem, 2.6vw, 2rem);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1;--line-height-normal:1.02;--line-height-relaxed:1.6;--line-height-loose:1.7;--line-height-looser:1.75;--line-height-loosest:1.8;--letter-spacing-tight:-.03em;--letter-spacing-normal:.25px;--letter-spacing-sm:.4px;--letter-spacing-md:.5px;--letter-spacing-lg:.6px;--letter-spacing-xl:.8px;--letter-spacing-2xl:1.1px;--letter-spacing-3xl:1.15px;--icon-size:40px;--icon-size-sm:14px;--icon-size-md:16px;--icon-size-lg:22px;--icon-size-xl:32px}.card{border:var(--card-border);transition:var(--card-transition);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-sizing:border-box;border-radius:0}.card-hover{border-color:var(--border-hover);box-shadow:var(--card-shadow);transform:translateY(-4px)}.card-light{background:var(--card-bg-light)}.card-normal{background:var(--card-bg-normal)}@keyframes techTagFlash{0%{color:#8b5a00;background-position:-100% 0,0 0;border-color:#ff950066}50%{color:#4a2c00;background-position:50% 0,0 0;border-color:#8b5a00cc}to{color:#8b5a00;background-position:100% 0,0 0;border-color:#ff950099}}.contact-card-link{background:var(--card-bg-light);border:var(--card-border);padding:var(--spacing-5xl) var(--spacing-xl);transition:var(--card-transition);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;color:inherit;box-sizing:border-box;border-radius:0;flex-direction:column;justify-content:center;align-items:center;min-width:160px;min-height:140px;margin:0;text-decoration:none;display:flex}.contact-card-link:hover,.contact-card-link:focus-visible{border-color:var(--border-hover);outline:2px solid var(--accent-orange);outline-offset:2px;background:linear-gradient(135deg,#fffffffa 0%,#fafafaf2 100%);transform:translateY(-4px);box-shadow:0 8px 32px #ff950026}.contact-card-link svg{color:var(--accent-orange);font-size:var(--icon-size);margin-bottom:var(--spacing-lg)}.contact-card-link .contact-title-row{align-items:center;gap:var(--spacing-md);font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--accent-orange);margin-bottom:var(--spacing-md);display:flex}.contact-title-icon{font-size:var(--icon-size-md)!important}.contact-card-link .contact-description{color:var(--text-secondary);font-size:var(--font-size-2xl);line-height:var(--line-height-relaxed);margin:0}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth}.container{background:radial-gradient(1200px 700px at -8% -6%, #ffc86414, transparent 64%), radial-gradient(900px 580px at 108% 8%, #ffb4320f, transparent 62%), linear-gradient(160deg, var(--bg-900) 0%, var(--bg-800) 48%, #f5e6d2 100%);min-height:100vh;color:var(--text-100);isolation:isolate;background-attachment:fixed;flex-direction:column;padding:0;font-family:Nunito,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;display:flex;position:relative;overflow:hidden}.container:before{content:"";opacity:.15;pointer-events:none;z-index:-1;background-image:linear-gradient(#c8640008 1px,#0000 1px),linear-gradient(90deg,#c8640005 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0}.header{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-10xl) var(--spacing-3xl) var(--spacing-8xl);background:#ffffff59;border-bottom:1px solid #ff95001a;flex-direction:column;justify-content:center;align-items:center;display:flex}.title{text-align:center;color:var(--text-primary);font-family:var(--font-family-heading);font-size:var(--font-size-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-lg);margin:0!important}.subtitle-container{text-align:center;margin-top:var(--spacing-2xl);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-3xl);color:var(--accent-orange);font-weight:var(--font-weight-semibold);text-transform:uppercase}.header-nav{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:24px;display:flex}.header-nav-link{color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);background:0 0;border:0;padding:0;text-decoration:none;transition:color .2s}.header-nav-link:hover,.header-nav-link-active{color:var(--accent-orange);text-underline-offset:3px;text-decoration:underline}.header-nav-link:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.landing-hero,.landing-highlights,.landing-section{z-index:1;position:relative}.landing-hero{padding:var(--spacing-9xl) var(--spacing-3xl) var(--spacing-5xl)}.landing-hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr);align-items:stretch;gap:24px;display:grid}.landing-hero-copy,.landing-focus-card,.landing-highlight-card,.landing-feature-card,.landing-game-card{background:var(--card-bg-normal);border:var(--card-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:0;transition:transform .24s,box-shadow .24s,border-color .24s;box-shadow:0 3px 14px #00000014}.landing-hero-copy:hover,.landing-focus-card:hover,.landing-highlight-card:hover,.landing-feature-card:hover,.landing-game-card:hover{border-color:#ff950066;transform:translateY(-2px);box-shadow:0 8px 24px #ff95001f}.landing-hero-copy{padding:34px}.landing-eyebrow,.landing-section-kicker,.landing-focus-label,.landing-feature-category{margin:0 0 var(--spacing-lg);color:var(--accent-orange);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-2xl);text-transform:uppercase;font-weight:var(--font-weight-semibold)}.landing-title{max-width:12ch;font-family:var(--font-family-heading);font-size:var(--font-size-title-lg);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight);color:var(--text-primary);margin:0}.landing-title-char{opacity:0;animation:.5s ease-out forwards fadeInFromTransparent;display:inline}.landing-summary{max-width:60ch;margin:var(--spacing-3xl) 0 0;color:var(--text-secondary);font-size:var(--font-size-lg)}.landing-actions{gap:var(--spacing-lg);margin-top:var(--spacing-7xl);flex-wrap:wrap;align-items:center;display:flex}.landing-button,.landing-inline-link,.landing-section-link{text-decoration:none}.landing-card-link{color:inherit;text-decoration:none;display:block}.landing-card-link:focus-visible{outline:2px solid var(--accent-orange);outline-offset:4px;border-radius:0}.landing-button{min-height:46px;padding:0 var(--spacing-xl);font-weight:var(--font-weight-semibold);border-radius:0;justify-content:center;align-items:center;transition:background-color .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.landing-button:hover,.landing-inline-link:hover,.landing-section-link:hover{transform:translateY(-1px)}.landing-button-primary{background:linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-yellow) 100%);color:var(--text-primary);font-weight:var(--font-weight-bold);border:1px solid #0000}.landing-button-primary:hover{background:linear-gradient(135deg,#e68800 0%,#ffc700 100%);border-color:#0000;box-shadow:0 8px 24px #ff95004d}.landing-button-secondary{color:var(--text-primary);border:2px solid var(--accent-orange);background:#ff95001a}.landing-button-secondary:hover{border-color:var(--accent-yellow);background:#ff950026;box-shadow:0 4px 16px #ff950033}.landing-inline-link,.landing-section-link{color:var(--accent-orange);font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--accent-orange)}.landing-focus-card{padding:var(--spacing-5xl)}.landing-focus-card h3,.landing-highlight-card h3,.landing-feature-card h3,.landing-game-card h3{color:var(--text-primary);margin:0}.landing-focus-list{margin:var(--spacing-2xl) 0 0;padding-left:var(--spacing-xl);color:var(--text-secondary)}.landing-focus-list li+li{margin-top:10px}.landing-highlights{padding:var(--spacing-md) var(--spacing-3xl) var(--spacing-3xl)}.landing-highlights-grid,.landing-feature-grid{gap:var(--spacing-2xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.landing-highlight-card,.landing-feature-card,.landing-game-card{padding:var(--spacing-4xl)}.landing-highlight-value{margin:0 0 var(--spacing-lg);font-family:var(--font-family-heading);font-size:var(--font-size-7xl);line-height:var(--line-height-tight);color:var(--accent-orange)}.landing-highlight-card p,.landing-feature-card p,.landing-game-card p{color:var(--text-secondary)}.landing-section{padding:var(--spacing-5xl) var(--spacing-3xl) var(--spacing-2xl)}.landing-section-alt{padding-bottom:var(--spacing-8xl)}.landing-section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.landing-feature-topline,.landing-game-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.landing-feature-icon{color:var(--accent-orange);display:inline-flex}.landing-chip-row{flex-wrap:wrap;gap:0;margin-top:12px;display:flex}.landing-feature-read-more{color:var(--accent-orange);border:2px solid var(--accent-orange);font-weight:var(--font-weight-semibold);font-size:var(--font-size-2xl);cursor:pointer;margin-top:var(--spacing-lg);background:0 0;border-radius:4px;align-items:center;gap:8px;margin-bottom:0;padding:10px 16px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.landing-feature-read-more:hover{background:var(--accent-orange);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ff95004d}.landing-feature-read-more:active{transform:translateY(0);box-shadow:0 2px 6px #ff950033}.landing-game-list{gap:var(--spacing-xl);display:grid}.landing-game-description{margin:var(--spacing-lg) 0 var(--spacing-md);font-size:var(--font-size-lg)}.landing-game-details{margin:0;line-height:1.7}.skills-section{gap:var(--spacing-3xl);padding:var(--spacing-8xl) var(--spacing-3xl);background:linear-gradient(#ffc8640d 0%,#ffb43208 100%);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.skill-card{background:var(--card-bg-light);border:var(--card-border);padding:var(--spacing-4xl);transition:var(--card-transition);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;border-radius:0}.skill-card:hover{box-shadow:var(--card-shadow);background:linear-gradient(135deg,#fffffffa 0%,#fafafaf2 100%);border-color:#ff950080;transform:translateY(-4px)}.skill-card svg{color:var(--accent-orange);font-size:var(--icon-size);margin-bottom:var(--spacing-lg)}.skill-card h3{margin:0 0 var(--spacing-lg) 0;color:var(--accent-orange);font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-md)}.skill-card p{color:var(--text-secondary);font-size:var(--font-size-2xl);line-height:var(--line-height-relaxed);margin:0}.about-section{padding:var(--spacing-10xl) var(--spacing-3xl);content-visibility:auto;contain-intrinsic-size:800px;width:100%;max-width:1200px;margin:0 auto}.about-card{background:var(--card-bg-normal);border:var(--card-border);padding:var(--spacing-6xl);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:var(--card-transition);border-radius:0}.about-card:hover{border-color:#ff95004d;box-shadow:0 8px 32px #ff95001a}.about-card p{color:var(--text-secondary);font-size:var(--font-size-3xl);line-height:var(--line-height-loosest);margin:0 0 var(--spacing-xl) 0}.about-card p:last-child{margin-bottom:0}.work-section-subtitle{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:var(--spacing-8xl) 0 var(--spacing-xl) 0}.work-history-grid{gap:var(--spacing-3xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.work-experience-card{padding:var(--spacing-4xl)}.company-name{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.company-current-badge{background:var(--accent-orange);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--spacing-xs) var(--spacing-md);margin-left:var(--spacing-md);vertical-align:middle;letter-spacing:.04em;border-radius:0;display:inline-block}.work-date-range{font-size:var(--font-size-xs);color:var(--text-muted);margin:var(--spacing-xs) 0 var(--spacing-md) 0;font-weight:var(--font-weight-medium)}.work-highlights{padding-left:var(--spacing-xl);color:var(--text-secondary);font-size:var(--font-size-4xl);line-height:var(--line-height-loose);margin:0}.work-highlights li{margin-bottom:var(--spacing-sm)}.projects-section{padding:var(--spacing-10xl) var(--spacing-3xl);content-visibility:auto;contain-intrinsic-size:900px;width:100%;max-width:1200px;margin:0 auto}.projects-grid{gap:var(--spacing-4xl);margin-bottom:var(--spacing-8xl);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.project-card{background:var(--card-bg-normal);border:var(--card-border);padding:var(--spacing-5xl);transition:var(--card-transition);z-index:1;border-radius:0;flex-direction:column;display:flex;position:relative}.project-card:hover{z-index:90;border-color:#ff950066;transform:translateY(-6px);box-shadow:0 12px 48px #ff950026}.project-card h2{color:var(--text-primary);font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-lg) 0}.project-title-row{align-items:center;gap:10px;display:flex}.project-title-icon{color:var(--accent-orange);font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg);flex-shrink:0}.project-external-link{align-items:center;gap:var(--spacing-sm);text-underline-offset:3px;display:inline-flex;color:var(--accent-orange)!important;text-decoration:underline!important}.project-external-link:hover{color:var(--accent-yellow)!important}.project-external-link-icon{vertical-align:middle;font-size:var(--icon-size-sm)!important}.project-description{color:var(--text-secondary);font-size:var(--font-size-2xl);line-height:var(--line-height-loose);flex-grow:1;margin:0}.project-card-anchor-highlight{animation:5.6s ease-out gameCardAnchorHighlight}.project-image-wrapper{width:112px;margin-bottom:var(--spacing-lg);z-index:1;position:relative}.project-image-wrapper:hover{z-index:100}.project-image-row{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.project-image{object-fit:cover;border:1px solid #ff950033;border-radius:0;width:112px;height:70px;transition:transform .2s,border-color .2s,box-shadow .2s;display:block}.tech-tag{color:#8b5a00;padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-xs);margin-right:var(--spacing-md);margin-top:var(--spacing-lg);font-weight:var(--font-weight-semibold);cursor:default;background:linear-gradient(135deg,#ff950026 0%,#ffd7001f 100%);border:1px solid #ff950066;border-radius:0;display:inline-block}.tech-tag:hover{background:linear-gradient(90deg,#fff0 0%,#fffc 50%,#fff0 100%) -100% 0/200% 100%,linear-gradient(135deg,#ff950026 0%,#ffd7001f 100%) 0 0/100% 100%;border-color:#ff950099;animation:.8s ease-in-out forwards techTagFlash;box-shadow:0 2px 8px #ff950026}.games-section{padding:var(--spacing-10xl) var(--spacing-3xl);content-visibility:auto;contain-intrinsic-size:1000px;width:100%;max-width:1200px;margin:0 auto}.games-grid{gap:var(--spacing-4xl);grid-template-columns:1fr;display:grid}.game-filter-accordion-toggle{background:var(--card-bg-normal);border:var(--card-border);width:100%;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);cursor:pointer;margin-bottom:var(--spacing-sm);border-radius:0;justify-content:space-between;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex}.game-filter-accordion-toggle:hover{border-color:#ff950073;box-shadow:0 2px 8px #ff950014}.game-filter-accordion-active{color:var(--accent-orange);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-md);margin-left:var(--spacing-md);font-weight:var(--font-weight-semibold);background:#ff95001f;border:1px solid #ff95004d;border-radius:0;display:inline-block}.game-filter-accordion-icon{color:var(--accent-orange);flex-shrink:0;transition:transform .2s}.game-filter-accordion-icon.open{transform:rotate(180deg)}.game-filter-group-title{color:var(--accent-orange);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-xl);text-transform:uppercase;font-weight:var(--font-weight-semibold)}.game-filter-chip{color:var(--text-secondary);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-xs);text-transform:lowercase;cursor:pointer;font-weight:var(--font-weight-medium);background:#ff950014;border:2px solid #ff95004d;border-radius:0;transition:all .2s}.game-filter-chip:hover{color:var(--text-primary);background:#ff950026;border-color:#ff950099}.game-filter-chip.active{color:var(--text-primary);background:linear-gradient(135deg,#ff950033 0%,#ffd70026 100%);border-color:#ff9500cc;font-weight:600}.game-card{background:var(--card-bg-normal);border:var(--card-border);padding:var(--spacing-5xl);transition:var(--card-transition);border-radius:0}.game-card-anchor-highlight{animation:5.6s ease-out gameCardAnchorHighlight}@keyframes fadeInFromTransparent{0%{opacity:0}to{opacity:1}}@keyframes fadeInOnScroll{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-scroll-hidden{opacity:0}.fade-in-on-scroll{animation:.6s ease-out forwards fadeInOnScroll}@keyframes gameCardAnchorHighlight{0%{border-color:#ffc864f2;box-shadow:0 0 0 2px #ff950059,0 20px 54px #ff950047}88%{border-color:#ffdc64b3;box-shadow:0 0 0 1px #ff950033,0 10px 34px #ff95002e}to{box-shadow:none;border-color:#ff950026}}.game-card:hover{border-color:#ff950066;transform:translateY(-6px);box-shadow:0 12px 48px #ff950026}.game-details{color:var(--text-secondary);font-size:var(--font-size-xs);margin:0 0 var(--spacing-lg) 0;line-height:1.5}.game-gif-badge{right:var(--spacing-sm);bottom:var(--spacing-sm);color:var(--accent-orange);font-size:var(--font-size-xs);padding:3px var(--spacing-sm);letter-spacing:.4px;line-height:1;font-weight:var(--font-weight-semibold);background:#fffffff2;border:1px solid #ff95004d;border-radius:0;position:absolute}.game-media-info{color:var(--text-secondary);font-size:var(--font-size-xs);letter-spacing:.5px;margin:var(--spacing-md) 0 0 0;font-weight:var(--font-weight-medium)}.media-thumb-button{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.media-thumb-button:focus-visible,.game-filter-chip:focus-visible,.gallery-modal-close:focus-visible,.gallery-modal-nav:focus-visible,.project-card a:focus-visible,.game-card h4 a:focus-visible,.game-blog-link a:focus-visible,.contact-card a:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px;border-radius:0}.media-thumb-button:hover .project-image,.media-thumb-button:hover .game-image-thumb{border-color:#ff950080;transform:translateY(-2px);box-shadow:0 8px 18px #ff950026}.game-image-thumb{object-fit:cover;background:#f5f5f5bf;border:1px solid #ff950033;border-radius:0;width:96px;height:60px;transition:transform .2s,border-color .2s,box-shadow .2s;display:block}.game-empty-thumb{background:linear-gradient(135deg,#fafafacc 0%,#f5f5f5e6 100%)}.gallery-modal-backdrop{z-index:2147483647;padding:var(--spacing-xl);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gallery-modal-panel{border:var(--card-border);width:min(96vw,1100px);max-height:92vh;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md);background:#fafafafa;border-radius:0;position:relative}.gallery-modal-image{object-fit:contain;background:#f5f5f580;border:1px solid #ff950033;border-radius:0;width:100%;max-height:78vh}.gallery-modal-close{right:var(--spacing-md);top:var(--spacing-md);color:var(--text-primary);cursor:pointer;background:#ffffffe6;border:1px solid #ff95004d;border-radius:0;width:34px;height:34px;line-height:1;position:absolute}.gallery-modal-nav{color:var(--text-primary);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;background:#ffffffe6;border:1px solid #ff95004d;border-radius:0;position:absolute;top:50%;transform:translateY(-50%)}.gallery-modal-prev{left:var(--spacing-lg)}.gallery-modal-next{right:var(--spacing-lg)}.gallery-modal-meta{margin-top:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-xs);justify-content:space-between;align-items:center;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-card h4{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-6xl);font-weight:var(--font-weight-semibold);color:var(--accent-orange)}.game-card h2{color:var(--text-primary);font-size:var(--font-size-6xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-md) 0}.game-card-title-row{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);display:flex}.game-card-title-row h2{margin:0}.game-media-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid #ff95001f}.game-date-chip{color:var(--accent-orange);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);white-space:nowrap;font-weight:var(--font-weight-medium);background:#ff95001a;border:1px solid #ff95004d;border-radius:0;display:inline-block}.game-card h4 a{color:var(--accent-orange);border-bottom:2px solid #0000;text-decoration:none;transition:color .2s,border-bottom-color .2s}.game-card h4 a:hover{color:var(--accent-yellow);border-bottom-color:var(--accent-orange)}.game-description{color:var(--text-secondary);font-size:var(--font-size-3xl);line-height:var(--line-height-loose);margin:0 0 var(--spacing-md) 0}.game-details{color:var(--text-secondary);font-size:var(--font-size-2xl);line-height:var(--line-height-looser);margin:0}.game-blog-link{margin-top:var(--spacing-md)}.game-blog-link a{color:var(--accent-orange);text-underline-offset:3px;font-weight:var(--font-weight-semibold);text-decoration:underline}.game-blog-link a:hover{color:var(--accent-yellow)}.contact-section{padding:var(--spacing-10xl) var(--spacing-3xl)}.contact-grid{gap:var(--spacing-4xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:1200px;margin:0 auto;display:grid}.contact-card{text-align:center;padding:var(--spacing-6xl) var(--spacing-4xl);background:var(--card-bg-light);border:var(--card-border);transition:var(--card-transition);border-radius:0}.contact-card:hover{border-color:#ff950066;transform:translateY(-4px);box-shadow:0 8px 32px #ff95001a}.contact-card svg{color:var(--accent-orange);font-size:var(--icon-size-xl);margin-bottom:var(--spacing-xl)}.contact-card a{color:var(--accent-orange);font-weight:var(--font-weight-semibold);font-size:var(--font-size-4xl);text-decoration:none;transition:color .2s;display:block}.contact-card a:hover{color:var(--accent-yellow)}.contact-description{color:var(--text-secondary);font-size:var(--font-size-xs);margin-top:var(--spacing-md)}.site-footer{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-xl) var(--spacing-3xl) var(--spacing-5xl);text-align:center;z-index:1;background:linear-gradient(#fafafa6b 0%,#ffffff8c 100%);border-top:1px solid #ff95001a;margin-top:auto;position:relative}.footer-line{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);margin:0}.footer-muted{margin-top:var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-xs)}.footer-nav{justify-content:center;gap:var(--spacing-lg) var(--spacing-3xl);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.footer-nav-link{color:var(--text-secondary);font-size:var(--font-size-xs);opacity:.8;text-decoration:none;transition:opacity .2s}.footer-nav-link:hover{opacity:1;color:var(--accent-orange);text-decoration:underline}.footer-social{justify-content:center;gap:var(--spacing-md) var(--spacing-3xl);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.footer-social-link{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-xs);text-decoration:none;transition:color .2s;display:inline-flex}.footer-social-link:hover{color:var(--accent-orange);text-decoration:underline}.section-title{font-family:var(--font-family-heading);font-size:var(--font-size-section);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2xl);letter-spacing:var(--letter-spacing-md);text-transform:none;padding-bottom:var(--spacing-lg);position:relative;color:var(--text-primary)!important}.section-title:after{background:linear-gradient(90deg, var(--accent-orange) 0%, var(--accent-yellow) 100%);width:74px;height:3px}.section-lead{color:var(--text-secondary);max-width:700px;margin:0;font-size:.98rem}.skills-section,.about-section,.projects-section,.games-section,.contact-section{z-index:1;position:relative}.skills-section{background:linear-gradient(#ffc8640d 0%,#ffb43205 100%);padding:52px 20px}.skills-header{margin-bottom:20px}.skills-grid{gap:var(--spacing-3xl);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.skill-card,.about-card,.work-experience-card,.project-card,.game-card,.contact-card{background:rgba(255, 255, 255, var(--card-opacity));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid #ff950033;border-radius:0;box-shadow:0 3px 14px #00000014}.skill-card,.project-card,.game-card,.contact-card,.about-card,.work-experience-card{transition:transform .24s,box-shadow .24s,border-color .24s}.skill-card:hover,.project-card:hover,.game-card:hover,.contact-card:hover,.about-card:hover,.work-experience-card:hover{border-color:#ff950066;transform:translateY(-2px);box-shadow:0 8px 24px #ff95001a}.skill-card h3,.project-card h4,.game-card h4,.contact-card a{color:var(--text-primary)}.skill-card p,.about-card p,.project-description,.game-details,.contact-description{color:var(--text-secondary)}.skill-card svg,.project-title-icon,.contact-card svg{color:var(--accent-orange)}.project-card a,.game-card h4 a,.game-blog-link a,.contact-card a{color:var(--accent-orange);border-bottom-color:#0000}.project-card a:hover,.game-card h4 a:hover,.game-blog-link a:hover,.contact-card a:hover{color:var(--accent-yellow);border-bottom-color:var(--accent-orange)}.tech-tag,.game-date-chip,.game-filter-chip{border-color:#ff95004d}.tech-tag{color:#8b5a00;font-weight:var(--font-weight-semibold);background:#ff950026}.game-filter-chip{color:var(--text-secondary);background:#ff950014}.game-filter-chip.active{color:var(--text-primary);background:linear-gradient(135deg,#ff950033 0%,#ffd70026 100%);border-color:#ff950099}.gallery-modal-panel{background:#fafafafa}.site-footer{background:linear-gradient(#fafafa6b 0%,#ffffff8c 100%)}.footer-line{color:var(--text-secondary)}.footer-muted{color:var(--text-muted)}@media (width<=768px){.landing-hero,.skills-section,.header{padding:var(--spacing-9xl) var(--spacing-xl) var(--spacing-8xl)}.landing-highlights,.landing-section,.landing-section-alt{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.landing-hero-grid,.landing-highlights-grid,.landing-feature-grid{grid-template-columns:1fr}.landing-hero-copy,.landing-focus-card,.landing-highlight-card,.landing-feature-card,.landing-game-card{padding:var(--spacing-2xl)}.landing-title{max-width:none;font-size:clamp(2rem,10vw,3rem)}.landing-summary{font-size:.96rem}.landing-section-heading{flex-direction:column;align-items:flex-start}.header-nav{margin-top:var(--spacing-xl);gap:var(--spacing-md)}.header-nav-link{padding:var(--spacing-md) var(--spacing-lg);font-size:.82rem}.skills-section{padding-top:var(--spacing-9xl);padding-bottom:var(--spacing-8xl)}.skills-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.section-lead{font-size:.92rem}.section-title{font-size:var(--font-size-6xl);margin-bottom:var(--spacing-4xl)}.projects-grid,.contact-grid{grid-template-columns:1fr}.projects-section,.games-section,.contact-section{padding:var(--spacing-9xl) var(--spacing-xl)}.site-footer{padding:var(--spacing-3xl) var(--spacing-xl) var(--spacing-4xl)}.game-image-wrapper{width:84px}.game-image-thumb{width:84px;height:52px}.game-media-footer{padding-top:var(--spacing-md)}.project-image-wrapper{width:96px}.project-image{width:96px;height:60px}.gallery-modal-backdrop{min-height:100dvh;padding:0}.gallery-modal-panel{box-sizing:border-box;width:100vw;height:100dvh;max-height:100dvh;padding:calc(56px + env(safe-area-inset-top)) var(--spacing-md) calc(84px + env(safe-area-inset-bottom));gap:var(--spacing-md);border:0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.gallery-modal-image{max-height:calc(100dvh - 190px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:0;flex:0 auto;width:100%;height:auto}.gallery-modal-close{right:calc(var(--spacing-md) + env(safe-area-inset-right));top:calc(var(--spacing-md) + env(safe-area-inset-top));width:38px;height:38px}.gallery-modal-nav{top:auto;bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom));padding:var(--spacing-md) var(--spacing-lg);z-index:2;transform:none}.gallery-modal-prev{left:calc(var(--spacing-md) + env(safe-area-inset-left))}.gallery-modal-next{right:calc(var(--spacing-md) + env(safe-area-inset-right))}.gallery-modal-meta{font-size:var(--font-size-xs);padding:0 var(--spacing-sm);min-height:20px;margin-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
