:root{--page-bg: #05070a;--surface: #0d0f12;--card: #16191f;--card-border: #232831;--divider: #1c2027;--accent: #7cf24a;--accent-ink: #05070a;--avatar-ink: #05070a;--text: #f2f4f7;--text-secondary: #8a92a0;--negative: #ff6b6b;--negative-soft: #ff9b9b;--warning: #ffb84d;--scrim: rgba(0, 0, 0, .6);--accent-tint: rgba(124, 242, 74, .12);--accent-tint-soft: rgba(124, 242, 74, .08);--warning-tint: rgba(255, 184, 77, .1);--warning-border: rgba(255, 184, 77, .35);--muted-tint: rgba(138, 146, 160, .12);--negative-tint: rgba(255, 107, 107, .1);--negative-border: rgba(255, 107, 107, .35);--ease-settle: cubic-bezier(.22, 1, .36, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--dur-press: 80ms;--dur-release: .14s;--dur-screen: .2s;--dur-sheet: .26s;--dur-overlay: .28s}:root[data-theme=light]{--page-bg: #f4f6f8;--surface: #ffffff;--card: #ffffff;--card-border: #dfe3e8;--divider: #e7eaee;--accent: #3d9410;--accent-ink: #ffffff;--avatar-ink: #10131a;--text: #10131a;--text-secondary: #5c6674;--negative: #d13b3b;--negative-soft: #a52c2c;--warning: #a86000;--scrim: rgba(0, 0, 0, .35);--accent-tint: rgba(61, 148, 16, .12);--accent-tint-soft: rgba(61, 148, 16, .08);--warning-tint: rgba(168, 96, 0, .1);--warning-border: rgba(168, 96, 0, .3);--muted-tint: rgba(92, 102, 116, .12);--negative-tint: rgba(209, 59, 59, .1);--negative-border: rgba(209, 59, 59, .3)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page-bg);color:var(--text);font-family:Space Grotesk,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.mono{font-family:JetBrains Mono,monospace}button,input{font-family:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.6;cursor:default}.btn,.pill,.workout-card,.stepper button{transition:transform var(--dur-release) var(--ease-settle),opacity var(--dur-release) var(--ease-settle),border-color var(--dur-release) var(--ease-settle),background var(--dur-release) var(--ease-settle),color var(--dur-release) var(--ease-settle)}.btn:active:not(:disabled),.pill:active:not(:disabled),.workout-card:active:not(:disabled),.stepper button:active:not(:disabled){transform:scale(.96);transition-duration:var(--dur-press)}.list-row{transition:background var(--dur-release) var(--ease-settle)}.list-row:active:not(:disabled){background:var(--muted-tint);transition-duration:var(--dur-press)}.link{transition:opacity var(--dur-release) var(--ease-settle)}.link:active:not(:disabled){opacity:.6;transition-duration:var(--dur-press)}.form-error{background:var(--negative-tint);border:1px solid var(--negative-border);color:var(--negative-soft);border-radius:10px;padding:10px 12px;font-size:13px}.loading-screen,.error-fallback{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:var(--page-bg);color:var(--text)}.load-error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 16px 0;padding:10px 12px;border-radius:10px;font-size:13px;background:var(--warning-tint);border:1px solid var(--warning-border);color:var(--warning)}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;background:var(--surface);display:flex;flex-direction:column;position:relative}.app-wordmark{flex-shrink:0;padding:14px 16px 0;font-size:14px;font-weight:700;letter-spacing:-.01em}.app-wordmark .amp{color:var(--accent)}.screen-swap{flex:1;min-height:0;display:flex;flex-direction:column;animation:screen-in var(--dur-screen) var(--ease-settle) both}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.screen{flex:1;padding:20px 16px 100px;overflow-y:auto}.screen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.screen-title{font-size:22px;font-weight:700;margin:0}.screen-subtitle{color:var(--text-secondary);font-size:13px;margin:4px 0 20px}.card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:16px}.btn{border:none;border-radius:12px;padding:12px 18px;font-weight:600;font-size:14px}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:transparent;border:1px solid var(--card-border);color:var(--text)}.btn-negative{background:var(--negative);color:#fff}.btn-negative-outline{background:transparent;border:1px solid var(--negative);color:var(--negative)}.btn-block{width:100%;display:block;text-align:center}.link{background:none;border:none;color:var(--accent);font-weight:600;padding:0}.link-negative{color:var(--negative)}.text-secondary{color:var(--text-secondary)}.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:32px;height:32px;border-radius:50%;border:1px solid var(--card-border);background:var(--card);color:var(--text);font-size:16px;display:flex;align-items:center;justify-content:center}.stepper .value{min-width:48px;text-align:center;font-weight:600}.pill{border-radius:999px;padding:8px 14px;border:1px solid var(--card-border);background:var(--card);font-size:13px;font-weight:600;color:var(--text-secondary);flex-shrink:0;white-space:nowrap}.pill-active{border-color:var(--accent);color:var(--accent);background:var(--accent-tint-soft)}.chip-row{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.stat-tile{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:14px;flex:1}.stat-tile .value{font-size:22px;font-weight:700}.stat-tile .label{font-size:11px;color:var(--text-secondary);margin-top:4px}.text-field{width:100%;background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;font-size:14px}.text-field:focus{outline:none;border-color:var(--accent)}.error-text{color:var(--negative);font-size:13px;margin:0 0 12px}.bottom-nav{display:flex;border-top:1px solid var(--card-border);background:var(--surface);position:sticky;bottom:0;max-width:480px;margin:0 auto;width:100%}.bottom-nav button{flex:1;min-width:0;background:none;border:none;padding:10px 2px 14px;color:var(--text-secondary);font-size:10px;display:flex;flex-direction:column;align-items:center;gap:4px}.bottom-nav button{transition:color var(--dur-release) var(--ease-settle)}.bottom-nav button.active{color:var(--accent)}.nav-icon{font-size:18px;display:inline-block;transition:transform var(--dur-release) var(--ease-settle)}.bottom-nav button:active .nav-icon{transform:scale(.88);transition-duration:var(--dur-press)}.overlay-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:70;animation:scrim-in var(--dur-sheet) var(--ease-settle) both}.overlay-scrim.is-closing{animation:scrim-out var(--dur-sheet) var(--ease-exit) forwards}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}.sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:480px;background:var(--surface);border-radius:20px 20px 0 0;border:1px solid var(--card-border);border-bottom:none;z-index:80;max-height:85vh;overflow-y:auto;overflow-x:hidden;padding:8px 20px 24px;will-change:transform;animation:sheet-in var(--dur-sheet) var(--ease-settle) both}.sheet.is-closing{animation:sheet-out var(--dur-sheet) var(--ease-exit) forwards}.sheet-sticky-head{position:sticky;top:0;z-index:2;background:var(--surface);margin:0 -20px;padding:0 20px 4px}@keyframes sheet-in{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes sheet-out{0%{transform:translate(-50%)}to{transform:translate(-50%,100%)}}.sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--card-border);margin:8px auto 16px}.fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;max-width:480px;margin:0 auto;background:var(--surface);z-index:60;display:flex;flex-direction:column;will-change:transform;animation:overlay-in var(--dur-overlay) var(--ease-settle) both}.fullscreen-overlay.is-closing{animation:overlay-out var(--dur-overlay) var(--ease-exit) forwards}@keyframes overlay-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes overlay-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}.overlay-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;border-bottom:1px solid var(--card-border)}.overlay-body{flex:1;overflow-y:auto;padding:16px}.workout-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.workout-scroll::-webkit-scrollbar{display:none}.workout-card{min-width:160px;background:var(--card);border:1px solid var(--accent);border-radius:16px;padding:16px;text-align:left;flex-shrink:0}.avatar{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--avatar-ink);flex-shrink:0}.list-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--divider);background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left}.list-row:last-child{border-bottom:none}.trend-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600}.trend-up{background:var(--accent-tint);color:var(--accent)}.trend-down{background:var(--warning-tint);color:var(--warning)}.trend-steady{background:var(--muted-tint);color:var(--text-secondary)}.logged-set{animation:logged-set-in var(--dur-screen) var(--ease-settle) both}@keyframes logged-set-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.set-count{animation:set-count-pop var(--dur-release) var(--ease-settle) both}@keyframes set-count-pop{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}.timer-flash{animation:timer-flash .15s ease-out 3}@keyframes timer-flash{0%,to{background:var(--card);box-shadow:none}50%{background:var(--accent-tint);box-shadow:0 0 0 2px var(--accent) inset}}@media(prefers-reduced-motion:reduce){.timer-flash{animation:none;background:var(--accent-tint);box-shadow:0 0 0 2px var(--accent) inset}}.settings-section{margin-bottom:16px}.settings-section h2{font-size:15px;margin:0 0 10px}.settings-hint{color:var(--text-secondary);font-size:12px;margin:10px 0 0}.settings-options{display:flex;flex-wrap:wrap;gap:8px}.settings-toggle-pair{display:flex;flex-wrap:wrap;gap:20px}.settings-toggle{display:flex;flex-direction:column;gap:8px}.settings-toggle-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--page-bg);color:var(--text);display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:1;transition:opacity .3s ease}.splash.is-leaving{opacity:0}.splash-amp{color:var(--accent)}.splash-wordmark{display:flex;flex-direction:column;align-items:center;gap:.1em;font-weight:700;font-size:clamp(2.75rem,15vw,5rem);line-height:1.05;letter-spacing:-.02em}.splash-word{display:inline-block;will-change:transform,opacity}.splash-word--top{animation:splash-fly-top .7s cubic-bezier(.22,1,.36,1) .1s both}.splash-word--mid{animation:splash-fly-mid .7s cubic-bezier(.22,1,.36,1) .5s both}.splash-word--bottom{animation:splash-fly-bottom .7s cubic-bezier(.22,1,.36,1) .9s both}.splash-wordmark.is-out .splash-word{animation:splash-word-out .4s cubic-bezier(.5,0,.75,0) forwards}.splash-wordmark.is-out .splash-word--mid{animation-delay:.06s}.splash-wordmark.is-out .splash-word--bottom{animation-delay:.12s}@keyframes splash-fly-top{0%{opacity:0;transform:translate(-110vw,1.6em)}to{opacity:1;transform:translate(0)}}@keyframes splash-fly-mid{0%{opacity:0;transform:translate(-110vw)}to{opacity:1;transform:translate(0)}}@keyframes splash-fly-bottom{0%{opacity:0;transform:translate(-110vw,-1.6em)}to{opacity:1;transform:translate(0)}}@keyframes splash-word-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(110vw)}}.splash-tagline{display:flex;flex-direction:column;align-items:center;gap:.15em;font-weight:700;font-size:clamp(2rem,11vw,3.75rem);line-height:1.1;letter-spacing:-.02em}.splash-phrase{opacity:0;will-change:transform,opacity;animation:splash-tagline-in .55s cubic-bezier(.22,1,.36,1) both}@keyframes splash-tagline-in{0%{opacity:0;transform:translateY(.8em)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.btn:active:not(:disabled),.pill:active:not(:disabled),.workout-card:active:not(:disabled),.stepper button:active:not(:disabled){transform:none;opacity:.7}.bottom-nav button:active .nav-icon{transform:none}.sheet,.sheet.is-closing,.fullscreen-overlay,.fullscreen-overlay.is-closing{animation:none}.screen-swap,.logged-set{animation:reduced-fade-in .15s ease both}.set-count{animation:none}@keyframes reduced-fade-in{0%{opacity:0}to{opacity:1}}}@media(prefers-reduced-motion:reduce){.splash-word,.splash-wordmark.is-out .splash-word,.splash-phrase{animation:splash-fade-in .4s ease both!important}.splash-wordmark.is-out .splash-word{animation:splash-fade-out .3s ease forwards!important}@keyframes splash-fade-in{0%{opacity:0}to{opacity:1}}@keyframes splash-fade-out{0%{opacity:1}to{opacity:0}}}
