@import url(https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Instrument+Sans:wght@400;500;600;700&display=swap);:root{--color-bg-deep:#0a0a0b;--color-bg:#101012;--color-bg-elevated:#18181b;--color-bg-card:#1c1c1f;--color-surface:#222225;--color-text:#f4f4f5;--color-text-secondary:#a1a1aa;--color-text-muted:#71717a;--color-text-dim:#52525b;--color-accent:#d4915e;--color-accent-bright:#e8a876;--color-accent-dim:#b87a4a;--color-accent-glow:#d4915e26;--color-accent-subtle:#d4915e14;--color-cyan:#67e8f9;--color-cyan-dim:#22d3ee;--color-green:#4ade80;--color-red:#f87171;--color-border:#27272a;--color-border-subtle:#1f1f22;--color-border-accent:#d4915e4d;--font-display:"Instrument Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Instrument Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"Space Mono","SF Mono","Monaco",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 6px -1px #00000080,0 2px 4px -2px #00000080;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080;--shadow-glow:0 0 40px #d4915e26;--shadow-glow-intense:0 0 60px #d4915e40;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--transition-slower:500ms cubic-bezier(0.4,0,0.2,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-out-back:cubic-bezier(0.34,1.56,0.64,1);--ease-in-out-circ:cubic-bezier(0.85,0,0.15,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:scroll;scroll-behavior:smooth;text-rendering:optimizeLegibility}body{background-color:#101012;background-color:var(--color-bg);color:#f4f4f5;color:var(--color-text);font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--text-base);line-height:1.6;min-height:100vh;overflow-x:hidden}::selection{background:#d4915e;background:var(--color-accent);color:#0a0a0b;color:var(--color-bg-deep)}:focus-visible{outline:2px solid #d4915e;outline:2px solid var(--color-accent);outline-offset:2px}h1,h2,h3,h4,h5,h6{color:#f4f4f5;color:var(--color-text);font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.2}p{color:#a1a1aa;color:var(--color-text-secondary);line-height:1.7}a{color:#d4915e;color:var(--color-accent);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#e8a876;color:var(--color-accent-bright)}code{background:#18181b;background:var(--color-bg-elevated);border-radius:4px;border-radius:var(--radius-sm);font-family:Space Mono,SF Mono,Monaco,monospace;font-family:var(--font-mono);font-size:.9em;padding:.2em .4em}.page-container{margin:0 auto;max-width:1400px;padding:0 24px;padding:0 var(--space-6)}@media (min-width:768px){.page-container{padding:0 48px;padding:0 var(--space-12)}}@media (min-width:1024px){.page-container{padding:0 64px;padding:0 var(--space-16)}}.bracket-decoration{position:relative}.bracket-decoration:after,.bracket-decoration:before{border-color:#d4915e4d;border-color:var(--color-border-accent);border-style:solid;content:"";height:20px;opacity:.6;position:absolute;width:20px}.bracket-decoration:before{border-width:2px 0 0 2px;left:0;top:0}.bracket-decoration:after{border-width:0 2px 2px 0;bottom:0;right:0}.grid-pattern{background-image:linear-gradient(#1f1f22 1px,#0000 0),linear-gradient(90deg,#1f1f22 1px,#0000 0);background-image:linear-gradient(var(--color-border-subtle) 1px,#0000 1px),linear-gradient(90deg,var(--color-border-subtle) 1px,#0000 1px);background-size:40px 40px}.noise-overlay:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");content:"";inset:0;mix-blend-mode:overlay;opacity:.03;pointer-events:none;position:absolute}.section-heading{align-items:center;display:flex;gap:16px;gap:var(--space-4);margin-bottom:40px;margin-bottom:var(--space-10)}.section-heading:before{background:linear-gradient(90deg,#d4915e,#0000);background:linear-gradient(90deg,var(--color-accent) 0,#0000 100%);content:"";height:2px;width:40px}.section-heading h2{color:#d4915e;color:var(--color-accent);font-size:.875rem;font-size:var(--text-sm);font-weight:400;letter-spacing:.15em}.mono-label,.section-heading h2{font-family:Space Mono,SF Mono,Monaco,monospace;font-family:var(--font-mono);text-transform:uppercase}.mono-label{color:#71717a;color:var(--color-text-muted);font-size:.75rem;font-size:var(--text-xs);letter-spacing:.1em}.btn{border-radius:8px;font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem;gap:8px;padding:12px 24px;padding:var(--space-3) var(--space-6);transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary{background:#d4915e;color:#0a0a0b}.btn-primary:hover{background:#e8a876;box-shadow:0 0 40px #d4915e26}.btn-secondary{border:1px solid #27272a;color:#f4f4f5}.btn-secondary:hover{background:#d4915e14;border-color:#d4915e;color:#d4915e}.btn-ghost{color:#a1a1aa;padding:8px 16px;padding:var(--space-2) var(--space-4)}.btn-ghost:hover{color:#d4915e}.card{background:#1c1c1f;border:1px solid #27272a;border-radius:12px;padding:24px;transition:all .2s cubic-bezier(.4,0,.2,1)}.card:hover{border-color:#d4915e4d;box-shadow:0 10px 15px -3px #00000080,0 4px 6px -4px #00000080}.card-elevated{background:#18181b;background:var(--color-bg-elevated);box-shadow:0 4px 6px -1px #00000080,0 2px 4px -2px #00000080;box-shadow:var(--shadow-md)}.tag{background:#18181b;border:1px solid #27272a;color:#a1a1aa;font-family:Space Mono,SF Mono,Monaco,monospace;font-size:.75rem;padding:4px 12px}.tag-accent{background:#d4915e14;background:var(--color-accent-subtle);border-color:#d4915e4d;border-color:var(--color-border-accent);color:#d4915e;color:var(--color-accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.stagger-reveal>*{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards;animation:fadeInUp .6s var(--ease-out-expo) backwards}.stagger-reveal>:first-child{animation-delay:.1s}.stagger-reveal>:nth-child(2){animation-delay:.2s}.stagger-reveal>:nth-child(3){animation-delay:.3s}.stagger-reveal>:nth-child(4){animation-delay:.4s}.stagger-reveal>:nth-child(5){animation-delay:.5s}.stagger-reveal>:nth-child(6){animation-delay:.6s}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0a0a0b;background:var(--color-bg-deep)}::-webkit-scrollbar-thumb{background:#27272a;background:var(--color-border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#52525b;background:var(--color-text-dim)}*{scrollbar-color:#27272a #0a0a0b;scrollbar-color:var(--color-border) var(--color-bg-deep);scrollbar-width:thin}@media (max-width:768px){:root{--text-6xl:2.5rem;--text-7xl:3rem}}@media (max-width:480px){:root{--text-5xl:2rem;--text-6xl:2.25rem;--text-7xl:2.5rem}}.App{background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;font-family:var(--font-body);min-height:100vh}.App-main{display:flex;flex:1 1;flex-direction:column}.App h1{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 var(--space-6) 0}.App h2{font-size:var(--text-4xl);letter-spacing:-.02em;line-height:1.2;margin:0 0 var(--space-5) 0}.App h2,.App h3{color:var(--color-text);font-family:var(--font-display);font-weight:600}.App h3{font-size:var(--text-2xl);letter-spacing:-.01em;line-height:1.3;margin:0 0 var(--space-4) 0}.App h4{font-size:var(--text-xl);line-height:1.4;margin:0 0 var(--space-3) 0}.App h4,.App h5{color:var(--color-text);font-family:var(--font-display);font-weight:600}.App h5{font-size:var(--text-lg);line-height:1.5;margin:0 0 var(--space-2) 0}.App p{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.7;margin:0 0 var(--space-4) 0}.App small{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.container{margin:0 auto;max-width:1400px;padding:0 var(--space-6)}@media (min-width:768px){.container{padding:0 var(--space-12)}}@media (min-width:1024px){.container{padding:0 var(--space-16)}}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:var(--space-2);justify-content:center;letter-spacing:.02em;line-height:1;padding:var(--space-3) var(--space-5);text-decoration:none;transition:all var(--transition-base)}.btn-primary{background:var(--color-accent);color:var(--color-bg-deep)}.btn-primary:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-secondary{background:#0000;border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.btn-ghost{background:#0000;color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-accent)}.btn-danger{background:var(--color-red);color:#fff}.btn-danger:hover{filter:brightness(1.1);transform:translateY(-2px)}.btn-success{background:var(--color-green);color:var(--color-bg-deep)}.btn-success:hover{filter:brightness(1.1);transform:translateY(-2px)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.badge{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;padding:var(--space-1) var(--space-3)}.badge-accent{background:var(--color-accent-subtle);border-color:var(--color-border-accent);color:var(--color-accent)}@media (max-width:768px){.App h1{font-size:var(--text-4xl)}.App h2{font-size:var(--text-3xl)}.App h3{font-size:var(--text-xl)}}@media (max-width:480px){.App h1{font-size:var(--text-3xl)}.App h2{font-size:var(--text-2xl)}}.header{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#0a0a0bd9;border-bottom:1px solid var(--color-border);height:72px;position:-webkit-sticky;position:sticky;top:0;transition:all var(--transition-base);z-index:1000}.header.scrolled{background:#0a0a0bf2;box-shadow:0 4px 30px #0000004d}.header-content{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 var(--space-6)}@media (min-width:768px){.header-content{padding:0 var(--space-12)}}@media (min-width:1024px){.header-content{padding:0 var(--space-16)}}.header .site-title{color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;letter-spacing:.05em;padding:var(--space-2) 0;position:relative;text-decoration:none;transition:color var(--transition-base)}.header .site-title:before{color:var(--color-accent);content:"//";margin-right:var(--space-1);opacity:.7}.header .site-title:hover{color:var(--color-accent)}.header .nav-list,.header-navigation{align-items:center;display:flex}.header .nav-list{gap:var(--space-2);list-style:none;margin:0;padding:0}.header .nav-item{margin:0}.header .nav-link{align-items:center;border-radius:var(--radius-md);color:var(--color-text-secondary);display:flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.02em;padding:var(--space-2) var(--space-4);position:relative;text-decoration:none;transition:all var(--transition-base)}.header .nav-link:before{background:var(--color-accent-subtle);border-radius:var(--radius-md);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-base)}.header .nav-link:hover{color:var(--color-text)}.header .nav-link:hover:before{opacity:1}.header .nav-link.active{color:var(--color-accent)}.header .nav-link.active:after{background:var(--color-accent);border-radius:1px;bottom:4px;content:"";height:2px;left:var(--space-4);position:absolute;right:var(--space-4)}.mobile-menu-button{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:none;flex-direction:column;height:40px;justify-content:center;padding:0;transition:all var(--transition-base);width:40px;z-index:101}.mobile-menu-button:hover{background:var(--color-accent-subtle);border-color:var(--color-accent)}.hamburger-line{background-color:var(--color-text);border-radius:1px;height:2px;margin:2px 0;transition:all var(--transition-base);width:18px}.hamburger-line.open:first-child{background-color:var(--color-accent);transform:rotate(45deg) translate(4px,4px)}.hamburger-line.open:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-line.open:nth-child(3){background-color:var(--color-accent);transform:rotate(-45deg) translate(4px,-4px)}.mobile-navigation{display:none}@media (max-width:768px){.mobile-navigation{background:#0a0a0b;bottom:0;display:flex;flex-direction:column;height:calc(100vh - 72px);height:calc(100dvh - 72px);left:0;overflow-y:auto;padding:var(--space-6);pointer-events:none;position:fixed;right:0;top:72px;transform:translateX(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);z-index:999}.mobile-navigation.open{pointer-events:auto;transform:translateX(0)}}.mobile-nav-list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:0;padding:var(--space-4) 0}.mobile-nav-item{animation:slideInLeft .4s var(--ease-out-expo) backwards;margin:0}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.mobile-nav-item:first-child{animation-delay:.05s}.mobile-nav-item:nth-child(2){animation-delay:.1s}.mobile-nav-item:nth-child(3){animation-delay:.15s}.mobile-nav-item:nth-child(4){animation-delay:.2s}.mobile-nav-item:nth-child(5){animation-delay:.25s}.mobile-nav-link{align-items:center;border:1px solid #0000;border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;font-family:var(--font-body);font-size:var(--text-2xl);font-weight:500;gap:var(--space-4);padding:var(--space-6) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.mobile-nav-link:before{background:var(--color-text-dim);border-radius:50%;content:"";height:4px;transition:all var(--transition-base);width:4px}.mobile-nav-link:hover{background:var(--color-bg-elevated);border-color:var(--color-border);color:var(--color-text)}.mobile-nav-link:hover:before{background:var(--color-accent);box-shadow:0 0 8px var(--color-accent)}.mobile-nav-link.active{background:var(--color-accent-subtle);border-color:var(--color-border-accent);color:var(--color-accent)}.mobile-nav-link.active:before{background:var(--color-accent);box-shadow:0 0 8px var(--color-accent)}@media (max-width:768px){.header .site-title{font-size:var(--text-lg)}.header .nav-list{display:none}.mobile-menu-button{display:flex}}@media (max-width:480px){.header-content{padding:0 var(--space-4)}.header .site-title{font-size:var(--text-base)}.mobile-nav-link{font-size:var(--text-xl);padding:var(--space-5) var(--space-5)}}.footer{background:var(--color-bg-deep);border-top:1px solid var(--color-border);margin-top:auto;padding:var(--space-12) var(--space-6)}@media (min-width:768px){.footer{padding:var(--space-16) var(--space-12)}}@media (min-width:1024px){.footer{padding:var(--space-16)}}.footer-content{align-items:center;display:flex;flex-direction:column;gap:var(--space-6);margin:0 auto;max-width:1400px}.copyright{color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;margin:0;text-align:center}.social-links{align-items:center;display:flex;gap:var(--space-6);justify-content:center}.social-link{border-radius:var(--radius-md);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-3);position:relative;text-decoration:none;transition:all var(--transition-base)}.social-link:before{background:var(--color-accent-subtle);border-radius:var(--radius-md);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-base)}.social-link:hover{color:var(--color-accent)}.social-link:hover:before{opacity:1}@media (max-width:480px){.footer{padding:var(--space-8) var(--space-4)}.footer-content{gap:var(--space-5)}.social-links{gap:var(--space-4)}.social-link{font-size:var(--text-xs)}}.hero-section,.home-container{min-height:100vh}.hero-section{align-items:center;background:var(--color-bg-deep);display:flex;overflow:hidden;padding:var(--space-24) var(--space-6);position:relative}@media (min-width:768px){.hero-section{padding:var(--space-24) var(--space-12)}}@media (min-width:1024px){.hero-section{padding:var(--space-24) var(--space-16)}}.hero-section:before{background-image:linear-gradient(var(--color-border-subtle) 1px,#0000 1px),linear-gradient(90deg,var(--color-border-subtle) 1px,#0000 1px);background-size:60px 60px;content:"";inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 20%,#0000 70%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 20%,#0000 70%);opacity:.5;position:absolute}.hero-section:after{background:radial-gradient(circle,var(--color-accent-glow) 0,#0000 70%);content:"";filter:blur(100px);height:50%;pointer-events:none;position:absolute;right:10%;top:20%;width:50%}.hero-robot-container{height:400px;opacity:.7;pointer-events:none;position:absolute;right:20%;top:50%;transform:translateY(-50%);width:320px;z-index:1}@media (min-width:1200px){.hero-robot-container{height:480px;opacity:.8;right:24%;width:380px}}@media (min-width:1400px){.hero-robot-container{height:520px;right:26%;width:420px}}.robot-wireframe{animation:robotFloat 6s ease-in-out infinite;height:100%;position:relative;width:100%}@keyframes robotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.robot-head{height:50%;left:50%;position:absolute;top:8%;transform:translateX(-50%);width:65%}.robot-head-top{background:linear-gradient(180deg,#d4915e0d,#0000);border:2px solid var(--color-accent);border-radius:30% 30% 10% 10%/40% 40% 10% 10%;height:70%;left:10%;opacity:.7;position:absolute;right:10%;top:0}.robot-head-top:before{border:1px dashed var(--color-border-accent);border-radius:20% 20% 5% 5%/30% 30% 5% 5%;content:"";height:50%;left:5%;opacity:.4;position:absolute;right:5%;top:10%}.robot-head-side{border:1px solid var(--color-border-accent);height:55%;opacity:.5;position:absolute;top:15%;width:15%}.robot-head-left{border-radius:5px 0 0 5px;left:0;transform:perspective(100px) rotateY(15deg)}.robot-head-right{border-radius:0 5px 5px 0;right:0;transform:perspective(100px) rotateY(-15deg)}.robot-eyes{display:flex;justify-content:space-between;left:50%;position:absolute;top:22%;transform:translateX(-50%);width:50%}.robot-eye{background:#d4915e1a;border:2px solid var(--color-accent);border-radius:50%;height:20px;position:relative;width:35px}@media (min-width:1200px){.robot-eye{height:24px;width:42px}}.eye-glow{animation:eyePulse 2s ease-in-out infinite;background:var(--color-accent);border-radius:50%;box-shadow:0 0 10px var(--color-accent),0 0 20px var(--color-accent-glow),0 0 30px var(--color-accent-glow);height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}@keyframes eyePulse{0%,to{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}.robot-antenna{left:50%;position:absolute;top:0;transform:translateX(-50%)}.antenna-base{background:linear-gradient(to top,var(--color-accent) 0,#0000 100%);height:25px;margin:0 auto;width:4px}.antenna-tip{animation:antennaBlink 3s ease-in-out infinite;background:var(--color-accent);border-radius:50%;box-shadow:0 0 15px var(--color-accent),0 0 30px var(--color-accent-glow);height:12px;margin:-2px auto 0;width:12px}@keyframes antennaBlink{0%,90%,to{opacity:1}95%{opacity:.3}}.robot-jaw{height:15%;left:50%;position:absolute;top:45%;transform:translateX(-50%);width:40%}.jaw-line{background:linear-gradient(90deg,#0000 0,var(--color-border-accent) 20%,var(--color-border-accent) 80%,#0000 100%);height:2px;left:10%;opacity:.6;position:absolute;right:10%}.jaw-line-1{top:20%}.jaw-line-2{left:15%;opacity:.4;right:15%;top:50%;width:70%}.jaw-line-3{left:25%;opacity:.3;right:25%;top:80%;width:50%}.circuit-lines{inset:0;pointer-events:none;position:absolute}.circuit{background:var(--color-accent);opacity:.3;position:absolute}.circuit-1{animation:circuitPulse 4s ease-in-out infinite;left:15%}.circuit-1,.circuit-2{background:linear-gradient(to bottom,var(--color-accent) 0,#0000 100%);height:25%;top:60%;width:2px}.circuit-2{animation:circuitPulse 4s ease-in-out 1s infinite;right:15%}.circuit-3{left:25%;top:75%;width:50%}.circuit-3,.circuit-4{background:linear-gradient(90deg,#0000 0,var(--color-accent) 50%,#0000 100%);height:1px}.circuit-4{left:30%;opacity:.2;top:85%;width:40%}@keyframes circuitPulse{0%,to{opacity:.3}50%{opacity:.6}}.data-nodes .node{background:var(--color-accent);border-radius:50%;height:6px;opacity:.6;position:absolute;width:6px}.node-1{animation:nodePulse 3s ease-in-out infinite;left:14%;top:60%}.node-2{animation:nodePulse 3s ease-in-out .5s infinite;right:14%;top:60%}.node-3{animation:nodePulse 3s ease-in-out 1s infinite;left:24%;top:75%}.node-4{animation:nodePulse 3s ease-in-out 1.5s infinite;right:24%;top:75%}@keyframes nodePulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}}.robot-particles{inset:0;overflow:hidden;position:absolute}.robot-particles span{animation:particleFloat 8s linear infinite;background:var(--color-accent);border-radius:50%;height:4px;opacity:0;position:absolute;width:4px}.robot-particles span:first-child{animation-delay:0s;left:20%}.robot-particles span:nth-child(2){animation-delay:1.5s;left:40%}.robot-particles span:nth-child(3){animation-delay:3s;left:60%}.robot-particles span:nth-child(4){animation-delay:4.5s;left:80%}.robot-particles span:nth-child(5){animation-delay:6s;left:30%}.robot-particles span:nth-child(6){animation-delay:7s;left:70%}@keyframes particleFloat{0%{bottom:-10%;opacity:0;transform:translateX(0)}10%{opacity:.6}90%{opacity:.6}to{bottom:110%;opacity:0;transform:translateX(20px)}}.hero-portrait{animation:fadeIn 1s ease-out .5s forwards;height:130px;margin-bottom:var(--space-6);opacity:0;position:relative;width:130px;z-index:2}@media (min-width:768px){.hero-portrait{height:220px;margin-bottom:0;position:absolute;right:10%;top:50%;transform:translateY(-45%) translateX(50%);width:220px}}@media (min-width:1200px){.hero-portrait{height:260px;right:12%;width:260px}}@media (min-width:1400px){.hero-portrait{right:13%}}.hero-portrait img{border-radius:12px;height:100%;object-fit:cover;transition:all var(--transition-slow);width:100%}.hero-portrait:hover img{transform:scale(1.02)}.portrait-frame{border:1px solid var(--color-border-accent);border-radius:16px;inset:-8px;opacity:.6;pointer-events:none;position:absolute}.portrait-frame:before{content:"";height:8px;left:20%;right:20%;top:-4px}.portrait-frame:after,.portrait-frame:before{background:var(--color-bg-deep);position:absolute}.portrait-frame:after{color:var(--color-accent);content:"ENGINEER";font-family:var(--font-mono);font-size:8px;left:50%;letter-spacing:.2em;padding:0 8px;top:-6px;transform:translateX(-50%)}.hero-content{margin:0 auto;max-width:1400px;position:relative;width:100%;z-index:2}.hero-text{animation:fadeInUp 1s var(--ease-out-expo);max-width:700px}.hero-text:before{animation:fadeIn .6s .3s var(--ease-out-expo) forwards;color:var(--color-accent);content:"// ROBOTICS ENGINEER";display:block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.2em;margin-bottom:var(--space-4);opacity:0}.hero-text h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-text) 0,var(--color-text-secondary) 100%);-webkit-background-clip:text;background-clip:text;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-7xl);font-weight:700;letter-spacing:-.04em;line-height:1;margin:0 0 var(--space-4) 0}.hero-text h2{color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--text-2xl);font-weight:400;line-height:1.4;margin:0 0 var(--space-6) 0}.hero-text h2:before{color:var(--color-accent);content:"—";margin-right:var(--space-3)}.hero-text p{color:var(--color-text-muted);font-size:var(--text-lg);line-height:1.7;margin:0 0 var(--space-8) 0;max-width:500px}.hero-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.hero-buttons .primary-button{align-items:center;background:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-4) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.hero-buttons .primary-button:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.hero-buttons .primary-button:after{content:"→";transition:transform var(--transition-base)}.hero-buttons .primary-button:hover:after{transform:translateX(4px)}.hero-buttons .secondary-button{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-4) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.hero-buttons .secondary-button:hover{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.highlights-section{background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--space-24) var(--space-6);position:relative}@media (min-width:768px){.highlights-section{padding:var(--space-24) var(--space-12)}}@media (min-width:1024px){.highlights-section{padding:var(--space-24) var(--space-16)}}.highlights-section>h2{align-items:center;color:var(--color-accent);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;gap:var(--space-4);letter-spacing:.15em;margin:0 0 var(--space-12) 0;margin-left:auto;margin-right:auto;max-width:1400px;text-transform:uppercase}.highlights-section>h2:before{background:linear-gradient(90deg,var(--color-accent) 0,#0000 100%);content:"";height:2px;width:40px}.highlights-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(1,1fr);margin:0 auto;max-width:1400px}@media (min-width:768px){.highlights-grid{grid-template-columns:repeat(3,1fr)}}.highlight-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;padding:var(--space-8);position:relative;transition:all var(--transition-slow)}.highlight-card:before{background:linear-gradient(90deg,var(--color-accent) 0,#0000 100%);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-base)}.highlight-card:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.highlight-card:hover:before{opacity:1}.highlight-card h3{align-items:center;color:var(--color-text);display:flex;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;gap:var(--space-3);margin:0 0 var(--space-4) 0}.highlight-card h3:before{background:var(--color-accent);border-radius:2px;content:"";flex-shrink:0;height:8px;width:8px}.highlight-card p{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.7;margin:0 0 var(--space-5) 0}.highlight-link{align-items:center;color:var(--color-accent);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;gap:var(--space-2);letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:all var(--transition-base)}.highlight-link:after{content:"→";transition:transform var(--transition-base)}.highlight-link:hover{color:var(--color-accent-bright)}.highlight-link:hover:after{transform:translateX(4px)}.featured-project-section{background:var(--color-bg-deep);border-top:1px solid var(--color-border);padding:var(--space-24) var(--space-6);position:relative}@media (min-width:768px){.featured-project-section{padding:var(--space-24) var(--space-12)}}@media (min-width:1024px){.featured-project-section{padding:var(--space-24) var(--space-16)}}.featured-project-section>h2{align-items:center;color:var(--color-accent);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;gap:var(--space-4);letter-spacing:.15em;margin:0 0 var(--space-12) 0;margin-left:auto;margin-right:auto;max-width:1400px;text-transform:uppercase}.featured-project-section>h2:before{background:linear-gradient(90deg,var(--color-accent) 0,#0000 100%);content:"";height:2px;width:40px}.featured-project{grid-gap:var(--space-8);align-items:center;display:grid;gap:var(--space-8);grid-template-columns:1fr;margin:0 auto;max-width:1400px}@media (min-width:768px){.featured-project{gap:var(--space-12);grid-template-columns:1.2fr 1fr}}.featured-project img{aspect-ratio:16/10;border:1px solid var(--color-border);border-radius:var(--radius-lg);height:auto;object-fit:cover;transition:all var(--transition-slow);width:100%}.featured-project img:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-glow);transform:scale(1.02)}.project-details{padding:var(--space-4) 0}.project-details h3{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;line-height:1.2;margin:0 0 var(--space-4) 0}.project-details p{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.7}.project-details p,.project-tags{margin:0 0 var(--space-6) 0}.tag{background:var(--color-bg-elevated);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;padding:var(--space-1) var(--space-3)}.view-project-button{align-items:center;background:var(--color-accent);border-radius:var(--radius-md);color:var(--color-bg-deep);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.view-project-button:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-glow);color:var(--color-bg-deep);transform:translateY(-2px)}.view-project-button:after{content:"→";transition:transform var(--transition-base)}.view-project-button:hover:after{transform:translateX(4px)}.loading,.no-featured-project{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-16);text-align:center}.cta-section{background:var(--color-bg);border-top:1px solid var(--color-border);overflow:hidden;padding:var(--space-24) var(--space-6);position:relative;text-align:center}@media (min-width:768px){.cta-section{padding:var(--space-24) var(--space-12)}}.cta-section:before{background:radial-gradient(circle,var(--color-accent-glow) 0,#0000 70%);content:"";height:600px;left:50%;opacity:.5;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:600px}.cta-section>h2{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;letter-spacing:-.02em;margin:0 0 var(--space-4) 0;position:relative}@media (min-width:768px){.cta-section>h2{font-size:var(--text-5xl)}}.cta-section>p{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.7;margin:0 auto var(--space-8);max-width:500px;position:relative}.cta-buttons{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;position:relative}.cta-buttons .primary-button{align-items:center;background:var(--color-accent);border-radius:var(--radius-md);color:var(--color-bg-deep);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-4) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.cta-buttons .primary-button:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.cta-buttons .secondary-button{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-4) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.cta-buttons .secondary-button:hover{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}@media (max-width:768px){.hero-section{min-height:90vh;padding-top:var(--space-16)}.hero-robot-container{height:260px;opacity:.5;right:2%;top:30%;width:200px}.robot-eye{height:14px;width:24px}.eye-glow{height:5px;width:5px}.hero-portrait{height:120px;width:120px}.portrait-frame:after{font-size:6px}.hero-text h1{font-size:var(--text-5xl)}.hero-text h2{font-size:var(--text-xl)}.hero-buttons{align-items:flex-start;flex-direction:column}.hero-buttons .primary-button,.hero-buttons .secondary-button{justify-content:center;max-width:280px;width:100%}.featured-project{text-align:center}.project-details h3{font-size:var(--text-2xl)}.project-tags{justify-content:center}}@media (max-width:480px){.hero-robot-container{height:200px;opacity:.35;width:150px}.hero-portrait{height:100px;width:100px}.portrait-frame{display:none}.hero-text h1{font-size:var(--text-4xl)}.hero-text h2{font-size:var(--text-lg)}.hero-text p{font-size:var(--text-base)}.highlight-card{padding:var(--space-6)}.cta-section>h2{font-size:var(--text-3xl)}.cta-buttons{align-items:center;flex-direction:column}.cta-buttons .primary-button,.cta-buttons .secondary-button{justify-content:center;max-width:280px;width:100%}}.subtitle-line:after,.title-line:after{display:none}.cached-image-wrapper{display:inline-block;overflow:hidden;position:relative}.cached-image{display:block;height:auto;max-width:100%;transition:opacity .3s ease}.cached-image.loading{opacity:0}.cached-image.loaded{opacity:1}.cached-image-loading{align-items:center;background:#f5f5f5;background:var(--color-surface,#f5f5f5);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0;border-top-color:#4a6fa5;border:3px solid var(--color-border,#e0e0e0);border-radius:50%;border-top-color:var(--color-primary,#4a6fa5);height:30px;width:30px}@keyframes spin{to{transform:rotate(1turn)}}.cached-image-error{align-items:center;background:#f5f5f5;background:var(--color-surface,#f5f5f5);color:#666;color:var(--color-text-secondary,#666);display:flex;font-size:.875rem;justify-content:center;min-height:100px;padding:1rem}.about-page{background:var(--color-bg);min-height:100vh}.about-header{background:var(--color-bg-deep);border-bottom:1px solid var(--color-border);padding:var(--space-20) var(--space-6) var(--space-12);text-align:center}@media (min-width:768px){.about-header{padding:var(--space-24) var(--space-12) var(--space-16)}}.about-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-text) 0,var(--color-text-secondary) 100%);-webkit-background-clip:text;background-clip:text;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;letter-spacing:-.03em;margin:0}@media (min-width:768px){.about-header h1{font-size:var(--text-6xl)}}.about-container{margin:0 auto;max-width:1400px}.about-intro{grid-gap:var(--space-8);background:var(--color-bg-deep);display:grid;gap:var(--space-8);grid-template-columns:1fr;padding:var(--space-12) var(--space-6);position:relative}@media (min-width:768px){.about-intro{align-items:center;gap:var(--space-12);grid-template-columns:1fr 1.5fr;padding:var(--space-16) var(--space-12)}}@media (min-width:1024px){.about-intro{padding:var(--space-20) var(--space-16)}}.about-intro:before{background-image:linear-gradient(var(--color-border-subtle) 1px,#0000 1px),linear-gradient(90deg,var(--color-border-subtle) 1px,#0000 1px);background-size:40px 40px;content:"";height:100%;-webkit-mask-image:linear-gradient(270deg,#000 0,#0000 80%);mask-image:linear-gradient(270deg,#000 0,#0000 80%);opacity:.3;pointer-events:none;position:absolute;right:0;top:0;width:50%}.about-portrait{align-items:center;display:flex;justify-content:center;position:relative;z-index:2}.portrait-image{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);filter:grayscale(20%);max-width:400px;transition:all var(--transition-slow);width:100%}.portrait-image:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-glow);filter:grayscale(0);transform:scale(1.02)}.about-intro-text{position:relative;z-index:2}.about-intro-text h2{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-2) 0}@media (min-width:768px){.about-intro-text h2{font-size:var(--text-5xl)}}.about-intro-text h3{color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-xl);font-weight:400;margin:0 0 var(--space-6) 0}.about-intro-text h3:before{content:"—";margin-right:var(--space-2);opacity:.6}.about-intro-text p{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.7;margin:0 0 var(--space-8) 0}.about-buttons{display:flex;flex-wrap:wrap;gap:var(--space-4)}.about-buttons .btn-primary,.about-buttons .primary-button{align-items:center;background:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.about-buttons .btn-primary:hover,.about-buttons .primary-button:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.about-buttons .btn-secondary,.about-buttons .secondary-button{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.about-buttons .btn-secondary:hover,.about-buttons .secondary-button:hover{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.about-section{border-top:1px solid var(--color-border);padding:var(--space-16) var(--space-6)}@media (min-width:768px){.about-section{padding:var(--space-20) var(--space-12)}}@media (min-width:1024px){.about-section{padding:var(--space-20) var(--space-16)}}.section-title{align-items:center;color:var(--color-accent);display:flex;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;gap:var(--space-4);letter-spacing:.15em;margin:0 0 var(--space-10) 0;padding-bottom:0;text-transform:uppercase}.section-title:before{background:linear-gradient(90deg,var(--color-accent) 0,#0000 100%);content:"";height:2px;width:40px}.section-title:after,.title-line:after{display:none}.about-content p{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.8;margin:0 0 var(--space-5) 0;max-width:800px}.about-content p:last-child{margin-bottom:0}.skills-container{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(1,1fr)}@media (min-width:640px){.skills-container{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.skills-container{grid-template-columns:repeat(3,1fr)}}.skill-category{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.skill-category:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.skill-category h3{align-items:center;color:var(--color-text);display:flex;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;gap:var(--space-3);margin:0 0 var(--space-4) 0}.skill-category h3:before{background:var(--color-accent);border-radius:2px;content:"";flex-shrink:0;height:6px;width:6px}.interests-list,.skill-list{list-style:none;margin:0;padding:0}.interests-list li,.skill-list li{color:var(--color-text-secondary);font-size:var(--text-sm);padding:var(--space-2) 0 var(--space-2) var(--space-5);position:relative;transition:color var(--transition-fast)}.interests-list li:before,.skill-list li:before{color:var(--color-text-dim);content:"→";font-family:var(--font-mono);font-size:var(--text-xs);left:0;position:absolute;transition:all var(--transition-fast)}.interests-list li:hover,.skill-list li:hover{color:var(--color-text)}.interests-list li:hover:before,.skill-list li:hover:before{color:var(--color-accent);transform:translateX(2px)}.about-cta{background:var(--color-bg-card);border-top:1px solid var(--color-border);overflow:hidden;padding:var(--space-20) var(--space-6);position:relative;text-align:center}@media (min-width:768px){.about-cta{padding:var(--space-24) var(--space-12)}}.about-cta:before{background:radial-gradient(circle,var(--color-accent-glow) 0,#0000 70%);content:"";height:600px;left:50%;opacity:.4;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:600px}.about-cta h2{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;letter-spacing:-.02em;margin:0 0 var(--space-4) 0;position:relative}@media (min-width:768px){.about-cta h2{font-size:var(--text-5xl)}}.about-cta h2.title-line:after{display:none}.about-cta p{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.7;margin:0 auto var(--space-8);max-width:500px;position:relative}.about-cta .btn-primary,.about-cta .primary-button{align-items:center;background:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-4) var(--space-8);position:relative;text-decoration:none;transition:all var(--transition-base)}.about-cta .btn-primary:hover,.about-cta .primary-button:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-glow);transform:translateY(-2px)}@media (max-width:768px){.about-header h1{font-size:var(--text-4xl)}.about-intro{text-align:center}.portrait-image{max-width:280px}.about-intro-text h2{font-size:var(--text-3xl)}.about-intro-text h3{font-size:var(--text-lg)}.about-intro-text p{font-size:var(--text-base)}.about-buttons{justify-content:center}.about-cta h2{font-size:var(--text-3xl)}}@media (max-width:480px){.about-header{padding:var(--space-16) var(--space-4) var(--space-10)}.about-header h1{font-size:var(--text-3xl)}.about-intro{padding:var(--space-10) var(--space-4)}.about-intro-text h2{font-size:var(--text-2xl)}.about-section{padding:var(--space-12) var(--space-4)}.skill-category{padding:var(--space-5)}.about-cta{padding:var(--space-16) var(--space-4)}.about-cta h2{font-size:var(--text-2xl)}.about-buttons{align-items:center;flex-direction:column}.about-buttons .btn-primary,.about-buttons .btn-secondary,.about-buttons .primary-button,.about-buttons .secondary-button{justify-content:center;max-width:280px;width:100%}}.projects-page{background:var(--color-bg);min-height:100vh}.projects-header{background:var(--color-bg-deep);border-bottom:1px solid var(--color-border);padding:var(--space-20) var(--space-6) var(--space-12);text-align:center}@media (min-width:768px){.projects-header{padding:var(--space-24) var(--space-12) var(--space-16)}}.projects-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-text) 0,var(--color-text-secondary) 100%);-webkit-background-clip:text;background-clip:text;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;letter-spacing:-.03em;margin:0}@media (min-width:768px){.projects-header h1{font-size:var(--text-6xl)}}.projects-container{width:100%}.projects-content{background:var(--color-bg-deep);box-sizing:border-box;padding:var(--space-12) var(--space-6);position:relative;width:100%}@media (min-width:768px){.projects-content{padding:var(--space-16) var(--space-12)}}@media (min-width:1024px){.projects-content{padding:var(--space-16)}}.projects-content:before{background:linear-gradient(90deg,var(--color-accent) 0,#0000 100%);border-radius:2px;content:"";height:3px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:80px}.projects-content-inner{margin:0 auto;max-width:1400px}.projects-content p{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.7;margin:0 auto var(--space-10);max-width:700px;text-align:center}.projects-filter{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin:0 auto;max-width:1400px;width:100%}.filter-button{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;justify-content:center;letter-spacing:.08em;padding:var(--space-2) var(--space-4);text-transform:uppercase;transition:all var(--transition-base)}.filter-button:hover{background:var(--color-bg-card);border-color:var(--color-border-accent);color:var(--color-text)}.filter-button.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-deep)}.filter-button.active:hover{background:var(--color-accent-bright);border-color:var(--color-accent-bright)}.projects-grid-wrapper{background:var(--color-bg);width:100%}.projects-grid{grid-gap:var(--space-6);box-sizing:border-box;gap:var(--space-6);grid-template-columns:repeat(1,1fr);margin-left:auto;margin-right:auto;max-width:1400px;padding:var(--space-12) var(--space-6)}@media (min-width:640px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.projects-grid{padding:var(--space-16) var(--space-12)}}@media (min-width:1024px){.projects-grid{gap:var(--space-8);grid-template-columns:repeat(3,1fr);padding:var(--space-16)}}.project-card-link{color:inherit;display:block;height:100%;text-decoration:none}.project-card{display:flex;flex-direction:column;height:100%;position:relative;transition:all var(--transition-slow)}.project-card:before{background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-dim) 100%);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-base);z-index:2}.project-card:hover{box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-6px)}.project-card:hover:before{opacity:1}.project-image{background:var(--color-bg-elevated);height:200px}@media (min-width:768px){.project-image{height:220px}}.project-image img{filter:grayscale(20%);transition:all var(--transition-slow)}.project-card:hover .project-image img{filter:grayscale(0);transform:scale(1.08)}.no-image{color:var(--color-text-dim);letter-spacing:.1em}.featured-badge,.no-image{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.featured-badge{align-items:center;background:var(--color-accent);display:inline-flex;font-weight:400;gap:var(--space-1);letter-spacing:.05em;padding:var(--space-1) var(--space-3);z-index:3}.project-content{display:flex;flex-direction:column;flex-grow:1;padding:var(--space-5)}.project-content h4{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.3;margin:0 0 var(--space-4) 0;transition:color var(--transition-base)}.project-card:hover .project-content h4{color:var(--color-accent)}.project-content h4.subtitle-line:after{display:none}.project-footer{align-items:flex-end;display:flex;gap:var(--space-3);justify-content:space-between;margin-top:auto}.project-tags{flex:1 1;gap:var(--space-1)}.project-card .tag{font-size:10px;padding:2px var(--space-2)}.view-details{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;transition:all var(--transition-base);white-space:nowrap}.project-card:hover .view-details{color:var(--color-accent);transform:translateX(4px)}.error,.loading,.no-projects{grid-column:1/-1;padding:var(--space-16);text-align:center}.no-projects{background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.no-projects h3{color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;margin:0 0 var(--space-3) 0}.no-projects p{color:var(--color-text-dim);font-size:var(--text-base);margin:0}.loading{animation:pulse 2s ease-in-out infinite}.error{background:var(--color-bg-card);border:1px solid var(--color-red)}.error h3{color:var(--color-red);font-size:var(--text-xl);margin:0 0 var(--space-3) 0}.error p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-2) 0}@media (max-width:768px){.projects-header h1{font-size:var(--text-4xl)}.projects-content p{font-size:var(--text-base)}.filter-button{font-size:10px;padding:var(--space-2) var(--space-3)}}@media (max-width:480px){.projects-header{padding:var(--space-16) var(--space-4) var(--space-10)}.projects-header h1{font-size:var(--text-3xl)}.projects-content,.projects-grid{padding:var(--space-8) var(--space-4)}.projects-grid{gap:var(--space-4)}.project-image{height:180px}.project-content{padding:var(--space-4)}.project-content h4{font-size:var(--text-base)}}.project-detail-container{background:var(--color-bg);margin:0 auto;max-width:1280px;min-height:100vh;padding:0}.project-detail-header{padding:var(--space-5) 96px var(--space-4)}.back-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--color-text-muted);display:inline-flex;font-size:17px;font-weight:lighter;gap:var(--space-2);left:var(--space-4);padding:var(--space-2) var(--space-4);position:fixed;text-decoration:none;top:90px;transition:all .3s ease;z-index:1000}.back-button:hover{background:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-lg);color:var(--color-primary);transform:translateX(4px)}.back-button:before{content:"←";font-size:21px}.project-hero{background:var(--gradient-hero);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);height:60vh;margin:0 96px var(--space-6);min-height:400px;overflow:hidden;position:relative}.project-hero-image{height:100%;position:relative;width:100%}.project-hero-image img{border-radius:var(--radius-lg);height:100%;object-fit:cover;width:100%}.project-header{margin:0 96px var(--space-8);text-align:center}.project-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);-webkit-background-clip:text;background-clip:text;color:var(--color-text);font-size:58px;font-weight:lighter;letter-spacing:-.01em;line-height:1.1;margin:0 0 var(--space-4) 0}.project-meta{flex-direction:column;gap:var(--space-3);margin:0 auto;max-width:600px}.project-date{align-items:center;display:flex;gap:var(--space-2);justify-content:center}.meta-label{color:var(--color-text-muted);font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.meta-value{color:var(--color-text);font-size:16px;font-weight:400}.project-website{display:flex;justify-content:center;margin-top:var(--space-2)}.meta-website-link{align-items:center;background:var(--color-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-bg-deep);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.meta-website-link:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-md),var(--shadow-glow);color:var(--color-bg-deep);transform:translateY(-2px)}.project-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin:0 96px var(--space-6);overflow:hidden;position:relative}.project-container:before{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.project-content{gap:var(--space-6);padding:var(--space-6) var(--space-6)}.project-content-flow{display:flex;flex-direction:column;gap:var(--space-8)}.content-block{width:100%}.content-block.text-only .text-content{max-width:100%}.content-block.text-image{grid-gap:var(--space-6);align-items:flex-start;display:grid;gap:var(--space-6)}.content-block.text-image.image-right{grid-template-columns:1fr 45%}.content-block.text-image.image-left{grid-template-columns:45% 1fr}.content-block.text-image.image-left .text-content{order:2}.content-block.text-image.image-left .image-content{order:1}.text-content p{color:var(--color-text);font-size:17px;line-height:1.6;margin:0 0 var(--space-4) 0;text-align:justify}.text-content p:last-child{margin-bottom:0}.content-block.text-only{margin-bottom:var(--space-2)}.content-block+.content-block{position:relative}.content-block.text-image+.content-block.text-image:before{background:var(--color-border);content:"";height:1px;left:50%;opacity:.5;position:absolute;top:calc(var(--space-8)/-2);transform:translateX(-50%);width:58px}.image-content{align-items:center;display:flex;flex-direction:column;gap:var(--space-2)}.image-content img{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);height:auto;max-width:80%;transition:all .3s ease}.image-content img:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.image-caption{color:var(--color-text-muted);font-size:14px;font-style:italic;font-weight:lighter;text-align:center}.videos-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.additional-images-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.additional-image-thumbnail{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.additional-image-thumbnail:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.additional-image-thumbnail img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.additional-image-thumbnail:hover img{transform:scale(1.05)}.image-thumbnail-caption{background:#000000b3;border-radius:0 0 var(--radius-lg) var(--radius-lg);bottom:0;color:var(--color-text-light);font-size:15px;font-style:italic;left:0;opacity:0;padding:var(--space-3) var(--space-2) var(--space-2);position:absolute;right:0;text-align:center;transition:opacity .3s ease}.additional-image-thumbnail:hover .image-thumbnail-caption{opacity:1}.project-description-section,.project-details-section,.project-links-section{background:#0000;border:none;border-radius:0;box-shadow:none;margin-bottom:var(--space-6);padding:0;position:relative}.project-detail-content h2{color:var(--color-text);font-size:36px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin-bottom:var(--space-5);padding-bottom:var(--space-3);position:relative}.project-detail-content h2:after{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:58px}.project-detail-content p{color:var(--color-text);font-size:17px;line-height:1.6}.project-detail-content p,.project-long-description p{margin-bottom:var(--space-4)}.project-long-description p:last-child{margin-bottom:0}.project-links{flex-wrap:wrap;gap:var(--space-4)}.project-link{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:17px;font-weight:lighter;justify-content:center;line-height:1;text-decoration:none;transition:all .2s ease}.project-link.primary-button{background:var(--color-primary);border:2px solid var(--color-primary);box-shadow:var(--shadow-card);color:var(--color-surface)}.project-link.primary-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.project-link.secondary-button{background:#0000;border:2px solid var(--color-primary);color:var(--color-primary)}.project-link.secondary-button:hover{background:var(--color-primary);box-shadow:var(--shadow-card);color:var(--color-surface);transform:translateY(-1px)}.project-gallery-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin:0 96px var(--space-6);padding:var(--space-6);position:relative}.project-gallery-section:before{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.project-gallery-section h2{color:var(--color-text);font-size:36px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin-bottom:var(--space-6);padding-bottom:var(--space-3);position:relative;text-align:center}.project-gallery-section h2:after{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);border-radius:2px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:58px}.image-gallery{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.gallery-thumbnail{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.gallery-thumbnail:hover{border-color:#6c63ff33;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.gallery-thumbnail img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-thumbnail:hover img{transform:scale(1.05)}.video-gallery{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.video-thumbnail{aspect-ratio:16/9;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.video-thumbnail:hover{border-color:#6c63ff33;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.video-thumbnail video{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.video-thumbnail:hover video{transform:scale(1.02)}.video-overlay{background:#0000004d;opacity:0;transition:opacity .3s ease}.video-thumbnail:hover .video-overlay{opacity:1}.play-button{align-items:center;background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-lg);color:var(--color-primary);display:flex;font-size:21px;font-weight:700;height:58px;justify-content:center;width:58px}.youtube-embed{aspect-ratio:16/9;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;position:relative;transition:all .3s ease}.youtube-embed:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.youtube-embed iframe{border:none;border-radius:var(--radius-lg);height:100%;width:100%}.image-modal{align-items:center;background:#0000;display:flex;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%;z-index:9999}.image-modal.active{background:#000000e6;opacity:1;pointer-events:all}.image-modal-content{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative}.morphing-image{position:relative;transform-origin:center;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:10000}.morphing-image.expanded{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);cursor:default;max-height:75vh;max-width:90vw;object-fit:contain;position:fixed!important;z-index:10001}.video-modal{background:#000000e6;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.video-modal,.video-modal-content{align-items:center;display:flex;justify-content:center}.video-modal-content{flex-direction:column;max-height:90vh;max-width:90vw;min-height:200px;min-width:300px;position:relative}.video-modal-content video{border-radius:var(--radius-md);height:auto;max-height:75vh;max-width:90vw;object-fit:contain;width:auto}.image-modal-caption{animation:captionSlideUp .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;border-radius:var(--radius-lg);bottom:var(--space-4);box-shadow:var(--shadow-card);color:var(--color-text-light);font-family:var(--font-family);font-size:18px;font-weight:400;left:var(--space-3);line-height:1.5;padding:var(--space-3) var(--space-5);position:absolute;right:var(--space-3);text-align:center;z-index:100}@keyframes captionSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.image-modal-close,.video-modal-close{align-items:center;animation:fadeInClose .3s ease forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;border:none;border-radius:50%;box-shadow:0 2px 10px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:2rem;font-weight:700;height:40px;justify-content:center;opacity:0;position:absolute;right:10px;top:10px;transform:scale(.8);transition:all .3s ease;width:40px;z-index:10003}@keyframes fadeInClose{to{opacity:1;transform:scale(1)}}.image-modal-close:hover,.video-modal-close:hover{background:#000000e6;color:var(--color-danger);transform:scale(1.05)}@media (max-width:768px){.project-container,.project-detail-header,.project-gallery-section,.project-header,.project-hero{margin-left:var(--space-6);margin-right:var(--space-6)}.project-header h1{font-size:44px}.project-content{padding:var(--space-6) var(--space-4)}.project-content h2,.project-gallery-section h2{font-size:32px}.project-content-flow{gap:var(--space-6)}.content-block.text-image{display:flex;flex-direction:column;gap:var(--space-4)}.content-block.text-image.image-left .text-content,.content-block.text-image.image-right .text-content{order:1}.content-block.text-image.image-left .image-content,.content-block.text-image.image-right .image-content{order:2}.image-content img{max-width:100%}.image-gallery{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.additional-images-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.video-gallery{gap:var(--space-4);grid-template-columns:1fr}.project-links{flex-direction:column;gap:var(--space-3)}.project-link{text-align:center;width:100%}.project-hero{height:50vh;min-height:300px}}@media (max-width:480px){.project-container,.project-detail-header,.project-gallery-section,.project-header,.project-hero{margin-left:var(--space-4);margin-right:var(--space-4)}.project-header h1{font-size:36px}.project-content{padding:var(--space-5) var(--space-3)}.project-content h2,.project-gallery-section h2{font-size:28px}.project-content-flow{gap:var(--space-5)}.content-block.text-image{gap:var(--space-3)}.image-caption{font-size:13px}.image-gallery{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.additional-images-grid{gap:var(--space-3);grid-template-columns:1fr}.project-hero{height:40vh;min-height:254px}.project-detail-content,.project-gallery-section{padding:var(--space-4)}.image-modal-caption{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);bottom:var(--space-3);font-size:16px;left:var(--space-2);line-height:1.4;padding:var(--space-2) var(--space-4);right:var(--space-2)}}.resume-page{background:var(--color-bg);min-height:100vh;padding:var(--space-12) var(--space-6)}@media (min-width:768px){.resume-page{padding:var(--space-16) var(--space-12)}}@media (min-width:1024px){.resume-page{padding:var(--space-20) var(--space-16)}}.resume-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin:0 auto;max-width:900px;overflow:hidden;padding:var(--space-10);position:relative}@media (min-width:768px){.resume-content{padding:var(--space-12)}}.resume-content:before{background:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-dim) 50%,#0000 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0}.resume-header{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-8);padding-bottom:var(--space-8);text-align:center}.resume-portrait{border:3px solid var(--color-border);border-radius:50%;filter:grayscale(20%);height:120px;margin-bottom:var(--space-5);object-fit:cover;transition:all var(--transition-base);width:120px}.resume-portrait:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-glow);filter:grayscale(0)}.resume-header h1{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-2) 0}@media (min-width:768px){.resume-header h1{font-size:var(--text-5xl)}}.resume-subtitle{color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-lg);font-weight:400;margin:0 0 var(--space-5) 0}.resume-subtitle:before{content:"—";margin-right:var(--space-2);opacity:.6}.resume-contact{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-3);justify-content:center}.resume-contact a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.resume-contact a:hover{color:var(--color-accent)}.resume-contact span{color:var(--color-text-dim)}.resume-section{margin-bottom:var(--space-8)}.resume-section h2{align-items:center;border-bottom:1px solid var(--color-border);color:var(--color-accent);display:flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;gap:var(--space-3);letter-spacing:.15em;margin:0 0 var(--space-6) 0;padding-bottom:var(--space-3);text-transform:uppercase}.resume-section h2:before{background:var(--color-accent);border-radius:1px;content:"";height:2px;width:24px}.resume-entry{margin-bottom:var(--space-6);padding-left:var(--space-5);position:relative}.resume-entry:before{background:var(--color-accent);border-radius:2px;content:"";height:6px;left:0;position:absolute;top:6px;width:6px}.resume-entry:last-child{margin-bottom:0}.resume-entry-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-1)}.resume-role{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-base);font-weight:600}.resume-date{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em}.resume-org{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-2)}.resume-entry p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6;margin:0}.resume-projects-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(1,1fr)}@media (min-width:640px){.resume-projects-grid{grid-template-columns:repeat(2,1fr)}}.resume-project{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);transition:all var(--transition-base)}.resume-project:hover{border-color:var(--color-border-accent);transform:translateY(-2px)}.resume-project strong{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600}.resume-project span{color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.5}.resume-skills-section{margin-bottom:var(--space-8)}.resume-skills{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(1,1fr)}@media (min-width:640px){.resume-skills{grid-template-columns:repeat(2,1fr)}}.skill-group{align-items:baseline;border-bottom:1px solid var(--color-border-subtle);display:flex;gap:var(--space-3);padding:var(--space-3) 0}.skill-group:last-child{border-bottom:none}.skill-label{color:var(--color-accent);flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;min-width:80px;text-transform:uppercase}.skill-group span:last-child{color:var(--color-text-secondary);font-size:var(--text-sm)}.resume-download{border-top:1px solid var(--color-border);padding-top:var(--space-8);text-align:center}.download-btn{align-items:center;background:var(--color-accent);border-radius:var(--radius-md);color:var(--color-bg-deep);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);letter-spacing:.02em;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition-base)}.download-btn:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-glow);color:var(--color-bg-deep);transform:translateY(-2px)}.download-btn:before{content:"↓";font-size:var(--text-base)}@media (max-width:768px){.resume-content{padding:var(--space-8)}.resume-header h1{font-size:var(--text-3xl)}.resume-subtitle{font-size:var(--text-base)}.resume-contact{font-size:var(--text-xs);gap:var(--space-2)}}@media (max-width:480px){.resume-page{padding:var(--space-6) var(--space-4)}.resume-content{border-radius:var(--radius-lg);padding:var(--space-6)}.resume-portrait{height:100px;width:100px}.resume-header h1{font-size:var(--text-2xl)}.resume-subtitle{font-size:var(--text-sm)}.resume-entry-header{flex-direction:column;gap:0}.resume-projects-grid,.resume-skills{grid-template-columns:1fr}.skill-group{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.skill-label{min-width:auto}}.contact-page{background:var(--color-bg);min-height:100vh}.contact-header{background:var(--color-bg-deep);border-bottom:1px solid var(--color-border);overflow:hidden;padding:var(--space-20) var(--space-6) var(--space-12);position:relative;text-align:center}@media (min-width:768px){.contact-header{padding:var(--space-24) var(--space-12) var(--space-16)}}.contact-header:before{background-image:linear-gradient(var(--color-border-subtle) 1px,#0000 1px),linear-gradient(90deg,var(--color-border-subtle) 1px,#0000 1px);background-size:50px 50px;content:"";inset:0;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 20%,#0000 70%);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 20%,#0000 70%);opacity:.3;position:absolute}.contact-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-text) 0,var(--color-text-secondary) 100%);-webkit-background-clip:text;background-clip:text;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;letter-spacing:-.03em;margin:0 0 var(--space-4) 0;position:relative}@media (min-width:768px){.contact-header h1{font-size:var(--text-6xl)}}.contact-header p{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.7;margin:0 auto;max-width:500px;position:relative}.contact-container{margin:0 auto;max-width:1400px}.contact-section{grid-gap:var(--space-6);background:var(--color-bg);display:grid;gap:var(--space-6);grid-template-columns:repeat(1,1fr);padding:var(--space-12) var(--space-6)}@media (min-width:640px){.contact-section{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.contact-section{padding:var(--space-16) var(--space-12)}}@media (min-width:1024px){.contact-section{gap:var(--space-8);grid-template-columns:repeat(3,1fr);padding:var(--space-16)}}.contact-card{align-items:flex-start;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--space-5);overflow:hidden;padding:var(--space-6);position:relative;transition:all var(--transition-slow)}.contact-card:before{background:linear-gradient(90deg,var(--color-accent) 0,#0000 100%);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-base)}.contact-card:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.contact-card:hover:before{opacity:1}.contact-icon{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex-shrink:0;font-size:1.5rem;height:56px;justify-content:center;transition:all var(--transition-base);width:56px}.contact-card:hover .contact-icon{background:var(--color-accent-subtle);border-color:var(--color-border-accent);color:var(--color-accent);transform:scale(1.05)}.contact-card:first-child .contact-icon{color:var(--color-text-muted)}.contact-card:first-child:hover .contact-icon{background:#67e8f91a;border-color:#67e8f94d;color:var(--color-cyan)}.contact-card:nth-child(2) .contact-icon{color:var(--color-text-muted)}.contact-card:nth-child(2):hover .contact-icon{background:#0077b51a;border-color:#0077b54d;color:#0077b5}.contact-card:nth-child(3) .contact-icon{color:var(--color-text-muted)}.contact-card:nth-child(3):hover .contact-icon{background:var(--color-accent-subtle);border-color:var(--color-border-accent);color:var(--color-accent)}.contact-info{flex:1 1;min-width:0}.contact-info h3{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin:0 0 var(--space-2) 0;transition:color var(--transition-base)}.contact-card:hover .contact-info h3{color:var(--color-accent)}.contact-info p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6;margin:0 0 var(--space-3) 0}.contact-link{align-items:center;color:var(--color-accent);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;gap:var(--space-2);text-decoration:none;transition:all var(--transition-base);word-break:break-all}.contact-link:hover{color:var(--color-accent-bright)}.contact-link:after{content:"→";transition:transform var(--transition-base)}.contact-link:hover:after{transform:translateX(4px)}.contact-message{background:var(--color-bg-card);border-top:1px solid var(--color-border);overflow:hidden;padding:var(--space-20) var(--space-6);position:relative;text-align:center}@media (min-width:768px){.contact-message{padding:var(--space-24) var(--space-12)}}.contact-message:before{background:radial-gradient(circle,var(--color-accent-glow) 0,#0000 70%);content:"";height:600px;left:50%;opacity:.4;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:600px}.contact-message h2{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;letter-spacing:-.02em;margin:0 0 var(--space-6) 0;position:relative}@media (min-width:768px){.contact-message h2{font-size:var(--text-5xl)}}.contact-message p{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.8;margin:0 auto var(--space-4);max-width:600px;position:relative}.contact-message p:last-of-type{margin-bottom:0}@media (max-width:768px){.contact-header h1{font-size:var(--text-4xl)}.contact-header p{font-size:var(--text-base)}.contact-card{padding:var(--space-5)}.contact-icon{font-size:1.25rem;height:48px;width:48px}.contact-info h3{font-size:var(--text-lg)}.contact-message h2{font-size:var(--text-3xl)}.contact-message p{font-size:var(--text-base)}}@media (max-width:480px){.contact-header{padding:var(--space-16) var(--space-4) var(--space-10)}.contact-header h1{font-size:var(--text-3xl)}.contact-section{gap:var(--space-4);padding:var(--space-8) var(--space-4)}.contact-card{align-items:center;flex-direction:column;padding:var(--space-5);text-align:center}.contact-icon{margin-bottom:var(--space-2)}.contact-info h3{font-size:var(--text-lg)}.contact-link{justify-content:center}.contact-message{padding:var(--space-16) var(--space-4)}.contact-message h2{font-size:var(--text-2xl)}}.project-form{max-height:90vh;overflow-y:auto;padding:0}.form-header{align-items:center;background-color:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:var(--space-5) var(--space-6)}.header-left{flex-direction:column}.draft-indicator,.header-left{display:flex;gap:var(--space-2)}.draft-indicator{align-items:center}.draft-badge{background-color:var(--color-accent);color:var(--color-bg-deep);padding:2px 8px}.draft-badge.editing{align-items:center!important;background-color:var(--color-accent-dim);color:var(--color-text);display:flex;justify-content:center!important;left:auto!important;position:static!important;top:auto!important}.clear-draft-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:12px;padding:2px 8px;transition:all .2s}.clear-draft-btn:hover{background-color:var(--color-bg-elevated);border-color:var(--color-text-muted);color:var(--color-text)}.form-header h2{color:var(--color-text);font-size:40px;font-weight:lighter;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s;width:30px}.close-button:hover{background-color:var(--color-bg-card);color:var(--color-text)}.form-content{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6)}.form-row{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.project-form .form-group label{color:var(--color-text);font-size:18px;font-weight:500;margin-bottom:var(--space-1);padding-bottom:var(--space-1);text-transform:uppercase}.form-group input,.form-group textarea{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-body);font-size:17px;padding:var(--space-3) var(--space-4);transition:border-color .3s,box-shadow .3s}.form-group input:disabled,.form-group textarea:disabled{background:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow);outline:none}.form-group small{color:var(--color-text-muted);font-size:14px;margin-top:var(--space-1)}.checkbox-group{align-items:center;flex-direction:row;gap:var(--space-2);justify-content:center}.checkbox-group.form-group label{align-items:center;cursor:pointer;display:flex;font-weight:lighter;gap:var(--space-3);margin-bottom:0}.checkbox-group input[type=checkbox]{appearance:none;-webkit-appearance:none;background:var(--color-border);border-radius:16px;cursor:pointer;height:24px;outline:none;position:relative;transition:background-color .3s ease;width:44px}.checkbox-group input[type=checkbox]:before{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:left .3s ease;width:20px}.checkbox-group input[type=checkbox]:checked{background-color:var(--color-accent)}.checkbox-group input[type=checkbox]:checked:before{left:18px}.input-with-button{align-items:stretch;display:flex;gap:var(--space-3)}.input-with-button input{flex:1 1}.featured-toggle-btn{align-items:center;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;min-width:140px;padding:var(--space-3) var(--space-4);transition:all .2s;white-space:nowrap}.featured-toggle-btn:hover{background-color:var(--color-surface);border-color:var(--color-accent);color:var(--color-text)}.featured-toggle-btn.featured{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-deep)}.featured-toggle-btn.featured:hover{background-color:var(--color-accent-bright)}.draft-toggle-btn{align-items:center;background-color:var(--color-green);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;min-width:140px;padding:var(--space-3) var(--space-4);transition:all .2s;white-space:nowrap}.draft-toggle-btn:hover{filter:brightness(1.1)}.draft-toggle-btn.draft{background-color:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-secondary)}.draft-toggle-btn.draft:hover{background-color:var(--color-surface);border-color:var(--color-text-muted)}.tags-input{display:flex;gap:10px;margin-bottom:10px}.tags-input input{flex:1 1}.tags-input .btn{background-color:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;font-size:14px;font-weight:500}.tags-input .btn:hover{background-color:var(--color-accent-bright)}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.tag{align-items:center;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);display:inline-flex;font-size:16px;gap:5px;padding:4px 8px}.tag .btn{background:none;border:none;border-radius:50%;color:var(--color-text-muted);font-size:14px;height:16px;min-width:16px;padding:0;width:16px}.tag .btn:hover{background-color:var(--color-red);box-shadow:none;color:#fff;transform:none}.image-input,.video-input{display:flex;gap:10px;margin-bottom:15px}.image-input input,.video-input input{flex:1 1}.images-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.image-item{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;position:relative;transition:all .2s ease}.image-item.dragging{opacity:.5;transform:rotate(5deg);z-index:1000}.image-item.drag-over{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow);transform:scale(1.02)}.drag-handle{background:#000000b3;border-radius:var(--radius-sm);color:#fff;cursor:grab;font-size:12px;left:var(--space-2);line-height:1;padding:var(--space-1);position:absolute;top:var(--space-2);-webkit-user-select:none;user-select:none;z-index:2}.drag-handle:active{cursor:grabbing}.image-item img{cursor:grab;height:120px;object-fit:cover;width:100%}.image-item img:active{cursor:grabbing}.image-info{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.image-caption-edit{width:100%}.caption-input{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:4px;box-sizing:border-box;color:var(--color-text);font-size:12px;padding:6px 8px;transition:border-color .3s;width:100%}.caption-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow);outline:none}.caption-input::placeholder{color:var(--color-text-muted);font-style:italic}.image-actions{display:flex;justify-content:flex-end}.remove-image-btn{align-items:center;background-color:var(--color-red);border:none!important;border-radius:50%!important;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:24px!important;justify-content:center;min-width:24px!important;padding:0!important;position:absolute;right:var(--space-2);top:var(--space-2);transition:all .2s;width:24px!important;z-index:1}.remove-image-btn:hover{filter:brightness(1.2);transform:scale(1.1)}.videos-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.video-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;position:relative}.upload-section,.video-item{background-color:var(--color-bg-card)}.upload-section{border:2px dashed var(--color-border);border-radius:var(--radius-lg);margin:var(--space-5) 0 var(--space-4) 0;padding:var(--space-4);text-align:center}.project-form .image-actions .upload-button,.project-form .upload-placeholder .upload-button,.project-form .upload-section .upload-button{align-items:center!important;background-color:var(--color-accent);border:none!important;border-radius:var(--radius-md)!important;color:var(--color-bg-deep);cursor:pointer!important;display:inline-flex!important;font-family:var(--font-body)!important;font-size:17px!important;font-weight:500!important;justify-content:center!important;line-height:1!important;margin-bottom:0!important;padding:var(--space-3) var(--space-3);padding-bottom:var(--space-3)!important;text-decoration:none!important;text-transform:none!important;transition:all .2s ease!important;width:-webkit-fill-available}.project-form .image-actions .upload-button:hover,.project-form .upload-placeholder .upload-button:hover,.project-form .upload-section .upload-button:hover{background-color:var(--color-accent-bright)}.project-form .image-actions .upload-button.large,.project-form .upload-placeholder .upload-button.large,.project-form .upload-section .upload-button.large{font-size:18px!important;padding:var(--space-5) var(--space-6)!important}.project-form .image-actions .upload-button.uploading,.project-form .upload-placeholder .upload-button.uploading,.project-form .upload-section .upload-button.uploading{background-color:var(--color-text-muted)!important;cursor:not-allowed!important}.upload-note{color:var(--color-text-muted);font-size:12px;font-style:italic;margin:10px 0 0;margin-bottom:0!important}.main-image-preview{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;max-width:400px;overflow:hidden;position:relative}.main-image-preview img{display:block;height:200px;object-fit:cover;width:100%}.main-image-preview .image-actions{background-color:var(--color-bg-elevated);display:flex;gap:10px;padding:10px}.upload-placeholder{background-color:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:8px;max-width:400px;padding:40px 20px;text-align:center}.remove-button{align-items:center;background-color:var(--color-red);border:none!important;border-radius:50%!important;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:24px!important;justify-content:center;min-width:24px!important;padding:0!important;position:absolute;right:var(--space-2);top:var(--space-2);transition:all .2s;width:24px!important;z-index:1}.remove-button:hover{filter:brightness(1.2);transform:scale(1.1)}.video-preview{background-color:var(--color-bg-deep);height:120px;overflow:hidden;position:relative;width:100%}.video-preview video{height:100%;object-fit:cover;width:100%}.video-overlay{align-items:center;background:#00000080;bottom:0;color:#fff;display:flex;font-size:12px;font-weight:600;justify-content:center;left:0;position:absolute;right:0;top:0}.video-actions{background-color:var(--color-bg-elevated);display:flex;justify-content:flex-end;padding:var(--space-3)}.remove-video-btn{align-items:center;background-color:var(--color-red);border:none!important;border-radius:50%!important;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:24px!important;justify-content:center;min-width:24px!important;padding:0!important;position:absolute;right:var(--space-2);top:var(--space-2);transition:all .2s;width:24px!important;z-index:1}.remove-video-btn:hover{filter:brightness(1.2);transform:scale(1.1)}.form-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-4);justify-content:flex-end;padding-top:var(--space-5)}.cancel-button{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:var(--color-surface);border-color:var(--color-text-muted);color:var(--color-text);transform:translateY(-1px)}.save-button{background:var(--color-accent);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-bg-deep);cursor:pointer;font-weight:500;transition:all .2s}.save-button:hover{background:var(--color-accent-bright);transform:translateY(-1px)}.save-button:disabled{background-color:var(--color-text-muted);cursor:not-allowed;transform:none}.project-form .delete-button{background-color:var(--color-red);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:16px;padding:var(--space-3) var(--space-4);transition:all .2s}.project-form .delete-button:hover{filter:brightness(1.15)}.project-form .delete-button:disabled{background-color:var(--color-text-muted);cursor:not-allowed;transform:none}.existing-tags-section{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-4);padding:var(--space-4)}.existing-tags-label{color:var(--color-text-muted);display:block;font-size:14px;font-weight:500;margin-bottom:var(--space-3);text-transform:uppercase}.existing-tags-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.existing-tag{align-items:center;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:14px;padding:6px 12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.existing-tag:hover{background-color:var(--color-accent);border-color:var(--color-accent);box-shadow:var(--shadow-sm);color:var(--color-bg-deep);transform:translateY(-1px)}.existing-tag:active{transform:translateY(0)}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-content{padding:20px}.images-list{grid-template-columns:1fr 1fr}.form-actions,.image-input,.upload-buttons,.video-input{flex-direction:column}}.project-list{width:100%}.list-header{margin-bottom:var(--space-6)}.list-header h2{color:var(--color-text);font-size:32px;font-weight:lighter;letter-spacing:-.01em;margin:0}.empty-projects{background-color:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8,32px) var(--space-5);text-align:center}.empty-projects h3{color:var(--color-text-secondary);font-weight:lighter;margin-bottom:var(--space-3)}.empty-projects p{color:var(--color-text-muted)}.projects-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.project-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s,box-shadow .2s}.project-card.clickable{cursor:pointer}.project-card:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-image{background-color:var(--color-bg-elevated);height:160px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;width:100%}.no-image{align-items:center;background:var(--color-bg-elevated);color:var(--color-text-muted);display:flex;font-size:17px;height:100%;justify-content:center}.featured-badge{background-color:var(--color-accent);color:var(--color-bg-deep);font-weight:600;right:var(--space-3)}.draft-badge,.featured-badge{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:12px;padding:var(--space-1) var(--space-2);position:absolute;top:var(--space-3)}.draft-badge{background-color:var(--color-text-muted);color:#fff;font-weight:500;left:var(--space-3)}.project-card.draft{background-color:var(--color-bg-elevated);border:2px dashed var(--color-border);filter:grayscale(30%);opacity:.7}.project-card.draft .project-image{opacity:.5}.project-actions{justify-content:space-between;padding:var(--space-3) 0}.project-actions,.quick-toggles{align-items:center;display:flex;gap:var(--space-4)}.quick-toggle,.quick-toggles{justify-content:center}.quick-toggle{align-items:center;background:#0000;border:2px solid;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;margin:0;padding:0;transition:all .2s ease;width:36px}.quick-toggle:hover{box-shadow:var(--shadow-sm);transform:scale(1.1)}.quick-toggle.featured{background-color:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.quick-toggle.featured:hover{background-color:var(--color-accent-glow)}.quick-toggle.not-featured{background-color:initial;border-color:var(--color-border);color:var(--color-text-muted)}.quick-toggle.not-featured:hover{border-color:var(--color-accent);color:var(--color-accent)}.quick-toggle.published{background-color:#4ade801a;border-color:var(--color-green);color:var(--color-green)}.quick-toggle.published:hover{background-color:#4ade8033}.quick-toggle.draft{background-color:initial;border-color:var(--color-border);color:var(--color-text-muted)}.quick-toggle.draft:hover{border-color:var(--color-text-secondary);color:var(--color-text-secondary)}.project-card.draft .project-info{opacity:.8}.project-info{flex:1 1;padding:var(--space-4)}.project-header{margin-bottom:var(--space-3)}.project-header h3{color:var(--color-text);font-size:20px;font-weight:lighter;line-height:1.3;margin:0 0 var(--space-1) 0}.project-id{background-color:var(--color-bg-elevated);border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-block;font-family:monospace;font-size:12px;padding:var(--space-1) var(--space-2)}.project-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;font-size:17px;line-height:1.6;margin-bottom:var(--space-4);overflow:hidden}.project-meta{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.project-tags .tag{background-color:var(--color-bg-elevated);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:12px;font-weight:500;padding:var(--space-1) var(--space-2)}.project-stats{color:var(--color-text-muted);display:flex;font-size:14px;gap:var(--space-4)}.project-links{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.link-button{border-radius:var(--radius-sm);font-size:12px;font-weight:500;padding:var(--space-1) var(--space-2);text-decoration:none;transition:all .2s}.link-button.demo{background-color:var(--color-accent);color:var(--color-bg-deep)}.link-button.demo:hover{background-color:var(--color-accent-bright)}.link-button.source{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-secondary)}.link-button.source:hover{border-color:var(--color-accent);color:var(--color-accent)}.quick-actions{align-items:center;display:flex;gap:var(--space-3)}.featured-toggle{align-items:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;padding:var(--space-2);transition:all .2s;width:32px}.featured-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.featured-toggle.featured{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-deep)}.order-input{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:12px;padding:var(--space-2);text-align:center;width:50px}.order-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow);outline:none}.main-actions{display:flex;gap:var(--space-2)}.edit-button{background-color:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;font-size:12px;padding:var(--space-2) var(--space-4);transition:all .2s}.edit-button:hover{background-color:var(--color-accent-bright)}.delete-button{background-color:var(--color-red);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:12px;padding:var(--space-2) var(--space-4);transition:all .2s}.delete-button:hover{filter:brightness(1.15)}.delete-button:disabled{background-color:var(--color-text-muted);cursor:not-allowed}@media (max-width:768px){.projects-grid{gap:var(--space-5);grid-template-columns:1fr}.project-actions{align-items:stretch;flex-direction:column;gap:var(--space-3)}.main-actions,.quick-actions{justify-content:center}.project-stats{gap:var(--space-2);justify-content:space-between}}.site-settings{padding:0;width:100%}.settings-content{display:flex;flex-direction:column;gap:var(--space-6)}.settings-message{border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.02em;padding:var(--space-3) var(--space-5)}.settings-message.success{background-color:#4ade8014;border:1px solid #4ade8026;border-left:3px solid var(--color-green);color:var(--color-green)}.settings-message.error{background-color:#f8717114;border:1px solid #f8717126;border-left:3px solid var(--color-red);color:var(--color-red)}.settings-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr}@media (min-width:768px){.settings-grid{grid-template-columns:1fr 1fr}}.settings-section{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6);transition:border-color var(--transition-base)}.settings-section:hover{border-color:var(--color-border-accent)}.settings-section-header{display:flex;flex-direction:column;gap:var(--space-1)}.settings-section h3{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;margin:0}.settings-description{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5;margin:0}.settings-preview{margin:0}.preview-image{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-lg);display:block;max-width:240px;object-fit:cover;width:100%}.preview-placeholder{aspect-ratio:4/3;border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--text-sm);justify-content:center;letter-spacing:.04em;max-width:240px}.pdf-preview,.preview-placeholder{align-items:center;background-color:var(--color-bg-elevated);display:flex;width:100%}.pdf-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-3);padding:var(--space-4) var(--space-5);transition:border-color var(--transition-base)}.pdf-preview:hover{border-color:var(--color-border-accent)}.pdf-icon{background-color:var(--color-accent-subtle);border:1px solid var(--color-border-accent);border-radius:var(--radius-sm);flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.06em;padding:var(--space-1) var(--space-2)}.pdf-icon,.pdf-link{color:var(--color-accent)}.pdf-link{font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.pdf-link:hover{color:var(--color-accent-bright)}.settings-upload{margin:0}.upload-btn{align-items:center;background-color:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;justify-content:center;padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.upload-btn:hover{background-color:var(--color-accent-bright);box-shadow:var(--shadow-sm),var(--shadow-glow);transform:translateY(-1px)}.settings-url-input{display:flex;flex-direction:column;gap:var(--space-2)}.settings-url-input label{color:var(--color-text-dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.settings-url-input input{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);font-size:13px;padding:var(--space-3) var(--space-4);transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%}.settings-url-input input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow);outline:none}.settings-url-input input::placeholder{color:var(--color-text-dim)}.settings-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-5)}.save-btn{background-color:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-8);transition:all var(--transition-base)}.save-btn:hover{background-color:var(--color-accent-bright);box-shadow:var(--shadow-sm),var(--shadow-glow);transform:translateY(-1px)}.save-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.settings-section{padding:var(--space-5)}.preview-image,.preview-placeholder{max-width:180px}.settings-actions{flex-direction:column}.save-btn{width:100%}}.login-container{align-items:center;background-color:var(--color-bg-deep);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--space-5);position:relative}.login-container:before{background-image:linear-gradient(#27272a4d 1px,#0000 0),linear-gradient(90deg,#27272a4d 1px,#0000 0);background-size:48px 48px;content:"";inset:0;mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,#0000 70%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,#0000 70%);position:absolute}.login-container:after{background:radial-gradient(circle,#d4915e0f 0,#d4915e05 40%,#0000 70%);content:"";height:500px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:500px}.login-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:420px;padding:var(--space-10) var(--space-8);position:relative;width:100%;z-index:1}.login-form:after,.login-form:before{border-color:var(--color-border-accent);border-style:solid;content:"";height:24px;opacity:.5;pointer-events:none;position:absolute;width:24px}.login-form:before{border-radius:var(--radius-lg) 0 0 0;border-width:2px 0 0 2px;left:-1px;top:-1px}.login-form:after{border-radius:0 0 var(--radius-lg) 0;border-width:0 2px 2px 0;bottom:-1px;right:-1px}.login-header{margin-bottom:var(--space-8);text-align:center}.login-header h2{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.2em;margin:0 0 var(--space-3) 0;text-transform:uppercase}.login-header p{color:var(--color-text-dim);font-size:var(--text-sm);line-height:1.5;margin:0}.login-header:after{background:linear-gradient(90deg,#0000,var(--color-accent-dim),#0000);content:"";display:block;height:1px;margin:var(--space-5) auto 0;width:40px}.error-message{background-color:#f871710f;border:1px solid #f8717126;border-left:3px solid var(--color-red);border-radius:var(--radius-md);color:var(--color-red);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.01em;padding:var(--space-3) var(--space-4)}.error-message,.form-group{margin-bottom:var(--space-5)}.form-group label{color:var(--color-text-muted);display:block;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.1em;margin-bottom:var(--space-2);text-transform:uppercase}.form-group input{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%}.form-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-glow);outline:none}.form-group input::placeholder{color:var(--color-text-dim)}.login-button{background:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-bg-deep);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;margin-bottom:0;margin-top:var(--space-2);overflow:hidden;padding:var(--space-4) var(--space-5);position:relative;transition:all var(--transition-base);width:100%}.login-button:hover:not(:disabled){background:var(--color-accent-bright);box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-button:disabled:after{animation:login-spin .8s linear infinite;border:2px solid #0000;border-radius:50%;border-top:2px solid var(--color-bg-deep);content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}@keyframes login-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:480px){.login-container{padding:var(--space-4)}.login-form{padding:var(--space-8) var(--space-5)}}.admin-container{margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-8) var(--space-6);width:100%}@media (min-width:768px){.admin-container{padding:var(--space-10) var(--space-8)}}@media (min-width:1024px){.admin-container{padding:var(--space-12) var(--space-12)}}.admin-header-layout{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between}.admin-title{display:flex;flex-direction:column;gap:var(--space-1)}.admin-title h1{color:var(--color-accent);font-weight:400;letter-spacing:.18em;line-height:1;margin:0;text-transform:uppercase}.admin-title h1,.user-info{font-family:var(--font-mono);font-size:var(--text-sm)}.user-info{align-items:center;color:var(--color-text-dim);display:flex;gap:var(--space-4);letter-spacing:.02em}.logout-button{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;padding:var(--space-2) var(--space-3);text-transform:uppercase;transition:all var(--transition-base)}.logout-button:hover{background:#f871710f;border-color:var(--color-red);color:var(--color-red);transform:none}.admin-tabs{border-bottom:1px solid var(--color-border);display:flex;gap:0;margin-top:var(--space-8);position:relative}.admin-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;letter-spacing:.06em;padding:var(--space-3) var(--space-6);position:relative;text-transform:uppercase;transition:all var(--transition-base)}.admin-tab:hover{color:var(--color-text-secondary)}.admin-tab.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.admin-tab.active:after{background:var(--color-accent);bottom:-1px;box-shadow:0 0 8px var(--color-accent-glow);content:"";height:1px;left:0;position:absolute;right:0}.tab-actions{display:flex;justify-content:flex-end;margin-bottom:var(--space-6)}.add-project-button{background:var(--color-accent);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-bg-deep);cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.add-project-button:hover{background:var(--color-accent-bright);box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-1px)}.admin-content{margin-top:var(--space-6);min-height:200px;width:100%}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-5);position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl),var(--shadow-glow);max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.error,.loading{font-size:var(--text-base);padding:var(--space-10);text-align:center}.error{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-left:3px solid var(--color-red);border-radius:var(--radius-lg);color:var(--color-red)}.loading{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.04em}@media (max-width:768px){.admin-header-layout{align-items:center;flex-direction:column;text-align:center}.admin-title{align-items:center}.admin-tabs{margin-top:var(--space-5)}.admin-tab{flex:1 1;font-size:12px;padding:var(--space-3);text-align:center}.tab-actions{justify-content:stretch}.tab-actions .btn{width:100%}.user-info{justify-content:center}.modal-overlay{padding:var(--space-3)}.modal-content{margin:var(--space-3);max-height:95vh}}
/*# sourceMappingURL=main.47ede824.css.map*/