@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Syne:wght@500;700;800&display=swap";:root{color:#f8ecd1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#060606;--surface:#0a0a0ad1;--text-strong:#fff4da;--text-muted:#b9b19d;--accent:#c8a24a;--accent-soft:#e7c67a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#060606;font-family:Space Grotesk,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}body{background:var(--bg)}body:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 84%);mask-image:radial-gradient(circle,#000,#0000 84%)}h1,h2,h3,h4{color:var(--text-strong);font-family:Syne,sans-serif}p{margin:0}a,button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell,.canvas-shell,canvas{width:100%;height:100vh}.app-shell{position:relative;overflow:hidden}.canvas-shell{background:radial-gradient(circle at top,#f4c86e2e,#0000 24%),radial-gradient(circle at 80% 20%,#60a5fa24,#0000 26%),radial-gradient(circle at 20% 100%,#5deab51f,#0000 24%),#04060a;position:relative}.canvas-shell:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 38%,#00000057 100%),linear-gradient(#0204081f,#0103069e);position:absolute;inset:0}.world-overlay,.joystick-shell,.contact-overlay,.loading-screen{z-index:2;position:absolute}.world-overlay{pointer-events:none}.world-overlay.top{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));max-width:min(29rem,100vw - 2rem)}.world-overlay.side{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(26px)saturate(140%);backdrop-filter:blur(26px)saturate(140%);background:#080c128f;border:1px solid #ffffff14;border-radius:1.6rem;width:min(25rem,100vw - 2rem);padding:1.15rem 1.2rem;box-shadow:0 24px 80px #00000061}.world-overlay.bottom{left:max(1rem, env(safe-area-inset-left));right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.world-badge,.control-chip,.contact-overlay,.zone-card,.loading-panel,.fallback-hero-panel,.fallback-project-card,.fallback-panel,.fallback-timeline-item,.fallback-contact{-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);background:#080c128a;border:1px solid #ffffff14;box-shadow:0 24px 80px #00000047}.world-badge{color:#ffe1a0;letter-spacing:.24em;text-transform:uppercase;border-radius:999px;padding:.55rem .8rem;font-size:.72rem;display:inline-flex}.world-copy{margin-top:.9rem}.world-copy h1,.fallback-shell h1{text-transform:uppercase;margin:0;font-size:clamp(2.9rem,7vw,6rem);line-height:.9}.world-copy p,.overlay-description,.fallback-copy,.fallback-project-card p,.fallback-panel p,.fallback-timeline-item p,.fallback-hero-panel p{color:var(--text-muted);line-height:1.65}.world-copy p{max-width:24rem;margin-top:.55rem}.overlay-label,.loading-kicker{color:#ffe1a0;letter-spacing:.24em;text-transform:uppercase;margin-bottom:.55rem;font-size:.72rem}.world-overlay.side h2,.contact-overlay h3,.loading-panel h2,.fallback-section-heading h2,.fallback-panel h2,.fallback-contact h2{margin:0;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.05}.overlay-subtitle{color:#d0d8f5;margin-top:.32rem}.overlay-description{margin-top:.8rem}.overlay-tags,.fallback-tag-row,.fallback-skills,.fallback-actions{flex-wrap:wrap;gap:.55rem;display:flex}.overlay-tags{margin-top:1rem}.overlay-tags span,.fallback-tag-row em,.fallback-skills span{color:#eef2ff;background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;padding:.48rem .72rem;font-size:.82rem;font-style:normal}.control-chip{border-radius:1.2rem;gap:.15rem;padding:.95rem 1rem;display:grid}.control-chip span{color:#9fa9bd;letter-spacing:.18em;text-transform:uppercase;font-size:.7rem}.control-chip strong{letter-spacing:.04em;font-size:.98rem}.zone-card{color:#f4f1eb;opacity:0;border-radius:1.15rem;width:13rem;padding:.9rem 1rem;transition:opacity .22s,transform .22s;transform:translateY(10px)scale(.96)}.zone-card.active{opacity:1;transform:translateY(0)scale(1)}.zone-card.left{text-align:left}.zone-card.center{text-align:center}.zone-card p{margin:0;line-height:1.45}.joystick-shell{left:max(1rem, env(safe-area-inset-left));bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 5.8rem)}.joystick-pad{touch-action:none;background:radial-gradient(circle at 30% 30%,#ffffff14,#0a0a0a8f);border:1px solid #ffffff14;border-radius:999px;width:7.8rem;height:7.8rem;position:relative;box-shadow:inset 0 0 0 1px #ffffff08,0 24px 60px #00000047}.joystick-thumb{background:linear-gradient(135deg,#ffe6a6,#d59034);border-radius:999px;width:3rem;height:3rem;margin:-1.5rem 0 0 -1.5rem;transition:transform 70ms linear;position:absolute;top:50%;left:50%;box-shadow:0 10px 24px #00000057}.joystick-thumb.active{box-shadow:0 12px 28px #0000006b,0 0 28px #f2c66d52}.contact-overlay{right:max(1rem, env(safe-area-inset-right));bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 7.2rem);border-radius:1.5rem;gap:.8rem;width:min(22rem,100vw - 2rem);padding:1.15rem 1.2rem;display:grid}.contact-overlay input,.contact-overlay textarea,.contact-overlay button,.contact-overlay a,.fallback-actions a{font:inherit;border:0;border-radius:1rem}.contact-overlay input,.contact-overlay textarea{color:#fff7eb;resize:none;background:#ffffff0a;border:1px solid #ffffff14;width:100%;padding:.85rem .95rem}.contact-actions{flex-wrap:wrap;gap:.6rem;display:flex}.contact-actions button,.contact-actions a,.fallback-actions a{color:#fff8ef;background:linear-gradient(135deg,#ffc45c3d,#ff5f8f2e);border:1px solid #ffffff1a;padding:.8rem 1.05rem;text-decoration:none}.loading-screen{background:radial-gradient(circle,#060a1061,#04060ad1),#04060a99;place-items:center;padding:1rem;display:grid;inset:0}.loading-panel{border-radius:1.5rem;width:min(26rem,100vw - 2rem);padding:1.4rem}.loading-panel p{color:var(--text-muted);margin:.75rem 0 0}.loading-bar{background:#ffffff0f;border-radius:999px;height:.35rem;margin-top:1rem;overflow:hidden}.loading-bar span{border-radius:inherit;background:linear-gradient(90deg,#5db0ff,#f4c86e,#5deab5);width:40%;height:100%;animation:1.4s ease-in-out infinite loading-sweep;display:block}.fallback-shell{min-height:100vh;padding:max(1.2rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.2rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:radial-gradient(circle at top,#f2c66d2e,#0000 24%),radial-gradient(circle at 80% 20%,#5db0ff1f,#0000 26%),linear-gradient(#04060a 0%,#0a0f14 100%)}.fallback-hero,.fallback-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.fallback-hero{align-items:center;min-height:72vh}.fallback-hero-copy{padding:clamp(1rem,4vw,2rem) 0}.fallback-actions{margin-top:1.2rem}.fallback-hero-panel,.fallback-panel,.fallback-contact{border-radius:1.6rem;padding:1.4rem}.fallback-stat-grid,.fallback-project-grid,.fallback-timeline{gap:.9rem;display:grid}.fallback-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.fallback-stat-grid div{background:#ffffff0a;border:1px solid #ffffff14;border-radius:1rem;padding:.95rem}.fallback-stat-grid strong{color:#fff3d3;font-size:1.45rem;display:block}.fallback-stat-grid span{color:var(--text-muted);margin-top:.35rem;font-size:.9rem;display:block}.fallback-section{margin-top:1rem;padding:1rem 0}.fallback-section-heading{margin-bottom:1rem}.fallback-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fallback-project-card,.fallback-timeline-item{border-radius:1.45rem;padding:1.2rem}.fallback-project-card span,.fallback-timeline-item span{color:#ffe1a0;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}.fallback-project-card h3,.fallback-timeline-item h3{margin:.6rem 0 0;font-size:1.25rem}.fallback-timeline-item strong{color:#f2f6ff;margin-top:.4rem;display:block}.fallback-timeline{grid-template-columns:repeat(5,minmax(0,1fr))}.fallback-skills,.fallback-contact{margin-top:1rem}@keyframes loading-sweep{0%{transform:translate(-80%)}50%{transform:translate(140%)}to{transform:translate(220%)}}@media (width<=1100px){.fallback-project-grid,.fallback-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.world-overlay.side{top:auto;bottom:13rem}.world-overlay.bottom,.fallback-hero,.fallback-split,.fallback-project-grid,.fallback-timeline{grid-template-columns:1fr}}@media (width<=720px){.world-overlay.top,.world-overlay.side,.world-overlay.bottom,.contact-overlay{left:max(.9rem, env(safe-area-inset-left));right:max(.9rem, env(safe-area-inset-right));width:auto}.world-overlay.top{max-width:none}.world-copy h1{font-size:clamp(2rem,15vw,3.25rem)}.world-overlay.side{padding:1rem;bottom:15rem}.world-overlay.bottom{gap:.55rem}.control-chip{padding:.85rem .95rem}.joystick-shell{bottom:max(.9rem, env(safe-area-inset-bottom))}.contact-overlay{bottom:calc(max(.9rem, env(safe-area-inset-bottom)) + 9.1rem)}.loading-panel,.fallback-hero-panel,.fallback-panel,.fallback-project-card,.fallback-timeline-item,.fallback-contact{padding:1.1rem}.fallback-shell{padding-left:max(.9rem, env(safe-area-inset-left));padding-right:max(.9rem, env(safe-area-inset-right))}.fallback-stat-grid{grid-template-columns:1fr}}
