@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(./bebas-neue-latin-ext-400-normal-DWiEslNC.woff2) format("woff2"),url(./bebas-neue-latin-ext-400-normal-HFKRJXnW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(./bebas-neue-latin-400-normal-9mHNbWWO.woff2) format("woff2"),url(./bebas-neue-latin-400-normal-Bi-ndsyu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;font-family:Space Grotesk,sans-serif;--volt: #d7ff3d;--panel: #17191d;--line: #2a2d33;--dim: #8b9096;--text: #eef0f2;--bg: #0b0c0e;--surface: #0f1012;--bg-gradient: radial-gradient(circle at 75% 0%, #26310b 0, #0b0c0e 32rem);background:var(--bg);color:var(--text)}:root[data-theme=light]{color-scheme:light;--volt: #6b8f00;--panel: #ffffff;--line: #dde0e5;--dim: #5a6068;--text: #14161a;--bg: #f4f5f7;--surface: #ffffff;--bg-gradient: radial-gradient(circle at 75% 0%, #eef7d1 0, #f4f5f7 32rem)}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg-gradient)}button,a{font:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;padding:max(1.5rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) 1rem max(1.25rem,env(safe-area-inset-left))}.brand{color:var(--text);font:2.25rem Bebas Neue;letter-spacing:.06em;text-decoration:none}.brand span,.eyebrow{color:var(--volt)}.locale{display:flex;gap:.25rem}.locale button{border:1px solid var(--line);border-radius:.5rem;background:var(--panel);color:var(--dim);padding:.45rem .6rem}.locale button[aria-pressed=true]{color:var(--bg);background:var(--volt)}main{width:min(70rem,100%);margin:auto;padding:clamp(2rem,7vw,6rem) 1.25rem 5rem}.hero{max-width:48rem}.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}h1,h2{font-family:Bebas Neue;margin:0}.hero h1{font-size:clamp(3.8rem,11vw,8rem);line-height:.87;letter-spacing:.015em;max-width:13ch}.account-email{color:var(--dim);font-size:.8rem;margin:.4rem 0 0}.account-email strong{color:var(--volt)}.status{display:flex;gap:.6rem;color:var(--dim);margin:1.5rem 0 .5rem;font-size:.85rem}.status-link{appearance:none;border:0;background:transparent;color:inherit;padding:0;text-decoration:underline;text-underline-offset:.2rem}.auth-state{color:var(--dim);margin:0 0 2rem}.primary{display:inline-block;background:var(--volt);color:var(--bg);font-weight:700;text-decoration:none;padding:1rem 1.25rem;border-radius:.75rem}.auth-card{width:min(30rem,100%);margin:0 auto;background:#17191deb;border:1px solid var(--line);border-radius:1.25rem;padding:clamp(1.25rem,5vw,2rem);box-shadow:0 2rem 6rem #0008}.auth-debug{width:min(30rem,100%);margin:1rem auto 0;background:#17191deb;border:1px solid var(--line);border-radius:1.25rem;padding:clamp(1rem,4vw,1.5rem)}.auth-debug h2{font-size:.9rem;margin:0 0 .3rem}.auth-debug-log{max-height:14rem;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:.6rem;padding:.6rem;font-size:.68rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;color:var(--dim)}.auth-debug-actions{display:flex;align-items:center;gap:.6rem;margin-top:.6rem}.action-link{display:block;margin-top:1.25rem;text-align:center;text-decoration:none}.action-success{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.auth-card h1{font-size:3.4rem}.auth-card>p{color:var(--dim);line-height:1.55}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:1.5rem 0}.auth-tabs button,.secondary,.link-button{border:1px solid var(--line);background:var(--panel);color:var(--dim);border-radius:.65rem;padding:.8rem;cursor:pointer}.auth-tabs button[aria-pressed=true]{border-color:var(--volt);color:var(--volt)}.oauth-button{display:flex;align-items:center;justify-content:center;gap:.6rem}.oauth-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.units-card div{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.6rem}.units-card button{border:1px solid var(--line);background:var(--panel);color:var(--dim);border-radius:.65rem;padding:.8rem;cursor:pointer}.units-card button[aria-pressed=true]{border-color:var(--volt);color:var(--volt)}.chip-grid{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 1.2rem}.chip-grid button{border:1px solid var(--line);background:var(--panel);color:var(--dim);border-radius:999px;padding:.5rem 1rem;font-size:.8rem;cursor:pointer}.chip-grid button[aria-pressed=true]{border-color:var(--volt);color:var(--volt)}.intensity-grid{display:grid;gap:.6rem;margin:.6rem 0 1.2rem}.intensity-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;border:1px solid var(--line);background:var(--panel);border-radius:.7rem;padding:.8rem;text-align:left;cursor:pointer}.intensity-grid button strong{color:var(--text)}.intensity-grid button small{color:var(--dim)}.intensity-grid button[aria-pressed=true]{border-color:var(--volt)}.intensity-grid button[aria-pressed=true] strong{color:var(--volt)}.auth-card form{display:grid;gap:1rem}.auth-card label:not(.choice){display:grid;gap:.45rem;color:var(--dim);font-size:.8rem;font-weight:600}.auth-card input[type=email],.auth-card input[type=password]{width:100%;border:1px solid var(--line);border-radius:.7rem;background:var(--surface);color:var(--text);padding:.9rem;font-size:1rem}.auth-card input:focus{outline:2px solid var(--volt);outline-offset:2px}.auth-card button{width:100%}.auth-card .primary{border:0;cursor:pointer}.auth-card button:disabled{opacity:.45;cursor:wait}.secondary{margin-top:.8rem;color:var(--text)}.link-button{border:0;background:transparent;color:var(--dim);margin-top:.6rem}.tour-progress{color:var(--dim);font-size:.8rem}.tour-actions{display:flex;gap:.75rem;margin-top:1rem}.tour-actions button{width:auto;flex:1}.divider{display:flex;align-items:center;gap:.7rem;color:var(--dim);font-size:.7rem;margin-top:.6rem}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.hint{font-size:.75rem;margin:-.4rem 0 0!important}.form-error{padding:.75rem;border:1px solid #ff4d5e66;border-radius:.6rem;background:#ff4d5e16;color:#ffabb3!important;font-size:.8rem}.form-error[hidden]{display:none}.baseline-link{display:block;text-align:center;color:var(--dim);font-size:.75rem;margin-top:1.5rem}.version-tag{text-align:center;color:var(--dim);font-size:.65rem;margin:.5rem 0 0;opacity:.7}.auth-debug-crash{width:min(30rem,100%);margin:1rem auto 0;padding:.8rem 1rem;background:#ff4d5e22;border:1px solid #ff4d5e;border-radius:.8rem;color:var(--text);font-size:.75rem}.email-address{display:block;color:var(--volt);overflow-wrap:anywhere;margin:1rem 0}.choice{border:1px solid var(--line);border-radius:.7rem;padding:1rem;color:var(--text)!important}.choice input{accent-color:var(--volt)}.loading{min-height:50vh;display:grid;place-items:center}.loading div{width:2rem;height:2rem;border:3px solid var(--line);border-top-color:var(--volt);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{rotate:1turn}}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:5rem}.feature-grid article{border:1px solid var(--line);background:#17191ddb;padding:1.25rem;border-radius:1rem;min-height:11rem}.feature-grid article>span{font-size:.7rem;color:var(--volt)}.feature-grid h2{font-size:2rem;margin-top:1rem}.feature-grid p{font-size:.82rem;line-height:1.5;color:var(--dim)}.workout-view{width:min(45rem,100%);margin:auto}.days{display:flex;gap:.4rem;overflow:auto;padding:.5rem 0 1.25rem}.days button{flex:1;min-width:3.4rem;border:1px solid var(--line);border-radius:.65rem;background:var(--panel);color:var(--dim);padding:.7rem .4rem}.days button[aria-pressed=true]{background:var(--volt);color:var(--bg);border-color:var(--volt)}.days button.empty:not([aria-pressed=true]){opacity:.45}.workout-heading h1{font-size:clamp(2.8rem,9vw,5rem);line-height:.95}.exercise-card{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem;margin:1rem 0;cursor:grab}.exercise-card.dragging{opacity:.5}.exercise-card.drag-over{border-color:var(--accent)}.exercise-card h2{font-family:Space Grotesk;font-size:1rem}.exercise-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;color:var(--dim);font-size:.75rem}.exercise-meta input{width:3.2rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface);color:var(--text);padding:.2rem .35rem;font-size:.75rem;text-align:center}.exercise-meta input[type=text]{width:4.2rem}.set-row,.set-header{display:grid;grid-template-columns:2rem repeat(4,minmax(3.4rem,1fr)) 2.5rem;gap:.5rem;align-items:center;padding:.45rem 0;border-top:1px solid var(--line)}.set-row.compact,.set-header.compact{grid-template-columns:2rem repeat(2,minmax(3.4rem,1fr)) 2.5rem}@media(max-width:520px){.set-row,.set-header{grid-template-columns:1.5rem repeat(4,minmax(0,1fr)) 2rem;gap:.25rem}.set-row.compact,.set-header.compact{grid-template-columns:1.5rem repeat(2,minmax(0,1fr)) 2rem}.set-row input[type=number]{padding:.55rem .35rem}}.set-row>span,.set-header>span{text-align:center;color:var(--dim);font-size:.75rem}.set-row input[type=number]{min-width:0;width:100%;border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--text);padding:.7rem}.set-row input[type=checkbox]{width:1.4rem;height:1.4rem;accent-color:var(--volt);justify-self:center}.set-row.done{background:color-mix(in srgb,var(--panel) 96%,var(--volt) 4%)}.set-header{border-top:0;padding-bottom:.2rem}.set-header>span{overflow:hidden;font-size:.62rem;font-weight:700;text-overflow:ellipsis;text-transform:uppercase}.set-row-wrap{position:relative;overflow:hidden}.set-row-wrap .set-row{position:relative;z-index:1;background:var(--panel);touch-action:pan-y;transition:transform .18s ease;will-change:transform}.set-row-wrap .set-row.done{background:color-mix(in srgb,var(--panel) 96%,var(--volt) 4%)}.set-row-delete{position:absolute;top:0;right:0;bottom:0;width:4.75rem;border:none;background:#ff5252;color:#fff;font-size:.7rem;font-weight:700;cursor:pointer}.exercise-top-wrap{position:relative;overflow:hidden;border-radius:.6rem}.exercise-top-wrap .exercise-top{position:relative;z-index:1;background:var(--panel);touch-action:pan-y;transition:transform .18s ease;will-change:transform}.exercise-top-wrap .exercise-top.swiped,.set-row-wrap .set-row.swiped{transform:translate(-4.75rem)}.exercise-top-delete{position:absolute;top:0;right:0;bottom:0;width:4.75rem;border:none;background:#ff5252;color:#fff;font-size:.7rem;font-weight:700;cursor:pointer}.repeat-set-toggle{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--dim);padding:.3rem 0}.repeat-set-toggle input{accent-color:var(--volt)}.add-set-button{width:100%;margin-top:.5rem;border:1px dashed var(--line);border-radius:.5rem;background:transparent;color:var(--dim);padding:.55rem;cursor:pointer}.exercise-alternatives-accordion{margin:.5rem 0 1rem;border:1px solid var(--line);border-radius:.6rem;overflow:hidden}.exercise-alternatives-accordion summary{cursor:pointer;list-style:none;padding:.55rem .8rem;font-size:.8rem;color:var(--volt);-webkit-user-select:none;user-select:none}.exercise-alternatives-accordion summary::-webkit-details-marker{display:none}.exercise-alternatives-accordion summary:before{content:"▸";display:inline-block;margin-right:.4rem;transition:transform .15s ease}.exercise-alternatives-accordion[open] summary:before{transform:rotate(90deg)}.exercise-alternatives{display:grid;gap:.4rem;padding:0 .6rem .6rem;max-height:14rem;overflow-y:auto}.exercise-alternatives button{text-align:left;border:1px solid var(--line);border-radius:.45rem;background:var(--surface);color:var(--text);padding:.5rem .6rem;font-size:.8rem}.empty-state{padding:3rem 1rem;text-align:center;color:var(--dim)}.spotlight-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none}.spotlight-target{position:relative;z-index:10000;box-shadow:0 0 0 9999px #000000a6}.spotlight-tooltip{position:fixed;top:max(1rem,env(safe-area-inset-top));right:1rem;left:1rem;max-width:30rem;margin:auto;padding:.9rem 1rem;border-radius:.7rem;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 .5rem 1.5rem #00000059;pointer-events:auto}.spotlight-tooltip h3{margin:0 0 .3rem;font-size:.95rem}.spotlight-tooltip p{margin:0 0 .7rem;font-size:.82rem;color:var(--dim)}.spotlight-tooltip button{border:none;border-radius:.5rem;background:var(--volt);color:#08110a;padding:.45rem .8rem;font-weight:700;cursor:pointer}.onboard-card{border:1px solid var(--line);border-radius:.9rem;margin:1rem;display:grid;gap:.5rem}.onboard-title{color:var(--text);font-size:1.1rem;font-weight:700}.onboard-sub{color:var(--dim);font-size:.85rem}.onboard-actions{display:grid;gap:.5rem;margin-top:.6rem}.onboard-actions button{border-radius:.65rem;padding:.8rem;cursor:pointer}.workout-view>.primary{width:100%;border:0;cursor:pointer}.workout-view>.primary:disabled{opacity:.4}.hero>.primary{border:0;cursor:pointer;margin-top:1rem}.routine-actions,.exercise-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.routine-actions{justify-content:flex-start;margin:1rem 0}.routine-day-actions{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin:0 0 1rem;padding-top:1rem;border-top:1px solid var(--line)}.routine-day-actions[hidden]{display:none}.routine-day-actions label{display:grid;gap:.35rem;color:var(--dim);font-size:.75rem}.routine-day-actions select{min-width:9rem}.danger-button{border-color:#ff4d5e!important;color:#ff8c97!important}.routine-actions button,.exercise-top button,.catalog-list button{border:1px solid var(--line);border-radius:.5rem;background:var(--panel);color:var(--volt);padding:.55rem}.exercise-top button{color:#ff8c97}.catalog-search{width:100%;border:1px solid var(--line);border-radius:.7rem;background:var(--panel);color:var(--text);padding:1rem;margin:1rem 0}.catalog-list{display:grid;gap:.5rem}.catalog-list article{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--panel);border:1px solid var(--line);border-radius:.7rem;padding:.8rem}.catalog-list article>div{display:grid;gap:.25rem;flex:1}.catalog-list article.already-added{opacity:.55}.exercise-name-en{color:var(--dim);font-size:.7rem}.exercise-name-en.missing{color:#ff8c97}.catalog-list button:disabled{opacity:.6;cursor:not-allowed}.catalog-list span{color:var(--dim);font-size:.7rem}.exercise-thumb{width:3rem;height:3rem;object-fit:cover;border-radius:.5rem;background:var(--surface);flex-shrink:0}.example-modal-image{display:block;width:100%;max-height:80vh;object-fit:contain;border-radius:.7rem;background:var(--surface)}.exercise-media-picker{display:grid;gap:.4rem;margin:.5rem 0}.exercise-media-preview{width:100%;max-width:16rem;border-radius:.6rem;background:var(--surface)}.exercise-media-search{display:flex;gap:.5rem}.exercise-media-search input{flex:1}.exercise-media-results{display:grid;gap:.4rem;max-height:14rem;overflow-y:auto}.exercise-media-result{display:flex;align-items:center;gap:.6rem;text-align:left;border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--text);padding:.4rem .6rem;cursor:pointer}.exercise-media-result img{width:2.5rem;height:2.5rem;object-fit:cover;border-radius:.4rem;flex-shrink:0}.session-clock{display:flex;gap:.6rem;align-items:baseline;color:var(--dim);margin-top:.6rem}.session-clock strong{color:var(--volt);font-family:JetBrains Mono,monospace}.session-clock button{margin-left:auto;padding:.3rem .8rem;font-size:.75rem}.exercise-tools{display:grid;grid-template-columns:auto 1fr;gap:.5rem;margin:.5rem 0}.exercise-tools button{border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--volt)}.exercise-tools textarea{border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--text);padding:.5rem;min-height:2.5rem}.set-guidance{display:block;color:var(--dim);font-size:.65rem;margin:.15rem 0 .3rem 2.5rem}.rest-timer{position:fixed;top:calc(1rem + env(safe-area-inset-top));left:1rem;right:1rem;max-width:32rem;margin:0 auto;z-index:60;background:var(--volt);color:var(--bg);border-radius:.7rem;padding:.8rem;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.rest-timer[hidden]{display:none}.rest-timer button{background:var(--bg);color:var(--volt);border:0;border-radius:.5rem;padding:.35rem .7rem;font-size:.75rem;font-weight:700;cursor:pointer}.exercise-video{display:block;background:none;border:0;color:var(--volt);font-size:.75rem;margin-bottom:.5rem;cursor:pointer;padding:0}.video-modal{position:fixed;inset:0;z-index:100;background:#060708eb;display:flex;align-items:center;justify-content:center;padding:1rem}.video-modal-frame{position:relative;width:min(48rem,100%)}.video-modal-frame h2{color:var(--text);font-size:1rem;margin:0 0 .6rem;padding-right:2.5rem}.video-modal-frame button{position:absolute;top:-.2rem;right:0;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:999px;width:2.2rem;height:2.2rem;cursor:pointer}.video-modal-frame iframe{width:100%;aspect-ratio:16 / 9;border:0;border-radius:.7rem}.exercise-editor-modal{position:fixed;inset:0;z-index:100;background:#060708eb;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}.exercise-editor-card{width:min(32rem,100%);background:var(--panel);border:1px solid var(--line);border-radius:.9rem;padding:1.25rem;display:grid;gap:.8rem;max-height:90vh;overflow-y:auto}.exercise-editor-card label{display:grid;gap:.3rem;font-size:.8rem;color:var(--dim)}.exercise-editor-card input,.exercise-editor-card select,.exercise-editor-card textarea{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;color:var(--text);padding:.6rem;font:inherit}.exercise-editor-actions{display:flex;justify-content:flex-end;gap:.6rem}.profile-card form{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.5rem}.profile-card label{display:grid;gap:.3rem;font-size:.8rem;color:var(--dim)}.units-card label{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.8rem;color:var(--dim);margin-top:.5rem}.units-card label input[type=time]{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;color:var(--text);padding:.4rem .6rem}.profile-card input,.profile-card select{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;color:var(--text);padding:.6rem}.profile-card button{grid-column:1 / -1}.coach-link-card form{display:flex;gap:.5rem;margin-top:.5rem}.coach-link-card input{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:.5rem;color:var(--text);padding:.6rem}.weekly-report>button{margin-top:.6rem;border:1px solid var(--line);border-radius:.5rem;background:var(--panel);color:var(--volt);padding:.6rem}.feature-grid article button,.metric-grid button{border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--volt);padding:.55rem .7rem}.feature-view{width:min(50rem,100%);margin:auto}.feature-view>h1{font-size:clamp(3rem,10vw,6rem)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.5rem 0}.metric-grid article{display:grid;gap:.35rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem}.metric-grid span,.metric-grid small{color:var(--dim);font-size:.75rem}.metric-grid strong{font-size:1.6rem}.compact-form,.meal-form{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem;margin:1rem 0}.compact-form label,.meal-form label{display:grid;gap:.35rem;color:var(--dim);font-size:.75rem}.compact-form input,.meal-form input{border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--text);padding:.7rem}.compact-form .primary,.meal-form .primary,.readiness-form .primary{border:0}.readiness-form{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem}.readiness-form label{display:grid;gap:.5rem;color:var(--dim);font-size:.75rem}.readiness-form input{accent-color:var(--volt)}.readiness-form .primary{grid-column:1/-1}.history-list{display:grid;gap:.5rem;margin:1rem 0}.history-list article{display:flex;justify-content:space-between;gap:1rem;background:var(--panel);border:1px solid var(--line);border-radius:.7rem;padding:.8rem}.history-list span{color:var(--dim);font-size:.75rem}.meal-form{grid-template-columns:2fr repeat(4,1fr)}.meal-form .primary{grid-column:1/-1}.nutrition-metrics button{justify-self:start}.danger-zone{border:1px solid #ff4d5e66;background:#ff4d5e0b;border-radius:1rem;padding:1.25rem}.danger-zone h2{font-family:Space Grotesk;font-size:1.1rem}.danger-zone p{color:#ffabb3;font-size:.85rem}.danger-zone form{display:grid;gap:.8rem}.danger-zone label{display:grid;gap:.35rem;color:var(--dim);font-size:.75rem}.danger-zone input{border:1px solid #ff4d5e66;border-radius:.5rem;background:var(--surface);color:var(--text);padding:.8rem}.danger-button{border:0;border-radius:.6rem;background:#ff4d5e;color:#fff;padding:.9rem;font-weight:700}.supplement-list{display:grid;gap:.6rem;margin:1rem 0}.supplement-list article{background:var(--panel);border:1px solid var(--line);border-radius:.8rem;padding:1rem}.supplement-list article>div{display:flex;justify-content:space-between;margin-bottom:.7rem}.supplement-list button{border:0;background:transparent;color:#ff8c97}.supplement-list label{display:inline-block;margin-right:.8rem;color:var(--dim)}.supplement-list input{accent-color:var(--volt)}.supplement-list label button{padding:.2rem;color:#ff8c97}.supplement-list .supplement-schedule{justify-content:flex-start;gap:.5rem;margin-top:.8rem}.supplement-schedule input{border:1px solid var(--line);border-radius:.45rem;background:var(--surface);color:var(--text);padding:.5rem}.supplement-schedule button{border:1px solid var(--line);border-radius:.45rem;color:var(--volt)}.photo-upload{display:grid;gap:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem;margin:1rem 0}.photo-upload label{display:grid;gap:.5rem;color:var(--dim)}.photo-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.photo-upload .photo-source-button{display:flex;min-height:3rem;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:.7rem;background:var(--panel-2);color:var(--text);padding:.75rem;text-align:center;cursor:pointer}.photo-source-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.photo-preview{display:grid;grid-template-columns:3.75rem minmax(0,1fr);align-items:center;gap:.75rem;margin:0;padding:.65rem;border:1px solid var(--line);border-radius:.7rem;background:var(--panel-2)}.photo-preview[hidden]{display:none}.photo-preview img{width:3.75rem;height:3.75rem;border-radius:.5rem;object-fit:cover}.photo-preview figcaption{color:var(--dim);font-size:.85rem;overflow-wrap:anywhere}.photo-upload input{color:var(--text)}.photo-upload progress{width:100%;accent-color:var(--volt)}.photo-actions{display:flex;gap:.5rem;margin:1rem 0}.photo-actions button,.photo-grid button{border:1px solid var(--line);border-radius:.5rem;background:var(--panel);color:var(--volt);padding:.65rem}.photo-actions button:disabled{opacity:.4}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.photo-grid article{overflow:hidden;border:1px solid var(--line);border-radius:.8rem;background:var(--panel)}.photo-grid img,.photo-comparison img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.photo-grid article>div{display:flex;justify-content:space-between;align-items:center;padding:.7rem}.photo-grid label{color:var(--dim);font-size:.75rem}.photo-grid input{accent-color:var(--volt)}.photo-grid button{border:0;color:#ff8c97}.photo-comparison{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.photo-comparison[hidden],.photo-grid[hidden],.photo-actions[hidden],.photo-upload[hidden]{display:none}.photo-comparison-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.photo-comparison-toolbar button{border:1px solid var(--line);border-radius:.5rem;background:var(--panel);color:var(--volt);padding:.65rem}.photo-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;border-radius:1rem;overflow:hidden}.progress-chart{min-height:10rem;display:grid;place-items:center;color:var(--volt);background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem}.progress-chart svg{width:100%;height:10rem;overflow:visible}.progress-chart circle{fill:var(--volt)}.measurements-form{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem;margin:1rem 0}.measurements-form label{display:grid;gap:.35rem;color:var(--dim);font-size:.7rem}.measurements-form input{min-width:0;border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--text);padding:.65rem}.measurements-form .primary{grid-column:1/-1;border:0}.backup-card{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.25rem;margin:1rem 0}.backup-card p{color:var(--dim)}.backup-card>div{display:flex;gap:.6rem}.backup-card button,.import-button{border:1px solid var(--line);border-radius:.6rem;background:var(--surface);color:var(--volt);padding:.8rem;cursor:pointer}.import-button input{display:none}.notification-card{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.25rem;margin:1rem 0}.notification-card p{color:var(--dim)}.notification-card>div{display:flex;gap:.6rem}.notification-card button{border:1px solid var(--line);border-radius:.6rem;background:var(--surface);color:var(--volt);padding:.8rem}.notification-card button:disabled{opacity:.4}.storage-card{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.25rem;margin:1rem 0}.storage-card p{color:var(--dim)}.storage-card button{border:1px solid var(--line);border-radius:.6rem;background:var(--surface);color:var(--volt);padding:.8rem}.storage-card button:disabled{opacity:.4}.reset-card{background:var(--panel);border:1px solid #ff4d5e55;border-radius:1rem;padding:1.25rem;margin:1rem 0}.reset-card p{color:var(--dim)}.reset-card>div{display:flex;flex-wrap:wrap;gap:.5rem}.reset-card button{border:1px solid #ff4d5e66;border-radius:.6rem;background:var(--surface);color:#ffabb3;padding:.8rem}.reset-card button:disabled{opacity:.5}.template-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem}.template-list article{display:grid;align-content:start;gap:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.2rem}.template-list p{color:var(--dim);min-height:3rem}.template-list button{border:0;border-radius:.6rem;background:var(--volt);color:var(--bg);padding:.8rem;font-weight:700}.exercise-top>div{display:flex;gap:.25rem}.exercise-top button:disabled{opacity:.3}.weekly-report{margin:1.5rem 0}.weekly-report>div{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.weekly-report article{display:grid;background:var(--panel);border:1px solid var(--line);border-radius:.8rem;padding:.8rem}.weekly-report strong{font-size:1.4rem}.weekly-report span{color:var(--dim);font-size:.7rem}.achievement-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.achievement-list span{border:1px solid #d7ff3d55;border-radius:999px;background:#d7ff3d0d;color:var(--volt);padding:.55rem .75rem;font-size:.75rem}.barcode-form{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem;margin:1rem 0}.barcode-form label{display:grid;gap:.35rem;color:var(--dim);font-size:.75rem}.barcode-form input{border:1px solid var(--line);border-radius:.5rem;background:var(--surface);color:var(--text);padding:.7rem}.barcode-form button{border:0;border-radius:.5rem;background:var(--volt);color:var(--bg);padding:.75rem;font-weight:700}.barcode-form span{grid-column:1/-1;color:var(--dim);font-size:.75rem}.barcode-form video{grid-column:1/-1;width:100%;max-height:18rem;object-fit:cover;border-radius:.7rem}.barcode-form video[hidden]{display:none}.barcode-form button:disabled{opacity:.4}.toast{position:fixed;inset:auto 1rem calc(1rem + env(safe-area-inset-bottom));max-width:32rem;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--text);color:var(--bg);padding:1rem;border-radius:.8rem;box-shadow:0 1rem 3rem #0008}.toast[hidden]{display:none}.toast button{border:0;border-radius:.5rem;background:var(--bg);color:var(--volt);padding:.6rem}.toast.error{background:#ff4d5e;color:#fff}@media(max-width:760px){main{padding:1rem max(.85rem,env(safe-area-inset-right)) calc(5rem + env(safe-area-inset-bottom)) max(.85rem,env(safe-area-inset-left))}.topbar{padding-bottom:.5rem}.feature-grid{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:2rem}.feature-grid article{display:flex;min-height:10rem;flex-direction:column;padding:1rem}.feature-grid article button{width:100%;margin-top:auto}.hero h1{font-size:clamp(3rem,14vw,5rem)}}@media(max-width:420px){.feature-grid{grid-template-columns:1fr 1fr}.feature-grid article{min-height:9.5rem}.feature-grid h2{margin-top:.4rem}.feature-grid p{margin:.35rem 0 .75rem;font-size:.72rem}}@media(max-width:600px){.metric-grid,.readiness-form,.meal-form{grid-template-columns:1fr 1fr}.meal-form label:first-child{grid-column:1/-1}.history-list article{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.photo-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.measurements-form{grid-template-columns:1fr 1fr}.backup-card>div{align-items:stretch;flex-direction:column}}@media(max-width:600px){.template-list{grid-template-columns:1fr}.weekly-report>div{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.progression-insight{margin:.75rem 0;padding:.75rem .9rem;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text);font-size:.875rem}.progression-insight.deload,.progression-insight.plateau{border-color:color-mix(in srgb,#f0a34a 55%,transparent);background:color-mix(in srgb,#f0a34a 10%,transparent)}.progression-actions,.sync-conflict>div{display:flex;flex-wrap:wrap;gap:.5rem;margin:.55rem 0}.progression-decision{display:block;color:var(--dim);margin-bottom:.75rem}.sync-list{display:grid;gap:.6rem}.sync-list>article{display:grid;gap:.3rem;border-top:1px solid var(--line);padding-top:.65rem}.sync-conflict{border-left:3px solid #ffb74d;padding-left:.7rem}.nutrition-copy{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin:1rem 0}.nutrition-copy h2,.nutrition-copy p{flex-basis:100%;margin:0}.nutrition-copy input{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;color:var(--text);padding:.6rem}.history-list article>div{display:flex;flex-wrap:wrap;gap:.45rem}.measurement-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.measurement-charts article{min-width:0}.progress-chart.compact svg{max-height:120px}.training-analytics>article{display:grid;gap:.2rem;margin-bottom:1rem}.muscle-volume{display:grid;gap:.55rem}.muscle-volume article{display:grid;grid-template-columns:minmax(7rem,1fr) auto;gap:.25rem .75rem}.muscle-volume progress{grid-column:1 / -1;width:100%;accent-color:var(--volt)}.celebrate-overlay{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;background:#060708eb}.celebrate-card{text-align:center;padding:0 1.5rem}.celebrate-card h1{font-size:3rem;color:var(--volt);line-height:1.1}.celebrate-card p{color:var(--dim);margin-top:.5rem}.celebrate-streak{display:inline-flex;align-items:center;gap:.5rem;background:#d7ff3d1a;border:1px solid var(--volt);border-radius:999px;padding:.5rem 1.1rem;margin-top:1rem;font-weight:700;color:var(--volt)}.cel-actions{display:flex;gap:.6rem;justify-content:center;margin-top:1.6rem}.cel-actions button{border:0;border-radius:.7rem;padding:.8rem 1.4rem;font-weight:700;cursor:pointer}.cel-actions button:first-child{background:var(--volt);color:var(--bg)}.cel-actions button:last-child{background:var(--panel);color:var(--text);border:1px solid var(--line)}.confetti-burst{position:fixed;inset:0;z-index:120;pointer-events:none;overflow:hidden}.confetti-burst span{position:absolute;top:-10px;width:8px;height:14px;animation:confetti-fall linear forwards}.confetti-burst span:nth-child(8n+1){left:5%;background:#d7ff3d;animation-delay:.05s;animation-duration:1.7s}.confetti-burst span:nth-child(8n+2){left:18%;background:#4dc3ff;animation-delay:.25s;animation-duration:2.1s}.confetti-burst span:nth-child(8n+3){left:31%;background:#ff4d5e;animation-delay:.12s;animation-duration:1.9s}.confetti-burst span:nth-child(8n+4){left:44%;background:#eef0f2;animation-delay:.35s;animation-duration:2.3s}.confetti-burst span:nth-child(8n+5){left:57%;background:#d7ff3d;animation-delay:.18s;animation-duration:2s}.confetti-burst span:nth-child(8n+6){left:70%;background:#4dc3ff;animation-delay:.4s;animation-duration:1.8s}.confetti-burst span:nth-child(8n+7){left:83%;background:#ff4d5e;animation-delay:.08s;animation-duration:2.4s}.confetti-burst span:nth-child(8n+8){left:95%;background:#eef0f2;animation-delay:.3s;animation-duration:2.2s}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(540deg);opacity:.3}}
