@import"https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Homemade+Apple&display=swap";:root{--primary: #5c7a9e;--secondary: #fbf9fa;--accent: #5c7a9e;--error: #b6563f;--warning: #d99553;--success: #4a9186;--bg-primary: #faf8f5;--bg-secondary: #f1efea;--bg-tertiary: #e6e3dc;--bg-card: #ffffff;--bg-footer: #272932;--text-primary: #24262b;--text-secondary: #52545a;--text-muted: #6b6e76;--text-inverse: #ffffff;--text-header: #1a1c20;--border-primary: #e2dfd7;--border-secondary: #e8e5de;--border-focus: #5c7a9e;--shadow: rgba(36, 38, 43, .07);--shadow-heavy: rgba(36, 38, 43, .16);--overlay: rgba(20, 22, 27, .5);--radius-sm: 6px;--radius-md: 12px;--gray-light: #bfbfbf;--gray-medium: #999999;--gray-dark: #666666;--rating: #b6563f;--none: rgb(104, 104, 75);--alert: #f1efea;--black: #272932;--white: #fff;--gray: #bfbfbf;--cream: #f1efea;--darkCream: #e6e3dc}[data-theme=dark]{--primary: #86a3c4;--secondary: #21242b;--accent: #86a3c4;--error: #d97c66;--warning: #e0a869;--success: #6bb0a4;--bg-primary: #14161b;--bg-secondary: #1b1e24;--bg-tertiary: #21242b;--bg-card: #1b1e24;--text-primary: #e8e9ed;--text-secondary: #c3c6cc;--text-muted: #9ba0a8;--text-inverse: #14161b;--text-header: #f2f3f5;--border-primary: #2c2f37;--border-secondary: #363943;--border-focus: #86a3c4;--shadow: rgba(0, 0, 0, .3);--shadow-heavy: rgba(0, 0, 0, .4);--overlay: rgba(0, 0, 0, .7);--gray-light: #666666;--gray-medium: #888888;--gray-dark: #aaaaaa;--rating: #d97c66;--none: rgb(150, 150, 120);--alert: #21242b;--black: #0f0f0f;--white: #ffffff;--gray: #666666;--cream: #1b1e24;--darkCream: #21242b}*{font-family:Barlow,sans-serif}body{background:var(--bg-primary);margin:0;font-family:Barlow,sans-serif;color:var(--text-primary)}h1{font-size:2rem;font-weight:700;margin-bottom:1rem}h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--text-header)}.header-text{font-size:1rem;font-family:homemade apple;margin-bottom:1rem;color:var(--text-header)}.container{max-width:1200px;margin:0 auto;padding:20px;background:var(--primary)}.error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:30vh}div.error{padding:10px;background:var(--bg-secondary);border:1px solid var(--error);color:var(--error);border-radius:var(--radius-sm);margin:20px 0}input.error{border:1px solid var(--error)}button{background:var(--secondary);border:0;color:var(--primary);font-family:Barlow,sans-serif;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:10px;margin-left:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation}.theme-toggle{background:none;border:1px solid var(--border-primary);color:var(--text-primary);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin:0 10px;padding:0}.theme-toggle:hover{background:var(--bg-secondary);border-color:var(--primary);transform:scale(1.05);opacity:1}.theme-toggle:focus{outline:2px solid var(--border-focus);outline-offset:2px}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(15deg)}button:hover{opacity:.8}.error-button{background:var(--error);border:0;color:var(--text-inverse);padding:10px;font-family:Barlow,sans-serif;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:10px}.add-button{background:var(--primary);border:0;color:var(--text-inverse);padding:10px;font-family:Barlow,sans-serif;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:10px;margin-top:40px}.delete-button{justify-content:flex-end;color:var(--alert);cursor:pointer;padding-left:10px}.nav-container{display:flex;align-items:center;justify-content:space-between;position:relative}.nav-controls{display:flex;align-items:center;gap:10px}.nav-container .nav-links a{text-decoration:none;color:inherit}.nav-links button{background:var(--primary);border:0;color:var(--text-inverse);font-family:Barlow,sans-serif;border-radius:var(--radius-sm);cursor:pointer;width:50%;margin-left:0}.nav-logout{color:var(--primary)}.logo{display:flex;align-items:center}.logo img{max-height:70px;transition:filter .3s ease}[data-theme=dark] .logo img{filter:invert(1)}.pages{max-width:1400px;padding:20px 20px 60px;margin:0}.m-pages{display:flex;align-items:center}.m-pages.show-menu{display:none}.m-pages.show-menu button{display:block}.burger-menu{display:flex;flex-direction:column;justify-content:space-between;width:25px;height:20px;cursor:pointer;margin-right:10px;color:var(--text-primary)!important}.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;gap:2px;font-size:16px;position:absolute;top:100%;left:0;right:0;background-color:var(--bg-card);border-top:1px solid var(--border-primary);width:100%;padding:8px 20px 16px;box-shadow:0 8px 20px var(--shadow-heavy);z-index:1}.nav-links.open a,.nav-links.open p{padding:10px 0;border-bottom:1px solid var(--border-secondary)}.logout{margin-left:20px;color:var(--alert);background:var(--bg-card)}.menu-items{display:none;position:absolute;top:33%;right:0;background-color:var(--bg-card);padding:1rem;box-shadow:0 2px 4px var(--shadow-heavy);transform:translateY(-100%);z-index:1}.menu-items.show{display:block}.menu-items a{display:block;margin-bottom:1rem;color:var(--text-primary);text-decoration:none}.menu-items span{color:var(--primary);margin-left:20px}.user-name{color:var(--primary)}@media (max-width: 768px){.m-pages{display:none}.bar{width:100%;height:3px;background-color:var(--text-primary);transition:transform .3s ease-in-out}.bar-open:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.bar-open:nth-child(2){opacity:0}.bar-open:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}}@media (max-width: 640px){.nav-controls{display:flex;align-items:center;gap:10px}.fa-trash-alt:before{font-size:1.3rem;color:var(--error);padding:10px;border-radius:var(--radius-sm);cursor:pointer}.fas{font-size:1.3rem;color:var(--primary);padding:10px;border-radius:var(--radius-sm);cursor:pointer}ul{list-style-type:none;padding:0;margin:0}}.list{margin-bottom:40px}.workout-details{background:var(--bg-card);border-radius:var(--radius-md);margin:20px auto;padding:20px;position:relative;box-shadow:0 1px 2px var(--shadow),0 6px 16px var(--shadow)}[data-theme=dark] .workout-details{border:1px solid var(--border-primary)}.workout-info{margin-bottom:40px}.today-details{background:var(--alert);border-radius:var(--radius-md);margin:10px auto;padding:20px;position:relative;box-shadow:0 1px 2px var(--shadow)}[data-theme=dark] .today-details{border:1px solid var(--border-primary)}.today-details h4{margin:0 0 10px;font-size:1.2em;color:var(--secondary)}.today-details p{margin:0;font-size:.9em;line-height:1.4;color:var(--text-primary)}.today-details .header{display:flex;align-items:center;justify-content:space-between}.today-details .header button{background:none;border:none;cursor:pointer;font-size:1.5rem}.work-towards{font-family:Barlow,sans-serif;font-weight:500;color:var(--secondary)!important}.goal-details h4{margin:0 0 10px;font-size:1.2em;color:var(--alert)}.goal-details h4 span{color:var(--text-primary)}.workout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.workout{display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--border-primary);border-radius:8px;padding:15px;box-shadow:0 4px 6px var(--shadow);background:var(--bg-card)}.workout-delete{display:flex;justify-content:flex-end;margin-top:auto}.workout-details h4{margin:0 0 10px;font-size:1.2em;color:var(--primary)}.workout-details p{margin:0;font-size:.9em;color:var(--text-secondary)}.workout-details span{position:absolute;top:20px;right:20px;cursor:pointer;background:var(--bg-secondary);padding:6px;border-radius:100vmax;color:var(--text-muted)}.home{display:block;max-width:500px;border:1px solid var(--border-primary);border-radius:8px;margin-top:20px;padding:15px;box-shadow:0 4px 6px var(--shadow);background:var(--bg-card)}.home-hero{max-width:560px;margin:40px auto 0;padding:44px 36px;text-align:center;background:var(--bg-card);border-radius:var(--radius-md);box-shadow:0 1px 2px var(--shadow),0 20px 48px var(--shadow-heavy);animation:auth-card-in .35s ease}[data-theme=dark] .home-hero{border:1px solid var(--border-primary)}.home-badge{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);border-radius:100vmax;padding:5px 14px;margin-bottom:16px}.home-title{margin:0 0 12px;font-size:20px;font-family:Homemade Apple,cursive;font-weight:400;color:var(--text-header)}.home-lead{color:var(--text-secondary);font-size:15.5px;line-height:1.55;max-width:420px;margin:0 auto}.home-features{display:flex;justify-content:center;gap:28px;margin:32px 0;flex-wrap:wrap}.home-feature{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-muted);width:96px}.home-feature-icon{width:26px;height:26px;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);padding:10px;border-radius:100vmax;box-sizing:content-box}.home-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.home-btn{padding:12px 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;text-decoration:none;transition:opacity .15s ease,transform .1s ease}.home-btn:hover{opacity:.92}.home-btn:active{transform:scale(.99)}.home-btn-primary{background:var(--primary);color:var(--text-inverse)}.home-btn-secondary{background:transparent;color:var(--primary);border:1px solid var(--border-primary)}@media (max-width: 480px){.home-hero{margin:20px 16px 0;padding:32px 22px}.home-title{font-size:16px}}.create{display:block;max-width:500px}label,input,select{display:block;margin-top:15px}input,select{padding:10px;margin-top:10px;margin-bottom:10px;width:100%;border:1px solid var(--border-primary);border-radius:var(--radius-sm);box-sizing:border-box;background:var(--bg-card);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--border-focus) 20%,transparent)}textarea{padding:10px;margin-top:10px;margin-bottom:20px;width:100%;height:120px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);box-sizing:border-box;background:var(--bg-card);color:var(--text-primary)}form button{background:var(--primary);border:0;color:var(--text-inverse);padding:10px;font-family:Barlow,sans-serif;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:10px}footer{display:flex;justify-content:center;align-items:center;margin-top:10px;position:fixed;bottom:0;width:100%;height:30px;color:#fff;background:var(--bg-footer)}.content{margin-left:10px;margin-right:10px;margin-bottom:60px}.phase-heading{font-weight:700;color:var(--text-inverse)}.goalList{background:var(--primary);color:var(--text-inverse);padding:10px;margin-bottom:10px}.rating{color:var(--rating);margin-bottom:10px}.tab-header{color:var(--rating);font-size:1em;margin-left:6px}.benchmark-test-list{padding:20px;background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 4px var(--shadow)}.benchmark-test-list h2{margin-top:0}.benchmark-test-list ul{list-style-type:none;padding:0}.benchmark-test-list li{padding:10px;border-bottom:1px solid var(--border-primary)}.benchmark-test-list li:last-child{border-bottom:none}.benchmark-test-list p{margin:5px 0}li{background-color:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;padding:15px;box-shadow:0 4px 6px var(--shadow);background:var(--bg-card);margin-bottom:20px}.listing-details{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:5px 20px 10px;position:left;box-shadow:0 1px 2px var(--shadow)}[data-theme=dark] .listing-details{border:1px solid var(--border-primary)}.sorted-food-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.sorted-food-list h4{font-size:1em;color:var(--white)}.counter-content{display:flex;justify-content:center;align-items:center}.training-timer .input-container{display:flex;gap:20px;justify-content:space-between}.training-timer .input-container span{display:flex;flex-direction:column}.training-timer .input-container input{margin-top:5px}.training-timer .button-container{display:flex;justify-content:center;gap:20px;margin-top:20px}.training-timer .timer-display{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.counter{display:flex;justify-content:center;align-items:center;background-color:var(--text-secondary);color:var(--text-inverse);padding:10px;border-radius:var(--radius-sm);font-size:1.5em;width:50px}.main-goal{background:var(--gray-light);color:var(--text-inverse);padding:10px;margin-bottom:10px;border-radius:6px}.no-goal{background:var(--none);color:var(--text-inverse);padding:10px;margin-bottom:10px}.today-header{background-color:var(--bg-footer);color:#fff;padding:2px;border-radius:var(--radius-sm);margin-right:4px;box-shadow:0 2px 4px var(--shadow)}.step-number{background-color:var(--bg-footer)!important;color:#fff!important;padding:4px 8px!important;border-radius:var(--radius-sm)!important;display:inline-block!important;margin:0 2px!important}.step-tracker-button{display:flex!important;justify-content:center!important;align-items:center!important;background-color:var(--gray-light)!important;color:var(--text-inverse)!important;border:none!important;border-radius:5px!important;cursor:pointer!important;margin:10px auto!important;padding:10px!important}.step-tracker-button:hover{opacity:.9!important}.toggle-button{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:none;margin-left:5px;padding:0!important}.date-section{margin-bottom:20px;position:relative}.edit-icon{position:absolute;right:10px;top:10px;cursor:pointer;color:var(--gray)}.edit-icon:hover{color:#8394a5}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.image-item{position:relative;border:1px solid var(--border-primary);padding:10px;border-radius:5px;background-color:var(--bg-card)}.image-content img{width:100%;height:auto;border-radius:5px}.image-delete-button{position:absolute;bottom:10px;right:10px;cursor:pointer;color:red}.forgot-button{border:0;color:var(--primary);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:10px;margin-left:10px}.auth-page{display:flex;justify-content:center;padding:60px 20px}.auth-card{width:100%;max-width:380px;background:var(--bg-card);border-radius:var(--radius-md);padding:40px 32px 32px;box-shadow:0 1px 2px var(--shadow),0 20px 48px var(--shadow-heavy);animation:auth-card-in .35s ease}@keyframes auth-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .auth-card{border:1px solid var(--border-primary)}.auth-header{text-align:center;margin-bottom:28px}.auth-header h2{margin-bottom:6px}.auth-subtitle{color:var(--text-muted);font-size:14px;margin:0}.auth-form{display:flex;flex-direction:column}.auth-field{display:flex;flex-direction:column;margin-bottom:16px}.auth-field label{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-top:0;margin-bottom:6px}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-wrapper input{width:100%;margin-top:0;padding-left:40px;transition:border-color .15s ease,box-shadow .15s ease}.auth-input-wrapper input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--border-focus) 20%,transparent)}.auth-input-icon{position:absolute;left:12px;width:18px;height:18px;color:var(--text-muted);pointer-events:none}.auth-input-toggle{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;background:none;border:0;padding:4px;margin:0;cursor:pointer;color:var(--text-muted)}.auth-input-toggle svg{width:18px;height:18px}.auth-input-toggle:hover{color:var(--primary)}.auth-error{background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error);border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px;margin-bottom:16px;text-align:center}.auth-success{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);border-radius:var(--radius-sm);padding:14px;font-size:14px;text-align:center}.auth-submit{width:100%;background:var(--primary);color:var(--text-inverse);border:0;border-radius:var(--radius-sm);padding:12px;margin:8px 0 16px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.auth-submit:hover:not(:disabled){opacity:.92}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-forgot{align-self:center;display:block;margin:0;color:var(--text-muted);font-size:13.5px;text-decoration:none}.auth-forgot:hover{color:var(--primary)}.shopping-list{width:100%;max-width:600px;margin:20px auto;background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 0 10px var(--shadow)}.shopping-list h2{text-align:center;margin-bottom:20px;color:var(--text-primary)}.add-item{display:flex;margin-bottom:10px}.add-item input{flex:1;padding:10px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);margin-right:10px;background:var(--bg-card);color:var(--text-primary)}.add-item button{font-size:xx-large;padding:10px;background-color:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer}.item-list{list-style:none;padding:0}.item{display:flex;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid var(--border-secondary)}.item .li{margin-bottom:5px!important}.item:last-child{border-bottom:none}.item-description{flex:1}.item-actions{display:flex;align-items:center}.item-actions button{background:none;border:none;cursor:pointer;margin-left:10px;color:var(--text-muted)}.item-actions button:hover{color:var(--text-primary)}.item.bought .item-description{text-decoration:line-through;color:var(--text-muted)}.toggle-bought{background:none;border:none;cursor:pointer;margin-left:10px;color:var(--primary)!important}.toggle-bought:hover{color:var(--text-primary)}.delete-item{color:var(--alert)!important}.delete-item:hover{color:var(--text-primary)}.bought-icon{color:var(--primary)}.not-bought-icon{color:var(--text-muted)}.image-detail-container{display:flex;flex-direction:column;align-items:center;padding:20px}.responsive-image{max-width:100%;height:auto;object-fit:contain;margin-bottom:10px}.edit-description{display:flex;flex-direction:column;align-items:center;font-size:small}textarea{width:100%;max-width:600px;height:100px;margin-bottom:20px}button{margin:5px}.step-tracker{padding:20px;text-align:center}.step-tracker input{margin:5px;padding:5px}.step-tracker button{margin:10px;padding:10px;background-color:var(--primary);color:var(--text-inverse);border:none;cursor:pointer}.step-tracker button:hover{background-color:var(--primary)}.step-chart{padding:20px;text-align:center}.step-chart input{margin:5px;padding:5px}.step-chart button{margin:10px;padding:10px;background-color:var(--primary);color:var(--text-inverse);border:none;cursor:pointer}.step-chart button:hover{background-color:var(--primary)}.streak{color:var(--rating)}.loading-screen{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--bg-primary);color:var(--text-primary);text-align:center}.loading-content{max-width:400px}.spinner{margin:20px auto;width:50px;height:50px;border:5px solid var(--text-primary);border-top:5px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.round-progress{margin-bottom:20px;width:100%;max-width:300px}.round-progress h4{margin:0 0 10px;font-size:1.1em;color:var(--text-muted)}.progress-bar{width:100%;height:8px;background-color:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background-color:var(--success);transition:width .3s ease;border-radius:var(--radius-sm)}.completion-message{margin-top:20px;padding:20px;background-color:var(--bg-secondary);border-radius:10px;border:2px solid var(--success)}.completion-message p{margin:5px 0;font-size:1.1em;color:var(--success)}
