*{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;--color-bg-primary: #09090b;--color-bg-secondary: #18181b;--color-bg-tertiary: #27272a;--color-border: #3f3f46;--color-border-light: #52525b;--color-text-primary: #ffffff;--color-text-secondary: #a1a1aa;--color-text-tertiary: #71717a;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-orange-500: #f97316;--color-orange-600: #ea580c;--color-green-500: #22c55e;--color-yellow-500: #eab308;--color-blue-500: #3b82f6;--color-zinc-950: #09090b;--color-zinc-900: #18181b;--color-zinc-800: #27272a;--color-zinc-700: #3f3f46;--color-zinc-600: #52525b;--color-zinc-500: #71717a;--color-zinc-400: #a1a1aa;--color-zinc-300: #d4d4d8}body{margin:0;padding:0;background:linear-gradient(135deg,var(--color-zinc-950) 0%,var(--color-zinc-900) 50%,var(--color-zinc-950) 100%);color:var(--color-text-primary);min-height:100vh}button{font-family:inherit;border:none;cursor:pointer;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}input:focus,textarea:focus,select:focus{outline:none}#root{min-height:100vh}.gradient-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(239,68,68,.1),transparent 50%);pointer-events:none}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600));border-radius:.75rem;font-weight:700;transition:all .2s}.btn-primary:hover{box-shadow:0 .625rem 1.875rem #ef444480;transform:scale(1.05)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:.75rem 1.5rem;background:var(--color-zinc-800);border-radius:.75rem;font-weight:700;transition:background .2s}.btn-secondary:hover{background:var(--color-zinc-700)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.home-page{min-height:100vh;background:linear-gradient(135deg,var(--color-zinc-950) 0%,var(--color-zinc-900) 50%,var(--color-zinc-950) 100%);color:var(--color-text-primary)}.home-nav{padding:1.5rem}.home-nav-container{max-width:75rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.home-logo{display:flex;align-items:center;gap:.75rem}.home-logo-icon{padding:0;display:flex;align-items:center;justify-content:center}.home-logo-text{font-size:1.5rem;font-weight:900;letter-spacing:-.05em}.home-hero{max-width:75rem;margin:0 auto;padding:5rem 1.5rem}.home-hero-content{max-width:56rem;margin:0 auto;text-align:center}.home-badge{display:inline-block;margin-bottom:1.5rem;padding:.5rem 1rem;background:#ef44441a;border:.0625rem solid rgba(239,68,68,.2);border-radius:624.9375rem;color:#f87171;font-size:.875rem;font-weight:700;letter-spacing:.05em}.home-title{font-size:6rem;font-weight:900;margin-bottom:1.5rem;letter-spacing:.02em;line-height:1.1}.home-title-gradient{background:linear-gradient(to right,rgb(248,113,113),var(--color-orange-500));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.home-description{font-size:1.4rem;color:var(--color-zinc-400);margin-bottom:3rem;max-width:42rem;margin-left:auto;margin-right:auto;line-height:1.75;text-wrap:pretty}.home-cta{padding:1rem 2rem;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600));border-radius:.75rem;font-weight:700;font-size:1.25rem;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s}.home-cta:hover{box-shadow:0 1.25rem 2.5rem #ef444480;transform:scale(1.05)}.home-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:1.5rem;max-width:70rem;margin:6rem auto 0}.home-feature{padding:2rem;background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border:.0625rem solid var(--color-zinc-800);border-radius:1rem;transition:border-color .2s}.home-feature:hover{border-color:#ef44444d}.home-feature-icon{width:3rem;aspect-ratio:1 / 1;background:linear-gradient(135deg,var(--color-red-500),var(--color-orange-600));border-radius:.75rem;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 .625rem 1.875rem #ef444433}.home-feature-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.home-feature-description{color:var(--color-zinc-400);line-height:1.75}@media(max-width:48rem){.home-nav{padding:1rem}.home-logo-text{font-size:1.25rem}.home-hero{padding:3rem 1rem}.home-badge{font-size:.75rem;padding:.375rem .875rem;margin-bottom:1rem}.home-title{font-size:2.5rem;margin-bottom:1rem}.home-cta{padding:1rem 2rem;font-size:1.25rem;width:100%;max-width:20rem}.home-description{font-size:1rem;margin-bottom:2rem}.home-features{grid-template-columns:1fr;gap:1rem;margin-top:3rem}.home-feature{padding:1.5rem}.home-feature-icon{width:3.5rem}}@media(hover:none){.home-cta:hover{box-shadow:none;transform:none}}.auth-callback-page{min-height:100svh;background:linear-gradient(135deg,var(--color-zinc-950) 0%,var(--color-zinc-900) 50%,var(--color-zinc-950) 100%);display:flex;align-items:center;justify-content:center}.auth-callback-content{text-align:center}.auth-callback-icon{display:inline-block;margin-bottom:1rem}.auth-callback-message{color:var(--color-zinc-400)}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-container{background:var(--color-zinc-900);border:.0625rem solid var(--color-zinc-800);border-radius:1rem;max-width:28rem;width:100%;box-shadow:0 1.25rem 2.5rem #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:.0625rem solid var(--color-zinc-800)}.modal-title{font-size:1.5rem;font-weight:700}.modal-close-btn{padding:.5rem;border-radius:.5rem;transition:background .2s}.modal-close-btn:hover{background:var(--color-zinc-800)}.modal-form{padding:1.5rem}.modal-field{margin-bottom:1.5rem}.modal-label{display:block;font-size:.875rem;font-weight:700;margin-bottom:.5rem;color:var(--color-zinc-300)}.modal-input{width:100%;padding:.75rem 1rem;background:var(--color-zinc-950);border:.0625rem solid var(--color-zinc-800);border-radius:.5rem;color:var(--color-text-primary);font-size:18px}.modal-input:focus{border-color:var(--color-red-500);box-shadow:0 0 0 .125rem #ef444433}.modal-input::-moz-placeholder{color:var(--color-zinc-600)}.modal-input::placeholder{color:var(--color-zinc-600)}.modal-actions{display:flex;gap:.75rem}.modal-btn{flex:1;padding:.75rem 1rem;border-radius:.5rem;font-weight:700;transition:all .2s}.modal-btn.cancel{background:var(--color-zinc-800)}.modal-btn.cancel:hover{background:var(--color-zinc-700)}.modal-btn.submit{background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600))}.modal-btn.submit:hover{box-shadow:0 .625rem 1.875rem #ef444480}.modal-btn.submit:disabled{opacity:.5;cursor:not-allowed}@media(max-width:48rem){.modal-overlay{padding:.5rem}.modal-container{max-width:calc(100% - 1rem)}.modal-header{padding:1rem}.modal-title{font-size:1.25rem}.modal-form{padding:1rem}.modal-field{margin-bottom:1rem}.modal-input,.modal-btn{padding:.625rem .875rem}}@media(hover:none){.modal-btn.submit:hover{box-shadow:none}}.edit-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);z-index:50;overflow-y:auto}.edit-modal-container{background:var(--color-zinc-900);width:100%;height:100%;display:flex;flex-direction:column}.edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:.0625rem solid var(--color-zinc-800)}.edit-modal-title{font-size:1.5rem;font-weight:700}.edit-modal-close-btn{padding:.5rem;border-radius:.5rem;transition:background .2s}.edit-modal-close-btn:hover{background:var(--color-zinc-800)}.edit-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.edit-modal-section{margin-bottom:1.5rem}.edit-modal-label{display:block;font-size:.875rem;font-weight:700;margin-bottom:.5rem;color:var(--color-zinc-300)}.edit-modal-input{width:100%;padding:.75rem 1rem;background:var(--color-zinc-950);border:.0625rem solid var(--color-zinc-800);border-radius:.5rem;color:var(--color-text-primary);font-size:18px}.edit-modal-input:focus{border-color:var(--color-red-500);box-shadow:0 0 0 .125rem #ef444433}.edit-modal-exercises-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.edit-modal-add-exercise-btn{padding:.5rem 1rem;background:var(--color-zinc-800);border-radius:.5rem;font-weight:700;font-size:.875rem;display:flex;align-items:center;gap:.5rem;transition:background .2s}.edit-modal-add-exercise-btn:hover{background:var(--color-zinc-700)}.edit-modal-exercises-list{display:flex;flex-direction:column;gap:.75rem}.edit-modal-exercises-empty{color:var(--color-zinc-500);text-align:center;padding:2rem 0}.edit-modal-exercise{background:var(--color-zinc-950);border:.0625rem solid var(--color-zinc-800);border-radius:.5rem;padding:1rem;transition:border-color .2s;cursor:move;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.edit-modal-exercise:hover{border-color:var(--color-zinc-700)}.edit-modal-exercise-content{display:flex;align-items:flex-start;gap:.75rem}.edit-modal-exercise-grip{padding-top:.25rem;opacity:1;transition:opacity .2s}.edit-modal-exercise-details{flex:1}.edit-modal-exercise-name{font-weight:700;margin-bottom:.25rem}.edit-modal-exercise-meta{font-size:.875rem;color:var(--color-zinc-400)}.edit-modal-exercise-notes{font-size:.75rem;color:var(--color-zinc-500);margin-top:.25rem}.edit-modal-exercise-actions{display:flex;gap:.25rem;opacity:1;transition:opacity .2s}.edit-modal-exercise-edit{padding:.5rem;border-radius:.5rem;transition:all .2s}.edit-modal-exercise-edit:hover{background:var(--color-zinc-800)}.edit-modal-exercise-delete{padding:.5rem;border-radius:.5rem;transition:all .2s}.edit-modal-exercise-delete:hover{background:var(--color-zinc-800)}.edit-modal-footer{display:flex;gap:.75rem;padding:1.5rem;border-top:.0625rem solid var(--color-zinc-800)}.edit-modal-btn{flex:1;padding:.75rem 1rem;border-radius:.5rem;font-weight:700;transition:all .2s}.edit-modal-btn.cancel{background:var(--color-zinc-800)}.edit-modal-btn.cancel:hover{background:var(--color-zinc-700)}.edit-modal-btn.save{background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600))}.edit-modal-btn.save:hover{box-shadow:0 .625rem 1.875rem #ef444480}.add-exercise-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);display:flex;align-items:center;justify-content:center;z-index:60;padding:1rem}.add-exercise-container{background:var(--color-zinc-900);border:.0625rem solid var(--color-zinc-800);border-radius:1rem;max-width:32rem;width:100%;box-shadow:0 1.25rem 2.5rem #00000080}.add-exercise-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:.0625rem solid var(--color-zinc-800)}.add-exercise-title{font-size:1.25rem;font-weight:700}.add-exercise-close-btn{padding:.5rem;border-radius:.5rem;transition:background .2s}.add-exercise-close-btn:hover{background:var(--color-zinc-800)}.add-exercise-form{padding:1.5rem}.add-exercise-fields{display:flex;flex-direction:column;gap:1rem}.add-exercise-field{display:flex;flex-direction:column}.add-exercise-label{display:block;font-size:.875rem;font-weight:700;margin-bottom:.5rem;color:var(--color-zinc-300)}.add-exercise-input{padding:.75rem 1rem;background:var(--color-zinc-950);border:.0625rem solid var(--color-zinc-800);border-radius:.5rem;color:var(--color-text-primary);font-size:18px}.add-exercise-input:focus{border-color:var(--color-red-500);box-shadow:0 0 0 .125rem #ef444433}.add-exercise-input::-moz-placeholder{color:var(--color-zinc-600)}.add-exercise-input::placeholder{color:var(--color-zinc-600)}.add-exercise-textarea{padding:.75rem 1rem;background:var(--color-zinc-950);border:.0625rem solid var(--color-zinc-800);border-radius:.5rem;color:var(--color-text-primary);resize:none;font-size:18px}.add-exercise-textarea:focus{border-color:var(--color-red-500);box-shadow:0 0 0 .125rem #ef444433}.add-exercise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.add-exercise-grid .add-exercise-field{min-width:0}.add-exercise-grid .add-exercise-input{width:100%;min-width:0}.add-exercise-actions{display:flex;gap:.75rem;padding-top:.5rem}.add-exercise-btn{flex:1;padding:.75rem 1rem;border-radius:.5rem;font-weight:700;transition:all .2s}.add-exercise-btn.cancel{background:var(--color-zinc-800)}.add-exercise-btn.cancel:hover{background:var(--color-zinc-700)}.add-exercise-btn.submit{background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600))}.add-exercise-btn.submit:hover{box-shadow:0 .625rem 1.875rem #ef444480}.add-exercise-btn.submit:disabled{opacity:.5;cursor:not-allowed}@media(max-width:48rem){.edit-modal-overlay{padding:.5rem}.edit-modal-container{max-width:calc(100% - 1rem);margin:1rem 0}.edit-modal-header,.edit-modal-content,.edit-modal-footer{padding:1rem}.edit-modal-title{font-size:1.25rem}.edit-modal-exercise{padding:.875rem}.edit-modal-exercise-name{font-size:.9375rem}.edit-modal-exercise-meta{font-size:.8125rem}.add-exercise-overlay{padding:.5rem}.add-exercise-container{max-width:calc(100% - 1rem)}.add-exercise-header{padding:1rem}.add-exercise-title{font-size:1.125rem}.add-exercise-form{padding:1rem}.add-exercise-fields{gap:.875rem}.add-exercise-grid{gap:.5rem}.add-exercise-input,.add-exercise-textarea{padding:.625rem .875rem}}@media(hover:none){.edit-modal-btn.save:hover,.add-exercise-btn.submit:hover{box-shadow:none}}.dashboard-page{min-height:100vh;background:linear-gradient(135deg,var(--color-zinc-950) 0%,var(--color-zinc-900) 50%,var(--color-zinc-950) 100%);color:var(--color-text-primary)}.dashboard-nav{border-bottom:1px solid var(--color-zinc-800);background:#18181b80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dashboard-nav-container{max-width:1200px;margin:0 auto;padding:16px 24px}.dashboard-nav-content{display:flex;align-items:center;justify-content:space-between}.dashboard-logo{display:flex;align-items:center;gap:12px}.dashboard-logo-icon{padding:0}.dashboard-logo-text{font-size:20px;font-weight:900;letter-spacing:-.05em}.dashboard-user-section{display:flex;align-items:center;gap:16px}.dashboard-user-info{display:flex;align-items:center;gap:12px}.dashboard-user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-zinc-700)}.dashboard-user-name{font-size:14px;color:var(--color-zinc-400)}.dashboard-logout-btn{padding:8px;border-radius:8px;transition:background .2s}.dashboard-logout-btn:hover{background:var(--color-zinc-800)}.dashboard-container{max-width:1200px;margin:0 auto;padding:1.5rem}.dashboard-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:16px}.dashboard-header-desktop{display:flex;align-items:center;justify-content:space-between;width:100%}.dashboard-mobile-menu-btn{display:none;padding:8px;border-radius:8px;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600));transition:all .2s}.dashboard-mobile-menu-btn:hover{box-shadow:0 10px 30px #ef444480}.dashboard-progress-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background:var(--color-zinc-800);transition:background .2s}.dashboard-progress-btn:hover{background:var(--color-zinc-700)}.dashboard-progress-btn span{font-size:14px;font-weight:600}.dashboard-create-btn{padding:10px 24px;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600));border-radius:12px;font-weight:700;display:flex;align-items:center;gap:8px;transition:all .2s;font-size:16px}.dashboard-create-btn:hover{box-shadow:0 10px 30px #ef444480;transform:scale(1.05)}.dashboard-create-btn:disabled{opacity:.5;cursor:not-allowed}.dashboard-title{font-size:36px;font-weight:900;margin-bottom:8px}.dashboard-subtitle{font-size:16px;color:var(--color-zinc-400);margin-bottom:32px}.dashboard-recent{background:#18181b80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-zinc-800);border-radius:16px;padding:24px;margin-bottom:32px}.dashboard-recent-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.dashboard-recent-title{font-size:18px;font-weight:700}.dashboard-recent-list{display:flex;flex-direction:row;gap:12px}.dashboard-recent-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#27272a80;border-radius:12px;border:1px solid var(--color-zinc-700);transition:border-color .2s}.dashboard-recent-item:hover{border-color:#ef44444d}.dashboard-recent-item-info{flex:1;display:flex;align-items:center;gap:16px}.dashboard-recent-item-name{font-weight:700;font-size:16px}.dashboard-recent-item-meta{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--color-zinc-400);flex-wrap:nowrap}.dashboard-empty{text-align:center;padding:80px 0}.dashboard-empty-icon{width:64px;height:64px;background:var(--color-zinc-900);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.dashboard-empty-title{font-size:20px;font-weight:700;margin-bottom:8px;color:var(--color-zinc-400)}.dashboard-empty-description{color:var(--color-zinc-500);margin-bottom:24px}.dashboard-workouts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.dashboard-workout-card{background:#18181b80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-zinc-800);border-radius:16px;padding:24px;transition:all .2s;position:relative}.dashboard-workout-card:hover{border-color:#ef44444d}.dashboard-workout-card.selection-mode{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dashboard-workout-card.selection-mode:hover{border-color:var(--color-red-500);transform:translateY(-2px)}.dashboard-workout-card.selected{border-color:var(--color-red-500);background:#ef44441a}.dashboard-workout-checkbox{position:absolute;top:16px;right:16px;z-index:10}.dashboard-workout-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-red-500)}.dashboard-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding:16px;background:#18181b80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-zinc-800);border-radius:12px}.dashboard-selection-instructions{display:flex;flex-direction:column;gap:8px;flex:1}.dashboard-selection-instructions>span{font-size:14px;color:var(--color-zinc-400);font-weight:600}.dashboard-selection-filename{display:flex;align-items:center;gap:4px}.dashboard-selection-filename-input{padding:8px 12px;background:var(--color-zinc-950);border:1px solid var(--color-zinc-800);border-radius:8px;color:var(--color-text-primary);font-size:18px;min-width:200px}.dashboard-selection-filename-input:focus{border-color:var(--color-red-500);box-shadow:0 0 0 2px #ef444433;outline:none}.dashboard-selection-filename-ext{font-size:14px;color:var(--color-zinc-500)}.dashboard-selection-buttons{display:flex;align-items:center;gap:12px}.dashboard-cancel-btn{background:var(--color-zinc-800)}.dashboard-cancel-btn:hover{background:var(--color-zinc-700);box-shadow:none;transform:none}.dashboard-workout-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.dashboard-workout-name{font-size:20px;font-weight:700}.dashboard-workout-actions{display:flex;gap:4px}.dashboard-workout-action-btn{padding:8px;border-radius:8px;transition:background .2s}.dashboard-workout-action-btn:hover{background:var(--color-zinc-800)}.dashboard-workout-exercises{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.dashboard-workout-exercise{font-size:16px}.dashboard-workout-exercise-name{color:var(--color-orange-500);font-weight:600}.dashboard-workout-exercise-details{font-size:14px;color:var(--color-zinc-500)}.dashboard-workout-exercise-more{font-size:12px;color:var(--color-zinc-600)}.dashboard-workout-empty-exercises{font-size:14px;color:var(--color-zinc-500)}.dashboard-workout-start-btn{width:100%;padding:10px 16px;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600));border-radius:8px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;font-size:16px}.dashboard-workout-start-btn:hover{box-shadow:0 10px 30px #ef444480}.dashboard-mobile-menu-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:flex-end;z-index:50;padding:16px}.dashboard-mobile-menu{background:var(--color-zinc-900);border:1px solid var(--color-zinc-800);border-radius:16px;width:100%;max-width:320px;box-shadow:0 20px 40px #00000080}.dashboard-mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--color-zinc-800)}.dashboard-mobile-menu-title{font-size:20px;font-weight:700}.dashboard-mobile-menu-close{padding:8px;border-radius:8px;transition:background .2s}.dashboard-mobile-menu-close:hover{background:var(--color-zinc-800)}.dashboard-mobile-menu-items{display:flex;flex-direction:column;padding:8px}.dashboard-mobile-menu-item{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;font-weight:600;font-size:16px;transition:all .2s;text-align:left}.dashboard-mobile-menu-item:hover{background:var(--color-zinc-800)}@media(max-width:640px){.dashboard-logo-text{font-size:18px}.dashboard-logo-icon{padding:6px}.dashboard-user-info,.dashboard-logout-desktop{display:none}.dashboard-title{font-size:28px}.dashboard-subtitle{font-size:14px}.dashboard-workouts-grid{grid-template-columns:1fr}.dashboard-header-desktop{display:none}.dashboard-mobile-menu-btn{display:block}.dashboard-recent-list{flex-direction:column}.dashboard-selection-actions{flex-direction:column;gap:16px}.dashboard-selection-buttons{width:100%;flex-direction:column}.dashboard-selection-buttons .dashboard-create-btn{width:100%}.dashboard-selection-filename-input{min-width:0;flex:1}}@media(min-width:400px){.dashboard-create-btn span:first-of-type{display:inline}}.workout-page{min-height:100vh;background:linear-gradient(135deg,var(--color-zinc-950) 0%,var(--color-zinc-900) 50%,var(--color-zinc-950) 100%);color:var(--color-text-primary);display:flex;flex-direction:column}.workout-nav{border-bottom:.0625rem solid var(--color-zinc-800);background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.workout-nav-container{max-width:75rem;margin:0 auto;padding:1rem 1.5rem}.workout-back-btn{display:flex;align-items:center;gap:.5rem;color:var(--color-zinc-400);transition:color .2s}.workout-back-btn:hover{color:var(--color-text-primary)}.workout-container{max-width:75rem;margin:0 auto;padding:3rem 1.5rem;flex:1}.workout-title{font-size:2.25rem;font-weight:900;margin-bottom:2rem}.workout-empty{text-align:center;padding:5rem 0;color:var(--color-zinc-500)}.workout-exercises{display:flex;flex-direction:column;gap:1rem}.workout-exercise{background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border:.0625rem solid var(--color-zinc-800);border-radius:.75rem;padding:1.5rem}.workout-exercise-content{display:flex;align-items:flex-start;gap:1rem}.workout-exercise-number{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--color-red-500),var(--color-orange-600));border-radius:.5rem;font-weight:700;flex-shrink:0}.workout-exercise-details{flex:1}.workout-exercise-name{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--color-orange-500)}.workout-exercise-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--color-zinc-400)}.workout-exercise-notes{font-size:.875rem;color:var(--color-zinc-500);margin-top:.5rem}@media(max-width:48rem){.workout-nav-container{padding:.75rem 1rem}.workout-container{padding:1.5rem 1rem}.workout-title{font-size:1.75rem;margin-bottom:1.5rem}.workout-exercise{padding:1rem}.workout-exercise-number{width:2.25rem;height:2.25rem;font-size:.875rem}.workout-exercise-name{font-size:1.25rem}.workout-exercise-meta{font-size:.75rem}.workout-footer-container{padding:1.5rem 1rem}.workout-footer-top{flex-direction:column;align-items:stretch;gap:.75rem}.workout-footer-links{gap:1rem;justify-content:center}.workout-footer-copyright{font-size:.75rem;text-align:center}}.session-page{min-height:100vh;background:linear-gradient(135deg,var(--color-zinc-950) 0%,var(--color-zinc-900) 50%,var(--color-zinc-950) 100%);color:var(--color-text-primary);display:flex;flex-direction:column}.session-nav{border-bottom:.0625rem solid var(--color-zinc-800);background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);z-index:10}.session-nav-container{max-width:75rem;margin:0 auto;padding:1rem 1.5rem}.session-nav-content{display:flex;align-items:center;justify-content:space-between}.session-cancel-btn{display:flex;align-items:center;gap:.5rem;color:var(--color-zinc-400);transition:color .2s}.session-cancel-btn:hover{color:var(--color-text-primary)}.session-complete-btn{padding:.625rem 1.5rem;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600));border-radius:.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem;transition:all .2s}.session-complete-btn:hover{box-shadow:0 .625rem 1.875rem #ef444480}.session-complete-btn:disabled{opacity:.5}.session-content{padding:1.5rem 1.5rem 2rem;overflow-y:auto;flex:1}.session-container{max-width:42rem;margin:0 auto}.session-header{margin-bottom:1rem}.session-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-zinc-500);margin-bottom:.5rem}.session-exercise-name{font-size:2.5rem;font-weight:900;margin-bottom:.5rem}.session-exercise-notes{color:var(--color-zinc-400)}.session-sets-container{display:flex;flex-direction:column;gap:.75rem}.session-set{display:flex;align-items:flex-start;gap:1rem;padding:.875rem;border-radius:.75rem;transition:all .2s}.session-set.pending{background:#09090b4d;border:.0625rem solid rgba(63,63,70,.3)}.session-set.completed{background:#18181b80;border:.0625rem solid var(--color-zinc-800)}.session-set.active{background:#ef44441a;border:.125rem solid rgba(239,68,68,.3);transform:scale(1.05)}.session-set-number-wrapper{display:flex;align-items:center;gap:1rem}.session-set-number{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.75rem;font-weight:700;font-size:1rem;flex-shrink:0}.session-set-number.pending{background:var(--color-zinc-800);color:var(--color-zinc-600)}.session-set-number.completed{background:#22c55e33;color:var(--color-green-500)}.session-set-number.active{background:linear-gradient(135deg,var(--color-red-500),var(--color-orange-600));color:var(--color-text-primary)}.session-set-target{font-size:1rem;font-weight:700;color:var(--color-orange-500);height:100%;display:flex;justify-content:center;align-items:center}.session-set-data{flex:1;display:flex;align-items:center;gap:1.5rem}.session-set-stat{text-align:center}.session-set-stat-value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.session-set-stat-label{font-size:.75rem;color:var(--color-zinc-500)}.session-set-separator{color:var(--color-zinc-600)}.session-set-actions{display:flex;gap:.5rem;flex-shrink:0}.session-set-check{width:2.5rem;height:2.5rem;background:#22c55e33;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.session-set-reset-btn{width:2.5rem;height:2.5rem;background:#ef444433;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.session-set-reset-btn:hover{background:#ef44444d}.session-set-form{flex:1;display:flex;flex-direction:column;gap:.75rem;margin:0;min-width:0}.session-set-inputs{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-width:0}.session-set-input{padding:.625rem .75rem;height:3rem;background:var(--color-zinc-950);border:.125rem solid var(--color-zinc-800);border-radius:.5rem;color:var(--color-text-primary);font-size:18px;text-align:center;font-weight:700;width:100%;box-sizing:border-box}.session-set-input:focus{border-color:var(--color-red-500)}.session-set-input::-moz-placeholder{color:var(--color-zinc-600)}.session-set-input::placeholder{color:var(--color-zinc-600)}.session-set-log-btn{padding:0 1.5rem;height:3rem;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600));border-radius:.5rem;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;width:100%;box-sizing:border-box}.session-set-log-btn:hover{box-shadow:0 .625rem 1.875rem #ef444480}.session-set-log-btn:disabled{opacity:.5;cursor:not-allowed}.session-navigation{margin-top:1rem}.session-nav-buttons{display:flex;gap:.75rem}.session-nav-btn{flex:1;padding:.75rem 1.25rem;border-radius:.75rem;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.session-nav-btn.secondary{background:var(--color-zinc-800)}.session-nav-btn.secondary:hover{background:var(--color-zinc-700)}.session-nav-btn.primary{background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600))}.session-nav-btn.primary:hover{box-shadow:0 .625rem 1.875rem #ef444480}.session-nav-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:48rem){.session-nav-container{padding:.75rem 1rem}.session-content{padding:1.5rem 1rem 5rem}.session-exercise-name{font-size:2rem;line-height:1.1}.session-meta{font-size:.75rem;flex-wrap:wrap}.session-set{padding:1rem;gap:.75rem}.session-set.active{transform:scale(1.02)}.session-set-number{width:2.75rem;height:2.75rem;font-size:1rem}.session-set-target{font-size:1rem}.session-set-form{flex-direction:column}.session-set-inputs{width:100%}.session-set-input{font-size:18px;height:3rem;padding:.625rem .75rem}.session-set-log-btn{width:100%;height:3rem;padding:0 1rem}.session-set-stat-value{font-size:1.25rem}.session-complete-btn{padding:.5rem 1rem;font-size:.875rem}.session-cancel-btn{font-size:.875rem}.session-nav-btn{padding:.875rem 1rem;font-size:1rem}}.workout-footer{border-top:.0625rem solid var(--color-zinc-800);background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);margin-top:auto}@media(max-width:48rem){.workout-footer-container{padding:1.5rem 1rem}.workout-footer-top{flex-direction:column;align-items:stretch;gap:.75rem}.workout-footer-links{gap:1rem;justify-content:center}.workout-footer-copyright{font-size:.75rem;text-align:center}}@media(hover:none){.session-complete-btn:hover,.session-set-log-btn:hover,.session-nav-btn.primary:hover{box-shadow:none}}.progress-page{min-height:100vh;background:linear-gradient(135deg,var(--color-zinc-950) 0%,var(--color-zinc-900) 50%,var(--color-zinc-950) 100%);color:var(--color-text-primary)}.progress-nav{border-bottom:.0625rem solid var(--color-zinc-800);background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.progress-nav-container{max-width:75rem;margin:0 auto;padding:1rem 1.5rem}.progress-nav-content{display:flex;align-items:center;justify-content:space-between}.progress-nav-left{display:flex;align-items:center;gap:1.5rem}.progress-back-btn{padding:.5rem;border-radius:.5rem;transition:background .2s}.progress-back-btn:hover{background:var(--color-zinc-800)}.progress-logo{display:flex;align-items:center;gap:.75rem}.progress-logo-icon{padding:.5rem;background:linear-gradient(135deg,var(--color-red-500),var(--color-orange-600));border-radius:.5rem;box-shadow:0 .625rem 1.875rem #ef444433}.progress-logo-text{font-size:1.25rem;font-weight:900;letter-spacing:-.05em}.progress-user-section{display:flex;align-items:center;gap:1rem}.progress-user-info{display:flex;align-items:center;gap:.75rem}.progress-user-avatar{width:2rem;height:2rem;border-radius:50%;border:.125rem solid var(--color-zinc-700)}.progress-user-name{font-size:.875rem;color:var(--color-zinc-400)}.progress-logout-btn{padding:.5rem;border-radius:.5rem;transition:background .2s}.progress-logout-btn:hover{background:var(--color-zinc-800)}.progress-container{max-width:87.5rem;margin:0 auto;padding:3rem 1.5rem}.progress-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.625rem,1fr));gap:1.5rem;margin-bottom:3rem}.progress-stat-card{background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border:.0625rem solid var(--color-zinc-800);border-radius:1rem;padding:1.5rem}.progress-stat-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.progress-stat-icon{padding:.5rem;border-radius:.5rem}.progress-stat-icon.red{background:#ef44441a}.progress-stat-icon.orange{background:#f973161a}.progress-stat-icon.yellow{background:#eab3081a}.progress-stat-icon.blue{background:#3b82f61a}.progress-stat-label{font-size:.875rem;color:var(--color-zinc-400);font-weight:600}.progress-stat-value{font-size:2.25rem;font-weight:900}.progress-stat-description{font-size:.75rem;color:var(--color-zinc-500);margin-top:.25rem}.progress-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(25rem,1fr));gap:2rem;margin-bottom:3rem}.progress-chart-card{background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border:.0625rem solid var(--color-zinc-800);border-radius:1rem;padding:1.5rem}.progress-chart-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.progress-exercise-select{width:100%;background:var(--color-zinc-800);border:.0625rem solid var(--color-zinc-700);border-radius:.5rem;padding:.5rem 2.5rem .5rem 1rem;color:var(--color-text-primary);margin-bottom:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;cursor:pointer;font-size:18px}.progress-exercise-select:focus{border-color:var(--color-red-500)}.progress-chart-container{height:16rem}.progress-chart-empty{height:16rem;display:flex;align-items:center;justify-content:center;color:var(--color-zinc-500)}.progress-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.progress-calendar-day-label{text-align:center;font-size:.75rem;color:var(--color-zinc-500);font-weight:600}.progress-calendar-day{aspect-ratio:1;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;transition:all .2s}.progress-calendar-day.empty{background:#27272a80;color:var(--color-zinc-500)}.progress-calendar-day.has-workout{background:linear-gradient(135deg,var(--color-red-500),var(--color-orange-600));color:var(--color-text-primary);box-shadow:0 .625rem 1.875rem #ef444433}.progress-prs-section{background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border:.0625rem solid var(--color-zinc-800);border-radius:1rem;padding:1.5rem;margin-bottom:3rem}.progress-prs-title{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.progress-prs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.625rem,1fr));gap:1rem}.progress-pr-card{background:#27272a80;border-radius:.75rem;padding:1rem;border:.0625rem solid var(--color-zinc-700)}.progress-pr-name{font-weight:700;margin-bottom:.5rem;font-size:.875rem}.progress-pr-value{font-size:1.5rem;font-weight:900;color:var(--color-red-500)}.progress-pr-reps{font-size:1.125rem;color:var(--color-zinc-400)}.progress-pr-date{font-size:.75rem;color:var(--color-zinc-500);margin-top:.25rem}.progress-history-section{background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border:.0625rem solid var(--color-zinc-800);border-radius:1rem;padding:1.5rem}.progress-history-title{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.progress-history-empty{color:var(--color-zinc-500);text-align:center;padding:2rem 0}.progress-history-list{display:flex;flex-direction:column;gap:1rem}.progress-history-item{background:#27272a80;border-radius:.75rem;padding:1rem;border:.0625rem solid var(--color-zinc-700);transition:border-color .2s}.progress-history-item:hover{border-color:#ef44444d}.progress-history-item-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.progress-history-item-name{font-weight:700}.progress-history-item-date{font-size:.875rem;color:var(--color-zinc-500)}.progress-history-item-stats{text-align:right}.progress-history-item-stat-value{font-size:.875rem;color:var(--color-zinc-400)}.progress-history-item-stat-label{font-size:.75rem;color:var(--color-zinc-600)}.progress-history-item-exercises{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.375rem,1fr));gap:.5rem}.progress-history-item-exercise{font-size:.75rem;color:var(--color-zinc-500)}.progress-history-item-exercise-more{font-size:.75rem;color:var(--color-zinc-600)}@media(max-width:48rem){.progress-nav-container{padding:.75rem 1rem}.progress-container{padding:1.5rem 1rem}.progress-logo-text{font-size:1rem}.progress-user-info{display:none}.progress-stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.progress-stat-card{padding:1rem}.progress-stat-value{font-size:1.75rem}.progress-stat-label{font-size:.75rem}.progress-charts-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.progress-chart-card{padding:1rem}.progress-chart-title{font-size:1.125rem}.progress-prs-section{padding:1rem;margin-bottom:2rem}.progress-prs-title{font-size:1.125rem;margin-bottom:1rem}.progress-prs-grid{gap:.75rem}.progress-pr-card{padding:.875rem}.progress-pr-value{font-size:1.25rem}.progress-history-section{padding:1rem}.progress-history-title{font-size:1.125rem;margin-bottom:1rem}.progress-history-item{padding:.875rem}.progress-history-item-header{flex-direction:column;align-items:flex-start;gap:.5rem}.progress-history-item-stats{text-align:left}}.legal-page{min-height:100vh;background:linear-gradient(135deg,var(--color-zinc-950) 0%,var(--color-zinc-900) 50%,var(--color-zinc-950) 100%);color:var(--color-text-primary)}.legal-nav{border-bottom:.0625rem solid var(--color-zinc-800);background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.legal-nav-container{max-width:50rem;margin:0 auto;padding:1rem 1.5rem}.legal-back-btn{display:flex;align-items:center;gap:.5rem;color:var(--color-zinc-400);transition:color .2s}.legal-back-btn:hover{color:var(--color-text-primary)}.legal-container{max-width:50rem;margin:0 auto;padding:3rem 1.5rem}.legal-title{font-size:3rem;font-weight:900;margin-bottom:3rem;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.legal-content{display:flex;flex-direction:column;gap:2rem}.legal-section h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-orange-500)}.legal-section p{font-size:1rem;line-height:1.8;color:var(--color-zinc-300);margin-bottom:.75rem}.legal-section ul{list-style:none;padding:0}.legal-section ul li{font-size:1rem;line-height:1.8;color:var(--color-zinc-300);margin-bottom:.5rem}.contact-form{background:#18181b80;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border:.0625rem solid var(--color-zinc-800);border-radius:.75rem;padding:2rem;margin-top:2rem}.contact-form-group{margin-bottom:1.5rem}.contact-form-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-zinc-300);margin-bottom:.5rem}.contact-form-input,.contact-form-textarea{width:100%;padding:.75rem 1rem;background:var(--color-zinc-900);border:.0625rem solid var(--color-zinc-700);border-radius:.5rem;font-size:18px;color:var(--color-text-primary);transition:border-color .2s}.contact-form-input:focus,.contact-form-textarea:focus{border-color:var(--color-orange-500)}.contact-form-textarea{resize:vertical;min-height:9.375rem}.contact-form-submit{width:100%;padding:.875rem 1.5rem;background:linear-gradient(to right,var(--color-red-500),var(--color-orange-600));border-radius:.75rem;font-weight:700;font-size:1rem;transition:all .2s}.contact-form-submit:hover{box-shadow:0 .625rem 1.875rem #ef444480;transform:scale(1.02)}.contact-form-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.contact-email-link{display:flex;align-items:center;gap:.5rem;color:var(--color-orange-500);font-size:1.125rem;font-weight:600;text-decoration:none;margin-top:1.5rem;transition:color .2s}.contact-email-link:hover{color:var(--color-red-500)}.contact-success-message{padding:1rem;background:#22c55e1a;border:.0625rem solid var(--color-green-500);border-radius:.5rem;color:var(--color-green-500);margin-bottom:1.5rem;text-align:center}.workout-footer{border-top:.0625rem solid var(--color-zinc-800);margin-top:auto}.workout-footer-container{max-width:75rem;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.workout-footer-top{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.workout-footer-links{display:flex;gap:1.5rem}.workout-footer-copyright{font-size:.875rem;color:var(--color-zinc-500);text-align:right}.workout-footer-link{font-size:.875rem;color:var(--color-zinc-400);text-decoration:none;transition:color .2s}.workout-footer-link:hover{color:var(--color-orange-500)}@media(max-width:48rem){.legal-nav-container{padding:.75rem 1rem}.legal-container{padding:2rem 1rem}.legal-title{font-size:2rem;margin-bottom:2rem}.legal-content{gap:1.5rem}.legal-section h2{font-size:1.25rem}.legal-section p,.legal-section ul li{font-size:.9375rem}.contact-form{padding:1.5rem}.contact-form-group{margin-bottom:1.25rem}.workout-footer-copyright{text-align:center}}@media(hover:none){.contact-form-submit:hover{box-shadow:none;transform:none}}
