:root{--bg-core:#0d1721;--bg-surface:#14212c;--bg-subtle:#1c2b38;--border-light:#d2ebf81a;--border-bright:#dcf2fc3b;--text-main:#f4f9fc;--text-muted:#9aabb8;--text-dim:#617282;--accent-amber:#ff765e;--accent-amber-glow:#ff765e24;--accent-phosphor:#a8ff4d;--accent-cyan:#39d6ff;--accent-steel:#a3b8c8;--font-display:"Syne", sans-serif;--font-body:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--container-max:1360px}*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg-core);color:var(--text-main);font-family:var(--font-body);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background-color:var(--bg-core);min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:99;opacity:.36;background-image:radial-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(#0d17210a 0%,#0d172185 100%);background-size:32px 32px,100% 100%;position:fixed;inset:0}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}.skip-link{z-index:1000;background:var(--text-main);color:var(--bg-core);font:600 .8rem var(--font-mono);padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.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}::selection{background:var(--accent-amber);color:#000}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative}.experience-shell{--active-accent:var(--accent-cyan);background:#071019;min-height:100vh}.experience-shell[data-active-stage=games]{--active-accent:var(--accent-phosphor)}.experience-shell[data-active-stage=apps],.experience-shell[data-active-stage=contact]{--active-accent:var(--accent-amber)}.experience-shell[data-active-stage=work]{--active-accent:#eef6fb}.scene-layer{z-index:0;background:#0b1721;position:fixed;inset:0;overflow:hidden}.experience-canvas{position:absolute;inset:0}.experience-canvas canvas{display:block}.scene-vignette{pointer-events:none;background:linear-gradient(90deg,#050c12e0 0%,#050c1247 36%,#050c121f 62%,#050c12d1 100%),linear-gradient(#050c1273,#0000 28% 72%,#050c12bf);position:absolute;inset:0}.scene-grid{opacity:.13;pointer-events:none;background-image:linear-gradient(#ffffff29 1px,#0000 1px),linear-gradient(90deg,#ffffff29 1px,#0000 1px);background-size:8vw 8vw;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 20% 80%,#0000);mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.experience-nav{z-index:120;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050c12ad;border-bottom:1px solid #dcf2fc24;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(1.25rem,3vw,3.25rem);display:flex;position:fixed;inset:0 0 auto}.experience-brand{color:var(--text-main);text-align:left;gap:2px;display:grid}.experience-brand strong{font:800 1.25rem/1 var(--font-display);letter-spacing:-.04em}.experience-brand span{font:500 .55rem/1 var(--font-mono);color:var(--text-muted);letter-spacing:.16em}.experience-nav nav{align-items:stretch;height:100%;display:flex}.experience-nav nav button{color:var(--text-muted);font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;padding:0 1rem;transition:color .25s;position:relative}.experience-nav nav button span{color:var(--text-dim);margin-right:.45rem}.experience-nav nav button:after{content:"";background:var(--active-accent);height:2px;transition:transform .3s;position:absolute;bottom:0;left:1rem;right:1rem;transform:scaleX(0)}.experience-nav nav button:hover,.experience-nav nav button.active{color:#fff}.experience-nav nav button.active:after{transform:scaleX(1)}.menu-toggle{color:#fff;font:600 .7rem var(--font-mono);letter-spacing:.12em;display:none}.journey-rail{z-index:110;justify-items:end;gap:.55rem;display:grid;position:fixed;top:50%;right:clamp(1rem,2.4vw,2.5rem);transform:translateY(-50%)}.rail-label{writing-mode:vertical-rl;font:500 .56rem var(--font-mono);letter-spacing:.2em;color:var(--text-dim);margin:0 8px .6rem 0}.journey-rail button{height:26px;color:var(--text-dim);font:.56rem var(--font-mono);align-items:center;gap:.6rem;display:flex}.journey-rail button i{background:currentColor;width:18px;height:1px;transition:width .3s,color .3s;display:block}.journey-rail button.active{color:var(--active-accent)}.journey-rail button.active i{width:38px;box-shadow:0 0 12px var(--active-accent)}.experience-scroll{z-index:10;position:relative}.experience-section{pointer-events:none;align-items:center;min-height:100svh;padding:7rem clamp(1.25rem,7vw,7.5rem) 5rem;display:flex;position:relative}.section-panel,.work-panel{pointer-events:auto}.experience-section.align-right{justify-content:flex-end}.section-panel{width:min(570px,46vw);position:relative}.hero-panel{width:min(750px,59vw)}.eyebrow{color:var(--active-accent);font:600 clamp(.62rem, .8vw, .75rem)/1.4 var(--font-mono);letter-spacing:.16em;margin-bottom:1.25rem}.experience-title{font:800 clamp(4.3rem, 10.8vw, 10.4rem)/.75 var(--font-display);letter-spacing:-.075em;text-transform:uppercase}.title-mask{padding:.08em .08em .12em 0;display:block;overflow:hidden}.display-line{display:block}.accent-game{color:var(--accent-phosphor)}.accent-app{color:var(--accent-amber)}.section-title-xl{color:#f5f9fc;font:700 clamp(3rem, 6vw, 6.4rem)/.91 var(--font-display);letter-spacing:-.06em;text-wrap:balance}.section-copy{color:#b5c3cd;max-width:600px;margin-top:1.5rem;font-size:clamp(.95rem,1.3vw,1.18rem);line-height:1.62}.journey-cta{color:#fff;font:600 .7rem var(--font-mono);letter-spacing:.12em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0710196b;border:1px solid #ffffff47;margin-top:2rem;padding:1rem 1.2rem}.journey-cta span{color:var(--active-accent);margin-left:1.5rem}.capability-list{flex-wrap:wrap;gap:.5rem;margin-top:1.65rem;display:flex}.capability-list span{color:#dce8ee;font:.62rem var(--font-mono);letter-spacing:.1em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0710198a;border:1px solid #ffffff30;padding:.65rem .75rem}.work-section{align-items:center}.work-panel{width:100%}.work-heading{max-width:660px;margin-bottom:2rem}.project-deck{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.project-tile{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#071019b8;border:1px solid #ffffff2e;flex-direction:column;align-items:flex-start;min-height:330px;padding:1.35rem;display:flex;position:relative;overflow:hidden}.project-tile>p{color:var(--active-accent);font:600 .62rem var(--font-mono);letter-spacing:.12em}.project-tile h3{font:650 clamp(1.5rem, 2.4vw, 2.5rem)/1 var(--font-display);letter-spacing:-.04em;margin-top:auto}.project-tile>span{max-width:28ch;color:var(--text-muted);margin-top:.75rem;font-size:.82rem;line-height:1.5}.project-tile small{color:#d9e7ee;font:.55rem var(--font-mono);letter-spacing:.08em;margin-top:1rem}.project-orbit{border:1px solid #39d6ff59;border-radius:50%;place-items:center;width:175px;height:175px;display:grid;position:absolute;top:-28px;right:-28px}.project-orbit:before,.project-orbit:after{content:"";border:1px solid #ffffff24;border-radius:50%;position:absolute;inset:18px}.project-orbit:after{background:#39d6ff1f;inset:52px}.project-orbit span{font:700 1rem var(--font-mono)}.orbit-2{border-color:#a8ff4d73;transform:rotate(25deg)}.orbit-3{border-color:#ff765e73;transform:rotate(-18deg)}.compact-contact{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.6rem;display:grid}.compact-contact label{gap:.4rem;display:grid}.compact-contact label.full{grid-column:1/-1}.compact-contact label span{color:var(--text-muted);font:.58rem var(--font-mono);letter-spacing:.12em}.compact-contact input,.compact-contact textarea{color:#fff;width:100%;font:.86rem var(--font-body);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050c12ad;border:1px solid #fff3;border-radius:0;outline:none;padding:.9rem}.compact-contact input:focus,.compact-contact textarea:focus{border-color:var(--active-accent)}.compact-contact textarea{resize:vertical;min-height:92px}.compact-contact>button{color:#081016;background:var(--active-accent);font:700 .68rem var(--font-mono);letter-spacing:.1em;grid-column:1/-1;justify-content:space-between;padding:1rem;display:flex}.message-sent{border:1px solid var(--active-accent);background:#050c12b8;gap:.7rem;margin-top:1.5rem;padding:1.25rem;display:grid}.message-sent strong{font:700 .8rem var(--font-mono);color:var(--active-accent)}.message-sent span{color:var(--text-muted);font-size:.85rem}.message-sent button{color:#fff;font:.65rem var(--font-mono);justify-self:start;text-decoration:underline}.experience-status{z-index:110;height:34px;color:var(--text-dim);font:.55rem var(--font-mono);letter-spacing:.11em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050c12b8;border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:0 clamp(1.25rem,3vw,3.25rem);display:flex;position:fixed;inset:auto 0 0}.status-live{color:#dbe8ee}.status-live i{background:var(--active-accent);width:5px;height:5px;box-shadow:0 0 8px var(--active-accent);border-radius:50%;margin-right:.5rem;display:inline-block}@media (width<=900px){.experience-nav nav{opacity:0;background:#050c12f5;border-bottom:1px solid #ffffff26;height:auto;padding:1rem;transition:transform .35s,opacity .35s;display:grid;position:fixed;inset:78px 0 auto;transform:translateY(-130%)}.experience-nav nav.is-open{opacity:1;transform:translateY(0)}.experience-nav nav button{text-align:left;padding:.9rem}.menu-toggle{align-items:center;gap:.6rem;display:flex}.menu-toggle i{background:var(--active-accent);width:18px;height:1px}.journey-rail{right:.8rem}.journey-rail button span,.rail-label{display:none}.journey-rail button.active i{width:26px}.section-panel,.hero-panel{width:min(660px,83vw)}.experience-section.align-right{justify-content:flex-start}.project-deck{grid-template-columns:1fr}.project-tile{min-height:180px}.work-section{min-height:160svh}}@media (width<=600px){.experience-nav{height:66px}.experience-nav nav{inset-block-start:66px}.experience-section{align-items:flex-end;padding:6rem 1.25rem 4.5rem}.experience-title{font-size:clamp(4rem,24vw,7rem);line-height:.76}.section-title-xl{font-size:clamp(2.8rem,14vw,4.8rem)}.scene-vignette{background:linear-gradient(#050c1280,#050c1226 22%,#050c1294 52%,#050c12f5 100%)}.project-deck{gap:.6rem}.project-tile{min-height:155px}.project-orbit{width:125px;height:125px}.compact-contact{grid-template-columns:1fr}.compact-contact label,.compact-contact label.full,.compact-contact>button{grid-column:1}.experience-status span:last-child{display:none}}@media (prefers-reduced-motion:reduce){.experience-nav nav,.journey-rail button i{transition:none}}.navbar{z-index:100;border-bottom:1px solid var(--border-light);-webkit-backdrop-filter:blur(16px);background:#0b1118e0;position:fixed;top:0;left:0;right:0}.nav-inner{max-width:var(--container-max);justify-content:space-between;align-items:center;margin:0 auto;padding:1.25rem 2rem;display:flex}.brand{align-items:baseline;gap:.75rem;display:flex}fieldset.form-group{border:0;min-width:0}.brand-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-main);font-size:1.2rem;font-weight:800}.brand-spec{font-family:var(--font-mono);color:var(--accent-amber);letter-spacing:.05em;text-transform:uppercase;border:1px solid #39d6ff61;padding:.15rem .45rem;font-size:.75rem}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-link{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);font-size:.85rem;transition:color .2s;position:relative}.nav-link:hover{color:var(--text-main)}.nav-link span{color:var(--accent-amber);margin-right:.25rem;font-size:.7rem}.status-badge{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-light);align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.75rem;display:flex}.status-dot{background:var(--accent-phosphor);width:6px;height:6px;box-shadow:0 0 8px var(--accent-phosphor);border-radius:50%}.hero-section{min-height:100vh;max-width:var(--container-max);z-index:10;flex-direction:column;justify-content:flex-start;margin:0 auto;padding:6.25rem 2rem 3rem;display:flex;position:relative}.hero-header{margin-bottom:1.5rem}.hero-meta-strip{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:1.25rem;margin-bottom:1rem;font-size:.78rem;display:flex}.hero-meta-strip .tag{color:var(--accent-amber);font-weight:500}.hero-title{font-family:var(--font-display);letter-spacing:-.045em;color:var(--text-main);text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:0 .85rem;margin-bottom:1rem;font-size:clamp(3rem,7vw,6.2rem);font-weight:800;line-height:.96;display:flex}.hero-word{color:var(--text-main);transition:color .25s}.hero-sep{color:var(--accent-amber);opacity:.85;font-weight:400}.hero-subtitle{color:var(--text-muted);letter-spacing:-.01em;max-width:640px;font-size:clamp(1rem,1.6vw,1.22rem);font-weight:300;line-height:1.55}.stage-container{--stage-accent:var(--accent-cyan);border:1px solid var(--border-light);background:#14222e;flex-direction:column;min-height:clamp(520px,100svh - 13rem,700px);margin:1.5rem 0 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 35px 80px -25px #000000d9,inset 0 1px #ffffff0a}.stage-container[data-stage=games]{--stage-accent:var(--accent-phosphor)}.stage-container[data-stage=apps]{--stage-accent:#ff765e}.stage-header{border-bottom:1px solid var(--border-light);font-family:var(--font-mono);z-index:4;background:#0c0e12f5;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.75rem;display:flex;position:relative}.stage-indicators{align-items:center;gap:.5rem;display:flex}.indicator-light{background:#242832;border-radius:50%;width:8px;height:8px;transition:all .3s}.indicator-light.active{background:var(--accent-cyan);box-shadow:0 0 8px #39d6ffa6}.indicator-light:nth-child(2).active{background:var(--accent-phosphor);box-shadow:0 0 8px #a8ff4d99}.indicator-light:nth-child(3).active{background:var(--accent-amber);box-shadow:0 0 8px #ff765e99}.stage-label{color:var(--text-dim);letter-spacing:.08em}.hero-scene-canvas{z-index:1;pointer-events:none;background:radial-gradient(circle at 48% 38%,#294052 0%,#142432 42%,#0d1823 100%);transition:background 1.15s;position:absolute;inset:0}.stage-container[data-stage=web] .hero-scene-canvas{background:radial-gradient(circle at 38% 38%,#275c71b3 0%,#172b39 42%,#0d1823 100%)}.stage-container[data-stage=games] .hero-scene-canvas{background:radial-gradient(circle at 51% 38%,#3f5c3b8a 0%,#192c34 42%,#0d1823 100%)}.stage-container[data-stage=apps] .hero-scene-canvas{background:radial-gradient(circle at 68% 40%,#6b413a8f 0%,#202b35 43%,#0d1823 100%)}.hero-scene-canvas canvas{width:100%;height:100%;display:block}.scene-fallback{background:radial-gradient(circle at 48% 38%,#294052 0%,#142432 42%,#0d1823 100%);width:100%;height:100%}.scene-loading{background:radial-gradient(circle at 48% 38%,#294052 0%,#142432 42%,#0d1823 100%)}.stage-status{color:var(--text-muted);margin-left:.5rem}.crosshair{pointer-events:none;z-index:4;border-color:#ffffff29;width:14px;height:14px;position:absolute}.crosshair.top-left{border-top:1px solid;border-left:1px solid;top:1rem;left:1rem}.crosshair.top-right{border-top:1px solid;border-right:1px solid;top:1rem;right:1rem}.crosshair.bottom-left{border-bottom:1px solid;border-left:1px solid;bottom:1rem;left:1rem}.crosshair.bottom-right{border-bottom:1px solid;border-right:1px solid;bottom:1rem;right:1rem}.stage-content{text-align:left;-webkit-backdrop-filter:blur(14px);z-index:4;background:#0c141dcc;border:1px solid #ffffff1a;width:min(390px,100% - 3.5rem);margin:auto 1.75rem 1.75rem auto;padding:1.35rem 1.5rem;position:relative;box-shadow:0 16px 36px #02070c7a}.scene-step-badge{font-family:var(--font-mono);color:var(--stage-accent);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:.65rem;font-size:.72rem;display:flex}.scene-step-badge:before{content:"";background:var(--stage-accent);border-radius:50%;width:6px;height:6px;display:inline-block}.scene-heading{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:.65rem;font-size:1.6rem;font-weight:700;line-height:1.15}.scene-desc{color:var(--text-muted);margin-bottom:1.25rem;font-size:.88rem;line-height:1.55}.scene-switcher{border:1px solid var(--border-light);background:#00000080;gap:.4rem;padding:.25rem;display:inline-flex}.phase-btn{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;padding:.35rem .8rem;font-size:.72rem;transition:all .2s}.phase-btn:hover{color:var(--text-main);background:#ffffff0d}.phase-btn.active{background:var(--text-main);color:var(--bg-core);box-shadow:inset 0 0 0 1px var(--stage-accent);font-weight:600}.stage-footer{background:var(--bg-surface);border-top:1px solid var(--border-light);font-family:var(--font-mono);color:var(--text-dim);z-index:4;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.75rem;display:flex;position:relative}.hero-actions{align-items:center;gap:1.25rem;margin-top:.5rem;display:flex}.btn-primary{background:var(--text-main);color:var(--bg-core);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.75rem;padding:.95rem 1.75rem;font-size:.85rem;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.btn-primary:hover{background:#fff;transform:translateY(-2px)}.btn-secondary{color:var(--text-main);font-family:var(--font-mono);border:1px solid var(--border-bright);align-items:center;gap:.5rem;padding:.95rem 1.5rem;font-size:.85rem;transition:border-color .2s,background .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--accent-amber);background:#e8983e0d}.section-divider{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);max-width:var(--container-max);font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;background:#0e101566;justify-content:space-between;align-items:center;margin:3rem auto 0;padding:1.25rem 2rem;font-size:.75rem;display:flex}.portfolio-section{max-width:var(--container-max);margin:0 auto;padding:5rem 2rem 8rem}.section-head{margin-bottom:3.5rem}.section-tag{font-family:var(--font-mono);color:var(--accent-amber);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;display:block}.section-title{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1}.portfolio-head{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);align-items:end;gap:5rem;display:grid}.portfolio-intro{color:var(--text-muted);max-width:390px;padding-bottom:.35rem;font-size:.95rem;line-height:1.65}.portfolio-list{border-top:1px solid var(--border-light)}.project-showcase{--project-accent:var(--accent-cyan);border-bottom:1px solid var(--border-light);grid-template-columns:minmax(0,7fr) minmax(320px,5fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding:clamp(3.5rem,7vw,7rem) 0;display:grid}.project-game{--project-accent:var(--accent-phosphor)}.project-app{--project-accent:#ff765e}.project-game .project-visual{order:2}.project-game .project-copy{order:1}.project-app{grid-template-columns:minmax(320px,5fr) minmax(0,7fr)}.project-app .project-visual{order:2}.project-visual{min-width:0;transition:transform .45s cubic-bezier(.2,.75,.25,1)}.project-showcase:hover .project-visual{transform:translateY(-6px)}.portfolio-preview{background:#101923;border:1px solid #ffffff1f;min-height:410px;position:relative;overflow:hidden;box-shadow:0 28px 65px -35px #000000e6}.preview-toolbar{background:#0c1219;border-bottom:1px solid #ffffff1a;align-items:center;gap:6px;height:38px;padding:0 14px;display:flex}.preview-toolbar span{background:#56616d;border-radius:50%;width:5px;height:5px}.preview-toolbar span:first-child{background:var(--accent-cyan)}.preview-toolbar b{font:600 .58rem var(--font-mono);color:#70808e;letter-spacing:.12em;margin-left:auto}.preview-web{color:#10151a;background:#ded9ce}.web-preview-layout{grid-template-columns:1fr .9fr;min-height:322px;display:grid}.web-preview-copy{flex-direction:column;align-items:flex-start;padding:clamp(2rem,5vw,4rem);display:flex}.web-preview-copy small{font:600 .62rem var(--font-mono);letter-spacing:.12em;color:#4a555d}.web-preview-copy strong{font:700 clamp(2rem, 4vw, 4.2rem)/.86 var(--font-display);letter-spacing:-.06em;text-transform:uppercase;margin:auto 0}.web-preview-copy span{font:600 .62rem var(--font-mono);border-bottom:1px solid;padding-bottom:4px}.web-preview-object{background:#153f3a;position:relative;overflow:hidden}.web-preview-object:before{content:"";aspect-ratio:1;background:#df823e;border-radius:50%;width:55%;position:absolute;top:16%;left:22%}.web-preview-object i{background:#d5c8b5;display:block;position:absolute;transform:rotate(18deg)}.web-preview-object i:first-child{width:34%;height:60%;bottom:-8%;left:8%}.web-preview-object i:nth-child(2){background:#91d3e1;width:24%;height:48%;top:-10%;right:8%}.web-preview-object i:nth-child(3){background:#10151a;width:55%;height:3px;bottom:16%;right:4%}.preview-caption{font:600 .58rem var(--font-mono);letter-spacing:.1em;background:#f0ede6;border-top:1px solid #bcb7ad;justify-content:space-between;padding:12px 16px;display:flex}.preview-game{color:#c9ffc0;background:#0b1618}.preview-game:before{content:"";opacity:.16;background-image:linear-gradient(#a8ff4d38 1px,#0000 1px),linear-gradient(90deg,#a8ff4d38 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.game-preview-hud,.game-preview-footer{z-index:2;font:600 .6rem var(--font-mono);letter-spacing:.1em;justify-content:space-between;padding:16px 18px;display:flex;position:relative}.game-preview-hud span:last-child,.game-preview-footer b{color:var(--accent-phosphor)}.game-preview-footer{color:#687c70;border-top:1px solid #a8ff4d2e;position:absolute;inset:auto 0 0}.pixel-scene{background:linear-gradient(#112a31 0 56%,#15251e 56%);position:absolute;inset:44px 0;overflow:hidden}.pixel-moon{background:#d7e9c2;border-radius:50%;width:92px;height:92px;position:absolute;top:12%;right:14%;box-shadow:0 0 40px #d7e9c21f}.pixel-platform{background:#456c45;border-top:5px solid #a8ff4d;height:18px;position:absolute;box-shadow:inset 0 -6px #233a32}.platform-a{width:64%;bottom:24%;left:0}.platform-b{width:30%;bottom:44%;right:0}.pixel-player{background:#e9f7e2;width:26px;height:36px;position:absolute;bottom:calc(24% + 18px);left:39%;box-shadow:-7px 8px #ff765e,7px 8px #39d6ff}.pixel-player i{background:#0b1618;width:5px;height:5px;position:absolute;top:9px}.pixel-player i:first-child{left:5px}.pixel-player i:last-child{right:5px}.pixel-beacon{background:#ff765e;width:8px;height:82px;position:absolute;bottom:calc(44% + 18px);right:17%;box-shadow:0 0 20px #ff765e4d}.preview-app{background:radial-gradient(circle at 50% 48%,#27363d 0,#121c25 38%,#0c141c 72%);min-height:460px}.app-preview-orbit{border:1px solid #ff765e33;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-one{width:390px;height:390px}.orbit-two{width:520px;height:240px;transform:translate(-50%,-50%)rotate(-18deg)}.app-preview-device{background:#0d1821;border:7px solid #202830;border-radius:25px;width:210px;height:380px;padding:23px 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(3deg);box-shadow:0 32px 55px #00000085,inset 0 0 0 1px #ffffff14}.app-preview-top{font:700 .68rem var(--font-mono);justify-content:space-between;margin-bottom:34px;display:flex}.app-preview-top b{color:#ff765e;font-size:.55rem}.app-preview-device small{color:#667480;font:600 .5rem var(--font-mono)}.app-preview-device strong{font:700 1.55rem var(--font-display);margin:8px 0 4px;display:block}.app-preview-device p{color:#7f8c96;font-size:.62rem;line-height:1.45}.app-preview-prompt{color:#aab4bc;font:.55rem var(--font-mono);border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;margin-top:24px;padding:13px 10px;display:flex}.app-preview-prompt span{color:#ff765e}.app-preview-status{color:#84919a;font:600 .5rem var(--font-mono);letter-spacing:.08em;margin-top:40px}.app-preview-status i{background:#ff765e;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block;box-shadow:0 0 8px #ff765e}.app-preview-label{color:#677580;font:600 .55rem var(--font-mono);letter-spacing:.12em;flex-direction:column;display:flex;position:absolute;bottom:8%;right:7%}.app-preview-label b{color:#ff765e;margin-top:4px}.project-copy{min-width:0}.project-card-header{justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;display:flex}.project-index{font-family:var(--font-mono);color:var(--text-dim);font-size:.75rem}.project-category{font-family:var(--font-mono);color:var(--project-accent);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.project-title{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;margin-bottom:1rem;font-size:clamp(2.25rem,4vw,4.8rem);font-weight:700}.project-summary{color:var(--text-muted);max-width:520px;margin-bottom:1.75rem;font-size:.95rem;line-height:1.6}.project-meta-box{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.25rem;display:flex}.tech-tags{flex-wrap:wrap;gap:.5rem;display:flex}.tech-tag{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-light);padding:.2rem .55rem;font-size:.7rem}.project-status{font-family:var(--font-mono);color:var(--project-accent);font-size:.75rem}.project-link{color:var(--text-main);font:600 .72rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;transition:color .2s,transform .2s}.project-link:hover{color:var(--project-accent);transform:translate(3px)}@media (prefers-reduced-motion:reduce){.project-showcase:hover .project-visual,.project-link:hover{transform:none}}.principles-section{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background:#0f1721;padding:5rem 2rem}.principles-inner{max-width:var(--container-max);grid-template-columns:repeat(3,1fr);gap:3rem;margin:0 auto;display:grid}.principle-item{border-left:1px solid var(--border-bright);padding-left:1.5rem}.principle-num{font-family:var(--font-mono);color:var(--accent-amber);margin-bottom:.75rem;font-size:.8rem}.principle-title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.75rem;font-size:1.35rem}.principle-desc{color:var(--text-muted);font-size:.9rem;line-height:1.6}.contact-section{--contact-accent:var(--accent-cyan);max-width:var(--container-max);margin:0 auto;padding:clamp(6rem,10vw,10rem) 2rem}.contact-game{--contact-accent:var(--accent-phosphor)}.contact-app{--contact-accent:#ff765e}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.contact-info,.contact-form-wrapper{min-width:0}.contact-info-title{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;overflow-wrap:normal;word-break:normal;margin-bottom:1.75rem;font-size:clamp(3rem,4.8vw,4.8rem);line-height:.9}.contact-statement{color:var(--text-muted);max-width:420px;margin-bottom:2rem;font-size:1rem;line-height:1.6}.contact-signal{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--contact-accent) 30%, transparent);border-radius:50%;place-items:center;width:clamp(150px,17vw,220px);margin:2.75rem 0;transition:border-color .35s;display:grid;position:relative}.contact-signal:before,.contact-signal:after{content:"";border:1px solid #ffffff14;border-radius:50%;position:absolute}.contact-signal:before{width:72%;height:72%}.contact-signal:after{border-color:color-mix(in srgb, var(--contact-accent) 18%, transparent);width:108%;height:42%;transform:rotate(-22deg)}.contact-signal-core{text-align:center;flex-direction:column;gap:.3rem;display:flex}.contact-signal-core span{color:var(--contact-accent);font:700 1.1rem var(--font-mono);letter-spacing:.14em}.contact-signal-core b{color:var(--text-dim);font:600 .5rem var(--font-mono);letter-spacing:.12em}.channel-list{flex-direction:column;gap:0;display:flex}.channel-link{font-family:var(--font-mono);color:var(--text-main);border-bottom:1px solid var(--border-light);overflow-wrap:anywhere;align-items:center;gap:1rem;padding:.9rem 0;font-size:.85rem;transition:color .2s,border-color .2s;display:flex}.channel-link:hover{color:var(--contact-accent);border-color:var(--contact-accent)}.channel-link b{color:var(--contact-accent);margin-left:auto;font-weight:500}.channel-label{color:var(--text-dim);min-width:90px}.contact-meta{color:var(--text-dim);font:.62rem var(--font-mono);letter-spacing:.08em;justify-content:space-between;gap:1rem;padding-top:1rem;display:flex}.contact-form{border-top:1px solid var(--contact-accent);border-bottom:1px solid var(--border-light);flex-direction:column;gap:1.75rem;padding:1.25rem 0 2rem;transition:border-color .35s;display:flex}.contact-form-head{color:var(--text-dim);font:.65rem var(--font-mono);letter-spacing:.1em;border-bottom:1px solid var(--border-light);justify-content:space-between;padding-bottom:1.2rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-confirmation{text-align:center;color:var(--text-muted);align-items:center;padding:5rem 2rem}.confirmation-title{color:var(--contact-accent);font-family:var(--font-mono);font-size:1.2rem}.contact-confirmation .btn-secondary{margin-top:.5rem}.form-submit{border:1px solid var(--contact-accent);background:var(--contact-accent);color:#071018;width:100%;font:700 .78rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:1.05rem 1.25rem;transition:filter .2s,transform .2s,background .35s,border-color .35s;display:flex}.form-submit:hover{filter:brightness(1.08);transform:translateY(-2px)}.form-note{color:var(--text-dim);font:.65rem var(--font-mono);line-height:1.5}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);font-size:.75rem}.form-input,.form-textarea{border:0;border-bottom:1px solid var(--border-bright);font-family:var(--font-body);color:var(--text-main);background:0 0;border-radius:0;outline:none;padding:.85rem 0;font-size:.95rem;transition:border-color .2s,background .2s}.form-input:focus,.form-textarea:focus{border-color:var(--contact-accent);background:color-mix(in srgb, var(--contact-accent) 3%, transparent)}.form-textarea{resize:vertical;min-height:120px}.form-service-chips{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.chip-btn{font-family:var(--font-mono);border:1px solid var(--border-light);color:var(--text-muted);text-align:left;flex:130px;padding:.75rem;font-size:.75rem;transition:border-color .2s,color .2s,background .2s}.chip-btn span{color:var(--contact-accent);margin-bottom:.25rem;font-size:.58rem;display:block}.chip-btn.selected{border-color:var(--contact-accent);color:var(--text-main);background:color-mix(in srgb, var(--contact-accent) 8%, transparent)}.site-footer{border-top:1px solid var(--border-light);background:var(--bg-core);padding:2rem}.footer-inner{max-width:var(--container-max);font-family:var(--font-mono);color:var(--text-dim);justify-content:space-between;align-items:center;margin:0 auto;font-size:.75rem;display:flex}@media (width<=900px){.nav-links{display:none}.portfolio-head,.project-showcase,.project-app{grid-template-columns:minmax(0,1fr)}.portfolio-head{gap:1.5rem}.portfolio-intro{max-width:580px}.project-game .project-visual,.project-app .project-visual{order:1}.project-game .project-copy,.project-app .project-copy{order:2}.principles-inner{grid-template-columns:1fr;gap:2rem}.contact-layout{grid-template-columns:minmax(0,1fr);gap:3rem}.stage-label,.stage-footer span:nth-child(2){display:none}}@media (width<=600px){.nav-inner,.hero-section,.portfolio-section,.contact-section{padding-left:1rem;padding-right:1rem}.brand-spec,.status-badge span:last-child,.hero-meta-strip span:not(:first-child),.section-divider span:not(:first-child),.footer-inner span:not(:first-child){display:none}.hero-section{padding-top:6rem}.stage-container{min-height:620px}.stage-content{width:calc(100% - 2rem);margin:auto 1rem 1rem;padding:1rem}.stage-status{margin-left:0;font-size:.65rem}.scene-switcher,.hero-actions,.stage-footer{width:100%}.scene-switcher,.hero-actions{flex-direction:column}.phase-btn,.hero-actions a{justify-content:center;width:100%}.stage-footer{justify-content:space-between;gap:1rem}.portfolio-section{padding-top:4rem;padding-bottom:5rem}.project-showcase{gap:1.75rem;padding:3rem 0}.portfolio-preview{min-height:310px}.preview-app{min-height:370px}.web-preview-layout{grid-template-columns:1.1fr .9fr;min-height:222px}.web-preview-copy{padding:1.25rem}.web-preview-copy strong{font-size:1.75rem}.web-preview-copy span{font-size:.5rem}.pixel-moon{width:62px;height:62px}.app-preview-device{width:170px;height:315px;padding:18px 13px}.app-preview-top{margin-bottom:24px}.app-preview-status{margin-top:24px}.project-title{font-size:2.5rem}.contact-section{padding-top:5rem;padding-bottom:5rem}.contact-info-title{font-size:2.75rem}.contact-signal{width:140px;margin:2rem auto 2.5rem}.form-row{grid-template-columns:minmax(0,1fr)}.contact-form-head,.contact-meta,.channel-link{flex-direction:column;align-items:flex-start}.channel-link b{margin-left:0}.footer-inner{text-align:center;justify-content:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
