@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--canvas:#f2f2f7;--canvas-2:#f7f7fa;--surface-1:#fff;--surface-2:#f2f2f7;--surface-3:#e5e5ea;--overlay:#00000073;--hairline:#3c3c431a;--hairline-strong:#3c3c432e;--border-focus:#007aff;--text-primary:#000;--text-secondary:#3c3c4399;--text-tertiary:#3c3c434d;--text-inverse:#fff;--ring-move:#fa114f;--ring-exercise:#7ad62e;--ring-stand:#00c7c7;--ring-move-soft:#fa114f1a;--ring-exercise-soft:#7ad62e24;--ring-stand-soft:#00c7c71f;--accent:var(--ring-move);--accent-hover:#ff3d6d;--accent-soft:var(--ring-move-soft);--accent-ring:#fa114f40;--sys-red:#ff3b30;--sys-orange:#ff9500;--sys-amber:#fc0;--sys-green:#34c759;--sys-blue:#007aff;--sys-indigo:#5856d6;--sys-teal:#30b0c7;--sys-pink:#ff2d55;--aggressive:var(--ring-move);--encouraging:var(--ring-exercise);--analytical:var(--sys-blue);--amber:var(--sys-orange);--bg-main:var(--canvas);--bg-card:var(--surface-1);--bg-card-hover:var(--surface-2);--border-color:var(--hairline);--border-hairline:var(--hairline);--border-dim:var(--hairline);--text-main:var(--text-primary);--text-muted:var(--text-tertiary);--accent-neon:var(--ring-exercise);--accent-neon-glow:#92e82a52;--accent-electric:var(--sys-blue);--accent-electric-glow:#0a84ff52;--accent-freeze:var(--ring-stand);--accent-freeze-glow:#1eeaef52;--accent-warn:var(--ring-move);--accent-warn-glow:#fa114f52;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--font-heading:var(--font-sans);--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-2xl:36px;--r-pill:999px;--e-1:0 1px 2px #0000000a, 0 1px 1px #00000008;--e-2:0 4px 12px #0000000f, 0 1px 3px #0000000a;--e-3:0 12px 32px #00000014, 0 4px 10px #0000000a;--e-4:0 24px 60px #0000001a, 0 8px 20px #0000000f;--e-focus:0 0 0 4px var(--accent-ring);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.14s;--dur-med:.24s;--dur-slow:.42s;--transition-fast:var(--dur-fast) var(--ease-out);--transition-normal:var(--dur-med) var(--ease-out)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--canvas);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--canvas);color:var(--text-primary);font-family:var(--font-sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:15px;font-weight:400;line-height:1.47059;overflow-x:hidden}#root{background:var(--canvas);flex-direction:column;min-height:100vh;display:flex}::selection{background:var(--accent-soft);color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:#00000026 padding-box padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:#00000047 padding-box padding-box;border:2px solid #0000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulseFire{0%{filter:drop-shadow(0 0 4px #fa114f66)}50%{filter:drop-shadow(0 0 14px #fa114fd9)}to{filter:drop-shadow(0 0 4px #fa114f66)}}@keyframes pulseGreen{0%{box-shadow:0 0 #92e82a59}70%{box-shadow:0 0 0 8px #92e82a00}to{box-shadow:0 0 #92e82a00}}@keyframes ringDraw{0%{stroke-dashoffset:100%}to{stroke-dashoffset:var(--dash-target,30%)}}@keyframes streakGlow{0%,to{text-shadow:0 0 8px #fa114f59}50%{text-shadow:0 0 24px #fa114fbf}}@keyframes waveform{0%{transform:scaleY(.3)}50%{transform:scaleY(1)}to{transform:scaleY(.3)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes milestone{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.08)}80%{transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes breath{0%,to{opacity:.5}50%{opacity:1}}.glass-card{background:var(--surface-1);border:.5px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--e-1);transition:box-shadow var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);position:relative;overflow:hidden}.glass-card:hover{box-shadow:var(--e-2);border-color:var(--hairline-strong)}.glass-card.elevated{box-shadow:var(--e-3)}.btn-primary,.btn-ghost,.btn-neon,.btn-outline{border-radius:var(--r-pill);min-width:96px;height:44px;font-family:var(--font-sans);letter-spacing:-.01em;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:600;display:inline-flex}.btn-primary:hover,.btn-ghost:hover,.btn-neon:hover,.btn-outline:hover{opacity:.92}.btn-primary:active,.btn-ghost:active,.btn-neon:active,.btn-outline:active{transform:scale(.97)}.btn-primary:focus-visible,.btn-ghost:focus-visible,.btn-neon:focus-visible,.btn-outline:focus-visible{box-shadow:var(--e-focus);outline:none}.btn-primary:disabled,.btn-ghost:disabled,.btn-outline:disabled{opacity:.4;cursor:not-allowed}.btn-primary{color:#fff;background:#000}.btn-green{background:var(--ring-exercise);color:#0a2a00}.btn-orange,.btn-primary.btn-orange{background:var(--ring-move);color:#fff}.btn-blue,.btn-primary.btn-blue{background:var(--sys-blue);color:#fff}.btn-surface{background:var(--surface-1);color:var(--text-primary);border:.5px solid var(--hairline)}.btn-surface:hover{background:var(--surface-2)}.btn-white{color:#000;box-shadow:var(--e-1);background:#fff}.btn-ghost{color:var(--text-primary);border:.5px solid var(--hairline-strong);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.btn-neon{background:var(--ring-exercise);color:#0a2a00}.btn-outline{color:var(--text-primary);border:.5px solid var(--hairline-strong);border-radius:var(--r-pill);background:0 0;height:44px;padding:0 22px}.chip{border-radius:var(--r-pill);background:var(--surface-2);height:34px;color:var(--text-primary);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap;-webkit-tap-highlight-color:transparent;letter-spacing:-.01em;border:.5px solid #0000;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.chip:hover{background:var(--surface-3)}.chip:active{transform:scale(.96)}.chip.active{color:#fff;background:#000;border-color:#0000}.badge{border-radius:var(--r-pill);letter-spacing:-.01em;align-items:center;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{background:var(--ring-exercise-soft);color:var(--ring-exercise)}.badge-orange{background:var(--ring-move-soft);color:var(--ring-move)}.badge-blue{color:var(--sys-blue);background:#0a84ff33}.badge-amber{color:var(--sys-orange);background:#ff9f0a33}.badge-muted{background:var(--surface-2);color:var(--text-secondary)}.badge-neon{background:var(--ring-exercise-soft);color:var(--ring-exercise)}.badge-electric{color:var(--sys-blue);background:#0a84ff33}.badge-warn{background:var(--ring-move-soft);color:var(--ring-move)}.badge-freeze{background:var(--ring-stand-soft);color:var(--ring-stand)}.text-neon{color:var(--ring-exercise)}.text-electric{color:var(--sys-blue)}.text-freeze{color:var(--ring-stand)}.text-warn{color:var(--ring-move)}.text-amber{color:var(--sys-orange)}.font-heading{font-family:var(--font-sans);letter-spacing:-.02em;font-weight:700}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{border:.5px solid var(--hairline-strong);color:var(--text-primary);border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);font-family:var(--font-sans);letter-spacing:-.005em;appearance:none;background:#fff;outline:none;width:100%;padding:13px 16px;font-size:16px;font-weight:400}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring)}.progress-ring circle{fill:none;stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .6s var(--ease-out);transform:rotate(-90deg)}[data-persona=AGGRESSIVE]{--persona-color:var(--ring-move);--persona-bg:var(--ring-move-soft);--persona-border:#fa114f59}[data-persona=ENCOURAGING]{--persona-color:var(--ring-exercise);--persona-bg:var(--ring-exercise-soft);--persona-border:#92e82a59}[data-persona=ANALYTICAL]{--persona-color:var(--sys-blue);--persona-bg:#0a84ff24;--persona-border:#0a84ff59}.persona-bubble{background:var(--surface-2);color:var(--text-primary);animation:slideIn .25s var(--ease-out);letter-spacing:-.005em;border-radius:18px 18px 18px 4px;align-self:flex-start;max-width:76%;padding:10px 14px;font-size:15px;line-height:1.4}.user-bubble{background:var(--sys-blue);color:#fff;max-width:76%;animation:slideIn .25s var(--ease-out);letter-spacing:-.005em;border-radius:18px 18px 4px;align-self:flex-end;padding:10px 14px;font-size:15px;line-height:1.4}.stat-tile{background:var(--surface-1);border-radius:var(--r-md);border:.5px solid var(--hairline);flex-direction:column;gap:4px;padding:16px;display:flex}.stat-tile .label{letter-spacing:-.005em;color:var(--text-secondary);font-size:12px;font-weight:500}.stat-tile .value{letter-spacing:-.03em;color:var(--text-primary);font-size:30px;font-weight:700;line-height:1}.divider{background:var(--hairline);border:none;height:.5px;margin:0}.exercise-card{background:var(--surface-1);border:.5px solid var(--hairline);border-radius:var(--r-lg);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);cursor:pointer;box-shadow:var(--e-1);align-items:center;gap:16px;padding:16px 20px;display:flex}.exercise-card:hover{border-color:var(--hairline-strong);box-shadow:var(--e-2);transform:translateY(-1px)}.exercise-card.active{border-color:var(--persona-color,var(--accent))}.exercise-card.completed{opacity:.5}.waveform-bar{transform-origin:bottom;border-radius:2px;width:4px;animation:1s ease-in-out infinite alternate waveform}.waveform-bar:nth-child(odd){animation-duration:.8s}.waveform-bar:nth-child(3n){animation-duration:1.2s}.waveform-bar:nth-child(4n){animation-duration:.9s}.rest-overlay{-webkit-backdrop-filter:saturate(180%)blur(24px);z-index:100;animation:fadeIn .25s var(--ease-out);background:#000000db;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.heatmap-cell{cursor:pointer;width:14px;height:14px;transition:transform .15s var(--ease-out);border-radius:4px}.heatmap-cell:hover{transform:scale(1.25)}.milestone-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(16px);z-index:200;animation:fadeIn .25s var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.milestone-card{background:var(--surface-1);border:.5px solid var(--hairline);border-radius:var(--r-2xl);text-align:center;animation:milestone .55s var(--spring);width:90%;max-width:400px;box-shadow:var(--e-4);padding:44px 40px}.nav-tab{border-radius:var(--r-pill);cursor:pointer;color:var(--text-secondary);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;letter-spacing:-.005em;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;display:flex}.nav-tab:hover,.nav-tab.active{color:var(--text-primary);background:var(--surface-2)}.icon{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon svg{width:100%;height:100%;display:block}button:focus-visible,a:focus-visible{box-shadow:var(--e-focus);border-radius:inherit;outline:none}.rings-svg{transform:rotate(-90deg)}.rings-track{stroke:#0000000f}.rings-glow-move{filter:drop-shadow(0 0 6px #fa114fa6)}.rings-glow-exercise{filter:drop-shadow(0 0 6px #92e82a8c)}.rings-glow-stand{filter:drop-shadow(0 0 6px #1eeaefa6)}
