:root{font-family:Inter,Poppins,Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#f4f6ff;background-color:#050b1f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;width:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#050b1f,#030712);color:inherit;overflow:hidden;overscroll-behavior:none}#root{width:100%;height:100%;min-height:100dvh}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.loading-screen{position:fixed;inset:0;min-height:100dvh;background-color:#050b1f;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 1s ease-in-out}.loading-screen--visible{opacity:1;pointer-events:auto}.loading-screen__container{width:200px;text-align:center}.loading-screen__title{font-family:"Press Start 2P",cursive;font-size:1.5rem;font-weight:400;margin-bottom:1.5rem;color:#f4f6ff;letter-spacing:.05em;text-transform:uppercase}.loading-screen__bar{width:100%;height:24px;background-color:#f4f6ff1a;border:2px solid #f4f6ff;border-radius:0;padding:2px;box-shadow:0 0 10px #f4f6ff33}.loading-screen__progress{height:100%;background-color:#f4f6ff;transition:width .2s steps(10)}.app{height:100vh;height:100dvh;background:#b8dceb;color:#f4f6ff;overflow:hidden}.scene-wrapper{height:100vh;height:100dvh;position:relative}.scene{position:sticky;top:0;width:100vw;height:100vh;height:100dvh;display:grid;place-items:stretch;background:#b8dceb;isolation:isolate}.scene__canvas{width:100%;height:100%;touch-action:none}.scene-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(17,42,55,.12),transparent 24%),radial-gradient(circle at center,transparent 52%,rgba(14,37,48,.2) 130%);box-shadow:inset 0 0 100px #0f2b3714}.scene-hud{position:absolute;inset:0;z-index:4;pointer-events:none;font-family:"Press Start 2P",monospace;text-shadow:0 2px 14px rgba(18,44,51,.42)}.scene-hud__header{position:absolute;top:calc(clamp(1.25rem,3vw,2.5rem) + env(safe-area-inset-top,0px));left:calc(clamp(1.25rem,4vw,4rem) + env(safe-area-inset-left,0px));right:calc(clamp(1.25rem,4vw,4rem) + env(safe-area-inset-right,0px));display:flex;align-items:flex-start;justify-content:flex-end;gap:1.5rem;opacity:0;transform:translateY(-.6rem);transition:opacity .5s ease,transform .5s ease}.scene-hud__header--visible{opacity:1;transform:translateY(0)}.scene-hud__current{display:flex;align-items:center;gap:.65rem}.scene-hud__current span{color:#f5fdff85;font-size:.46rem;letter-spacing:.08em}.scene-hud__current strong{color:#ffffffe6;font-size:clamp(.54rem,.85vw,.66rem);line-height:1.4}.journey-nav{position:absolute;left:50%;bottom:calc(clamp(1.5rem,3vw,2.5rem) + env(safe-area-inset-bottom,0px));width:min(420px,calc(100vw - 5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:1rem;transform:translate(-50%);opacity:0;pointer-events:none;transform:translate(-50%,.6rem);transition:opacity .5s ease,transform .5s ease}.journey-nav--visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.journey-nav__track{position:absolute;top:.3rem;left:0;right:0;height:1px;overflow:hidden;background:#f8feff38;box-shadow:0 1px 10px #112e3833}.journey-nav__fill{position:absolute;inset:0;background:#f6ffff;transform-origin:left center;transition:transform .12s linear;box-shadow:0 0 12px #dafff4b3}.journey-nav__stop{position:absolute;top:0;display:block;padding:0;color:#f6fdff9e;background:none;border:0;transform:translate(-50%);cursor:pointer}.journey-nav__dot{display:block;width:.65rem;height:.65rem;border:1px solid rgba(247,254,255,.78);border-radius:50%;background:#6c9e98;box-shadow:0 2px 10px #142f354d;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.journey-nav__stop:hover .journey-nav__dot,.journey-nav__stop:focus-visible .journey-nav__dot,.journey-nav__stop.is-active .journey-nav__dot{background:#effff9;box-shadow:0 0 0 4px #e2fff624,0 0 12px #e2fff69e;transform:scale(1.12)}.journey-nav__stop.is-visited .journey-nav__dot{background:#e3fff6}.journey-nav__stop:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:.45rem}.scroll-hint{position:absolute;bottom:calc(clamp(4.25rem,7vw,5.75rem) + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;opacity:.72;pointer-events:none;transition:opacity .5s ease,transform .5s ease}.scroll-hint--subtle{opacity:0;transform:translate(-50%,.75rem)}.scroll-hint__wheel{position:relative;display:block;width:1rem;height:1.5rem;border:1px solid rgba(248,254,255,.72);border-radius:999px}.scroll-hint__wheel:after{position:absolute;top:.3rem;left:50%;width:2px;height:.42rem;background:#fff;border-radius:999px;content:"";transform:translate(-50%);animation:hint-pulse 1.7s ease-in-out infinite}@keyframes hint-pulse{0%,to{transform:translate(-50%) scaleY(.6);opacity:.4}50%{transform:translate(-50%,.55rem) scaleY(1);opacity:1}}.building-tag{background:#0a0e21cc;border:1px solid rgba(148,165,255,.3);border-radius:16px;padding:.7rem .9rem;min-width:11rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 12px 24px #02051073;text-align:center;font-size:.85rem;display:grid;gap:.35rem;color:#f4f6ffd1;transform-origin:center;transform:translateZ(0);pointer-events:none}.building-tag strong{font-size:1rem;color:#f4f6ff}.building-tag span{font-size:.9rem;color:#f4f6ffb3}.building-tag__year{margin:0;text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:#f4f6ffa6}.building-tag--active{border-color:#f4f6ff99;background:#1b244de6;box-shadow:0 18px 36px #1217308c}@media(max-width:720px){.scene{background:#b8dceb}.scene-hud__header{gap:1rem;top:calc(.9rem + env(safe-area-inset-top,0px));left:calc(1rem + env(safe-area-inset-left,0px));right:calc(1rem + env(safe-area-inset-right,0px))}.journey-nav{bottom:calc(.9rem + env(safe-area-inset-bottom,0px));width:calc(100vw - 3rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.scroll-hint{bottom:calc(3.9rem + env(safe-area-inset-bottom,0px))}.building-tag{min-width:9rem;font-size:.78rem}}@media(max-height:500px)and (orientation:landscape){.scene-hud__header{top:calc(.65rem + env(safe-area-inset-top,0px))}.journey-nav{bottom:calc(.55rem + env(safe-area-inset-bottom,0px))}.scroll-hint{bottom:calc(2.75rem + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.scroll-hint__wheel:after{animation:none}.journey-nav__fill,.journey-nav__dot,.scene-hud__header,.journey-nav,.scroll-hint{transition:none}}.experience-popup-overlay{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;padding:calc(1rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(1rem + env(safe-area-inset-left,0px));background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.experience-popup-content{background:linear-gradient(145deg,#0f232bf0,#09171eeb);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:clamp(1.5rem,5vw,2.25rem);border-radius:20px;max-width:540px;width:90%;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;position:relative;box-shadow:0 15px 35px #0006;animation:popup-fade-in .3s ease-out;color:#f4f6ff;border:1px solid rgba(220,255,244,.2)}@keyframes popup-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.experience-popup-close{position:absolute;top:15px;right:20px;background:none;border:none;font-size:1.8rem;cursor:pointer;color:#fff9;transition:color .2s;line-height:1}.experience-popup-close:hover{color:#fff}.experience-popup-close:focus-visible{outline:2px solid #dcfff4;outline-offset:.25rem;border-radius:4px}.experience-popup-eyebrow{display:block;margin-bottom:.7rem;color:#dcfff48f;font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase}.experience-popup-title{margin-top:0;margin-bottom:.5rem;font-size:1.6rem;color:#fff;font-weight:600}.experience-popup-company{margin-top:0;margin-bottom:1rem;font-size:1.1rem;color:#fffc;font-weight:500}.experience-popup-year{color:#ffffff80;margin-bottom:1.8rem;font-size:.9rem;letter-spacing:.05em}.experience-popup-link{display:inline-block;margin-top:1.5rem;padding:.7rem 1.4rem;background-color:#d5fff21a;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:all .2s;border:1px solid rgba(220,255,244,.24)}.experience-popup-link:after{margin-left:.55rem;content:"↗"}.experience-popup-link:hover{background-color:#dcfff433;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.experience-popup-link:focus-visible{outline:2px solid #dcfff4;outline-offset:.25rem}.experience-popup-description{margin:0;color:#ffffffd9;font-size:1rem;line-height:1.6;font-weight:300}
