@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap");:root{--bg-primary:#0a0e17;--bg-secondary:#121824;--bg-tertiary:#1b2336;--accent-cyan:#00f2fe;--accent-blue:#4facfe;--accent-purple:#7f00ff;--accent-pink:#e100ff;--accent-green:#39ff14;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-color:rgba(255,255,255,0.08);--border-focus:rgba(79,172,254,0.5);--grad-cyan-blue:linear-gradient(135deg,var(--accent-cyan) 0%,var(--accent-blue) 100%);--grad-purple-pink:linear-gradient(135deg,var(--accent-purple) 0%,var(--accent-pink) 100%);--grad-dark-card:linear-gradient(180deg,rgba(25,34,53,0.6),rgba(18,24,36,0.8));--font-headings:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-body:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--shadow-sm:0 2px 8px rgba(0,0,0,0.15);--shadow-md:0 8px 24px rgba(0,0,0,0.3);--shadow-lg:0 16px 40px rgba(0,0,0,0.5);--shadow-glow:0 0 20px rgba(0,242,254,0.25);--trans-fast:0.2s cubic-bezier(0.4,0,0.2,1);--trans-norm:0.3s cubic-bezier(0.4,0,0.2,1)}*{margin:0;padding:0;box-sizing:border-box}body,html{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}a{text-decoration:none;color:inherit;transition:var(--trans-fast)}button,input,select,textarea{font-family:inherit}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--text-secondary)}.loader{border:3px solid rgba(255,255,255,.05);border-top:3px solid var(--accent-cyan);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;box-shadow:var(--shadow-glow)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.alert{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem;font-weight:500;border-left:4px solid transparent}.alert-error{background-color:rgba(239,68,68,.1);border-color:#ef4444;color:#f87171}.alert-success{background-color:rgba(16,185,129,.1);border-color:#10b981;color:#34d399}.app-container{display:flex;flex-direction:column;min-height:100vh}.nav-container{justify-content:space-between;padding:1.25rem 2rem;background-color:rgba(10,14,23,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);position:-webkit-sticky;position:sticky;top:0;z-index:100;transition:var(--trans-norm)}.nav-container,.nav-logo a{display:flex;align-items:center}.nav-logo a{font-family:var(--font-headings);font-size:1.5rem;font-weight:800;background:var(--grad-cyan-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;gap:.5rem;letter-spacing:-.5px}.nav-links{display:flex;gap:2rem}.nav-link{font-weight:500;color:var(--text-secondary);font-size:.95rem;position:relative;padding:.25rem 0}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--grad-cyan-blue);transition:var(--trans-fast)}.nav-link:hover{color:var(--text-primary)}.nav-link.active:after,.nav-link:hover:after{width:100%}.user-badge{display:flex;align-items:center;gap:1rem;background-color:var(--bg-secondary);padding:.5rem 1rem;border-radius:50px;border:1px solid var(--border-color)}.welcome-text{font-size:.9rem;color:var(--text-secondary)}.welcome-text strong{color:var(--text-primary)}.logout-btn{background:transparent;border:none;color:#f87171;font-size:.9rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:var(--trans-fast)}.logout-btn:hover{background-color:rgba(248,113,113,.1);color:#ef4444}.cta-btn{background:var(--grad-cyan-blue);color:#000;font-size:.9rem;font-weight:700;padding:.6rem 1.25rem;border-radius:50px;box-shadow:var(--shadow-sm);transition:var(--trans-fast);border:none;cursor:pointer}.cta-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.main-content{flex-grow:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.app-footer{text-align:center;padding:2rem;font-size:.85rem;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:auto;background-color:rgba(10,14,23,.5)}@media (max-width:768px){.nav-container{padding:1rem;flex-direction:column;gap:1rem}.nav-links{gap:1.25rem}.main-content{padding:1rem}}.icon-svg{display:inline-block;vertical-align:middle;flex-shrink:0}.home-container{display:flex;flex-direction:column;gap:5rem;padding:1.5rem 0}.hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;grid-gap:3rem;gap:3rem;min-height:70vh}.hero-content{display:flex;flex-direction:column;align-items:flex-start}.badge{background:rgba(0,242,254,.1);color:var(--accent-cyan);border:1px solid rgba(0,242,254,.25);font-size:.75rem;font-weight:700;letter-spacing:1px;padding:.4rem .8rem;border-radius:50px;text-transform:uppercase}.badge,.hero-title{margin-bottom:1.5rem}.hero-title{font-family:var(--font-headings);font-size:3.5rem;line-height:1.15;font-weight:800;letter-spacing:-1px}.hero-title .highlight{background:var(--grad-cyan-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{color:var(--text-secondary);font-size:1.15rem;margin-bottom:2.5rem;max-width:540px}.hero-actions{display:flex;gap:1rem}.primary-btn{background:var(--grad-cyan-blue);color:#000;font-weight:700;padding:.85rem 2rem;border-radius:8px;font-size:1rem;box-shadow:var(--shadow-sm);transition:var(--trans-norm)}.primary-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.secondary-btn{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);font-weight:600;padding:.85rem 2rem;border-radius:8px;font-size:1rem;transition:var(--trans-norm)}.secondary-btn:hover{background-color:rgba(255,255,255,.05);border-color:var(--text-secondary)}.hero-graphic{display:flex;justify-content:center;align-items:center}.workout-card-preview{background:var(--grad-dark-card);border:1px solid var(--border-color);border-radius:16px;padding:1.75rem;width:100%;max-width:340px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.workout-card-preview:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-cyan-blue)}.card-header-preview{margin-bottom:1.5rem}.card-header-preview h3{font-family:var(--font-headings);font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.split-badge-preview{font-size:.75rem;color:var(--accent-cyan);font-weight:600}.card-item-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.9rem;color:var(--text-secondary)}.card-item-preview.checked{color:var(--text-muted);text-decoration:line-through}.checkbox-preview{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:1px solid var(--border-color);font-size:.75rem}.card-item-preview.checked .checkbox-preview{background:var(--accent-cyan);border-color:var(--accent-cyan);color:#000}.features-section{text-align:center}.section-title{font-family:var(--font-headings);font-size:2.25rem;font-weight:800;margin-bottom:.5rem}.section-subtitle{color:var(--text-secondary);margin-bottom:3.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem}.feature-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2.5rem 2rem;text-align:left;transition:var(--trans-norm)}.feature-card:hover{transform:translateY(-5px);border-color:var(--accent-blue);box-shadow:var(--shadow-md)}.feature-icon{font-size:2.5rem;margin-bottom:1.5rem}.feature-card h3{font-family:var(--font-headings);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.feature-card p{color:var(--text-secondary);font-size:.95rem}.cta-section{text-align:center;background:var(--grad-dark-card);border:1px solid var(--border-color);padding:4rem 2rem;border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:1rem}.cta-section h2{font-family:var(--font-headings);font-size:2rem;font-weight:800}.cta-section p{color:var(--text-secondary);margin-bottom:1.5rem;max-width:500px}.cta-btn-large{background:var(--grad-cyan-blue);color:#000;font-weight:700;padding:1rem 2.5rem;border-radius:8px;font-size:1.1rem;transition:var(--trans-norm);box-shadow:var(--shadow-sm)}.cta-btn-large:hover{transform:scale(1.03);box-shadow:var(--shadow-glow)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:2rem 0}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;width:100%;max-width:440px;box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h2{font-family:var(--font-headings);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.auth-header p{color:var(--text-secondary);font-size:.9rem}.auth-form{gap:1.25rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:.8rem 1rem;border-radius:8px;font-size:.95rem;outline:none;transition:var(--trans-fast)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px rgba(79,172,254,.2)}.auth-btn{background:var(--grad-cyan-blue);color:#000;border:none;font-weight:700;font-size:1rem;padding:.9rem;border-radius:8px;cursor:pointer;margin-top:1rem;transition:var(--trans-fast)}.auth-btn:hover{box-shadow:var(--shadow-glow)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.9rem;color:var(--text-secondary)}.auth-footer a{color:var(--accent-cyan);font-weight:600}.auth-footer a:hover{text-decoration:underline}.dashboard-container{display:flex;flex-direction:column;gap:2rem}.dashboard-header h1{font-family:var(--font-headings);font-size:2.25rem;font-weight:800;letter-spacing:-.5px}.dashboard-header p{color:var(--text-secondary)}.dashboard-layout{display:grid;grid-template-columns:280px 1fr;grid-gap:2rem;gap:2rem;align-items:start}.dashboard-sidebar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.dashboard-sidebar h3{font-family:var(--font-headings);font-size:1.1rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;margin-bottom:1.25rem}.split-selector-list{display:flex;flex-direction:column;gap:.75rem}.split-select-btn{display:flex;align-items:center;gap:1rem;background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);padding:1rem;border-radius:8px;cursor:pointer;text-align:left;transition:var(--trans-fast);width:100%}.split-select-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.split-select-btn.active{background:var(--bg-tertiary);border-color:var(--accent-cyan);color:var(--accent-cyan);font-weight:600;box-shadow:var(--shadow-sm)}.split-icon{font-size:1.2rem}.split-name-text{font-size:.95rem}.dashboard-main{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;min-height:480px;padding:2rem;position:relative}.workout-editor{display:flex;flex-direction:column;gap:2rem}.subsplit-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.tab-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:.6rem 1.25rem;font-weight:700;font-size:.9rem;cursor:pointer;border-radius:6px;transition:var(--trans-fast)}.tab-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.tab-btn.active{background-color:rgba(0,242,254,.08);border-color:rgba(0,242,254,.2);color:var(--accent-cyan)}.progress-section{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem}.progress-label{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.percent-text{color:var(--accent-cyan)}.progress-bar-bg{background-color:var(--bg-tertiary);border-radius:4px;height:8px;overflow:hidden;position:relative}.progress-bar-fill{background:var(--grad-cyan-blue);height:100%;transition:width .4s ease-out;border-radius:4px;box-shadow:0 0 10px rgba(0,242,254,.5)}.exercise-list{display:flex;flex-direction:column;gap:1rem}.exercise-row{display:grid;grid-template-columns:50px 1.2fr 1fr;align-items:center;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;transition:var(--trans-fast)}.exercise-row:hover{border-color:var(--bg-tertiary);transform:translateX(4px)}.exercise-row.completed-row{border-color:rgba(16,185,129,.2);background-color:rgba(16,185,129,.02);opacity:.85}.checkbox-container{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:24px;height:24px}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:24px;width:24px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;transition:var(--trans-fast)}.checkbox-container:hover input~.checkmark{border-color:var(--accent-cyan)}.checkbox-container input:checked~.checkmark{background-color:var(--accent-cyan);border-color:var(--accent-cyan);box-shadow:0 0 10px rgba(0,242,254,.4)}.checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{left:8px;top:4px;width:6px;height:12px;border:solid #000;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.exercise-info-col{padding-right:1.5rem}.exercise-type{font-family:var(--font-headings);font-size:1.05rem;font-weight:700;margin-bottom:.25rem}.completed-row .exercise-type,.exercise-movement{color:var(--text-secondary)}.exercise-movement{font-size:.88rem;background:var(--bg-tertiary);padding:.2rem .5rem;border-radius:4px;display:inline-block}.exercise-notes-col{display:flex;align-items:center}.notes-input{width:100%;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.6rem .9rem;border-radius:6px;font-size:.85rem;outline:none;transition:var(--trans-fast)}.notes-input:focus{border-color:var(--accent-cyan);background-color:var(--bg-primary)}.empty-dashboard{display:flex;justify-content:center;align-items:center;height:300px;color:var(--text-secondary)}.about-container{display:flex;flex-direction:column;gap:3.5rem;padding:1.5rem 0}.about-header{text-align:center}.about-header h1{font-family:var(--font-headings);font-size:2.75rem;font-weight:800;letter-spacing:-.5px}.about-header .subtitle{color:var(--text-secondary);font-size:1.15rem}.about-section{display:flex;flex-direction:column;gap:1.5rem}.about-section h2{font-family:var(--font-headings);font-size:1.75rem;font-weight:700;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.about-section p{color:var(--text-secondary);font-size:1.05rem}.splits-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem;margin-top:1rem}.info-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:1rem}.info-card h3{font-family:var(--font-headings);font-size:1.2rem;font-weight:700;color:var(--accent-cyan)}.info-card p{font-size:.95rem;line-height:1.5;color:var(--text-secondary)}.info-frequency{font-size:.8rem;font-weight:700;background-color:var(--bg-primary);border:1px solid rgba(255,255,255,.05);color:var(--text-secondary);padding:.4rem .8rem;border-radius:4px;margin-top:auto;align-self:flex-start}.tech-stack ul{list-style-type:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:1rem}.tech-stack li{background-color:var(--bg-secondary);border:1px solid var(--border-color);padding:1.25rem;border-radius:8px;font-size:.95rem;color:var(--text-secondary)}.tech-stack li strong{display:block;color:var(--text-primary);margin-bottom:.25rem;font-size:1.05rem}.contact-container{display:flex;flex-direction:column;gap:3.5rem;padding:1.5rem 0}.contact-header{text-align:center}.contact-header h1{font-family:var(--font-headings);font-size:2.75rem;font-weight:800}.contact-header .subtitle{color:var(--text-secondary);font-size:1.15rem}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:3rem;gap:3rem;align-items:start}.contact-form-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form h3{font-family:var(--font-headings);font-size:1.4rem;font-weight:700;margin-bottom:.5rem}.contact-btn{background:var(--grad-cyan-blue);color:#000;border:none;font-weight:700;font-size:1rem;padding:.95rem;border-radius:8px;cursor:pointer;transition:var(--trans-fast)}.contact-btn:hover{box-shadow:var(--shadow-glow)}.contact-btn:disabled{opacity:.6}.contact-success-card{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.success-icon{font-size:3.5rem}.contact-info-panel{display:flex;flex-direction:column;gap:2rem}.info-item{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.info-item h4{font-family:var(--font-headings);font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.info-item p{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.info-item a{color:var(--accent-cyan)}.info-item a:hover{text-decoration:underline}@media (max-width:992px){.hero{grid-template-columns:1fr;text-align:center;gap:4rem}.hero-content{align-items:center}.hero-subtitle{margin-left:auto;margin-right:auto}.contact-layout,.dashboard-layout{grid-template-columns:1fr}}@media (max-width:576px){.hero-title{font-size:2.5rem}.auth-card{padding:1.5rem}.exercise-row{grid-template-columns:40px 1fr;gap:1rem}.exercise-notes-col{grid-column:span 2;margin-top:.5rem}.dashboard-main{padding:1rem}}