*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:68px}body{overflow-x:clip;background:#000;color:#d4d4d4;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:#000;z-index:99999;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;opacity:1;visibility:visible;transition:opacity .6s ease-out,visibility .6s ease-out}.loading-overlay.loading-hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}.loading-logo{width:var(--loading-logo-width, 290px);height:auto;display:block}.loading-bar-track{width:220px;height:3px;background:#ffffff1a;border-radius:0;overflow:hidden}.loading-bar-fill{width:0%;height:100%;background:#fff;border-radius:0;transition:width .1s ease-out}#hero{position:relative;width:100%;height:100vh;overflow:hidden;background:#000}#scene-canvas{display:block;width:100%;height:100%}#scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:10;opacity:.4;cursor:pointer;transition:opacity .3s}#scroll-indicator:hover{opacity:.85}.arrow-down{width:24px;height:24px;border-right:2px solid rgba(255,255,255,.6);border-bottom:2px solid rgba(255,255,255,.6);transform:rotate(45deg);animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(8px)}}.portfolio-nav{position:sticky;top:0;z-index:1000;background:#000000eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #1a1a1a;padding:10px 32px;transition:all .3s ease}.nav-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.nav-brand{display:flex;align-items:center;text-decoration:none}.nav-logo{height:40px;width:auto;object-fit:contain;display:block}.nav-links{display:flex;align-items:center;gap:24px}.nav-link{text-decoration:none;color:#8c8c8c;font-size:13px;font-weight:500;transition:color .2s}.nav-link:hover{color:#fff}.nav-social-pills{display:flex;align-items:center;gap:8px}.pill-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:0;font-size:12px;font-weight:500;text-decoration:none;color:#a3a3a3;background:#0d0d0d;border:1px solid #242424;transition:all .2s ease}.pill-btn img,.pill-btn svg{width:13px;height:13px;object-fit:contain}.pill-btn:hover{color:#fff;background:#171717;border-color:#444}#content{position:relative;min-height:100vh;padding:60px 24px 100px;background:#000;background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px}.content-wrapper{max-width:1120px;margin:0 auto}.content-section{padding:55px 0;border-bottom:1px solid rgba(255,255,255,.06)}.content-section:last-child{border-bottom:none}.section-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#ef4444;background:#ef444414;border:1px solid rgba(239,68,68,.25);padding:3px 10px;border-radius:0;margin-bottom:12px}.section-heading{font-size:2.2rem;font-weight:700;color:#fff;letter-spacing:-.02em;margin-bottom:8px}.divider{width:44px;height:3px;background:#333;border-radius:0;margin:14px 0 24px}#about .divider,.about-divider{background:#ef4444!important;width:44px;height:3px;border-radius:0}.section-desc{font-size:1rem;color:#8c8c8c;max-width:660px;line-height:1.65;margin-bottom:32px}.about-container{max-width:820px;margin-top:24px}.about-intro-title{font-size:1.35rem;font-weight:600;color:#fff;margin-bottom:14px}.about-lead{font-size:1.05rem;line-height:1.75;color:#d4d4d4;margin-bottom:14px}.about-container p{font-size:.95rem;line-height:1.7;color:#8c8c8c;margin-bottom:24px}.about-direct-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:28px}.direct-link-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0a0a0a;border:1px solid #1f1f1f;border-radius:0;text-decoration:none;transition:all .2s ease}.direct-link-card:hover{background:#141414;border-color:#383838;transform:translateY(-2px)}.direct-link-icon{width:36px;height:36px;border-radius:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#121212;border:1px solid #242424}.direct-link-icon img,.direct-link-icon svg{width:18px;height:18px;object-fit:contain}.direct-link-info{display:flex;flex-direction:column}.direct-link-label{font-size:13.5px;font-weight:600;color:#f5f5f5}.direct-link-sub{font-size:11.5px;color:#737373;transition:color .2s}.direct-link-card.link-gh:hover{border-color:#fff}.direct-link-card.link-gh:hover .direct-link-sub{color:#fff}.direct-link-card.link-itch:hover{border-color:#fa5c5c}.direct-link-card.link-itch:hover .direct-link-sub{color:#fa5c5c}.direct-link-card.link-artstation:hover{border-color:#0284c7}.direct-link-card.link-artstation:hover .direct-link-sub{color:#38bdf8}.projects-list{display:flex;flex-direction:column;gap:36px;margin-top:32px}.project-card{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;background:#080808;border:1px solid #1a1a1a;border-radius:0;padding:20px;transition:border-color .2s,box-shadow .2s}.project-card:hover{border-color:#2b2b2b;box-shadow:0 8px 30px #000c}.project-media-col{display:flex;flex-direction:column;gap:8px}.gallery-viewport{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border:1px solid #1c1c1c;border-radius:0;overflow:hidden}.gallery-slides-wrap{width:100%;height:100%;position:relative}.gallery-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;transition:opacity .25s ease}.gallery-slide.active{opacity:1;visibility:visible}.gallery-slide img{width:100%;height:100%;object-fit:cover;border-radius:0}.gallery-slide-video{background:#000}.video-container{position:relative;width:100%;height:100%}.video-iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#000000d9;color:#fff;border:1px solid rgba(255,255,255,.18);width:32px;height:32px;border-radius:0;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;z-index:5;transition:all .15s}.gallery-arrow:hover{background:#ef4444;border-color:#ef4444;color:#fff}.gallery-arrow-prev{left:8px}.gallery-arrow-next{right:8px}.gallery-dots{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;gap:5px;z-index:5}.gallery-dot{width:14px;height:3px;border-radius:0;background:#ffffff40;border:none;cursor:pointer;padding:0;transition:all .15s}.gallery-dot.active{background:#ef4444;width:24px}.gallery-thumbs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin}.gallery-thumb{position:relative;width:60px;height:38px;flex-shrink:0;border-radius:0;overflow:hidden;border:1px solid #222222;background:#000;cursor:pointer;padding:0;opacity:.5;transition:all .15s}.gallery-thumb:hover{opacity:.9;border-color:#555}.gallery-thumb.active{opacity:1;border-color:#ef4444}.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:0}.thumb-badge{position:absolute;top:0;left:0;background:#ef4444;color:#fff;font-size:8px;font-weight:700;padding:1px 3px;letter-spacing:.04em;border-radius:0;z-index:2}.project-info-col{display:flex;flex-direction:column;justify-content:center}.project-header-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}.project-game-logo{width:56px;height:56px;object-fit:contain;background:#000;border:1px solid #262626;padding:3px;flex-shrink:0;border-radius:0}.project-header-text{display:flex;flex-direction:column;gap:4px}.project-tags{display:flex;flex-wrap:wrap;gap:5px}.p-tag{font-size:10.5px;font-weight:600;padding:2px 7px;background:#121212;border:1px solid #242424;border-radius:0;color:#a3a3a3;letter-spacing:.02em}.project-title{font-size:1.55rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em}.project-description{font-size:.92rem;color:#999;line-height:1.6;margin-bottom:20px}.project-actions{display:flex;gap:10px}.project-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:0;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .15s ease}.project-btn-primary{background:#ef4444;color:#fff;border:1px solid #ef4444}.project-btn-primary:hover{background:#dc2626;border-color:#dc2626}.art-marquee-container{position:relative;width:100%;overflow:hidden;padding:16px 0 24px;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}.art-marquee-track{display:flex;gap:20px;width:max-content;animation:marquee-scroll 32s linear infinite}.art-marquee-track:hover{animation-play-state:paused}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.art-card-large{width:420px;height:270px;flex-shrink:0;background:#080808;border:1px solid #1c1c1c;border-radius:0;overflow:hidden;transition:border-color .2s,transform .2s}.art-card-large:hover{border-color:#383838;transform:translateY(-3px)}.art-card-large img{width:100%;height:100%;object-fit:cover;display:block}.art-action-bar{display:flex;justify-content:center;margin-top:20px}.skills-columns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:24px}.skill-category-box{background:#080808;border:1px solid #1a1a1a;border-radius:0;padding:22px}.skill-cat-title{font-size:1.15rem;font-weight:600;color:#fff;margin-bottom:16px;border-bottom:1px solid #1c1c1c;padding-bottom:8px;letter-spacing:-.01em}.tools-grid{display:grid;grid-template-columns:1fr;gap:10px}.tool-badge{display:flex;align-items:center;gap:14px;padding:10px 14px;background:#0d0d0d;border:1px solid #1c1c1c;border-radius:0;transition:all .2s ease}.tool-badge:hover{background:#141414;border-color:#333;transform:translate(4px)}.tool-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#050505;border:1px solid #222222;border-radius:0;flex-shrink:0}.tool-icon svg{display:block}.tool-meta{display:flex;flex-direction:column}.tool-name{font-size:13.5px;font-weight:600;color:#fff}.tool-desc{font-size:11.5px;color:#7a7a7a}.contact-stacked-list{display:flex;flex-direction:column;gap:10px;max-width:580px;margin-top:24px}.contact-stacked-item{display:flex;align-items:center;gap:16px;padding:14px 18px;background:#080808;border:1px solid #1a1a1a;border-radius:0;text-decoration:none;transition:all .2s ease}.contact-stacked-item:hover{background:#111;border-color:#383838;transform:translate(4px)}.contact-item-icon{width:42px;height:42px;border-radius:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#121212;border:1px solid #222222;color:#fff}.contact-item-info{display:flex;flex-direction:column}.contact-item-label{font-size:13.5px;font-weight:600;color:#fff}.contact-item-value{font-size:12px;color:#888;transition:color .2s}.contact-email:hover{border-color:#ef4444}.contact-email:hover .contact-item-value{color:#ef4444}.contact-itch:hover{border-color:#fa5c5c}.contact-itch:hover .contact-item-value{color:#fa5c5c}.contact-artstation:hover{border-color:#0284c7}.contact-artstation:hover .contact-item-value{color:#38bdf8}.contact-github:hover{border-color:#fff}.contact-github:hover .contact-item-value{color:#fff}.portfolio-footer{margin-top:70px;padding-top:32px;border-top:1px solid #1a1a1a}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.footer-logo{height:38px;width:auto;object-fit:contain}.footer-left p{font-size:12px;color:#737373;margin:0}.footer-legal-text{font-size:11px!important;color:#4a4a4a!important;letter-spacing:.01em}.back-to-top-btn{display:inline-block;padding:6px 14px;background:#0f0f0f;border:1px solid #242424;border-radius:0;color:#888;text-decoration:none;font-size:12px;font-weight:500;transition:all .2s}.back-to-top-btn:hover{background:#171717;color:#fff;border-color:#444}@media(max-width:860px){.portfolio-nav{padding:10px 18px}.nav-links{display:none}.project-card{grid-template-columns:1fr;gap:20px;padding:18px}.gallery-viewport{height:220px}.cta-banner{flex-direction:column;align-items:flex-start}.cta-btn{width:100%;text-align:center}.footer-inner{flex-direction:column;text-align:center}.footer-left{flex-direction:column}}.lang-toast{position:fixed;bottom:24px;right:24px;z-index:9999;opacity:0;visibility:hidden;transform:translateY(24px) scale(.92);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),visibility .35s ease;pointer-events:none}.lang-toast.toast-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.lang-toast-inner{display:flex;align-items:center;gap:10px;background:#0e0e0ef0;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:5px 12px 5px 10px;border-radius:0;box-shadow:0 8px 24px #000c}.lang-globe-icon{font-size:14px;line-height:1;opacity:.75}.lang-toast-buttons{display:flex;align-items:center;gap:2px}.lang-toast-btn{background:transparent;border:none;color:#888;font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:0;cursor:pointer;transition:all .15s ease}.lang-toast-btn:hover{color:#fff}.lang-toast-btn.active{background:#ef4444;color:#fff}.lang-toast-divider{color:#fff3;font-size:11px}#editor-toast{position:fixed;bottom:24px;right:24px;background:#141820f2;color:#38bdf8;border:1px solid rgba(56,189,248,.4);box-shadow:0 8px 32px #0009,0 0 16px #38bdf833;padding:12px 20px;border-radius:8px;font-size:.9rem;font-weight:500;z-index:10000;opacity:0;transform:translateY(12px);transition:all .3s cubic-bezier(.16,1,.3,1);pointer-events:none}#editor-toast.toast-show{opacity:1;transform:translateY(0)}.lil-gui{--background-color: rgba(15, 17, 22, .92) !important;--text-color: #d1d5db !important;--title-background-color: #1e222b !important;--widget-color: #272b35 !important;--hover-color: #353a47 !important;--focus-color: #38bdf8 !important;--number-color: #38bdf8 !important;--string-color: #a78bfa !important;border-radius:10px!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 12px 40px #000000bf!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;font-family:inherit!important;font-size:12px!important;top:20px!important;right:20px!important}#editor-launcher-bar{position:fixed;top:20px;left:20px;z-index:9999}.launcher-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:#12161ee0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#f59e0b;border:1px solid rgba(245,158,11,.45);border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #0009,0 0 14px #f59e0b40;transition:all .25s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.launcher-btn:hover{background:#f59e0b2e;border-color:#f59e0b;color:#fff;transform:translateY(-2px);box-shadow:0 6px 28px #000000b3,0 0 22px #f59e0b73}.launcher-btn:active{transform:translateY(0)}.launcher-btn .pulse-icon{display:inline-block;animation:rocket-pulse 2s infinite ease-in-out}@keyframes rocket-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-3px) scale(1.1)}}.nav-link-scene{color:#ef4444!important;font-weight:700;display:inline-flex;align-items:center;gap:4px}.nav-link-scene:hover{color:#ff6b6b!important}.art-card-large{position:relative;cursor:zoom-in}.art-zoom-hint{position:absolute;bottom:8px;right:8px;background:#000000c7;border:1px solid rgba(255,255,255,.15);padding:3px 6px;font-size:11px;color:#fff;pointer-events:none;opacity:0;transform:scale(.9);transition:opacity .2s,transform .2s;z-index:2}.art-card-large:hover .art-zoom-hint{opacity:1;transform:scale(1)}.lightbox-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.lightbox-modal.active{opacity:1;visibility:visible;pointer-events:auto}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:zoom-out}.lightbox-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:94vw;height:92vh;max-width:1400px}.lightbox-img-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;max-height:100%}#lightbox-img{max-width:90vw;max-height:88vh;object-fit:contain;box-shadow:0 10px 40px #000000e6;border:1px solid #282828;border-radius:0;transition:transform .2s cubic-bezier(.16,1,.3,1);transform:scale(.96)}.lightbox-modal.active #lightbox-img{transform:scale(1)}.lightbox-close{position:absolute;top:8px;right:12px;width:40px;height:40px;background:#111;border:1px solid #2a2a2a;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0;transition:background .15s,border-color .15s,transform .15s;z-index:10}.lightbox-close:hover{background:#ef4444;border-color:#ef4444;transform:scale(1.05)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:54px;background:#121212d9;border:1px solid #333333;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0;transition:all .15s ease;z-index:10}.lightbox-nav:hover{background:#ef4444;border-color:#ef4444}.lightbox-prev{left:8px}.lightbox-next{right:8px}
