body::after,body::before{content:"";position:fixed;pointer-events:none}body,html{margin:0;overflow-x:hidden}.description-ghost,.description-typing{grid-area:1/1;white-space:normal}.btn,h1{text-align:center;text-transform:uppercase}.btn:hover,.gallery-item:hover{box-shadow:0 10px 25px var(--primary-glow)}.btn,.nav-item{text-decoration:none}.btn,.nav-meta,h1,h2{text-transform:uppercase}:root{--bg-gradient:linear-gradient(135deg, #0f0c29, #1e1b41, #161630);--text:#e0f7ff;--text-muted:#a0a0c0;--primary:#40c4ff;--primary-glow:rgba(64, 196, 255, 0.35);--accent:#a78bfa;--card:rgba(30, 30, 60, 0.75);--border:rgba(167, 139, 250, 0.22);--shadow:0 12px 48px rgba(0, 0, 0, 0.5);--scrollbar-bg:#0f0c29;--scrollbar-thumb:#1e1b41;--scrollbar-hover:#5967ff;--item-bg-muted:rgba(64, 196, 255, 0.07);--item-bg-hover:rgba(64, 196, 255, 0.18);--white:#ffffff;--black:#000000;--grid-color:rgba(64, 196, 255, 0.12);--grid-size:50px;--glass-blur:12px;--scanline:rgba(64, 196, 255, 0.015);--bg-main:#020205;--grid-main:rgba(64, 196, 255, 0.3);--grid-sub:rgba(64, 196, 255, 0.08);--glow-core:rgba(64, 196, 255, 0.1);--vignette:radial-gradient(circle at 50% 40%, transparent 20%, rgba(0,0,0,1) 90%);--flare:rgba(255, 255, 255, 0.03);--grain:url("https://grainy-gradients.vercel.app/noise.svg")}.light-theme{--bg-gradient:linear-gradient(135deg, #f0f4f8, #e2e8f0, #d1d9e6);--card:rgba(255, 255, 255, 0.9);--border:rgba(0, 86, 179, 0.15);--shadow:0 12px 48px rgba(0, 0, 0, 0.08);--text:#1e293b;--text-muted:#334155;--primary:#0056b3;--primary-glow:rgba(0, 86, 179, 0.15);--accent:#553c9a;--scrollbar-bg:#f1f5f9;--scrollbar-thumb:#cbd5e0;--scrollbar-hover:#0056b3;--item-bg-muted:rgba(0, 86, 179, 0.08);--item-bg-hover:rgba(0, 86, 179, 0.12);--grid-color:rgba(0, 74, 153, 0.05);--glass-edge:rgba(0, 0, 0, 0.05);--scanline:rgba(0, 0, 0, 0.01);--bg-main:#f0f4f8;--grid-main:rgba(0, 74, 153, 0.12);--grid-sub:rgba(0, 74, 153, 0.04);--glow-core:rgba(0, 74, 153, 0.05);--vignette:radial-gradient(circle at 50% 40%, transparent 40%, rgba(226, 232, 240, 0.8) 100%);--flare:rgba(0, 74, 153, 0.01)}body,html{width:100%;padding:0;scroll-behavior:smooth;scroll-padding-top:110px}body::before{inset:-20% -20%;width:140vw;height:140vh;background-image:linear-gradient(var(--grid-main) 1px,transparent 1px),linear-gradient(90deg,var(--grid-main) 1px,transparent 1px),linear-gradient(var(--grid-sub) 1px,transparent 1px),linear-gradient(90deg,var(--grid-sub) 1px,transparent 1px);background-size:200px 200px,200px 200px,40px 40px,40px 40px;background-position:center center;transform:perspective(1200px) rotateX(65deg) translate(var(--parallax-x,0),var(--parallax-y,0));transform-origin:center center;z-index:-2;mask-image:radial-gradient(ellipse at center,black 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 10%,transparent 75%);transition:background-image .5s}@keyframes grid-pulse{0%,100%{opacity:.6;transform:perspective(800px) rotateX(55deg) translateY(0)}50%{opacity:.9;transform:perspective(800px) rotateX(58deg) translateY(-10px)}}body::after{inset:0;background:linear-gradient(90deg,transparent 40%,var(--flare) 50%,transparent 60%),url("https://grainy-gradients.vercel.app/noise.svg"),var(--vignette);background-blend-mode:soft-light,overlay,normal;background-size:200% 100%,auto,100% 100%;opacity:.6;z-index:-1;animation:20s linear infinite flare-sweep}@keyframes flare-sweep{from{background-position:200% 0,0 0,0 0}to{background-position:-200% 0,0 0,0 0}}body{min-height:100vh;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),var(--primary-glow) 0,transparent 35%),var(--bg-gradient);background-attachment:fixed;color:var(--text);transition:background .5s;font-family:Tektur,sans-serif}h1,h2{color:var(--accent)}.light-theme body{background:var(--bg-gradient)!important;background-attachment:fixed}.sidebar-theme-toggle{margin:1em auto 0}.light-theme body::before{opacity:.15;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse at center,black 30%,transparent 90%)}.light-theme body::after{opacity:.25;background:linear-gradient(90deg,transparent 40%,rgba(255,255,255,.2) 50%,transparent 60%),url("https://grainy-gradients.vercel.app/noise.svg"),radial-gradient(circle at 50% 40%,transparent 60%,rgba(255,255,255,.5) 100%);background-blend-mode:overlay}.light-theme .hero-container{background-color:transparent}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px;border:3px solid var(--scrollbar-bg)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.container{width:90%;max-width:1400px;margin:0 auto;padding:clamp(40px,5vw,80px) 0}h1{font-size:clamp(1.8rem, 4.5vw, 4rem);margin-bottom:clamp(2rem,4vw,3.5rem);letter-spacing:2px}.video-wrapper{width:100%;border-radius:clamp(12px,2vw,24px);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);margin-bottom:clamp(1.5rem,3vw,3rem);background:var(--black)}.details-card,.gallery-grid{margin-bottom:clamp(2rem,4vw,4rem)}video{width:100%;display:block}.gallery-grid{display:grid;gap:clamp(1rem,2vw,2rem);grid-template-columns:repeat(2,1fr)}.gallery-item{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--item-bg-muted);border:2px solid var(--border);transition:.3s}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover{border-color:var(--primary);transform:translateY(-5px)}.gallery-item:hover img{transform:scale(1.05)}.details-card{background:var(--card);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:24px;padding:clamp(1.5rem,4vw,4rem);box-shadow:var(--shadow)}.btn,.tech-box{border-radius:12px}h2{font-size:clamp(1.2rem, 2vw, 2rem);margin-top:0;margin-bottom:1.5rem}.description{margin-top:-2em;font-size:clamp(.95rem, 1.2vw, 1.25rem);line-height:1.8;color:var(--text-muted);margin-bottom:2rem;display:inline-grid;grid-template-columns:100%;grid-template-rows:1fr;position:relative}.description-ghost{visibility:hidden;pointer-events:none}.description-cursor::after{content:'|';animation:.8s infinite blink;color:var(--accent);display:inline-block;width:0;vertical-align:middle}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.tech-box{background:var(--item-bg-muted);padding:clamp(1rem,1.5vw,2rem);border-left:4px solid var(--accent);transition:.3s}.tech-box:hover{background:var(--item-bg-hover);transform:translateX(5px)}.tech-box b{color:var(--primary);display:block;font-size:1rem;margin-bottom:4px}.tech-box span{color:var(--primary);font-size:.85rem;opacity:.9}.action-bar{display:flex;justify-content:center;gap:20px;margin-top:clamp(30px,5vw,60px)}.btn{padding:18px 36px;font-weight:800;font-size:clamp(.8rem, 1vw, 1rem);transition:.4s cubic-bezier(.175, .885, .32, 1.275);flex:1;max-width:300px}.btn-live{background:linear-gradient(135deg,var(--btn-grad-start),var(--btn-grad-end));color:var(--white);box-shadow:0 4px 15px var(--primary-glow)}.btn-code,.nav-meta{color:var(--accent)}.btn-code{border:2px solid var(--accent)}.btn:hover{transform:scale(1.05);filter:brightness(1.1)}.pagination-section{width:100%;padding:clamp(100px,10vw,180px) 0;border-top:1px solid var(--border)}.nav-container{max-width:1400px;margin:0 auto;padding:0 5vw}.project-navigation{display:flex;justify-content:space-between;align-items:center}.nav-item{flex:1;display:flex;flex-direction:column}.nav-item.prev{align-items:flex-start}.nav-item.next{align-items:flex-end}.nav-meta{font-family:Tektur,sans-serif;font-size:clamp(.7rem, .8vw, .85rem);letter-spacing:.25em;font-weight:600;margin-bottom:1.5rem;display:inline-block;animation:2.5s ease-in-out infinite heartbeat;transform-origin:left;transition:color .3s}.nav-item.next .nav-meta{transform-origin:right;text-align:right;display:block}.nav-item:hover .nav-meta{animation-duration:1.2s}@keyframes heartbeat{0%,28%,70%{transform:scale(1);opacity:.7;filter:brightness(1)}14%,42%{transform:scale(1.05);opacity:1;filter:brightness(1.2)}}.nav-link-wrapper{display:flex;align-items:center;gap:clamp(15px,2vw,30px)}.nav-project-title{font-size:clamp(1.8rem, 3.5vw, 4rem);font-weight:600;margin:0;color:var(--nav-link);line-height:1.1;transition:color .4s}.nav-arrow,.nav-item:hover .nav-project-title{color:var(--primary)}.nav-arrow{font-size:clamp(1.5rem, 2vw, 2.5rem);opacity:0;transition:.4s}.nav-item.prev:hover .nav-arrow{opacity:1;transform:translateX(-15px)}.nav-item.next:hover .nav-arrow{opacity:1;transform:translateX(15px)}.nav-divider{width:1px;height:clamp(60px,8vw,120px);background:var(--border);margin:0 clamp(30px,6vw,100px)}@media (max-width:820px){.nav-project-title{color:var(--primary)}}@media (min-width:1100px){.gallery-grid,.tech-grid{grid-template-columns:repeat(4,1fr)}.footer-container{gap:6rem}.links{gap:3rem 4rem}}@media (max-width:767px){.pagination-section{padding:60px 0;border-top:1px solid var(--border)}.project-navigation{display:grid;grid-template-columns:1fr 1px 1fr;align-items:start;gap:15px}.nav-item{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none}.nav-meta{font-size:.65rem;letter-spacing:.2em;color:var(--text-muted);margin-bottom:8px}.nav-item:active .nav-project-title,.nav-project-title{color:var(--primary)}.nav-project-title{font-size:1rem;font-weight:600;margin:0 0 12px;line-height:1.3;min-height:2.6em}.nav-arrow{font-size:1.5rem;color:var(--accent);opacity:1;transition:transform .3s}.nav-divider{display:block;width:1px;height:80px;margin:0 auto;background:var(--border);align-self:center}.left,.links{text-align:left}.footer-container{grid-template-columns:1fr 3fr;gap:4rem;align-items:start}.left{align-items:flex-start}.social-links,.tech-icons{justify-content:flex-start}.links{grid-template-columns:repeat(4,1fr)}}