@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-deep: #030303;--bg-surface: #0a0a0a;--bg-elevated: #111111;--bg-card: rgba(15, 15, 15, .6);--text-primary: #f0f0f0;--text-secondary: rgba(255, 255, 255, .55);--text-muted: rgba(255, 255, 255, .3);--accent-primary: #e63946;--accent-glow: #ff4d5a;--accent-cyan: #00d4ff;--accent-purple: #8b5cf6;--accent-gradient: linear-gradient(135deg, #e63946, #ff6b6b, #e63946);--accent-gradient-wide: linear-gradient(90deg, #e63946, #ff6b6b, #8b5cf6, #00d4ff);--glass-bg: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .08);--glass-hover: rgba(255, 255, 255, .08);--font-heading: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--shadow-glow: 0 0 40px rgba(230, 57, 70, .15);--shadow-card: 0 8px 32px rgba(0, 0, 0, .4);--shadow-elevated: 0 20px 60px rgba(0, 0, 0, .5);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1);--transition-spring: .6s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box}body{background-color:var(--bg-deep);color:var(--text-primary);font-family:var(--font-body);margin:0;padding:0;width:100vw;height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}.canvas-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;background:radial-gradient(ellipse at 50% 30%,#0d0d0d,#030303 70%)}h1,h2,h3,h4{font-family:var(--font-heading);margin:0;line-height:1;letter-spacing:-.02em}h1{font-weight:700;font-size:clamp(3.5rem,8vw,7rem);line-height:.9;color:#fff}h2{font-weight:600;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.01em}p{color:var(--text-secondary);font-size:1rem;line-height:1.75;font-weight:400;max-width:520px}.section{width:100vw;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 6vw;box-sizing:border-box;pointer-events:none;position:relative}.section>*{pointer-events:auto}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:border-color var(--transition-smooth),box-shadow var(--transition-smooth)}.glass-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}.glass-card:hover{border-color:#ffffff1f;box-shadow:var(--shadow-card),var(--shadow-glow)}.section-label{font-family:var(--font-mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.25em;color:var(--accent-primary);display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.section-label:before{content:"";width:24px;height:1px;background:var(--accent-primary)}.subtitle{font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.25em;font-size:.72rem;color:var(--accent-primary);display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.subtitle:before{content:"";width:24px;height:1px;background:var(--accent-primary)}.hero-content{padding:2.5rem 3rem;max-width:560px}.hero-name{background:linear-gradient(135deg,#fff,#a0a0a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:700;line-height:.92;letter-spacing:-.03em;position:relative}.hero-role{font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:1.2rem;display:flex;align-items:center;gap:.75rem}.hero-role:before{content:"";width:32px;height:2px;background:var(--accent-gradient);border-radius:2px}.hero-location{font-family:var(--font-body);font-size:.85rem;font-weight:400;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;margin-top:2rem}.scroll-indicator{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5;animation:scrollPulse 2s ease-in-out infinite}.scroll-indicator span{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted)}.scroll-line{width:1px;height:40px;background:linear-gradient(180deg,var(--accent-primary),transparent);animation:scrollLineMove 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3}50%{opacity:.7}}@keyframes scrollLineMove{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.stats-grid{display:flex;gap:3rem;margin-top:2.5rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-number{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.stat-label{font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.stat-item--clickable{cursor:pointer;padding:.4rem .6rem;margin:-.4rem -.6rem;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.stat-item--clickable:hover{background:#e6394614;box-shadow:0 0 15px #e6394626}.stat-item--clickable:hover .stat-label{color:#fff}.overview-projects-cta{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.4rem;border-radius:var(--radius-md);background:#e639461a;border:1px solid rgba(230,57,70,.35);color:#fff;font-family:var(--font-heading);font-size:.85rem;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:all var(--transition-smooth)}.overview-projects-cta:hover{background:#e6394633;border-color:#e63946b3;box-shadow:0 4px 20px #e6394640;color:var(--accent-glow)}.hero-projects-btn{letter-spacing:.05em;text-transform:uppercase;font-weight:600}.skills-grid{display:flex;flex-direction:column;gap:0;margin-top:2rem}.skill-row{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.06);transition:all var(--transition-fast);gap:1rem}.skill-row:first-child{border-top:1px solid rgba(255,255,255,.06)}.skill-row:hover{padding-left:.5rem;background:#e6394608}.skill-category{font-family:var(--font-heading);font-weight:600;font-size:.95rem;color:var(--text-primary);min-width:120px;text-transform:uppercase;letter-spacing:.05em}.skill-items{font-family:var(--font-mono);font-weight:400;font-size:.78rem;color:var(--text-secondary);letter-spacing:.05em;text-align:right}.skill-dot{display:inline-block;width:4px;height:4px;background:var(--accent-primary);border-radius:50%;margin:0 .6rem;vertical-align:middle;opacity:.6}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:1.5rem}.slider-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:.5rem;margin-bottom:2rem}.slider-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;transition:all var(--transition-smooth)}.slider-btn:hover{background:#e6394626;border-color:#e6394666;color:var(--accent-glow)}.slider-dots{display:flex;align-items:center;gap:.5rem}.slider-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:transparent;cursor:pointer;padding:0;transition:all var(--transition-smooth)}.slider-dot.active{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 8px #e6394666}.slider-dot:hover:not(.active){border-color:#ffffff80;background:#ffffff1a}.project-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:2rem 1.8rem 1.2rem;position:relative;overflow:hidden;cursor:pointer;transition:all var(--transition-smooth);display:flex;flex-direction:column}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-smooth)}.project-card:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(230,57,70,.04),transparent);transition:left .6s ease;pointer-events:none}.project-card:hover{border-color:#e6394659;transform:translateY(-6px);box-shadow:0 16px 48px #00000059,0 0 40px #e639461f}.project-card:hover:before{opacity:1}.project-card:hover:after{left:100%}.project-cta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.06)}.project-cta-text{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.18em;color:var(--text-muted);transition:all var(--transition-smooth)}.mysterious-cta{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.16em;text-transform:lowercase;color:#ffffffb3;transition:all var(--transition-smooth);position:relative;text-shadow:0 0 10px rgba(230,57,70,.25);-webkit-user-select:none;user-select:none}.mysterious-glyph{font-size:.72rem;color:var(--accent-primary);display:inline-block;animation:glyph-pulse 2.4s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(230,57,70,.5))}.mysterious-words{background:linear-gradient(90deg,#ffffffb3,#ff6b6b 40%,#00d4ff,#ffffffb3);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:mysterious-shimmer 4s linear infinite;font-style:italic;font-weight:500;letter-spacing:.18em;transition:all var(--transition-smooth)}.mysterious-cursor{color:var(--accent-glow);font-weight:700;animation:mysterious-blink .9s steps(2,start) infinite;margin-left:-.1rem}@keyframes mysterious-shimmer{0%{background-position:200% center}to{background-position:0% center}}@keyframes glyph-pulse{0%,to{transform:scale(1) rotate(0);opacity:.55;color:var(--accent-primary)}50%{transform:scale(1.3) rotate(25deg);opacity:1;color:var(--accent-glow);filter:drop-shadow(0 0 10px rgba(255,77,90,.9))}}@keyframes mysterious-blink{0%,to{opacity:0}50%{opacity:1}}.project-card:hover .project-cta-text{color:var(--accent-glow)}.project-card:hover .mysterious-cta{letter-spacing:.24em;text-shadow:0 0 12px var(--accent-glow),0 0 25px rgba(230,57,70,.6)}.project-card:hover .mysterious-words{background:linear-gradient(90deg,#ffffff 0%,var(--accent-glow) 50%,#00d4ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-cta-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e6394614;border:1px solid rgba(230,57,70,.15);color:var(--accent-primary);transition:all var(--transition-smooth)}.project-card:hover .project-cta-arrow{background:#e6394633;border-color:#e6394680;color:var(--accent-glow);transform:translate(3px,-3px);box-shadow:0 4px 16px #e6394640}.project-index{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);letter-spacing:.15em;margin-bottom:.5rem}.project-card-category{font-family:var(--font-mono);font-size:.65rem;color:var(--accent-cyan);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem;display:block;opacity:.9}.project-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.02em;transition:color var(--transition-smooth)}.project-card:hover .project-title{color:#fff}.project-desc{font-size:.82rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}.tech-tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .75rem;border-radius:100px;background:#e639461a;color:var(--accent-glow);border:1px solid rgba(230,57,70,.15)}.btn-primary{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-family:var(--font-heading);font-weight:600;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent-gradient);border:none;border-radius:var(--radius-sm);cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-smooth);box-shadow:0 4px 16px #e639464d}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #e6394673}.btn-primary:hover:before{left:100%}.btn-primary:active{transform:translateY(0)}.social-links{display:flex;justify-content:center;gap:1.5rem;margin-top:3rem}.social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-smooth)}.social-link:hover{background:#e6394626;border-color:#e6394666;color:var(--accent-glow);transform:translateY(-3px);box-shadow:0 8px 24px #e6394633}.social-link-accent{background:#e6394626;border-color:#e6394659;color:var(--accent-primary)}.social-link-accent:hover{background:#e639464d;border-color:#e6394699;color:#fff;box-shadow:0 8px 28px #e6394659}.social-icon{color:inherit;transition:color var(--transition-fast)}.cta-section{text-align:center;margin-top:3rem;padding-top:3rem;border-top:1px solid rgba(255,255,255,.06)}.cta-heading{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;background:linear-gradient(135deg,#fff,#888);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}.cta-text{color:var(--text-secondary);font-size:1rem;margin:0 auto 2rem;max-width:400px}.phone-number{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);letter-spacing:.15em;margin-top:2.5rem}.navbar{position:fixed;top:0;left:0;width:100%;padding:1.2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;z-index:1000;transition:all var(--transition-smooth)}.navbar:after{content:"";position:absolute;bottom:0;left:2.5rem;right:2.5rem;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}.nav-logo{display:flex;align-items:center;gap:.75rem}.nav-logo-line{width:28px;height:2px;background:var(--accent-gradient);border-radius:2px}.nav-logo-text{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;letter-spacing:.05em;color:#fff}.nav-links{display:flex;gap:2.5rem;align-items:center}.nav-link{font-family:var(--font-body);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);cursor:pointer;position:relative;padding:.3rem 0;transition:color var(--transition-fast)}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent-primary);transition:width var(--transition-smooth)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{width:100%}.nav-link--active{color:var(--accent-primary)}.nav-link--active:after{width:100%;background:var(--accent-primary)}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;z-index:1001;background:none;border:none}.nav-toggle-line{width:24px;height:1.5px;background:#fff;border-radius:2px;transition:all var(--transition-smooth)}.nav-toggle.open .nav-toggle-line:nth-child(1){transform:rotate(45deg) translate(4px,5px)}.nav-toggle.open .nav-toggle-line:nth-child(2){opacity:0}.nav-toggle.open .nav-toggle-line:nth-child(3){transform:rotate(-45deg) translate(4px,-5px)}.overview-bio{font-size:1.1rem;line-height:1.8;color:#ffffffa6;max-width:540px}.overview-bio strong{color:var(--accent-primary);font-weight:600}.section-divider{width:60px;height:1px;background:var(--accent-gradient);margin:1.5rem 0}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.section{padding:0 5vw}.navbar{padding:1rem 1.5rem}.nav-links{position:fixed;top:0;left:0;width:100%;height:100vh;background:#030303f7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity var(--transition-smooth)}.nav-links.open{opacity:1;pointer-events:auto}.nav-links.open .nav-link{font-size:1.2rem;letter-spacing:.2em}.nav-toggle{display:flex}.glass-card{padding:1.8rem 1.5rem}h1{font-size:clamp(2.5rem,12vw,4rem)}.hero-name{font-size:clamp(2.8rem,14vw,4.5rem)}.projects-grid{grid-template-columns:1fr}.stats-grid{gap:2rem}.stat-number{font-size:1.8rem}.skill-row{flex-direction:column;align-items:flex-start;gap:.3rem;padding:.9rem 0}.skill-items{text-align:left;font-size:.7rem}.hero-content{padding:2rem 1.5rem;max-width:100%}.scroll-indicator{bottom:2rem}.social-link{width:42px;height:42px}.cta-heading{font-size:clamp(1.8rem,6vw,2.5rem)}}@media(max-width:480px){.stats-grid{flex-wrap:wrap;gap:1.5rem}.stat-item{min-width:70px}.glass-card{padding:1.5rem 1.2rem;border-radius:var(--radius-md)}.project-card{padding:1.5rem 1.2rem}.navbar:after{left:1.5rem;right:1.5rem}}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem}.modal-content{background:#0c0c0cf2;border:1px solid var(--glass-border);border-radius:var(--radius-lg);max-width:680px;width:100%;max-height:85vh;overflow-y:auto;position:relative}.modal-content::-webkit-scrollbar{width:4px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.modal-close{position:absolute;top:1rem;right:1rem;z-index:10;width:36px;height:36px;border-radius:50%;background:#0009;border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-smooth)}.modal-close:hover{background:#e639464d;border-color:#e6394680}.modal-image-area{width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:relative}.modal-image{width:100%;height:100%;object-fit:contain;background:#0006}.modal-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#e6394614,#8b5cf60f,#06b6d40d);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem}.modal-placeholder-index{font-size:3.5rem;font-weight:700;font-family:Space Grotesk,sans-serif;background:linear-gradient(135deg,#e6394666,#8b5cf64d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-placeholder-label{font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff40}.modal-image-controls{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:100px;padding:.4rem 1rem}.modal-img-btn{background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;padding:.2rem;transition:color .2s}.modal-img-btn:hover{color:var(--accent-glow)}.modal-img-counter{font-family:JetBrains Mono,monospace;font-size:.7rem;color:#fff9;letter-spacing:.1em}.modal-info{padding:2rem 2.2rem 2.5rem}.modal-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.modal-index{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent-primary);letter-spacing:.1em;padding:.3rem .7rem;background:#e639461a;border-radius:100px;border:1px solid rgba(230,57,70,.2)}.modal-link-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#e639461a;border:1px solid rgba(230,57,70,.25);color:var(--accent-primary);text-decoration:none;flex-shrink:0;transition:all .2s ease}.modal-link-btn:hover{background:#e6394640;border-color:#e6394680;color:var(--accent-glow)}.modal-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:600;color:var(--text-primary);line-height:1.2}.modal-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.modal-details{font-size:.9rem;line-height:1.8;color:var(--text-secondary)}@media(max-width:480px){.modal-content{max-height:90vh}.modal-info{padding:1.5rem}}.tech-tag-more{background:#e639461f;border-color:#e6394640;color:var(--accent-primary);font-weight:600}.fullscreen-overlay{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem;touch-action:none}.fullscreen-close{position:absolute;top:1.5rem;right:1.5rem;z-index:10;width:48px;height:48px;border-radius:50%;background:#1e1e1ebf;border:1px solid rgba(255,255,255,.25);color:#ffffffd9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.fullscreen-close:hover{background:#e6394680;border-color:#e63946b3;color:#fff;box-shadow:0 0 16px #e639464d}.fullscreen-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px}.fullscreen-nav{position:absolute;top:50%;transform:translateY(-50%);background:#1e1e1ebf;border:1px solid rgba(255,255,255,.25);color:#ffffffd9;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.fullscreen-nav:hover{background:#e6394666;border-color:#e6394699;color:#fff;box-shadow:0 0 16px #e639464d}.fullscreen-nav-left{left:1.5rem}.fullscreen-nav-right{right:1.5rem}.fullscreen-counter{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:.75rem;color:#ffffff80;letter-spacing:.15em;background:#00000080;padding:.4rem 1rem;border-radius:100px}body.project-page-view,body:has(.project-page-layout){overflow-y:auto!important;overflow-x:hidden!important;height:auto!important;min-height:100%!important;-webkit-overflow-scrolling:touch}body.project-page-view #root,body:has(.project-page-layout) #root{height:auto!important;min-height:100%!important;overflow:visible!important}.project-page-layout{display:flex;min-height:100vh;min-height:100dvh;width:100%;background-color:var(--bg-deep);color:var(--text-primary);position:relative}@media(min-width:769px){.project-page-layout{height:100vh;overflow:hidden}}.project-sidebar{width:320px;background:#0a0a0ab3;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;flex-shrink:0;height:100vh;position:relative;z-index:10}.sidebar-header{padding:2rem;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-back-btn{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;transition:color var(--transition-fast)}.sidebar-back-btn:hover{color:var(--accent-primary)}.sidebar-content{padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;flex-grow:1}.sidebar-title{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);letter-spacing:.25em;text-transform:uppercase;margin-bottom:.8rem}.sidebar-project-list{display:flex;flex-direction:column;gap:.75rem}.sidebar-project-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border-radius:var(--radius-md);background:#ffffff04;border:1px solid rgba(255,255,255,.04);text-decoration:none;transition:all var(--transition-smooth)}.sidebar-item-info{display:flex;flex-direction:column;gap:.2rem;overflow:hidden;min-width:0}.sidebar-project-item .sidebar-item-index{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);transition:color var(--transition-smooth);flex-shrink:0}.sidebar-project-item .sidebar-item-title{font-family:var(--font-heading);font-size:.85rem;font-weight:500;color:var(--text-secondary);line-height:1.3;transition:color var(--transition-smooth);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-cat{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);letter-spacing:.04em;transition:color var(--transition-smooth);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-project-item:hover{background:#e639460a;border-color:#e6394633;transform:translate(4px)}.sidebar-project-item:hover .sidebar-item-title{color:#fff}.sidebar-project-item:hover .sidebar-item-index{color:var(--accent-glow)}.sidebar-project-item.active{background:#e639461a;border-color:#e6394673;box-shadow:0 4px 20px #e6394614}.sidebar-project-item.active .sidebar-item-index{color:var(--accent-primary);font-weight:600}.sidebar-project-item.active .sidebar-item-title{color:#fff;font-weight:600}.project-main-content{flex-grow:1;height:100vh;overflow-y:auto;position:relative;padding:3rem 4rem 5rem}.project-page-detail-wrapper{max-width:1100px;margin:0 auto;position:relative;z-index:2}.project-page-header{margin-bottom:2rem}.project-header-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem;margin-bottom:1.2rem}.project-page-index{font-family:var(--font-mono);font-size:.78rem;color:var(--accent-primary);letter-spacing:.15em;background:#e6394614;border:1px solid rgba(230,57,70,.2);padding:.35rem .9rem;border-radius:100px;display:inline-block;font-weight:600}.project-category-badge{font-family:var(--font-mono);font-size:.75rem;color:var(--accent-cyan);background:#00d4ff14;border:1px solid rgba(0,212,255,.2);padding:.35rem .9rem;border-radius:100px;letter-spacing:.05em}.project-status-badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.72rem;color:#10b981;background:#10b98114;border:1px solid rgba(16,185,129,.2);padding:.35rem .85rem;border-radius:100px}.status-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981;animation:pulse-dot 2s infinite ease-in-out}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.project-page-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;color:#fff;letter-spacing:-.02em}.project-summary-subtext{font-size:1.05rem;color:var(--text-secondary);line-height:1.6;margin-top:.8rem;max-width:850px}.project-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2.2rem}.metric-pill{padding:1.1rem 1.3rem;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.35rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);transition:all var(--transition-fast)}.metric-pill:hover{background:#ffffff0a;border-color:#e639464d;transform:translateY(-2px)}.metric-label{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.metric-value{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:#fff;letter-spacing:-.01em}.project-grid-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:start}.project-media-column{display:flex;flex-direction:column;gap:1.5rem}.project-featured-image-container{aspect-ratio:16 / 9;width:100%;overflow:hidden;position:relative;background:#0000004d;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);touch-action:pan-y}.project-featured-image{width:100%;height:100%;object-fit:contain;cursor:zoom-in;transition:transform var(--transition-smooth)}.project-featured-image:hover{transform:scale(1.015)}.image-nav-controls{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.2rem;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:100px;padding:.4rem 1.2rem;border:1px solid rgba(255,255,255,.08)}.nav-btn{background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;padding:.2rem;transition:color .2s}.nav-btn:hover{color:var(--accent-glow)}.nav-counter{font-family:var(--font-mono);font-size:.72rem;color:#ffffffa6;letter-spacing:.08em}.thumbnail-strip{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.thumbnail-item{width:80px;aspect-ratio:16 / 10;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2px solid transparent;background:#0006;flex-shrink:0;transition:all var(--transition-fast)}.thumbnail-item img{width:100%;height:100%;object-fit:cover;opacity:.5;transition:opacity .2s}.thumbnail-item:hover img,.thumbnail-item.active img{opacity:1}.thumbnail-item.active{border-color:var(--accent-primary);box-shadow:0 0 12px #e6394659}.project-details-column{display:flex;flex-direction:column;gap:2rem}.project-details-card{padding:3rem;border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--glass-border)}.project-tags-flex{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.project-long-desc{font-size:.95rem;line-height:1.85;color:var(--text-secondary);margin-top:1rem;max-width:100%}.project-actions-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.btn-github-action{display:inline-flex;align-items:center;gap:.75rem;padding:.8rem 1.3rem;border-radius:var(--radius-md);background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#fff;font-family:var(--font-heading);font-size:.88rem;font-weight:500;text-decoration:none;transition:all var(--transition-smooth)}.btn-github-action:hover{background:#ffffff1a;border-color:#e6394666;transform:translateY(-2px);box-shadow:0 4px 20px #0006}.project-external-link{display:inline-flex;align-items:center;gap:.8rem}.project-features-list{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-direction:column;gap:.9rem}.project-feature-item{display:flex;align-items:flex-start;gap:.85rem;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.feature-check-icon{color:var(--accent-glow);flex-shrink:0;margin-top:.2rem}.project-bottom-nav{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:4rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.06)}.nav-card{padding:1.6rem 2rem;text-decoration:none;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.5rem;transition:all var(--transition-smooth)}.nav-card:hover{background:#e639460a;border-color:#e639464d;transform:translateY(-3px);box-shadow:0 8px 30px #e639461a}.nav-card-sub{display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase}.next-card .nav-card-sub{justify-content:flex-end}.nav-card-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.next-card{text-align:right}.glow-orb{position:absolute;width:450px;height:450px;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:1}@media(max-width:1024px){.project-grid-cols{grid-template-columns:1fr;gap:2.5rem}}@media(max-width:768px){html,body{overflow-x:hidden!important}body.project-page-view,body:has(.project-page-layout){overflow-y:auto!important;overflow-x:hidden!important;height:auto!important;min-height:100%!important;position:static!important;-webkit-overflow-scrolling:touch}body.project-page-view #root,body:has(.project-page-layout) #root{height:auto!important;min-height:100%!important;overflow-y:visible!important;overflow-x:hidden!important;position:static!important}.project-page-layout{flex-direction:column!important;height:auto!important;min-height:100vh!important;min-height:100dvh!important;overflow-y:visible!important;overflow-x:hidden!important;width:100%!important;position:relative;-webkit-overflow-scrolling:touch}.project-sidebar{width:100%!important;height:auto!important;border-right:none;border-bottom:1px solid var(--glass-border);flex-shrink:0}.sidebar-header{padding:1.25rem 1.25rem .75rem}.sidebar-content{padding:.5rem 1.25rem 1.25rem;overflow-y:visible}.sidebar-project-list{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.6rem;gap:.75rem;scrollbar-width:none}.sidebar-project-list::-webkit-scrollbar{display:none}.sidebar-project-item{flex-shrink:0;max-width:240px;padding:.75rem .9rem}.project-main-content{padding:1.75rem 1.2rem 5rem!important;height:auto!important;overflow-y:visible!important;overflow-x:hidden!important;width:100%!important}.project-details-card{padding:2rem 1.25rem}.project-bottom-nav{grid-template-columns:1fr;gap:1rem;margin-top:2.5rem}.next-card{text-align:left}.next-card .nav-card-sub{justify-content:flex-start}}
