:root{--color-primary:#6c63ff;--color-primary-hover:#584dff;--color-accent-pink:#ff7edb;--color-accent-blue:#50c6ff;--color-bg:#f6f7ff;--color-surface:#fff;--color-text:#1a1a1a;--color-text-light:#e8e8e8;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-danger:#d73c34;--color-danger-hover:#e85a5a;--color-success:#50c6a0;--color-success-hover:#42b394;--color-warning:#ffb347;--color-warning-hover:#ff9f2e;--gradient-hero:linear-gradient(180deg,#f6f7ff,#ffe9f8);--gradient-primary:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-pink) 100%);--gradient-blue:linear-gradient(135deg,var(--color-accent-blue) 0%,var(--color-primary) 100%);--gradient-warm:linear-gradient(135deg,#ff7edb,#ffb347);--gradient-cool:linear-gradient(135deg,#50c6ff,#6c63ff);--gradient-sunset:linear-gradient(135deg,#ff9472,#f2709c);--gradient-ocean:linear-gradient(135deg,#00b4db,#0083b0);--radius-sm:8px;--radius-md:12px;--radius-lg:17px;--shadow-lg:0 12px 32px #26284c14;--shadow-card:0 8px 21px #5a65f21a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:17px;--space-5:21px;--space-6:32px;--space-7:40px;--space-8:64px;--font-family:Gill Sans,Gill Sans MT,Calibri,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f6f7ff;background-color:var(--color-bg);color:#1a1a1a;color:var(--color-text);font-family:Gill Sans,Gill Sans MT,Calibri,sans-serif;font-family:var(--font-family);font-size:19px;font-weight:lighter;line-height:1.6;margin:0}*{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.page-container{margin:0 auto;max-width:1280px;min-height:100vh;padding:0}.page-header{margin-bottom:64px;margin-bottom:var(--space-8);margin-top:64px;margin-top:var(--space-8);text-align:center}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6c63ff,#ff7edb);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);-webkit-background-clip:text;background-clip:text;color:#1a1a1a;color:var(--color-text);font-size:58px;font-weight:lighter;letter-spacing:-.01em;line-height:1.1;margin:0}.page-container-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:17px;border-radius:var(--radius-lg);box-shadow:0 8px 21px #5a65f21a;box-shadow:var(--shadow-card);overflow:hidden}.page-container-card:before{background:linear-gradient(135deg,#6c63ff,#ff7edb);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);border-radius:17px 17px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.page-section{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border);padding:96px}.page-section:last-child{border-bottom:none}.section-title{color:#1a1a1a;color:var(--color-text);font-size:36px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin:0 0 32px;margin:0 0 var(--space-6) 0;padding-bottom:12px;padding-bottom:var(--space-3);position:relative}.section-title:after{background:linear-gradient(135deg,#6c63ff,#ff7edb);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}.btn-primary{align-items:center;background:#6c63ff;border:2px solid #6c63ff;border:2px solid var(--color-primary);border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-family:Gill Sans,Gill Sans MT,Calibri,sans-serif;font-family:var(--font-family);font-size:17px;font-weight:lighter;justify-content:center;padding:8px 17px;padding:var(--space-2) var(--space-4);text-decoration:none;transition:all .2s ease}.btn-primary,.btn-primary:hover{box-shadow:0 12px 32px #26284c14}.btn-primary:hover{background:#584dff;border-color:#584dff;border-color:var(--color-primary-hover)}.btn-secondary{align-items:center;border:2px solid #6c63ff;border-radius:12px;border-radius:var(--radius-md);color:#6c63ff;cursor:pointer;display:inline-flex;font-family:Gill Sans,Gill Sans MT,Calibri,sans-serif;font-family:var(--font-family);font-size:17px;font-weight:lighter;justify-content:center;padding:8px 17px;padding:var(--space-2) var(--space-4);text-decoration:none;transition:all .2s ease}.btn-secondary:hover{background:#6c63ff;box-shadow:0 8px 21px #5a65f21a;box-shadow:var(--shadow-card);color:#fff;transform:translateY(-1px)}.admin-header-layout{align-items:center;border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:32px;margin-bottom:var(--space-6);padding-bottom:21px;padding-bottom:var(--space-5)}.admin-header-layout h1{color:#1a1a1a;color:var(--color-text);font-size:44px;font-weight:lighter;letter-spacing:-.01em;margin:0}@media (max-width:768px){.page-container{padding:32px;padding:var(--space-6) var(--space-6)}.page-header h1{font-size:44px}.page-section{padding:32px;padding:var(--space-6)}.section-title{font-size:32px}.admin-header-layout{align-items:stretch;flex-direction:column;gap:17px;gap:var(--space-4)}.admin-header-layout h1{font-size:36px;text-align:center}.btn-primary,.btn-secondary{max-width:300px;width:100%}}@media (max-width:480px){.page-container{padding:17px;padding:var(--space-4) var(--space-4)}.page-header h1{font-size:36px}.page-section{padding:21px;padding:var(--space-5)}.section-title{font-size:28px}.admin-header-layout h1{font-size:32px}.btn-primary,.btn-secondary{font-size:17px;max-width:280px;padding:12px 17px;padding:var(--space-3) var(--space-4)}}.App{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:17px;font-weight:lighter;line-height:1.6;min-height:100vh;text-align:left}.App h1{font-size:58px;line-height:1.1}.App h1,.App h2{color:var(--color-text);font-weight:lighter;letter-spacing:-.01em;margin:0 0 var(--space-5) 0}.App h2{font-size:44px;line-height:1.2}.App h3{font-size:32px;line-height:1.3;margin:0 0 var(--space-4) 0}.App h3,.App h4{color:var(--color-text);font-weight:lighter;letter-spacing:-.01em}.App h4{font-size:24px;line-height:1.4;margin:0 0 var(--space-3) 0}.App h5{color:var(--color-text);font-size:20px;font-weight:lighter;letter-spacing:-.01em;line-height:1.5;margin:0 0 var(--space-2) 0}.subtitle-line,.title-line{padding-bottom:var(--space-3);position:relative}.subtitle-line:after,.title-line:after{border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;transition:width .3s ease}.title-line:after{background:var(--gradient-primary);width:80px}.subtitle-line:after{width:60px}.subtitle-line.line-primary:after,.subtitle-line:after,.title-line.line-primary:after{background:var(--gradient-primary)}.subtitle-line.line-blue:after,.title-line.line-blue:after{background:var(--gradient-blue)}.subtitle-line.line-warm:after,.title-line.line-warm:after{background:var(--gradient-warm)}.subtitle-line.line-cool:after,.title-line.line-cool:after{background:var(--gradient-cool)}.subtitle-line.line-sunset:after,.title-line.line-sunset:after{background:var(--gradient-sunset)}.subtitle-line.line-ocean:after,.title-line.line-ocean:after{background:var(--gradient-ocean)}.subtitle-line.centered:after,.title-line.centered:after{left:50%;transform:translateX(-50%)}.subtitle-line.full-width:after,.title-line.full-width:after{width:100%}.App p{color:var(--color-text);margin:0 0 var(--space-4) 0}.App p,.App small{font-size:17px;line-height:1.6}.App small{color:var(--color-text-muted)}.container{margin:0 auto;max-width:1280px;padding:0 96px}@media (max-width:768px){.container{padding:0 var(--space-6)}.App h1{font-size:44px}.App h2{font-size:36px}.App h3{font-size:28px}}.btn{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;padding:var(--space-4) var(--space-5);text-decoration:none;transition:all .2s ease}.btn-primary{background:var(--color-primary);box-shadow:var(--shadow-lg);color:var(--color-surface)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background:#0000;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-surface)}.btn-ghost{background:#0000;border:none;box-shadow:none;color:var(--color-text)}.btn-ghost:hover{color:var(--color-primary)}.btn-danger{background:var(--color-danger);color:var(--color-surface)}.btn-danger:hover{background:var(--color-danger-hover);transform:translateY(-1px)}.btn-success{background:var(--color-success);color:var(--color-surface)}.btn-success:hover{background:var(--color-success-hover);transform:translateY(-1px)}.btn-warning{background:var(--color-warning);color:var(--color-surface)}.btn-warning:hover{background:var(--color-warning-hover);transform:translateY(-1px)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5)}.badge{align-items:center;background:#6c63ff1a;border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;font-size:17px;font-weight:lighter;padding:var(--space-1) var(--space-2)}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid var(--color-border);height:72px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-content{height:100%;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 96px}.navbar-content,.navbar-nav{align-items:center;display:flex}.navbar-nav{gap:var(--space-6);list-style:none;margin:0;padding:0}.navbar-nav a{color:var(--color-text);font-weight:lighter;text-decoration:none;transition:color .2s ease}.navbar-nav a.active,.navbar-nav a:hover{color:var(--color-primary)}@media (max-width:768px){.navbar-content{padding:0 var(--space-6)}.navbar-nav{gap:var(--space-4)}}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid var(--color-border);height:72px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 var(--space-5)}.header .site-title{color:var(--color-primary);font-family:Gill Sans,Gill Sans MT,Calibri,sans-serif!important;font-size:45px;font-weight:lighter!important;letter-spacing:-.02em;line-height:1;margin:0!important;padding:0!important;text-decoration:none}.header .site-title:hover{color:var(--color-primary-hover)}.header .nav-list,.header-navigation{align-items:center;display:flex}.header .nav-list{gap:var(--space-6);list-style:none;margin:0;padding:0}.header .nav-item{margin:0}.header .nav-link{color:var(--color-text);font-size:17px;font-weight:lighter;padding:var(--space-2) 0;position:relative;text-decoration:none;transition:color .2s ease}.header .nav-link.active,.header .nav-link:hover{color:var(--color-primary)}.header .nav-link.active:after{background:var(--color-primary);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}@media (max-width:768px){.header-content{padding:0 var(--space-6)}.header .site-title{font-size:36px}.header .nav-list{gap:var(--space-4)}.header .nav-link{font-size:17px}}.mobile-menu-button{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:32px;justify-content:center;padding:0;width:32px;z-index:101}.hamburger-line{background-color:var(--color-text);height:2px;margin:2px 0;transition:all .3s ease;width:20px}.hamburger-line.open:first-child{transform:rotate(45deg) translate(4px,4px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.mobile-navigation{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-bottom:1px solid var(--color-border);display:none;left:0;opacity:0;position:fixed;right:0;top:72px;transform:translateY(-100%);transition:transform .3s ease,visibility .3s ease,opacity .3s ease;visibility:hidden;z-index:100}.mobile-navigation.open{opacity:1;transform:translateY(0);visibility:visible}.mobile-nav-list{display:flex;flex-direction:column;gap:0;list-style:none;margin:0;padding:var(--space-4) 0}.mobile-nav-item{margin:0}.mobile-nav-link{border-bottom:1px solid var(--color-border);color:var(--color-text);display:block;font-size:18px;font-weight:lighter;padding:var(--space-4) var(--space-6);text-decoration:none;transition:all .2s ease}.mobile-nav-link:hover{background-color:#6c63ff0d;color:var(--color-primary)}.mobile-nav-link.active{background-color:#6c63ff1a;color:var(--color-primary)}@media (max-width:640px){.header-content{align-items:center;justify-content:space-between;padding:0 var(--space-4)}.header .site-title{font-size:28px;position:relative;z-index:102}.header .nav-list{display:none}.mobile-menu-button{display:flex;position:relative;z-index:102}.mobile-navigation{display:block}.mobile-navigation:not(.open){opacity:0;transform:translateY(-100%);transition-delay:0s,.3s,0s;visibility:hidden}}.footer{background-color:#f8f9fa;margin-top:auto;padding:2rem;text-align:center}.footer-content{margin:0 auto;max-width:1200px}.copyright{margin-bottom:1rem}.social-links{display:flex;gap:1.5rem;justify-content:center}.social-link{color:#4a6fa5;text-decoration:none;transition:color .3s}.social-link:hover{color:#3a5a84}.home-container{margin:0 auto;max-width:1280px;min-height:100vh;padding:0}.hero-section{align-items:center;background:var(--gradient-hero);display:flex;min-height:80vh;overflow:hidden;padding:96px;position:relative}.hero-background{height:100%;-webkit-mask-image:linear-gradient(270deg,#000 70%,#0000);mask-image:linear-gradient(270deg,#000 70%,#0000);position:absolute;right:-140px;top:0;width:70%;z-index:0}.hero-portrait-image{height:100%;object-fit:cover;object-position:center;opacity:.85;width:100%}.hero-content{align-items:center;display:flex;justify-content:space-between;position:relative;width:100%;z-index:3}.hero-text{animation:fadeInUp 1s ease-out;max-width:600px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.hero-text 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-bottom:var(--space-4)}.hero-text h2{color:var(--color-text-muted);font-size:32px;font-weight:lighter;line-height:1.3;margin-bottom:var(--space-5)}.hero-text p{color:var(--color-text);font-size:21px;line-height:1.6;margin-bottom:var(--space-6);max-width:500px}.hero-buttons{align-items:center;display:flex;gap:var(--space-4)}.highlights-section{background:var(--color-surface);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-8) 96px}.highlights-section h2{color:var(--color-text);font-size:44px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin-bottom:var(--space-8);padding-bottom:var(--space-3);position:relative;text-align:center}.highlights-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}.highlights-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(354px,1fr));margin:0 auto;max-width:1200px}.highlight-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6);text-align:left;transition:all .3s ease}.highlight-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.highlight-card h3{color:var(--color-text);font-size:28px;font-weight:lighter;margin-bottom:var(--space-4)}.highlight-card p{color:var(--color-text-muted);font-size:17px;line-height:1.6;margin-bottom:var(--space-5)}.highlight-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:17px;font-weight:lighter;text-decoration:none;transition:all .2s ease}.highlight-link:after{content:"→";margin-left:var(--space-1);transition:transform .2s ease}.highlight-link:hover{color:var(--color-primary-hover)}.highlight-link:hover:after{transform:translateX(4px)}.featured-project-section{background:var(--color-bg);margin:0 auto;max-width:1280px;padding:var(--space-8) 96px}.featured-project-section h2{color:var(--color-text);font-size:44px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin-bottom:var(--space-8);padding-bottom:var(--space-3);position:relative;text-align:center}.featured-project-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}.featured-project{grid-gap:var(--space-8);align-items:center;background:#0000;display:grid;gap:var(--space-8);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1000px;padding:0}.featured-project img{aspect-ratio:16/9;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);height:auto;object-fit:cover;transition:transform .3s ease;width:100%}.featured-project img:hover{transform:scale(1.02)}.project-details h3{margin-bottom:var(--space-4)}.project-details p{color:var(--color-text-muted);font-size:17px;line-height:1.6}.project-details p,.project-tags{margin-bottom:var(--space-5)}.tag{background:#6c63ff1a;border-radius:var(--radius-sm);color:var(--color-primary);padding:var(--space-1) var(--space-2)}.tag,.view-project-button{font-size:17px;font-weight:lighter}.view-project-button{align-items:center;background:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--color-surface);display:inline-flex;font-family:var(--font-family);justify-content:center;margin-top:var(--space-3);padding:var(--space-4) var(--space-6);text-decoration:none;transition:all .2s ease}.view-project-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.cta-section{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-8) 96px;text-align:center}.cta-section h2{color:var(--color-text);font-size:44px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin-bottom:var(--space-4)}.cta-section p{color:var(--color-text-muted);font-size:21px;line-height:1.6;margin:0 auto var(--space-6);max-width:600px}.cta-buttons{display:flex;gap:var(--space-4)}.cta-buttons,.primary-button{align-items:center;justify-content:center}.primary-button{background:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--color-surface);display:inline-flex;font-family:var(--font-family);font-size:17px;font-weight:lighter;padding:var(--space-4) var(--space-6);text-decoration:none;transition:all .2s ease}.primary-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.secondary-button{align-items:center;background:#0000;border:2px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;font-family:var(--font-family);font-size:17px;font-weight:lighter;justify-content:center;padding:var(--space-4) var(--space-6);text-decoration:none;transition:all .2s ease}.secondary-button:hover{background:var(--color-primary);box-shadow:var(--shadow-card);color:var(--color-surface);transform:translateY(-1px)}@media (max-width:768px){.hero-section{min-height:70vh;text-align:center}.hero-background{display:none}.hero-text{max-width:100%}.hero-text h1{font-size:44px}.hero-text h2{font-size:28px}.hero-text p{font-size:17px;max-width:100%}.hero-buttons{align-items:center;flex-direction:column;gap:var(--space-3)}.primary-button,.secondary-button,.view-project-button{max-width:300px;width:100%}.cta-section h2,.featured-project-section h2,.highlights-section h2{font-size:36px}.highlights-grid{gap:var(--space-5);grid-template-columns:1fr}.featured-project{gap:var(--space-6);grid-template-columns:1fr;text-align:center}.cta-buttons{flex-direction:column;gap:var(--space-3)}}@media (max-width:480px){.cta-section,.featured-project-section,.hero-section,.highlights-section{padding:var(--space-6) var(--space-4)}.hero-text h1{font-size:36px}.hero-text h2{font-size:21px}.hero-text p{font-size:17px}.cta-section h2,.featured-project-section h2,.highlights-section h2{font-size:32px}.featured-project,.highlight-card{padding:var(--space-5)}.highlights-grid{gap:var(--space-4);grid-template-columns:1fr}}.about-intro{grid-gap:var(--space-8);background:var(--gradient-hero);display:grid;gap:var(--space-8);grid-template-columns:1.8fr 1.2fr;padding:96px;position:relative}.about-portrait{align-items:center;display:flex;justify-content:center;position:relative;z-index:2}.portrait-image{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:transform .3s ease;width:100%}.portrait-image:hover{transform:scale(1.02)}.about-intro-text{display:flex;flex-direction:column;justify-content:center}.about-intro-text h2{color:var(--color-text);font-size:44px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin:0 0 var(--space-3) 0}.about-intro-text h3{color:var(--color-primary);font-size:28px;font-weight:lighter;line-height:1.3;margin:0 0 var(--space-5) 0}.about-intro-text p{color:var(--color-text);font-size:21px;line-height:1.6;margin-bottom:var(--space-5)}.about-buttons{align-items:center;display:flex;gap:var(--space-4)}.about-content p{color:var(--color-text);font-size:17px;line-height:1.6;margin-bottom:var(--space-4)}.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(auto-fit,minmax(300px,1fr))}.skill-category{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.skill-category h3{align-items:center;color:var(--color-text);display:flex;font-size:21px;font-weight:lighter;gap:var(--space-2);margin-bottom:var(--space-4)}.skill-category h3:before{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);border-radius:2px;content:"";height:17px;width:4px}.interests-list,.skill-list{list-style-type:none;margin:0;padding:0}.interests-list li,.skill-list li{color:var(--color-text);font-size:17px;padding:var(--space-2) 0;padding-left:var(--space-4);position:relative;transition:color .2s ease}.interests-list li:hover,.skill-list li:hover{color:var(--color-primary)}.interests-list li:before,.skill-list li:before{color:var(--color-primary);content:"●";font-size:17px;left:0;position:absolute;top:50%;transform:translateY(-50%)}.about-cta{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);padding:96px;text-align:center}.about-cta,.about-cta h2{color:var(--color-surface)}.about-cta h2{font-size:44px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin:0 0 var(--space-4) 0}.about-cta p{color:#ffffffe6;font-size:21px;line-height:1.6;margin:0 auto var(--space-6);max-width:600px}.about-cta .primary-button{background:var(--color-surface);border-color:var(--color-surface);color:var(--color-primary)}.about-cta .primary-button:hover{background:#ffffffe6;border-color:#ffffffe6;color:var(--color-primary-hover)}.about-cta .secondary-button{background:#0000;border-color:var(--color-surface);color:var(--color-surface)}.about-cta .secondary-button:hover{background:var(--color-surface);color:var(--color-primary)}@media (max-width:768px){.about-intro{gap:var(--space-6);grid-template-columns:1fr;padding:var(--space-6);text-align:center}.about-portrait{order:-1}.portrait-image{max-width:300px}.about-intro-text h2{font-size:36px}.about-intro-text h3{font-size:21px}.about-intro-text p{font-size:17px}.skills-container{gap:var(--space-5);grid-template-columns:1fr}.about-buttons{align-items:center;flex-direction:column;gap:var(--space-3)}.about-cta{padding:var(--space-6)}.about-cta h2{font-size:36px}.about-cta p{font-size:17px}}@media (max-width:480px){.about-intro{padding:var(--space-5)}.about-intro-text h2{font-size:32px}.about-intro-text h3{font-size:21px}.about-intro-text p{font-size:17px}.portrait-image{max-width:254px}.skill-category{padding:var(--space-4)}.about-cta{padding:var(--space-5)}.about-cta h2{font-size:32px}.about-cta p{font-size:17px}}.projects-content{background:var(--color-surface);padding:96px;position:relative;text-align:center}.projects-content: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}.projects-content p{color:var(--color-text-muted);font-size:21px;line-height:1.6;margin:0 auto var(--space-6);max-width:600px}.projects-filter{background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-left:auto;margin-right:auto;margin-top:0;max-width:800px;padding:0}.filter-button{cursor:pointer}.filter-button.active{background:var(--color-primary);box-shadow:var(--shadow-card);color:var(--color-surface);transform:translateY(-1px)}.projects-grid{grid-gap:var(--space-6);background:var(--color-bg);gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(380px,1fr));padding:96px}.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 .3s ease}.project-card:hover{border-color:#6c63ff33;transform:translateY(-4px)}.project-image{background:var(--gradient-hero);height:240px;width:100%}.project-image img{transition:transform .3s ease}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{display:flex;flex-direction:column;flex-grow:1;padding:var(--space-5);position:relative}.featured-badge{align-items:center;background:var(--gradient-warm);color:var(--color-surface);display:inline-flex;font-size:17px;font-weight:lighter;gap:var(--space-1);z-index:3}.project-title{color:var(--color-text);font-size:21px;font-weight:400!important;line-height:1.3;margin:0 0 var(--space-3) 0;transition:color .2s ease}.project-card:hover .project-title{color:var(--color-primary)}.project-footer{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-top:auto}.project-card .project-tags{margin-bottom:0}.view-details{align-items:center;color:var(--color-primary);display:inline-flex;flex-shrink:0;font-size:17px;font-weight:lighter;margin-left:auto;transition:all .2s ease}.project-card:hover .view-details{color:var(--color-primary-hover);transform:translateX(4px)}.no-projects{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);grid-column:1/-1;padding:var(--space-8);text-align:center}.no-projects h3{color:var(--color-text-muted);font-size:28px;font-weight:lighter;margin-bottom:var(--space-3)}.no-projects p{color:var(--color-text-muted);font-size:17px}@media (max-width:768px){.projects-content{padding:var(--space-6) var(--space-4)}.projects-content p{font-size:17px}.projects-filter{gap:var(--space-2)}.filter-button{font-size:17px;padding:var(--space-2) var(--space-4)}.projects-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-image{height:200px}.project-content{padding:var(--space-4)}}@media (max-width:480px){.projects-content{padding:var(--space-5) var(--space-3)}.projects-content p{font-size:17px}.projects-grid{gap:var(--space-4);grid-template-columns:1fr;padding:0}.filter-button{font-size:16px;padding:var(--space-2) var(--space-3)}.project-image{height:180px}}.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-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{margin:0 auto;max-width:800px;min-height:100vh;padding:var(--space-8) var(--space-6)}.resume-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-8)}.resume-header{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);padding-bottom:var(--space-5);text-align:center}.resume-portrait{border:3px solid var(--color-border);border-radius:50%;height:120px;margin-bottom:var(--space-4);object-fit:cover;width:120px}.resume-header h1{color:var(--color-text);font-size:2rem;font-weight:300;margin:0 0 .25rem}.resume-subtitle{color:var(--color-text-muted);font-size:1rem;margin:0 0 1rem}.resume-contact{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem;justify-content:center}.resume-contact a{color:var(--color-primary);text-decoration:none}.resume-contact a:hover{text-decoration:underline}.resume-section{margin-bottom:var(--space-5)}.resume-section h2{border-bottom:1px solid var(--color-border);color:var(--color-primary);font-size:.85rem;font-weight:600;letter-spacing:.1em;margin:0 0 var(--space-4);padding-bottom:var(--space-2);text-transform:uppercase}.resume-entry{margin-bottom:var(--space-4)}.resume-entry:last-child{margin-bottom:0}.resume-entry-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.resume-role{color:var(--color-text);font-weight:500}.resume-date{color:var(--color-text-muted);font-size:.85rem}.resume-org{margin-bottom:.25rem}.resume-entry p,.resume-org{color:var(--color-text-muted);font-size:.9rem}.resume-entry p{line-height:1.5;margin:.25rem 0 0}.resume-projects-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.resume-project{display:flex;flex-direction:column;gap:.125rem}.resume-project strong{color:var(--color-text);font-size:.9rem;font-weight:500}.resume-project span{color:var(--color-text-muted);font-size:.8rem}.resume-skills-section{margin-bottom:var(--space-6)}.resume-skills{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.skill-group{display:flex;font-size:.9rem;gap:.5rem}.skill-label{color:var(--color-text);font-weight:500}.skill-group span:last-child{color:var(--color-text-muted)}.resume-download{border-top:1px solid var(--color-border);padding-top:var(--space-5);text-align:center}.download-btn{background:var(--color-primary);border-radius:var(--radius-md);color:#fff;display:inline-block;font-size:.9rem;font-weight:500;padding:var(--space-3) var(--space-5);text-decoration:none;transition:background .2s ease}.download-btn:hover{background:var(--color-primary-hover)}@media (max-width:600px){.resume-page{padding:var(--space-4)}.resume-content{padding:var(--space-5)}.resume-portrait{height:100px;width:100px}.resume-header h1{font-size:1.5rem}.resume-contact{font-size:.8rem}.resume-entry-header{flex-direction:column;gap:0}.resume-projects-grid,.resume-skills{grid-template-columns:1fr}}.contact-page{margin:0 auto;max-width:1280px;min-height:100vh;padding:0}.contact-header{background:var(--gradient-hero);padding:96px 96px 48px;text-align:center}.contact-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}.contact-header p{color:var(--color-text-muted);font-size:21px;line-height:1.6;margin:0 auto;max-width:600px}.contact-container{position:relative}.contact-section{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(354px,1fr));padding:96px}.contact-card{align-items:flex-start;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;overflow:hidden;padding:var(--space-6);position:relative;transition:all .3s ease}.contact-card:hover{background:var(--color-surface);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.contact-icon{align-items:center;background:#6c63ff1a;border-radius:var(--radius-md);color:var(--color-primary);display:flex;flex-shrink:0;font-size:2.5rem;height:58px;justify-content:center;margin-right:var(--space-5);transition:all .3s ease;width:58px}.contact-card:hover .contact-icon{background:var(--color-primary);color:var(--color-surface);transform:scale(1.1)}.contact-info{flex:1 1}.contact-info h3{color:var(--color-text);font-size:28px;font-weight:lighter;line-height:1.3;margin:0 0 var(--space-2) 0}.contact-info p{color:var(--color-text-muted);font-size:17px;line-height:1.6;margin:0 0 var(--space-3) 0}.contact-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:17px;font-weight:lighter;position:relative;text-decoration:none;transition:all .2s ease}.contact-link:after{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent-pink) 100%);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.contact-link:hover:after{width:100%}.contact-link:hover{color:var(--color-primary-hover);transform:translateX(2px)}.contact-text{color:var(--color-text);font-weight:lighter}.contact-message{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);color:var(--color-surface);overflow:hidden;padding:96px;position:relative;text-align:center}.contact-message:before{animation:pulse 6s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.2;transform:scale(1.1)}}.contact-message h2{color:var(--color-surface);font-size:44px;font-weight:lighter;letter-spacing:-.01em;line-height:1.2;margin:0 0 var(--space-4) 0;position:relative;z-index:2}.contact-message p{color:#ffffffe6;font-size:21px;line-height:1.6;margin:0 auto;max-width:600px;position:relative;z-index:2}.contact-card:first-child .contact-icon{background:#ff7edb1a}.contact-card:first-child:hover .contact-icon{background:var(--color-accent-pink)}.contact-card:nth-child(2) .contact-icon{background:#50c6ff1a}.contact-card:nth-child(2):hover .contact-icon{background:var(--color-accent-blue)}.contact-card:nth-child(3) .contact-icon{background:#6c63ff1a}.contact-card:nth-child(3):hover .contact-icon{background:var(--color-primary)}@media (max-width:768px){.contact-header{padding:var(--space-6) var(--space-4) var(--space-4)}.contact-header h1{font-size:44px}.contact-header p{font-size:17px}.contact-section{gap:var(--space-5);grid-template-columns:1fr;padding:var(--space-6)}.contact-card{padding:var(--space-5)}.contact-icon{font-size:2rem;height:54px;margin-right:var(--space-4);width:54px}.contact-info h3{font-size:21px}.contact-info p,.contact-link{font-size:17px}.contact-message{padding:var(--space-6)}.contact-message h2{font-size:36px}.contact-message p{font-size:17px}}@media (max-width:480px){.contact-header{padding:var(--space-5) var(--space-3) var(--space-3)}.contact-header h1{font-size:36px}.contact-header p{font-size:17px}.contact-section{padding:var(--space-5)}.contact-card{align-items:center;flex-direction:column;padding:var(--space-4);text-align:center}.contact-icon{margin-bottom:var(--space-3);margin-right:0}.contact-info h3{font-size:21px}.contact-message{padding:var(--space-5)}.contact-message h2{font-size:32px}.contact-message p{font-size:17px}}.project-form{max-height:90vh;overflow-y:auto;padding:0}.form-header{align-items:center;background-color:var(--color-surface);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{padding:2px 8px}.draft-badge.editing{align-items:center!important;background-color:var(--color-warning);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);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);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-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-family);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);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-primary);box-shadow:var(--shadow-card);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-primary)}.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-text-muted);color:var(--color-surface);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-text)}.featured-toggle-btn.featured{background-color:var(--color-warning);color:var(--color-text)}.featured-toggle-btn.featured:hover{background-color:var(--color-warning);background-color:var(--color-warning-hover,var(--color-warning))}.draft-toggle-btn{align-items:center;background-color:#22c55e;color:#fff;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{background-color:#16a34a}.draft-toggle-btn.draft{background-color:#9ca3b026;color:var(--color-text)}.draft-toggle-btn.draft:hover{background-color:#9ca3b040}.tags-input{display:flex;gap:10px;margin-bottom:10px}.tags-input input{flex:1 1}.tags-input .btn{background-color:var(--color-text-muted);color:var(--color-surface);font-size:14px}.tags-input .btn:hover{background-color:var(--color-text)}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.tag{align-items:center;background-color:var(--color-bg);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-danger);box-shadow:none;color:var(--color-surface);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-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);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-primary);box-shadow:0 0 0 2px var(--color-primary-alpha);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{border:1px solid var(--color-border);border-radius:4px;box-sizing:border-box;font-size:12px;padding:6px 8px;transition:border-color .3s;width:100%}.caption-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-card);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-danger);border:none!important;border-radius:50%!important;box-shadow:var(--shadow-card);color:var(--color-surface);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{background-color:var(--color-danger-hover);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-card);overflow:hidden;position:relative}.upload-section,.video-item{background-color:var(--color-surface)}.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-text-muted);border:none!important;border-radius:var(--radius-md)!important;color:var(--color-surface);cursor:pointer!important;display:inline-flex!important;font-family:var(--font-family)!important;font-size:17px!important;font-weight:lighter!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-text)}.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:#fff;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);display:flex;gap:10px;padding:10px}.upload-placeholder{background-color:var(--color-bg);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-danger);border:none!important;border-radius:50%!important;box-shadow:var(--shadow-card);color:var(--color-surface);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{background-color:var(--color-danger-hover);transform:scale(1.1)}.video-preview{background-color:var(--color-text);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:var(--color-surface);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);display:flex;justify-content:flex-end;padding:var(--space-3)}.remove-video-btn{align-items:center;background-color:var(--color-danger);border:none!important;border-radius:50%!important;box-shadow:var(--shadow-card);color:var(--color-surface);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{background-color:var(--color-danger-hover);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-text-muted);color:var(--color-surface)}.cancel-button:hover{background-color:var(--color-text);transform:translateY(-1px)}.save-button{background:var(--color-primary);box-shadow:var(--shadow-lg);color:var(--color-surface)}.save-button:hover{background:var(--color-primary-hover);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-danger);color:var(--color-surface);font-size:16px;padding:var(--space-3) var(--space-4)}.project-form .delete-button:hover{background-color:var(--color-danger-hover)}.project-form .delete-button:disabled{background-color:var(--color-text-muted);cursor:not-allowed;transform:none}.existing-tags-section{background-color:var(--color-bg);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-surface);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-primary);border-color:var(--color-primary);box-shadow:var(--shadow-card);color:var(--color-surface);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);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-5);text-align:center}.empty-projects h3{font-weight:lighter;margin-bottom:var(--space-3)}.empty-projects h3,.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-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .2s,box-shadow .2s}.project-card.clickable{cursor:pointer}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.project-image{background-color:var(--color-bg);height:160px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;width:100%}.no-image{align-items:center;background:linear-gradient(45deg,var(--color-bg) 25%,#0000 25%,#0000 75%,var(--color-bg) 75%),linear-gradient(45deg,var(--color-bg) 25%,#0000 25%,#0000 75%,var(--color-bg) 75%);background-position:0 0,10px 10px;background-size:20px 20px;color:var(--color-text-muted);display:flex;font-size:17px;height:100%;justify-content:center}.featured-badge{background-color:var(--color-warning);color:var(--color-text);right:var(--space-3)}.draft-badge,.featured-badge{border-radius:var(--radius-sm);box-shadow:var(--shadow-card);font-size:12px;font-weight:500;padding:var(--space-1) var(--space-2);position:absolute;top:var(--space-3)}.draft-badge{background-color:var(--color-accent);color:#fff;left:var(--space-3)}.project-card.draft{background-color:var(--color-bg);border:2px dashed var(--color-accent);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;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-card);transform:scale(1.1)}.quick-toggle.featured{background-color:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.quick-toggle.featured:hover{background-color:#f59e0b33}.quick-toggle.not-featured{background-color:#9ca3af1a;border-color:#9ca3af;color:#9ca3af}.quick-toggle.not-featured:hover{background-color:#9ca3af33}.quick-toggle.published{background-color:#22c55e1a;border-color:#22c55e;color:#22c55e}.quick-toggle.published:hover{background-color:#22c55e33}.quick-toggle.draft{background-color:#9ca3af1a;border-color:#9ca3af;color:#9ca3af}.quick-toggle.draft:hover{background-color:#9ca3af33}.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);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);border-radius:var(--radius-sm);color:var(--color-text);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-blue);color:var(--color-surface)}.link-button.demo:hover,.link-button.source{background-color:var(--color-primary)}.link-button.source{color:var(--color-surface)}.link-button.source:hover{background-color:var(--color-primary-hover)}.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-warning);color:var(--color-warning)}.featured-toggle.featured{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-text)}.order-input{background:var(--color-surface);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-primary);box-shadow:var(--shadow-card);outline:none}.main-actions{display:flex;gap:var(--space-2)}.edit-button{background-color:var(--color-primary);color:var(--color-surface);font-size:12px;padding:var(--space-2) var(--space-4)}.edit-button:hover{background-color:var(--color-primary-hover)}.delete-button{background-color:var(--color-danger);color:var(--color-surface);font-size:12px;padding:var(--space-2) var(--space-4)}.delete-button:hover{background-color:var(--color-danger-hover)}.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{max-height:90vh;overflow-y:auto;padding:0}.settings-header{align-items:center;background-color:var(--color-surface);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)}.settings-header h2{color:var(--color-text);font-size:40px;font-weight:lighter;margin:0}.settings-content{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6)}.settings-message{border-radius:var(--radius-md);font-size:14px;padding:var(--space-3) var(--space-4)}.settings-message.success{background-color:#22c55e1a;border:1px solid #22c55e33;color:#22c55e}.settings-message.error{background-color:#ef44441a;border:1px solid #ef444433;color:#ef4444}.settings-section{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.settings-section h3{color:var(--color-text);font-size:21px;font-weight:500;margin:0 0 var(--space-2) 0}.settings-description{color:var(--color-text-muted);font-size:14px;margin:0 0 var(--space-4) 0}.settings-preview{margin-bottom:var(--space-4)}.preview-image{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:200px;max-width:200px;object-fit:cover}.preview-placeholder{border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:14px;height:150px;justify-content:center;width:200px}.pdf-preview,.preview-placeholder{align-items:center;background-color:var(--color-surface);display:flex}.pdf-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-3);padding:var(--space-3) var(--space-4);width:-webkit-fit-content;width:fit-content}.pdf-icon{font-size:24px}.pdf-link{color:var(--color-primary);font-size:14px;text-decoration:none}.pdf-link:hover{text-decoration:underline}.settings-upload{margin-bottom:var(--space-4)}.upload-btn{background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:var(--space-3) var(--space-5);transition:all .2s}.upload-btn:hover{background-color:var(--color-primary-hover)}.settings-url-input{display:flex;flex-direction:column;gap:var(--space-2)}.settings-url-input label{color:var(--color-text-muted);font-size:13px}.settings-url-input input{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:monospace;font-size:14px;padding:var(--space-3) var(--space-4)}.settings-url-input input:focus{border-color:var(--color-primary);outline:none}.settings-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-4)}.save-btn{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:var(--space-3) var(--space-6);transition:all .2s}.save-btn:hover{background-color:var(--color-primary-hover)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{background-color:initial;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-size:14px;padding:var(--space-3) var(--space-6);transition:all .2s}.cancel-btn:hover{background-color:var(--color-bg);color:var(--color-text)}@media (max-width:768px){.settings-header{padding:var(--space-4)}.settings-header h2{font-size:28px}.settings-content,.settings-section{padding:var(--space-4)}.preview-image{max-height:150px;max-width:150px}.preview-placeholder{height:100px;width:150px}.settings-actions{flex-direction:column}.cancel-btn,.save-btn{width:100%}}.login-container{align-items:center;background:var(--gradient-primary);display:flex;justify-content:center;min-height:100vh;padding:var(--space-5)}.login-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;padding:var(--space-7);width:100%}.login-header{margin-bottom:var(--space-6);text-align:center}.login-header h2{color:var(--color-text);font-size:32px;font-weight:lighter;letter-spacing:-.01em;margin:0 0 var(--space-3) 0}.login-header p{color:var(--color-text-muted);font-size:17px;margin:0}.error-message{background-color:#f8d7da;background-color:var(--color-danger-bg,#f8d7da);border:1px solid #f5c6cb;border:1px solid var(--color-danger-border,#f5c6cb);border-radius:var(--radius-md);color:#721c24;color:var(--color-danger-text,#721c24);font-size:14px;padding:var(--space-3) var(--space-4)}.error-message,.form-group{margin-bottom:var(--space-5)}.form-group label{color:var(--color-text);display:block;font-size:14px;font-weight:600;margin-bottom:var(--space-2)}.form-group input{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:16px;padding:var(--space-3) var(--space-4);transition:border-color .3s,box-shadow .3s;width:100%}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha);outline:none}.login-button{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;font-size:16px;font-weight:600;margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);transition:transform .2s,box-shadow .2s;width:100%}.login-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.login-footer{margin-bottom:var(--space-7);text-align:center}.toggle-mode{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.toggle-mode:hover{color:var(--color-primary-hover)}.login-info{background-color:var(--color-bg);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-5)}.login-info h4{color:var(--color-text);font-size:14px;font-weight:600;margin:0 0 var(--space-2) 0}.login-info ul{margin:0;padding-left:var(--space-5)}.login-info li{color:var(--color-text-muted);font-size:13px;line-height:1.4;margin-bottom:var(--space-1)}@media (max-width:480px){.login-container{padding:var(--space-2)}.login-form{padding:var(--space-7) var(--space-5)}.login-header h2{font-size:1.5rem}}.login-button:disabled{position:relative}.login-button:disabled:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;bottom:0;content:"";height:16px;left:0;margin:auto;position:absolute;right:0;top:0;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.admin-container{padding:96px}.admin-title{display:flex;flex-direction:column;gap:var(--space-2)}.user-info{align-items:center;color:var(--color-text-muted);display:flex;font-size:17px;gap:var(--space-4)}.logout-button{background-color:var(--color-danger);color:var(--color-surface);font-size:14px;padding:var(--space-2) var(--space-3)}.logout-button:hover{background-color:var(--color-danger-hover)}.admin-header-buttons{display:flex;gap:var(--space-3)}.settings-button{background:var(--color-primary);color:var(--color-surface)}.settings-button:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.add-project-button{background:var(--color-success);box-shadow:var(--shadow-lg);color:var(--color-surface)}.add-project-button:hover{background:var(--color-success-hover);transform:translateY(-1px)}.modal-overlay{align-items:center;background-color:#1a1a1ab3;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-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.admin-content{margin-top:var(--space-5)}.error,.loading{font-size:18px;padding:var(--space-7);text-align:center}.error{background-color:var(--color-bg);border:1px solid var(--color-border);border-left:4px solid var(--color-danger);border-radius:var(--radius-lg);color:var(--color-danger)}.loading{color:var(--color-text-muted)}@media (max-width:768px){.admin-container{padding:var(--space-4)}.admin-title{align-items:center;text-align:center}.admin-header-buttons{flex-direction:column;width:100%}.admin-header-buttons .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.43bc1f7f.css.map*/