*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;min-height:100vh;min-height:-webkit-fill-available;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;touch-action:none;overscroll-behavior:none;position:fixed}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}html{height:-webkit-fill-available}div[style*=overflow]{scrollbar-width:none!important;-ms-overflow-style:none!important}div[style*=overflow]::-webkit-scrollbar{display:none!important}body{font-family:Consolas,Monaco,Courier New,monospace;background:#0a0a0f;color:#e0e0e0;line-height:1.6}#root{width:100%;height:100%}.app{width:100%;height:100%;display:flex;flex-direction:column;background:#050508;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.header{position:fixed;top:0;left:0;right:0;height:100px;z-index:100;display:flex;align-items:flex-start;padding-top:1.5rem;justify-content:flex-end;padding-left:2rem;padding-right:2rem;background:linear-gradient(to bottom,#0006,#0000);pointer-events:none}.header__brand{display:flex;align-items:center;gap:1rem;pointer-events:auto;margin-right:auto;background:none;border:none;padding:0;cursor:pointer;opacity:0;transform:translateY(-10px);animation:headerFadeIn .6s cubic-bezier(.16,1,.3,1) forwards}.header__brand:hover{opacity:.8}.header__logo{height:35px;width:auto;filter:brightness(0) saturate(100%) invert(73%) sepia(85%) saturate(443%) hue-rotate(91deg) brightness(102%) contrast(101%)}.header__name{font-size:1.1rem;font-weight:600;color:#0f8;letter-spacing:.1em;text-transform:uppercase}.header__title{font-size:.75rem;font-weight:400;color:#fff6;letter-spacing:.15em;text-transform:uppercase}.header__nav{display:flex;gap:2rem;pointer-events:auto}.header__link{font-family:Consolas,Monaco,Courier New,monospace;font-size:.8rem;font-weight:400;color:#fff9;text-decoration:none;letter-spacing:.1em;text-transform:uppercase;background:none;border:none;cursor:pointer;transition:color .15s ease;padding:0;mix-blend-mode:difference}.header__link:hover{color:#0ff}.bottom-gradient{position:fixed;bottom:0;left:0;right:0;height:120px;z-index:10;background:linear-gradient(to top,#0006,#0000);pointer-events:none}.landing-hint{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:60;animation:hintFadeIn 1s ease-in-out;pointer-events:none;mix-blend-mode:difference}.landing-hint p{font-size:.9rem;color:#fff9;text-transform:uppercase;letter-spacing:.2em;text-align:center}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.main{flex:1;position:relative;width:100%;height:100%}.bloom-overlay{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse at center,rgba(255,255,255,.15) 0%,rgba(100,200,255,.1) 30%,transparent 70%);mix-blend-mode:screen}.vignette{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10;background:radial-gradient(ellipse at center,transparent 0%,transparent 40%,rgba(0,0,0,.4) 80%,rgba(0,0,0,.8) 100%)}.canvas-wrapper{width:100%;height:100%}.overlay{position:fixed;bottom:3rem;left:3rem;max-width:400px;padding:1.5rem 2rem;background:#000000d9;border:1px solid rgba(0,255,136,.2);border-left:2px solid #00ff88;z-index:50;opacity:0;transform:translate(-20px);transition:opacity .3s ease,transform .3s ease;animation:overlayFadeIn .6s cubic-bezier(.16,1,.3,1) .1s forwards}.overlay--hidden{opacity:0!important;transform:translate(-30px)!important;pointer-events:none}.overlay__index{display:block;font-size:1rem;font-weight:400;line-height:1;margin-bottom:.5rem;color:#0f8;font-family:Consolas,Monaco,Courier New,monospace;letter-spacing:.2em}.overlay__index:before{content:"//";opacity:.5;margin-right:.25em}.overlay h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#fff;letter-spacing:.02em}.overlay p{font-size:.85rem;color:#fff9;line-height:1.7}.overlay__see-more{background:none;border:none;color:#0f8;font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;margin-top:.5rem;padding:0;transition:color .15s ease}.overlay__see-more:hover{color:#0ff}.overlay__more-info{width:100%;padding:.5rem 1rem;background:transparent;border:1px solid rgba(0,255,136,.3);color:#fff9;font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .15s ease;margin-top:1.5rem}.overlay__more-info:hover{border-color:#0f8;color:#0f8;background:#00ff881a}.overlay__more-info--active{border-color:#0f8;color:#050508;background:#0f8}.overlay__more-info--active:hover{background:#0ff;border-color:#0ff}.overlay__details-btn{width:100%;padding:.5rem 1rem;background:transparent;border:1px solid rgba(0,255,136,.3);color:#fff9;font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .15s ease;margin-top:1rem}.overlay__details-btn:hover{border-color:#0f8;color:#0f8;background:#00ff881a}.overlay__details-btn--active{border-color:#0f8;color:#050508;background:#0f8}.overlay__details-btn--active:hover{background:#0ff;border-color:#0ff}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.loading-screen{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;background:#050508;z-index:1000}.loading-screen__spinner{width:40px;height:40px;border:2px solid rgba(0,255,136,.2);border-top-color:#0f8;animation:spin 1s linear infinite}.loading-screen p{font-size:.8rem;color:#e0e0e080;text-transform:uppercase;letter-spacing:.2em}@keyframes spin{to{transform:rotate(360deg)}}.terminal-preloader{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0a0a;z-index:9999;display:flex;align-items:center;justify-content:center;font-family:Consolas,Monaco,Courier New,monospace;transition:opacity .8s ease,transform .8s ease}.terminal-preloader--complete{opacity:0;transform:scale(1.02);pointer-events:none}.terminal-preloader__scanlines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);z-index:10}.terminal-preloader__flicker{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background:#00ff4105;animation:terminalFlicker .15s infinite;z-index:11}.terminal-preloader__glow{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;box-shadow:inset 0 0 150px #00ff4108;z-index:9}.terminal-preloader__window{width:90%;max-width:700px;height:70%;max-height:500px;background:#000a00f2;border:1px solid #1a3a1a;box-shadow:0 0 20px #00ff411a,inset 0 0 60px #00000080;display:flex;flex-direction:column;position:relative;z-index:5}.terminal-preloader__window:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border:1px solid rgba(0,255,65,.2);pointer-events:none}.terminal-preloader__header{padding:.75rem 1rem;background:#00ff410d;border-bottom:1px solid #1a3a1a;display:flex;justify-content:space-between;align-items:center}.terminal-preloader__title{color:#00aa2a;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.terminal-preloader__status{color:#00ff41;font-size:.7rem;letter-spacing:.1em;text-shadow:0 0 10px rgba(0,255,65,.4)}.terminal-preloader__content{flex:1;padding:1rem;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.terminal-preloader__content::-webkit-scrollbar{display:none}.terminal-preloader__progress{height:3px;background:#00ff411a;border-top:1px solid #1a3a1a}.terminal-preloader__progress-bar{height:100%;background:linear-gradient(90deg,#00aa2a,#00ff41);box-shadow:0 0 10px #00ff4166;transition:width .3s ease}.terminal-preloader__skip{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);background:transparent;border:1px solid rgba(0,255,65,.3);color:#00ff4180;font-family:Consolas,Monaco,Courier New,monospace;font-size:.7rem;letter-spacing:.15em;padding:.5rem 1.5rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;z-index:20}.terminal-preloader__skip:hover{border-color:#00ff41;color:#00ff41;background:#00ff411a;box-shadow:0 0 15px #00ff4133}.terminal-preloader__skip:active{transform:translate(-50%) scale(.98)}.terminal__line{font-size:.85rem;line-height:1.6;margin-bottom:.15rem;color:#00ff41;text-shadow:0 0 8px rgba(0,255,65,.4)}.terminal__line--typing{display:inline}.terminal__line--system{color:#00ff41;font-weight:700;letter-spacing:.1em}.terminal__line--command{color:#00ff41e6}.terminal__line--command:before{content:""}.terminal__line--response{color:#00ff41b3;padding-left:1rem}.terminal__line--loading{color:#00aa2a}.terminal__line--loading:before{content:">> ";color:#00ff4180}.terminal__line--status{color:#00ff4199;font-size:.75rem}.terminal__line--success{color:#00ff41;font-weight:700;text-shadow:0 0 15px rgba(0,255,65,.4);animation:terminalPulse .5s ease}.terminal__line--success:before{content:"*** "}.terminal__line--success:after{content:" ***"}.terminal__cursor{opacity:0;color:#00ff41;text-shadow:0 0 10px rgba(0,255,65,.4);animation:cursorBlink 1s step-end infinite}.terminal__cursor--visible{opacity:1}@keyframes terminalFlicker{0%{opacity:.97}5%{opacity:1}10%{opacity:.98}15%{opacity:1}20%{opacity:.96}25%{opacity:1}30%{opacity:.99}to{opacity:1}}@keyframes terminalPulse{0%{opacity:.5}50%{opacity:1;text-shadow:0 0 30px rgba(0,255,65,.4)}to{opacity:1}}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}@media(max-width:768px){.terminal-preloader__window{width:95%;height:80%;max-height:none}.terminal-preloader__title{font-size:.6rem}.terminal-preloader__content{padding:.75rem}.terminal__line{font-size:.75rem;line-height:1.5}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes headerFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayFadeIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.modal{background:#0a0a0f66;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(0,255,136,.15);width:100%;max-width:600px;max-height:80vh;overflow-y:auto;position:relative;animation:slideUp .4s cubic-bezier(.16,1,.3,1) forwards}.modal__close{position:absolute;top:1.5rem;right:1.5rem;width:32px;height:32px;background:none;border:1px solid rgba(255,255,255,.2);color:#fff9;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal__close:hover{border-color:#ff0080;color:#ff0080}.modal__content{padding:3rem}.modal__content h2{font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:2rem;text-transform:uppercase;letter-spacing:.1em}.modal__project-title{font-size:1.1rem;font-weight:500;color:#0f8;margin-bottom:1.5rem;letter-spacing:.02em}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.about{display:flex;gap:3rem}.about__image{flex-shrink:0}.about__placeholder{width:120px;height:120px;background:#00ff881a;border:1px solid rgba(0,255,136,.3);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;color:#0f8}.about__info h2{margin-bottom:.5rem}.about__role{display:block;font-size:.8rem;color:#0ff;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.5rem}.about p{font-size:.9rem;color:#fff9;line-height:1.8;margin-bottom:1rem}.detail-card{position:fixed;top:0;bottom:0;width:100%;max-width:500px;background:#0a0a0ff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,255,136,.2);z-index:150;overflow-y:auto;animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:forwards}.detail-card--left{left:0;border-right:2px solid #00ff88;animation-name:slideInFromLeft}.detail-card--right{right:0;border-left:2px solid #00ff88;animation-name:slideInFromRight}.detail-card--mobile{left:50%;transform:translate(-50%);max-width:90%;top:5%;bottom:5%;border:2px solid #00ff88;animation-name:fadeIn}.detail-card__close{position:absolute;top:1.5rem;right:1.5rem;width:40px;height:40px;background:none;border:1px solid rgba(255,255,255,.2);color:#fff9;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.detail-card__close:hover{border-color:#0f8;color:#0f8}.detail-card__toggles{display:flex;gap:1rem;margin-top:2rem}.detail-card__toggle-btn{flex:1;padding:.5rem 1rem;background:transparent;border:1px solid rgba(0,255,136,.3);color:#fff9;font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .15s ease}.detail-card__toggle-btn:hover:not(:disabled){border-color:#0f8;color:#0f8;background:#00ff881a}.detail-card__toggle-btn--active{border-color:#0f8;color:#050508;background:#0f8;cursor:default}.detail-card__toggle-btn--active:hover{background:#0ff;border-color:#0ff}.detail-card__toggle-btn:disabled{cursor:default}.detail-card__content{padding:3rem;padding-top:calc(3rem + 50px)}.detail-card__content h2{font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.1em}.detail-card__title{font-size:1.2rem;font-weight:500;color:#0f8;margin-bottom:2rem;letter-spacing:.02em}.detail-card__description{font-size:.95rem;color:#ffffffb3;line-height:1.8;margin-bottom:2rem}.detail-carousel{margin-bottom:2rem}.detail-carousel__image-container{width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(0,255,136,.2);margin-bottom:1.5rem}.detail-carousel__image{width:100%;height:100%;object-fit:cover}.detail-carousel__task{font-size:.9rem;color:#fffc;line-height:1.6;margin-bottom:1.5rem}.detail-carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.detail-carousel__btn{flex:1;padding:.5rem 1rem;background:transparent;border:1px solid rgba(0,255,136,.3);color:#fff9;font-family:Consolas,Monaco,Courier New,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .15s ease}.detail-carousel__btn:hover:not(:disabled){border-color:#0f8;color:#0f8;background:#00ff881a}.detail-carousel__btn:disabled{opacity:.3;cursor:not-allowed}.detail-carousel__counter{font-size:.75rem;color:#ffffff80;letter-spacing:.1em;white-space:nowrap}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.contact-form__field{margin-bottom:1.5rem}.contact-form__field label{display:block;font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.contact-form__field input,.contact-form__field textarea{width:100%;padding:1rem;background:#00000080;border:1px solid rgba(255,255,255,.1);color:#fff;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;transition:border-color .15s ease}.contact-form__field input:focus,.contact-form__field textarea:focus{outline:none;border-color:#0f8}.contact-form__field textarea{resize:vertical;min-height:100px}.contact-form__submit{width:100%;padding:1rem 2rem;background:transparent;border:1px solid #00ff88;color:#0f8;font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .15s ease}.contact-form__submit:hover{background:#0f8;color:#050508}@media(max-width:768px){.header{padding:1.5rem 1rem;height:120px;justify-content:flex-start}.header__brand{gap:1rem}.header__logo{height:40px}.header__name{font-size:1.1rem}.header__title{display:none}.header__nav{gap:1.5rem;margin-left:auto}.header__link{font-size:.85rem;padding:0}.overlay{left:1rem;right:1rem;bottom:2rem;max-width:none;padding:1.5rem}.overlay__index{font-size:.85rem}.overlay h2{font-size:1.25rem}.overlay p{font-size:.8rem}.modal{max-height:90vh}.modal__content{padding:2rem}.about{flex-direction:column;align-items:center;text-align:center}.about__placeholder{width:100px;height:100px;font-size:1.5rem}.detail-card{max-width:100%}.detail-card__content{padding:2rem;padding-top:calc(2rem + 50px)}}
