*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#6366f1;--primary-dark:#4f46e5;--accent:#8b92ff;--accent-dark:#6366f1;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-card:hsla(0,0%,100%,.8);--bg-glass:hsla(0,0%,100%,.7);--border-light:rgba(148,163,184,.15);--border-medium:rgba(148,163,184,.3);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-xl:0 25px 50px -12px rgba(0,0,0,.15);--shadow-2xl:0 35px 60px -15px rgba(0,0,0,.2);--radius:16px;--radius-lg:24px;--radius-xl:32px;--transition:all 0.15s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.1s cubic-bezier(0.4,0,0.2,1)}body{background:#0f172a;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;min-height:100vh;overflow-x:hidden;overflow-y:auto;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{background:radial-gradient(ellipse 80% 80% at 50% -20%,rgba(120,119,198,.3),transparent),radial-gradient(ellipse 60% 80% at 100% 20%,rgba(255,119,198,.2),transparent),radial-gradient(ellipse 60% 60% at 0 80%,rgba(99,102,241,.25),transparent),radial-gradient(ellipse 80% 50% at 80% 80%,rgba(20,184,166,.2),transparent);content:""}.gradient-mesh,body:before{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.gradient-mesh{animation:rotate 60s linear infinite;background:conic-gradient(from 180deg at 50% 50%,#a855f7 0deg,#ec4899 72deg,#f97316 144deg,#eab308 216deg,#22c55e 288deg,#a855f7 1turn);filter:blur(100px);opacity:.03}@keyframes rotate{0%{transform:rotate(0deg) scale(2)}to{transform:rotate(1turn) scale(2)}}header{background:transparent;padding:4rem 1rem 3rem;position:relative;text-align:center;z-index:10}.hero-section{justify-content:center;min-height:60vh;padding:3rem 2rem;position:relative}.hero-content,.hero-section{align-items:center;display:flex;flex-direction:column}.hero-content{gap:3rem;max-width:1200px;width:100%}h1{background:linear-gradient(90deg,#fff 20%,#94a3b8 40%,#6366f1 60%,#14b8a6 80%,#fff);-webkit-background-clip:text;background-size:200% auto;font-size:clamp(3rem,8vw,5rem);font-weight:900;-webkit-text-fill-color:transparent;animation:gradientShift 8s ease infinite;background-clip:text;letter-spacing:-.04em;line-height:1.1;margin-bottom:1rem}@keyframes gradientShift{0%,to{background-position:0}50%{background-position:100%}}.tagline{animation:fadeInUp .8s ease forwards;animation-delay:.2s;color:var(--text-muted);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:300;letter-spacing:-.01em;margin-bottom:3rem;margin-top:3.5rem!important;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.subtitle{background:linear-gradient(90deg,var(--text-secondary) 0,var(--accent) 100%);-webkit-background-clip:text;font-size:1.125rem;-webkit-text-fill-color:transparent;background-clip:text;font-weight:500;letter-spacing:.02em;margin-bottom:2rem;text-transform:uppercase}.powered{background:linear-gradient(90deg,#00c9ff,#92fe9d);-webkit-background-clip:text;display:inline-block;-webkit-text-fill-color:transparent;animation:shimmer 3s ease-in-out infinite;background-clip:text;font-weight:500}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.7}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(99,102,241,.5)}50%{box-shadow:0 0 40px rgba(99,102,241,.8),0 0 60px rgba(20,184,166,.5)}}.logo-container img{animation:float 3s ease-in-out infinite}.feature-card{animation:fadeInUp .6s ease forwards;opacity:0}.feature-card:first-child{animation-delay:.1s}.feature-card:nth-child(2){animation-delay:.2s}.feature-card:nth-child(3){animation-delay:.3s}.feature-card:nth-child(4){animation-delay:.4s}.feature-card:nth-child(5){animation-delay:.5s}.feature-card:nth-child(6){animation-delay:.6s}.stat-card{animation:scaleIn .5s ease forwards;opacity:0;transform:scale(.9)}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}@keyframes scaleIn{to{opacity:1;transform:scale(1)}}.cta{animation:slideInRight .8s ease forwards;opacity:0}.cta-secondary{animation:slideInLeft .8s ease forwards;animation-delay:.2s;opacity:0}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.app-card{animation:zoomIn .6s ease forwards;opacity:0}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}h1,h2,h3{position:relative}h1:after{animation:expand 1s ease forwards;animation-delay:.5s;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:2px;bottom:-10px;content:"";height:3px;left:50%;opacity:0;position:absolute;transform:translateX(-50%);transform-origin:center;width:60px}@keyframes expand{to{opacity:1;width:100px}}.cta{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:100px;box-shadow:0 0 0 1px hsla(0,0%,100%,.1) inset,var(--shadow-xl);transform:translateZ(0)}.cta,.cta-secondary{align-items:center;color:#fff;display:inline-flex;font-size:1.125rem;font-weight:600;gap:.75rem;overflow:hidden;padding:1.25rem 3rem;position:relative;text-decoration:none;transition:var(--transition)}.cta-secondary{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:100px}.cta-group{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:3rem}.cta:before{background:radial-gradient(circle,hsla(0,0%,100%,.25) 0,transparent 70%);border-radius:100px;content:"";height:100%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .5s ease;width:100%}.cta:hover{box-shadow:0 0 0 1px hsla(0,0%,100%,.2) inset,var(--shadow-2xl);transform:translateY(-4px) translateZ(0)}.cta:hover:before{transform:translate(-50%,-50%) scale(2)}.cta-secondary:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3);transform:translateY(-2px)}.cta-icon{height:20px;transition:transform .3s ease;width:20px}.cta:hover .cta-icon{transform:translateX(4px)}main{margin:0 auto;max-width:1200px;padding:2rem 2rem 3rem;position:relative;z-index:10}.features-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:4rem 0}.feature-card{backdrop-filter:blur(10px);background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-lg);overflow:hidden;padding:2.5rem;position:relative;transition:var(--transition)}.feature-card:before{background:linear-gradient(90deg,var(--primary),var(--accent));content:"";height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.feature-card:hover{background:linear-gradient(135deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,.08));box-shadow:var(--shadow-2xl);transform:translateY(-8px)}.feature-card:hover:before{transform:scaleX(1)}.feature-icon{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(99,102,241,.4),rgba(139,146,255,.35));border:1px solid hsla(0,0%,100%,.1);border-radius:16px;box-shadow:0 2px 8px rgba(99,102,241,.2);display:flex;font-size:1.5rem;height:56px;justify-content:center;margin-bottom:1.5rem;width:56px}.feature-title{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.feature-description{color:var(--text-muted);font-size:1.05rem;line-height:1.7}section{animation:fadeInUp .8s ease forwards;margin-bottom:6rem;opacity:0}section.section-card:last-of-type{margin-bottom:1rem!important}section:first-child{animation-delay:.1s}section:nth-child(2){animation-delay:.2s}section:nth-child(3){animation-delay:.3s}section:nth-child(4){animation-delay:.4s}section:nth-child(5){animation-delay:.5s}.section-card{backdrop-filter:blur(10px);background:linear-gradient(135deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.03));border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-xl);margin-bottom:3rem;overflow:hidden;padding:3rem;position:relative}.section-card:last-child{padding-bottom:2rem}.section-card:after{animation:pulse 4s ease-in-out infinite;background:radial-gradient(circle,rgba(99,102,241,.1) 0,transparent 70%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.3;transform:scale(1.1)}}h2{background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:2rem;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;position:relative;text-align:center}.section-subtitle{color:var(--text-muted);font-size:1.25rem;line-height:1.7;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}ol,ul{list-style:none;padding-left:1rem}ol li,ul li{color:var(--text-primary);margin-bottom:.75rem;padding-left:1.5rem;position:relative}ol li:before{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:50%;color:#fff;content:counter(list-counter);counter-increment:list-counter;display:flex;font-size:.75rem;font-weight:600;height:20px;justify-content:center;left:0;position:absolute;top:0;width:20px}ol{counter-reset:list-counter}ul li:before{color:var(--primary);content:"✓";font-weight:700;left:0;position:absolute;top:0}.upload-label{background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(20,184,166,.1));border:2px dashed hsla(0,0%,100%,.2);border-radius:var(--radius-xl);color:#fff;cursor:pointer;flex-direction:column;font-size:1.25rem;font-weight:600;gap:1rem;min-height:200px;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:transform .15s ease,box-shadow .15s ease}.upload-icon,.upload-label{align-items:center;backdrop-filter:blur(10px);display:flex;justify-content:center}.upload-icon{background:linear-gradient(135deg,rgba(99,102,241,.4),rgba(139,146,255,.35));border:1px solid hsla(0,0%,100%,.1);border-radius:24px;box-shadow:0 2px 8px rgba(99,102,241,.2);font-size:2.5rem;height:80px;transition:var(--transition);width:80px}.upload-label:hover{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(20,184,166,.15));border-color:hsla(0,0%,100%,.4);box-shadow:var(--shadow-2xl);transform:translateY(-4px)}.upload-label:hover .upload-icon{transform:scale(1.1) rotate(5deg)}.tile-icon{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(99,102,241,.4),rgba(139,146,255,.35));border:1px solid hsla(0,0%,100%,.1);border-radius:14px;box-shadow:0 2px 8px rgba(99,102,241,.2);display:flex;flex-shrink:0;font-size:1.75rem;height:52px;justify-content:center;position:relative;width:52px}.tile.full-width .tile-icon{font-size:1.5rem;height:44px;margin-left:1.5rem;width:44px}#preview{margin-top:1.5rem;text-align:center}#preview img{border-radius:var(--radius);box-shadow:var(--shadow-md);max-width:100%}#loading{padding:2rem;text-align:center}#loading p{color:var(--text-secondary);display:inline-block;font-size:1.1rem;position:relative}#loading p:after{animation:dots 1.5s steps(4) infinite;content:"...";position:absolute}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}#output-fields{background:var(--bg-secondary);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem}#output-fields p{color:var(--text-primary);line-height:1.6;margin-bottom:.75rem}#output-fields p strong{color:var(--text-primary);font-size:1.2rem;font-weight:600}#output-fields a{color:var(--primary);text-decoration:none;transition:var(--transition)}#output-fields a:hover{text-decoration:underline}.actions{display:flex;flex-wrap:wrap;gap:1rem}.actions button{background:var(--bg-primary);border:2px solid var(--border-light);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;flex:1;font-size:1rem;font-weight:500;min-width:140px;overflow:hidden;padding:.875rem 1.5rem;position:relative;transition:var(--transition)}.actions button:before{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0;z-index:0}.actions button:hover{border-color:var(--primary);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.actions button:hover:before{height:300px;width:300px}.actions button span{position:relative;z-index:1}#downloadVCard{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;color:#fff}#downloadVCard:hover{box-shadow:var(--shadow-lg)}footer{border-top:1px solid hsla(0,0%,100%,.1);margin-top:1rem;padding:3rem 2rem;position:relative;text-align:center;z-index:10}footer small{align-items:center;color:var(--text-muted);display:flex;font-size:.95rem;gap:.5rem;justify-content:center}.footer-heart{animation:heartbeat 1.5s ease infinite;color:#ef4444}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width:768px){body.page-home{height:auto!important;min-height:100vh!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;position:relative!important}body.page-app{height:100vh!important;height:100dvh!important;overflow:hidden!important;position:fixed!important;width:100%!important}.app-container{height:100vh;height:100dvh;overflow:hidden}.app-card{padding:.75rem}h1{font-size:clamp(2.5rem,10vw,4rem)}.tagline{font-size:clamp(1.1rem,4vw,1.5rem)}.hero-section{min-height:100vh;padding:1rem}.stats-grid{gap:1rem;grid-template-columns:1fr;margin-top:2rem}.stat-card{padding:1rem}.features-grid{gap:1.5rem;grid-template-columns:1fr}.feature-card{padding:2rem}.cta-group{align-items:stretch;flex-direction:column;width:100%}.cta,.cta-secondary{justify-content:center;width:100%}main{padding:3rem 1rem}.section-card{margin-bottom:2rem;padding:2rem}.app-card{border-radius:var(--radius-lg);padding:2rem}.upload-label{padding:3rem 1.5rem}.actions{flex-direction:column}.actions button{width:100%}}@media (max-width:480px){h1{font-size:clamp(2rem,12vw,3rem)}.feature-card{padding:1.5rem}.feature-icon{height:48px;width:48px}.feature-icon,.feature-title{font-size:1.25rem}.feature-description{font-size:.95rem}.upload-icon{font-size:2rem;height:60px;width:60px}.tile-icon{font-size:1.5rem;height:44px;width:44px}.app-card{padding:1.5rem}footer{padding:3rem 1rem}}@media (min-width:376px) and (max-width:430px){.tile-icon{font-size:1.75rem;height:56px;width:56px}}@media (min-width:431px) and (max-width:767px){.tile-icon{font-size:2rem;height:60px;width:60px}}.pwa-info-container{align-items:center;display:inline-flex;position:relative}.pwa-info-btn{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;margin-left:1rem;padding:0;transition:var(--transition);width:40px}.pwa-info-btn:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3);transform:scale(1.1)}.pwa-info-btn svg{height:20px;width:20px;stroke:#fff}.pwa-tooltip{animation:tooltipFadeIn .3s ease;backdrop-filter:blur(20px);background:linear-gradient(135deg,rgba(30,41,59,.98),rgba(15,23,42,.98));border:1px solid hsla(0,0%,100%,.15);border-radius:var(--radius);bottom:calc(100% + 1rem);box-shadow:var(--shadow-2xl);left:50%;padding:1.5rem;position:absolute;transform:translateX(-50%);width:320px;z-index:1000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.pwa-tooltip:after{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid rgba(15,23,42,.98);content:"";height:0;left:50%;position:absolute;top:100%;transform:translateX(-50%);width:0}.pwa-tooltip h4{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.pwa-tooltip p{color:var(--text-muted);font-size:.95rem;line-height:1.6;margin-bottom:.75rem}.pwa-tooltip ul{list-style:none;margin:0 0 1rem;padding:0}.pwa-tooltip ul li{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.pwa-tooltip ul li:before{color:var(--accent);content:"✓";font-weight:700;left:0;position:absolute}.pwa-tooltip-footer{border-top:1px solid hsla(0,0%,100%,.1);color:var(--accent);font-size:.9rem;font-weight:500;margin:0;padding-top:.75rem}@media (max-width:768px){.pwa-info-container{position:static}.pwa-tooltip{bottom:auto;left:50%;max-width:320px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%}.pwa-tooltip:after{display:none}}@media (min-width:1440px){.hero-content,main{max-width:1400px}.features-grid{gap:2.5rem;grid-template-columns:repeat(3,1fr)}}.app-container{display:grid;grid-template-rows:auto 1fr auto;height:100vh;height:100dvh;overflow:hidden;padding:0}.app-card,.app-container{position:relative;width:100%}.app-card{backdrop-filter:blur(20px);background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));border:1px solid hsla(0,0%,100%,.1);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;height:100%;margin:0 auto;max-width:600px;overflow-x:hidden;overflow-y:auto;padding:1.5rem}.app-card,.app-card:before{border-radius:var(--radius-xl)}.app-card:before{background:linear-gradient(45deg,var(--primary),var(--accent),var(--primary));bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .3s ease;z-index:-1}.app-card:hover:before{opacity:.3}.stats-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:3rem 0}.stat-card{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius);padding:1.5rem;text-align:center}.stat-number{background:linear-gradient(135deg,var(--primary) 0,var(--accent) 100%);-webkit-background-clip:text;font-size:2.5rem;font-weight:800;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{color:var(--text-muted);font-size:.875rem;letter-spacing:.05em;margin-top:.5rem;text-transform:uppercase}