@font-face{font-family:GeistSans;src:url(../media/Geist_Thin-s.p.0565b590.woff2)format("woff2");font-display:swap;font-weight:100;font-style:normal}@font-face{font-family:GeistSans;src:url(../media/Geist_UltraLight-s.p.8375faf3.woff2)format("woff2");font-display:swap;font-weight:200;font-style:normal}@font-face{font-family:GeistSans;src:url(../media/Geist_Light-s.p.ebe59579.woff2)format("woff2");font-display:swap;font-weight:300;font-style:normal}@font-face{font-family:GeistSans;src:url(../media/Geist_Regular-s.p.bb818aad.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:GeistSans;src:url(../media/Geist_Medium-s.p.06d8645f.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:GeistSans;src:url(../media/Geist_SemiBold-s.p.2c6a12e0.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:GeistSans;src:url(../media/Geist_Bold-s.p.56866b7a.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:GeistSans;src:url(../media/Geist_Black-s.p.d05b9c25.woff2)format("woff2");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:GeistSans;src:url(../media/Geist_UltraBlack-s.p.05457c25.woff2)format("woff2");font-display:swap;font-weight:900;font-style:normal}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_1ae61996-module__IlKU3W__className{font-family:GeistSans,GeistSans Fallback,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.geistsans_1ae61996-module__IlKU3W__variable{--font-geist-sans:"GeistSans","GeistSans Fallback",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Thin.p.9d331f53.woff2)format("woff2");font-display:swap;font-weight:100;font-style:normal}@font-face{font-family:GeistMono;src:url(../media/GeistMono_UltraLight.p.06b6246d.woff2)format("woff2");font-display:swap;font-weight:200;font-style:normal}@font-face{font-family:GeistMono;src:url(../media/GeistMono_Light.p.8c40943e.woff2)format("woff2");font-display:swap;font-weight:300;font-style:normal}@font-face{font-family:GeistMono;src:url(../media/GeistMono_Regular.p.69a401ff.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:GeistMono;src:url(../media/GeistMono_Medium.p.313f3ea0.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:GeistMono;src:url(../media/GeistMono_SemiBold.p.b3fb75cc.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:GeistMono;src:url(../media/GeistMono_Bold.p.4f018a12.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:GeistMono;src:url(../media/GeistMono_Black.p.273f4057.woff2)format("woff2");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:GeistMono;src:url(../media/GeistMono_UltraBlack.p.cfa26577.woff2)format("woff2");font-display:swap;font-weight:900;font-style:normal}.geistmono_f060a206-module__5BN90W__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_f060a206-module__5BN90W__variable{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}
:root{--color-bg:#0a0a0c;--color-bg-secondary:#111114;--color-bg-card:#1c1c21;--color-bg-elevated:#232329;--color-text:#ffffffe6;--color-text-secondary:#94a3b8;--color-text-muted:#8b95a5;--color-primary:#8b5cf6;--color-primary-hover:#a78bfa;--color-primary-light:#8b5cf626;--gradient-primary:linear-gradient(135deg,#6366f1,#a855f7);--gradient-accent:linear-gradient(135deg,#818cf8,#c084fc);--color-success:#34d399;--color-warning:#fb7185;--color-danger:#f87171;--color-warning-bg:#fbbf241a;--color-warning-border:#fbbf244d;--color-warning-text:#fbbf24;--color-streak-active:#f59e0b;--color-border:#ffffff14;--color-border-subtle:#ffffff0f;--color-border-light:#ffffff0a;--color-border-glow:#8b5cf680;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-ms:.75rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-dock-clearance:120px;--font-sans:"Geist Sans",ui-sans-serif,system-ui,sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #8b5cf666;--shadow-glow-success:0 0 12px #34d39966;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-smooth:.3s cubic-bezier(.4,0,.2,1);--opacity-subtle:.05;--opacity-light:.1;--opacity-medium:.3;--opacity-strong:.5;--opacity-heavy:.7;--bg-base:#08080c;--bg-surface-1:#111118;--bg-surface-2:#1a1a23;--bg-surface-3:#23232e;--bg-overlay:#ffffff0d;--color-text-primary:#f1f5f9;--color-text-disabled:#4b5563;--color-border-default:#ffffff14;--color-border-prominent:#ffffff24;--color-border-focus:#8b5cf680;--ambient-purple:#8b5cf614;--ambient-blue:#3b82f60d;--ambient-pink:#ec489908;--shadow-card:0 4px 24px #00000040;--shadow-card-hover:0 8px 40px #00000059;--shadow-glow-sm:0 0 8px #8b5cf633;--shadow-glow-lg:0 0 24px #8b5cf64d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);font-size:16px}.skip-nav{top:-100%;left:var(--space-md);z-index:9999;padding:var(--space-sm)var(--space-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);transition:top var(--transition-fast);font-weight:600;text-decoration:none;position:absolute}.skip-nav:focus{top:var(--space-md)}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);min-height:100dvh;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:600;line-height:1.3}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{color:var(--color-text-secondary)}.container{width:100%;max-width:48rem;padding:0 var(--space-md);margin:0 auto}.card{background:var(--bg-surface-1);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border-default);border-radius:var(--radius-2xl);padding:var(--space-lg);box-shadow:var(--shadow-card);transition:all var(--transition-smooth);position:relative}.card:before{content:"";inset-inline:0;border-radius:var(--radius-2xl)var(--radius-2xl)0 0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff1f 30% 70%,#0000);height:1px;position:absolute;top:0}.card:hover,.card:focus-within{background:var(--bg-surface-2);border-color:var(--color-border-prominent);box-shadow:var(--shadow-card-hover)}.card-has-notes{border-left:3px solid var(--color-primary)}.exercise-card-completed{opacity:.65;border-color:#34d39933!important}.exercise-card-completed:hover{opacity:.85;border-color:#34d39959!important}.card-glass{-webkit-backdrop-filter:blur(4px);background:#16161fcc}.source-card{background:var(--bg-surface-1);border-radius:var(--radius-lg);border:1px solid var(--color-border-default);color:inherit;transition:background var(--transition-base),border-color var(--transition-base);text-decoration:none;display:block;padding:var(--space-lg)!important}.source-card:hover{background:var(--bg-surface-2);border-color:var(--color-border-prominent)}.source-card-title{font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden;margin:0!important}.source-card-date{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-xs)0 0 0!important}.divider{height:1px;margin:var(--space-xl)0;background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}.fixed-bottom-bar{-webkit-backdrop-filter:blur(20px);gap:var(--space-sm);z-index:100;background:#0f0f14e6;border-top:1px solid #ffffff1a;display:flex;position:fixed;bottom:0;left:0;right:0;padding:var(--space-md)20px!important;padding-bottom:max(var(--space-md),env(safe-area-inset-bottom))!important}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-lg);font-size:var(--text-base);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-smooth);-webkit-tap-highlight-color:transparent;border:none;min-height:44px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;border:none;box-shadow:0 4px 14px #6366f166}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-text);background:0 0;border:1px solid #ffffff26}.btn-secondary:hover{box-shadow:var(--shadow-glow);background:#ffffff0d;border-color:#8b5cf680}.btn-ghost{color:var(--color-text-secondary);background:0 0;border:1px solid #ffffff26}.btn-ghost:hover{box-shadow:var(--shadow-glow);color:var(--color-text);background:#ffffff0d;border-color:#8b5cf680}.btn-icon{border-radius:var(--radius-full);width:44px;height:44px;padding:0}.btn-lg{padding:var(--space-md)var(--space-xl);font-size:var(--text-lg);min-height:52px}.btn-block{width:100%}.input{width:100%;padding:var(--space-md);font-size:var(--text-base);border-radius:var(--radius-md);color:var(--color-text);transition:all var(--transition-smooth);background:#0000004d;border:1px solid #ffffff14;min-height:44px;font-family:inherit}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #8b5cf633}.input::placeholder{color:var(--color-text-muted)}.textarea{resize:vertical;min-height:100px;line-height:1.5}.input-modern{border-radius:var(--radius-sm)var(--radius-sm)0 0!important;background:#ffffff05!important;border:none!important;border-bottom:2px solid #ffffff1a!important}.input-modern:focus{border-bottom-color:var(--color-primary)!important;box-shadow:0 2px 0 0 var(--color-primary)!important}.input-glass{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg)!important;background:#ffffff0d!important;border-color:#ffffff1a!important}.badge{padding:var(--space-xs)var(--space-sm);font-size:var(--text-xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;font-weight:500;display:inline-flex}.badge-planned{background:var(--color-primary-light);color:var(--color-primary)}.badge-in_progress{color:var(--color-warning);background:#fb718526}.badge-completed{color:var(--color-success);background:#34d39926}.badge-ai{color:var(--color-primary);background:linear-gradient(135deg,#7c3aed26,#a855f71a);font-weight:600}.badge-count{color:var(--color-primary);background:#7c3aed1a;font-weight:600}.stack{gap:var(--space-md);flex-direction:column;display:flex}.stack-sm{gap:var(--space-sm)}.stack-md{gap:var(--space-md)}.stack-lg{gap:var(--space-lg)}.stack-xl{gap:var(--space-xl);flex-direction:column;display:flex}.flex{align-items:center;display:flex}.flex-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.header,.glass-header{z-index:100;-webkit-backdrop-filter:blur(6px);padding:var(--space-md)0;padding-top:calc(var(--space-md) + env(safe-area-inset-top,0px));background:#111114d9;border-bottom:1px solid #ffffff0f;position:sticky;top:0}.brand-logo{align-items:center;gap:var(--space-sm);color:var(--color-primary);transition:opacity var(--transition-fast);text-decoration:none;display:flex}.brand-logo:hover{opacity:.8}.brand-icon{color:var(--color-primary)}.brand-text{font-size:var(--text-xl);letter-spacing:-.03em;background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.header-title{font-size:var(--text-sm);color:var(--color-text-muted);position:absolute;left:50%;transform:translate(-50%)}.header-page-title{font-size:var(--text-lg);margin:0;font-weight:600}.header-spacer{width:44px}.fab{bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px));right:var(--space-lg);border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-lg),var(--shadow-glow);transition:all var(--transition-smooth);-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:fixed}.fab:hover{box-shadow:var(--shadow-lg),0 0 30px #8b5cf680;transform:scale(1.05)}.fab:active{transform:scale(.95)}.empty-state{text-align:center;padding:var(--space-2xl)var(--space-lg);color:var(--color-text-muted)}.empty-state svg{width:64px;height:64px;margin-bottom:var(--space-md);opacity:.5}.spinner{border:2px solid #ffffff1a;border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.spinner-lg{border-width:3px;width:48px;height:48px}.spinner-sm{border-width:2px;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0a0a0fe6;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.loading-content{align-items:center;gap:var(--space-lg);text-align:center;padding:var(--space-xl);flex-direction:column;display:flex}.loading-content p{color:var(--color-text);font-size:var(--text-base)}.animate-fade-in{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.safe-bottom{padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px))}.text-center{text-align:center}.text-sm{font-size:var(--text-sm)}.text-muted{color:var(--color-text-muted)}.mt-md{margin-top:var(--space-md)}.mb-md{margin-bottom:var(--space-md)}.w-full{width:100%}.page{min-height:100dvh;overflow-x:hidden}.collapse-content{transition:grid-template-rows var(--transition-slow)ease-out;grid-template-rows:0fr;display:grid;overflow:hidden}.collapse-content:not(.expanded){visibility:hidden;height:0}.collapse-content>*{min-height:0;overflow:hidden}.collapse-content.expanded{visibility:visible;grid-template-rows:1fr;height:auto}.note-indicator{background:var(--color-primary);width:8px;height:8px;box-shadow:0 0 8px var(--color-primary);border-radius:50%;flex-shrink:0}.save-indicator{font-size:var(--text-xs);color:var(--color-text-muted);transition:var(--transition-smooth);align-items:center;gap:6px;display:flex}.save-indicator.saving{color:var(--color-warning)}.save-indicator.saved{color:var(--color-success)}.save-indicator.saved:before{content:"";background:var(--color-success);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px var(--color-success)}50%{box-shadow:0 0 12px var(--color-success)}}.status-pill{align-items:center;gap:var(--space-xs);padding:var(--space-xs)var(--space-md);font-size:var(--text-sm);border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-smooth);-webkit-tap-highlight-color:transparent;background:#ffffff0d;border:1px solid #ffffff1a;font-weight:500;display:inline-flex}.status-pill:hover{background:#ffffff14;box-shadow:0 2px 8px #0000004d}.status-pill.planned{color:var(--color-primary);border-color:#8b5cf64d}.status-pill.in_progress{color:var(--color-primary-hover);border-color:#8b5cf680;box-shadow:0 0 12px #8b5cf633}.status-pill.completed{color:var(--color-success);border-color:#34d39980;box-shadow:0 0 12px #34d39933}.action-sheet-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.action-sheet{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-2xl)var(--radius-2xl)0 0;width:100%;max-width:500px;padding:var(--space-sm)var(--space-lg)var(--space-lg);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));background:#120a26e0;border:1px solid #ffffff1f;border-top-color:#ffffff2e;border-bottom:none;animation:.3s slideUp}.action-sheet-handle{width:36px;height:4px;margin:0 auto var(--space-md);background:#fff3;border-radius:9999px}.action-sheet-icon-wrapper{width:40px;height:40px;transition:background var(--transition-base);background:#7c3aed26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.action-sheet-option:hover .action-sheet-icon-wrapper{background:#7c3aed47}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-option{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--color-text);cursor:pointer;transition:all var(--transition-smooth);-webkit-tap-highlight-color:transparent;background:0 0;border:none;display:flex}.action-sheet-option:hover{background:#ffffff0d}.action-sheet-option.danger{color:var(--color-danger)}.action-sheet-option.active{background:var(--color-primary-light);color:var(--color-primary)}.btn-danger{color:var(--color-danger);background:#f871711a;border:1px solid #f8717133}.btn-danger:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger);box-shadow:0 0 20px #f8717166}.btn-sm{padding:var(--space-xs)var(--space-sm);font-size:var(--text-sm);min-height:36px}.btn-icon-sm{border-radius:var(--radius-full);width:36px;min-width:36px;height:36px;min-height:36px;padding:0}.alert-warning{padding:var(--space-sm)var(--space-md);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-warning-text);align-items:center;gap:var(--space-sm);display:flex}.section-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font-weight:600}.toggle-switch{border-radius:var(--radius-full);cursor:pointer;width:44px;height:24px;transition:all var(--transition-base);background:#ffffff1a;border:1px solid #ffffff26;position:relative}.toggle-switch.active{background:var(--gradient-primary);border-color:var(--color-border-glow);box-shadow:var(--shadow-glow)}.toggle-switch-handle{width:18px;height:18px;transition:left var(--transition-base);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000004d}.toggle-switch.active .toggle-switch-handle{left:22px}.fullscreen-modal-overlay{z-index:300;padding:var(--space-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.fullscreen-modal{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-2xl);width:100%;max-width:900px;height:90vh;max-height:90vh;box-shadow:var(--shadow-lg),0 0 60px #00000080;background:#1c1c21f2;border:1px solid #ffffff1a;flex-direction:column;animation:.25s scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fullscreen-modal-header{padding:var(--space-lg);border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.fullscreen-modal-header h3{font-size:var(--text-xl);margin:0}.fullscreen-modal-content{padding:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow:hidden}.fullscreen-modal-content .stack-sm{flex-direction:column;flex:1;display:flex}.fullscreen-textarea{height:100%!important;min-height:unset!important;resize:none!important;flex:1!important}.stats-grid{margin-bottom:var(--space-lg);grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.stat-card{-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-subtle);border-radius:var(--radius-2xl);padding:var(--space-ms)var(--space-md);align-items:center;gap:var(--space-ms);box-shadow:var(--shadow-md);transition:all var(--transition-smooth);background:#ffffff08;display:flex}.stat-card:hover{border-color:#ffffff1a}.stat-icon-wrapper{color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-content{flex-direction:column;min-width:0;display:flex}.stat-value{color:var(--color-text);font-size:1.5rem;font-weight:700;line-height:1.1}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;line-height:1.3}@media (min-width:480px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{text-align:center;flex-direction:column;gap:.5rem;padding:1rem .75rem}}.voice-recorder{align-items:flex-start;gap:var(--space-xs);flex-direction:column;display:flex}.voice-btn{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-smooth);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#ffffff0d;border:1px solid #ffffff1a;display:flex}.voice-btn:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.voice-btn:disabled{opacity:.5;cursor:not-allowed}.voice-btn.recording{border-color:var(--color-primary);box-shadow:var(--shadow-glow);color:var(--color-primary);width:auto;padding:0 var(--space-md);background:#8b5cf633;min-width:70px}.recording-indicator{align-items:center;gap:var(--space-xs);font-size:var(--text-sm);font-weight:600;display:flex}.pulse-dot{background:var(--color-primary);border-radius:50%;width:8px;height:8px;animation:1s infinite pulse-recording}@keyframes pulse-recording{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.voice-waveform{align-items:center;gap:3px;height:20px;display:flex}.voice-waveform span{background:var(--color-primary);border-radius:2px;width:3px;animation:.8s ease-in-out infinite waveform}.voice-waveform span:first-child{animation-delay:0s}.voice-waveform span:nth-child(2){animation-delay:.1s}.voice-waveform span:nth-child(3){animation-delay:.2s}.voice-waveform span:nth-child(4){animation-delay:.3s}.voice-waveform span:nth-child(5){animation-delay:.4s}@keyframes waveform{0%,to{height:4px}50%{height:16px}}.voice-error{font-size:var(--text-xs);color:var(--color-danger)}.countdown{font-variant-numeric:tabular-nums;text-align:center;min-width:28px}.transcribing-indicator{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);display:flex}.transcribing-text{white-space:nowrap}.voice-btn.transcribing{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary);width:auto;padding:0 var(--space-md);min-width:100px}.ai-indicator{background:var(--gradient-accent);-webkit-text-fill-color:transparent;font-size:var(--text-xs);-webkit-background-clip:text;background-clip:text;align-items:center;gap:4px;padding:2px 8px;font-weight:500;display:inline-flex}.ai-indicator:before{content:"✦";-webkit-text-fill-color:initial;background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.exercise-edit-btn,.exercise-delete-btn{opacity:.5;transition:opacity var(--transition-smooth),color var(--transition-smooth)}.card:hover .exercise-edit-btn,.card:hover .exercise-delete-btn{opacity:1}.exercise-edit-btn:hover{color:var(--color-primary)!important}.exercise-delete-btn:hover{color:var(--color-danger)!important}.exercise-play-btn:hover:not(:disabled){transform:scale(1.1);color:var(--color-primary-hover)!important;filter:drop-shadow(0 0 10px #8b5cf6cc)!important}.exercise-action-btn{align-items:center;gap:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px var(--space-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-smooth);font-size:var(--text-sm);background:0 0;min-height:40px;display:flex}.exercise-action-btn:hover{box-shadow:var(--shadow-glow);border-color:var(--color-primary)!important;color:var(--color-primary)!important;background:#8b5cf61a!important}.exercise-action-delete:hover{box-shadow:0 0 12px #f8717166;border-color:var(--color-danger)!important;color:var(--color-danger)!important;background:#f871711a!important}.install-prompt{bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px));left:var(--space-md);right:var(--space-md);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-2xl);padding:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);z-index:150;box-shadow:var(--shadow-lg);background:#1c1c21f2;border:1px solid #ffffff1a;animation:.3s slideUp;display:flex;position:fixed}.install-prompt.install-prompt-ios{align-items:stretch;gap:var(--space-md);padding:var(--space-lg);flex-direction:column}.install-prompt-content{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.install-prompt-ios .install-prompt-content{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.install-prompt-content p{font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.install-prompt-ios .install-prompt-content p{word-wrap:break-word;line-height:1.6;white-space:normal!important;text-overflow:unset!important;overflow:visible!important}.install-prompt-actions{gap:var(--space-sm);flex-shrink:0;display:flex}.install-prompt-ios .install-prompt-actions{width:100%}.install-prompt-ios .install-prompt-actions .btn{flex:1}.install-prompt-actions .btn{padding:var(--space-xs)var(--space-md);min-height:36px;font-size:var(--text-sm)}.badge-hollow{padding:var(--space-xs)var(--space-sm);font-size:var(--text-xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;background:0 0;border:1px solid;align-items:center;gap:6px;font-weight:500;display:inline-flex}.badge-hollow-planned{border-color:var(--color-primary);color:var(--color-primary)}.badge-hollow-in_progress{border-color:var(--color-warning);color:var(--color-warning)}.badge-hollow-completed{border-color:var(--color-success);color:var(--color-success)}.badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-dot-planned{background:var(--color-primary)}.badge-dot-in_progress{background:var(--color-warning)}.badge-dot-completed{background:var(--color-success)}.dock-nav{bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));-webkit-backdrop-filter:blur(16px);z-index:100;background:#140c2861;border:1px solid #b4a0f014;border-radius:9999px;justify-content:space-around;align-items:center;gap:12px;padding:10px 20px;display:flex;position:fixed;left:16px;right:16px;box-shadow:inset 0 1px #d2c3ff38,inset 0 -1px #0000,0 8px 32px #0000008c,0 2px 8px #00000040}.dock-nav--mounting{transition:bottom .1s;bottom:42px}.dock-main-btn{background:var(--gradient-primary);color:#fff;cursor:pointer;width:48px;height:48px;transition:transform var(--transition-base);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.dock-main-btn:hover{transform:scale(1.08)}.dock-main-btn:active{transform:scale(.95)}.dock-nav-link{transition:color var(--transition-base);justify-content:center;align-items:center;display:flex;padding:10px!important}.dock-nav-link--inactive{color:#c8b9ffa6}.dock-nav-link--active{opacity:1;color:var(--color-primary)}input,textarea,select{font-size:max(16px,1rem)!important}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;user-select:none}.btn,.status-pill,.action-sheet-option,button{touch-action:manipulation;-webkit-user-select:none;user-select:none}.pt-safe{padding-top:env(safe-area-inset-top,0px)}.pb-safe{padding-bottom:env(safe-area-inset-bottom,0px)}.pl-safe{padding-left:env(safe-area-inset-left,0px)}.pr-safe{padding-right:env(safe-area-inset-right,0px)}.mt-safe{margin-top:env(safe-area-inset-top,0px)}.mb-safe{margin-bottom:env(safe-area-inset-bottom,0px)}@layer components{.badge-original,.badge-repetition,.badge-modified,.repetition-counter{white-space:nowrap;letter-spacing:.01em;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;min-height:22px;font-size:11px;font-weight:600;line-height:1;display:inline-flex;padding:0 10px!important}.badge-original{color:var(--color-primary);background:#7c3aed26}.badge-repetition{color:var(--color-text-muted);background:#8b94a526}.badge-modified{color:var(--color-warning-text);background:#fbbf2426}.repetition-counter{color:var(--color-primary);cursor:pointer;background:#7c3aed33;border-color:#7c3aed4d;gap:3px;font-weight:700;transition:background .15s}.repetition-counter:hover{background:#7c3aed4d}.help-tooltip-btn{border:1px solid var(--color-border);width:18px;height:18px;color:var(--color-text-muted);cursor:pointer;opacity:.5;margin-left:var(--space-sm);vertical-align:middle;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:600;transition:opacity .2s,border-color .2s;display:inline-flex}.help-tooltip-btn:hover,.help-tooltip-btn:focus-visible{opacity:1;border-color:var(--color-primary);color:var(--color-primary);outline:none}.guide-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.guide-section-btn{width:100%;padding:var(--space-md)var(--space-lg);color:var(--color-text);font-size:var(--text-base);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:var(--space-sm);background:0 0;border:none;font-weight:500;display:flex}.guide-section-btn:hover{background:#ffffff08}.guide-section-btn svg{flex-shrink:0;transition:transform .2s}.guide-section-btn[aria-expanded=true] svg{transform:rotate(180deg)}.guide-section-content{padding:0 var(--space-lg)var(--space-lg);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.guide-section-content p{margin-bottom:var(--space-sm)}.guide-section-content p:last-child{margin-bottom:0}.exercise-toggle{border-radius:var(--radius-md);width:44px;min-width:44px;height:44px;min-height:44px;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-smooth);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.exercise-toggle.uncompleted{background:var(--color-primary-light);color:var(--color-primary);border:1.5px solid #8b5cf680}.exercise-toggle.completed{background:var(--color-success);color:#000;animation:.35s forwards completeFill;box-shadow:0 0 10px #34d39959}@keyframes completeFill{0%{background:var(--color-primary-light);box-shadow:none}60%{background:#34d399b3;box-shadow:0 0 14px #34d39980}to{background:var(--color-success);box-shadow:0 0 10px #34d39959}}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.exercise-toggle.completed svg{animation:.3s checkPop}.landing-section{padding:80px var(--space-md)!important}.landing-section-relative{position:relative}.landing-container-wide{max-width:1200px;margin-left:auto!important;margin-right:auto!important}.landing-container{max-width:1000px;margin-left:auto!important;margin-right:auto!important}.landing-container-narrow{max-width:600px;margin-left:auto!important;margin-right:auto!important}.landing-section-header{text-align:center;margin-bottom:var(--space-2xl)!important}.landing-section-title{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;margin-bottom:var(--space-sm)!important}.landing-section-title-md{margin-bottom:var(--space-md)!important}.landing-section-description{color:var(--color-text-muted);font-size:var(--text-lg)}.landing-main{z-index:2;position:relative}.hero-section{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;padding:var(--space-xl)var(--space-lg)!important}.hero-content{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:600px;display:flex}.hero-logo-wrapper{margin-bottom:var(--space-lg)!important}.hero-logo-img{object-fit:contain;width:96px;height:96px}.hero-heading{letter-spacing:-.02em;font-size:clamp(2.2rem,6vw,4rem);font-weight:800;line-height:1.05;margin-bottom:var(--space-md)!important}.hero-heading-fade{opacity:.9;background:linear-gradient(135deg,#fff 0%,var(--color-primary-hover)50%,var(--color-primary)100%);background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s ease-in-out infinite gradient-shift}.hero-subtitle{color:var(--color-text-secondary);max-width:480px;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.6;margin-bottom:var(--space-lg)!important}.hero-subtitle strong{color:var(--color-text)}.hero-badges{margin-bottom:var(--space-xl)!important}.hero-form-wrapper{justify-content:center;width:100%;display:flex}.hero-security{align-items:center;gap:var(--space-sm);display:flex;margin-top:var(--space-lg)!important}.hero-security-text{font-size:var(--text-sm);color:var(--color-text-muted)}.hero-scroll-indicator{bottom:var(--space-xl);color:var(--color-text-muted);position:absolute;left:50%;transform:translate(-50%)}.feature-icon{border-radius:var(--radius-lg);background:var(--color-primary-light);width:56px;height:56px;color:var(--color-primary);justify-content:center;align-items:center;display:flex;margin-bottom:var(--space-md)!important}.feature-icon-highlight{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 20px #6366f166}.feature-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-sm)!important}.feature-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.how-it-works-grid{gap:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.how-it-works-step{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.step-icon-wrapper{position:relative;margin-bottom:var(--space-md)!important}.step-number{background:var(--gradient-primary);color:#fff;width:32px;height:32px;font-size:var(--text-sm);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.step-icon{border-radius:var(--radius-xl);background:rgba(139,92,246,var(--opacity-light));width:80px;height:80px;color:var(--color-primary);border:2px solid #8b5cf633;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.step-connector{display:none}@media (min-width:769px){.step-connector{background:linear-gradient(90deg,rgba(139,92,246,var(--opacity-medium)),transparent);pointer-events:none;width:100%;height:2px;display:block;position:absolute;top:40px;right:-50%}}.step-title{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-sm)!important}.step-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.phone-frame{background:var(--color-bg-secondary);border:2px solid #ffffff1a;border-radius:36px;width:280px;height:560px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 40px #8b5cf626}.phone-notch{background:var(--color-bg);border-radius:0 0 16px 16px;width:120px;height:28px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.phone-screen{background:var(--color-bg);gap:var(--space-sm);flex-direction:column;width:100%;height:100%;padding:48px 20px 20px;display:flex}.phone-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.phone-header-dot{background:rgba(139,92,246,var(--opacity-medium));border-radius:50%;width:12px;height:12px}.phone-header-title{height:8px;margin:0 var(--space-md);background:rgba(255,255,255,var(--opacity-light));border-radius:4px;flex:1}.phone-card{background:rgba(255,255,255,var(--opacity-subtle));border:1px solid rgba(255,255,255,var(--opacity-subtle));border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-sm);flex-direction:column;animation:.6s backwards card-appear;display:flex}.phone-card.accent{background:rgba(139,92,246,var(--opacity-light));align-items:center;gap:var(--space-md);border-color:#8b5cf633;flex-direction:row}.phone-card-icon{border-radius:var(--radius-sm);background:var(--gradient-primary);flex-shrink:0;width:40px;height:40px}.phone-card-lines{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.phone-card-line{background:rgba(255,255,255,var(--opacity-light));border-radius:4px;height:8px}.phone-card-line.short{width:40%}.phone-card-line.medium{width:65%}.phone-card-line.long{width:85%}.phone-progress{background:rgba(255,255,255,var(--opacity-subtle));height:8px;margin-top:var(--space-sm);border-radius:4px;overflow:hidden}.phone-progress-fill{background:var(--gradient-primary);border-radius:4px;height:100%;animation:3s ease-out infinite progress-fill}.social-proof-container{align-items:center;gap:var(--space-2xl);flex-direction:column;display:flex}.social-proof-content{text-align:center;max-width:500px}.social-proof-content strong{color:var(--color-primary)}.landing-footer{border-top:1px solid var(--color-border);padding:var(--space-2xl)var(--space-md)!important}.landing-footer-cta{text-align:center;margin-bottom:var(--space-2xl)!important}.landing-footer-description{color:var(--color-text-secondary);font-size:var(--text-lg);margin-bottom:var(--space-xl)!important}.landing-footer-description strong{color:var(--color-primary)}.footer-form-wrapper{justify-content:center;display:flex}.footer-trust-badges{margin-top:var(--space-lg)!important}.footer-bottom{border-top:1px solid #ffffff0f;margin-top:3rem!important;padding-top:2.5rem!important;padding-bottom:3.5rem!important}.footer-bottom-inner{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:560px;display:flex;margin-left:auto!important;margin-right:auto!important;padding:0 1rem!important}.footer-legal-pills{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.footer-legal-pill{letter-spacing:.01em;color:#ffffff73;align-items:center;gap:.35rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex;padding:.375rem .5rem!important}.footer-legal-pill:hover{color:var(--color-primary)}.footer-bottom-sep{background:#ffffff12;flex-shrink:0;width:40px;height:1px}.footer-disclaimer-box{text-align:left;align-items:flex-start;gap:.625rem;width:100%;max-width:480px;display:flex;padding:0!important}.footer-disclaimer-icon{color:#ffffff2e;flex-shrink:0;margin-top:1px}.footer-disclaimer-text{color:#fff6;font-size:.75rem;line-height:1.65}.footer-disclaimer-text strong{color:#ffffff9e;font-weight:600}.footer-branding{letter-spacing:.14em;color:#ffffff2e;text-transform:uppercase;font-family:"ui-monospace",SFMono-Regular,Menlo,monospace;font-size:.625rem}.footer-branding-name{color:#ffffff52;font-weight:700}.legal-page-bg{background-color:#09090f;background-image:radial-gradient(80% 50% at 50% -20%,#8b5cf61f,#0000),radial-gradient(60% 40% at 80%,#6366f114,#0000),radial-gradient(50% 30% at 20% 80%,#0f172a80,#0000),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;min-height:100vh}.legal-chrome-bar{z-index:50;-webkit-backdrop-filter:blur(12px);background:#09090feb;border-bottom:1px solid #8b5cf633;position:sticky;top:0}.legal-chrome-inner{justify-content:space-between;align-items:center;max-width:42rem;display:flex;position:relative;margin-left:auto!important;margin-right:auto!important;padding:.75rem 1.25rem!important}.legal-chrome-dots{z-index:1;align-items:center;gap:.375rem;display:flex}.legal-dot{border-radius:9999px;width:.625rem;height:.625rem}.legal-dot-red{background:#ff5f57}.legal-dot-yellow{background:#febc2e}.legal-dot-green{background:#28c840}.legal-chrome-label{letter-spacing:.18em;text-transform:uppercase;color:#ffffff38;-webkit-user-select:none;user-select:none;pointer-events:none;font-family:"ui-monospace",SFMono-Regular,monospace;font-size:.625rem;position:absolute;left:50%;transform:translate(-50%)}.legal-chrome-back{color:#ffffff61;z-index:1;background:#ffffff0d;border-radius:.5rem;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:flex}.legal-chrome-back:hover{color:#ffffffbf;background:#ffffff17}.legal-content-wrap{max-width:42rem;margin-left:auto!important;margin-right:auto!important;padding:0 1.25rem 5rem!important}.legal-card{color:#ffffffd9}.legal-card h1{letter-spacing:-.025em;color:#fff;background:linear-gradient(135deg,#fff 0%,#ffffffbf 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700;line-height:1.2}@media (min-width:768px){.legal-card h1{font-size:2.25rem}.legal-content-wrap{max-width:52rem;padding:2rem 2rem 6rem}.legal-card{-webkit-backdrop-filter:blur(20px);background:#090912d1;border:1px solid #8b5cf62e;border-radius:1.5rem;padding:2.75rem 3.5rem;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 80px #8b5cf614,0 24px 80px #0009}}.legal-card h2{color:#ffffffbf;border-left:2px solid #8b5cf659;margin-top:2.25rem;margin-bottom:.75rem;padding-left:.75rem;font-size:.9375rem;font-weight:600}.legal-card p{color:#ffffff7a;margin-bottom:.75rem;font-size:.9375rem;line-height:1.7}.legal-card ul{margin-bottom:.75rem;padding-left:1.25rem}.legal-card li{color:#ffffff7a;margin-bottom:.35rem;font-size:.9375rem;line-height:1.7;list-style-type:disc}.legal-card strong{color:#ffffffc7;font-weight:600}.legal-card a{color:#a78bfad9;text-decoration:none;transition:color .2s}.legal-card a:hover{color:#a78bfa}.legal-page-header{text-align:center;padding-top:1.5rem;padding-bottom:2.5rem}.legal-page-tag{color:#8b5cf6d9;letter-spacing:.08em;text-transform:uppercase;background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:9999px;align-items:center;margin-bottom:1.25rem;padding:.2rem .875rem;font-family:"ui-monospace",SFMono-Regular,monospace;font-size:.6875rem;font-weight:600;display:inline-flex}.legal-page-date{letter-spacing:.1em;text-transform:uppercase;color:#ffffff40;margin-top:.75rem;font-family:"ui-monospace",SFMono-Regular,monospace;font-size:.75rem}.legal-page-back{border-top:1px solid #ffffff0f;margin-top:2rem;padding-top:2rem}.legal-page-back a{color:#a78bfacc;font-size:.875rem;text-decoration:none;transition:color .2s}.legal-page-back a:hover{color:#a78bfa}.legal-kv-box{background:#ffffff05;border:1px solid #ffffff12;border-radius:.75rem;margin-top:.5rem;overflow:hidden}.legal-kv-row{border-bottom:1px solid #ffffff0d;align-items:baseline;gap:1rem;padding:.75rem 1.25rem;font-size:.875rem;display:flex}.legal-kv-row:last-child{border-bottom:none}.legal-kv-label{color:#ffffff4d;flex-shrink:0;width:8rem;font-size:.8125rem}.legal-kv-value{color:#ffffffa6;flex:1;line-height:1.5}.legal-kv-value-dim{color:#ffffff59;flex:1;font-size:.8125rem;line-height:1.5}.legal-notice{color:#ffffff8c;background:#fbbf240f;border-left:3px solid #fbbf2473;border-radius:0 .625rem .625rem 0;gap:.75rem;margin-top:.5rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.6;display:flex}.legal-notice strong{color:#fbbf24bf;font-weight:600}.legal-table-wrap{border:1px solid #ffffff12;border-radius:.75rem;margin-top:.5rem;overflow:auto hidden}.legal-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.legal-table th{color:#ffffff73;background:#ffffff08;border-bottom:1px solid #ffffff12;padding:.75rem 1rem;font-weight:500}.legal-table td{color:#ffffff80;vertical-align:top;border-bottom:1px solid #ffffff0d;padding:.75rem 1rem}.legal-table tr:last-child td{border-bottom:none}.legal-table td:first-child{color:#ffffffb3;font-weight:500}.legal-mono{color:#a78bfacc;font-family:"ui-monospace",SFMono-Regular,monospace;font-size:.8125rem}.login-form-card{width:100%;max-width:400px}.message-box{padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center}.message-box-success{background:rgba(52,211,153,var(--opacity-light));color:var(--color-success);border:1px solid #34d39933}.message-box-error{background:rgba(248,113,113,var(--opacity-light));color:var(--color-danger);border:1px solid #f8717133}.code-input{text-align:center;font-size:var(--text-xl);letter-spacing:.3em;font-weight:600}.form-help-text{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.spinner-landing{width:20px;height:20px}.back-btn-spacing{margin-top:var(--space-xs)}.social-proof-badges{margin-top:var(--space-md)}.hero-phone-column{justify-content:center;align-items:center;display:none;position:relative}.hero-stat-chip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:var(--text-xs);color:var(--color-text);white-space:nowrap;background:#ffffff12;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-weight:600;animation:5s ease-in-out infinite phone-float;display:flex;position:absolute}.hero-stat-chip:nth-child(2){animation-delay:-2s}.hero-stat-chip:nth-child(3){animation-delay:-4s}@media (min-width:1024px){.hero-section{align-items:center;gap:var(--space-2xl);grid-template-columns:1fr 1fr;max-width:1200px;min-height:100vh;display:grid;padding:var(--space-xl)var(--space-2xl)!important;margin-left:auto!important;margin-right:auto!important}.hero-content{text-align:left;align-items:flex-start;max-width:none}.hero-badges{justify-content:flex-start!important}.hero-phone-column{display:flex!important}.hero-scroll-indicator{grid-column:1/-1;justify-self:center;position:static;transform:none}}.pain-point-cta{text-align:center;font-size:var(--text-base);color:var(--color-primary);margin-top:var(--space-xl);font-weight:600}.audience-badge{font-size:var(--text-xs);background:var(--color-primary-light);color:var(--color-primary-hover);margin-bottom:var(--space-sm);border-radius:9999px;align-items:center;padding:3px 10px;font-weight:600;display:inline-flex}.audience-benefit{font-size:var(--text-sm);color:var(--color-primary);border-top:1px solid #ffffff14;font-weight:600;margin-top:var(--space-md)!important;padding-top:var(--space-md)!important}.audience-card-beginner{border-top:2px solid #34d39966}.audience-card-injury{border-top:2px solid #fbbf2466}.audience-card-advanced{border-top:2px solid #8b5cf680}.exercise-sets-table{font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex}.exercise-sets-header{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border-light);grid-template-columns:28px 1fr 1fr 1fr 36px 28px;align-items:center;gap:4px;margin-bottom:2px;padding:4px 0 6px;font-size:11px;font-weight:500;display:grid}.exercise-set-row{border-radius:var(--radius-sm);transition:background var(--transition-base);grid-template-columns:28px 1fr 1fr 1fr 36px 28px;align-items:center;gap:4px;padding:4px 0;display:grid}.exercise-set-row.completed{opacity:.6;background:#34d3990d}.exercise-set-row:hover .exercise-set-delete-btn{opacity:1!important}.exercise-set-num{color:var(--color-text-muted);text-align:center;font-size:11px;font-weight:500}.exercise-set-cell{border:none;border-bottom:1px solid var(--color-border-light);color:var(--color-text);font-size:var(--text-sm);text-align:center;cursor:pointer;transition:border-color var(--transition-base);background:0 0;border-radius:0;width:100%;min-height:36px;padding:4px 2px}.exercise-set-cell:hover:not(:disabled){border-bottom-color:var(--color-primary)}.exercise-set-cell.empty{color:var(--color-text-muted)}.set-cell-placeholder{color:var(--color-text-muted);font-size:12px}.exercise-set-input{border:none;border-bottom:2px solid var(--color-primary);color:var(--color-text);font-size:var(--text-sm);text-align:center;-moz-appearance:textfield;background:0 0;border-radius:0;outline:none;width:100%;min-height:36px;padding:4px 2px}.exercise-set-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.exercise-set-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.exercise-set-check-btn{border:1.5px solid var(--color-border);cursor:pointer;width:32px;height:32px;transition:all var(--transition-base);color:var(--color-text-muted);background:0 0;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;padding:0;display:flex}.exercise-set-check-btn.checked{background:var(--color-success);border-color:var(--color-success);color:#000}.exercise-set-check-btn:hover:not(:disabled){border-color:var(--color-success)}.set-check-empty{border:1.5px solid;border-radius:50%;width:12px;height:12px;display:block}.exercise-set-delete-btn{cursor:pointer;width:28px;height:28px;color:var(--color-text-muted);border-radius:var(--radius-sm);opacity:.4;transition:opacity var(--transition-base),color var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.exercise-set-delete-btn:hover{opacity:1;color:var(--color-danger)}.exercise-set-add-btn{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);background:0 0;justify-content:center;align-items:center;gap:6px;width:100%;min-height:40px;margin-top:10px;padding:10px 12px;display:flex}.exercise-set-add-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.exercise-sets-empty{padding:var(--space-md);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.rir-help-btn{border:1px solid var(--color-text-muted);width:14px;height:14px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.rir-tooltip{z-index:100;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm)var(--space-md);color:var(--color-text-secondary);min-width:180px;font-size:11px;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.rir-tooltip strong{color:var(--color-text);margin-bottom:var(--space-xs);font-size:12px;display:block}.rir-tooltip ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.set-summary-badge{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff24;border-radius:9999px;flex-shrink:0;align-items:center;min-height:22px;padding:3px 10px;font-weight:500;display:inline-flex}.superset-group{border-left:2px solid var(--color-primary);padding-left:var(--space-sm);margin-bottom:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.superset-group-label{font-size:var(--text-xs);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;padding-left:2px;font-weight:600}.language-switcher{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.language-switcher-label{font-size:var(--text-sm);color:var(--color-text-muted)}.language-switcher-compact{border-radius:var(--radius-full);background:#ffffff0d;border:1px solid #ffffff14;align-items:center;gap:2px;padding:2px;display:flex}.lang-btn{border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;min-height:28px;padding:6px 14px;font-weight:600;line-height:1;transition:all .15s}.lang-btn--active{background:var(--color-primary);color:#fff}.lang-btn:not(.lang-btn--active):hover{color:var(--color-text);background:#ffffff14}.lang-btn:disabled{opacity:.5;cursor:not-allowed}.landing-navbar{z-index:50;-webkit-backdrop-filter:blur(20px);background:#08080cbf;border-bottom:1px solid #ffffff0f;position:sticky;top:0;padding:var(--space-md)var(--space-lg)!important}.landing-footer-separator{height:1px;margin-bottom:var(--space-2xl);background:linear-gradient(90deg,#0000,#8b5cf64d,#0000)}}.progress-indicator{align-items:center;gap:var(--space-xs);padding:var(--space-xs)var(--space-md);font-size:var(--text-sm);border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-smooth);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#ffffff0d;border:1px solid #ffffff1a;font-weight:500;display:inline-flex}.progress-indicator:hover{background:#ffffff14;box-shadow:0 2px 8px #0000004d}.progress-indicator.all-completed{color:var(--color-success);border-color:#34d39980;box-shadow:0 0 12px #34d39933}@media (max-width:768px){.card,.card-glass,.stat-card{-webkit-backdrop-filter:blur(2px)}.header,.glass-header,.action-sheet,.fullscreen-modal,.install-prompt{-webkit-backdrop-filter:blur(4px)}}@media (prefers-reduced-motion:reduce){.card,.card-glass,.glass-header,.action-sheet-overlay,.action-sheet,.fullscreen-modal-overlay,.fullscreen-modal,.loading-overlay,.install-prompt,.stat-card{-webkit-backdrop-filter:none!important}.card,.card-glass,.stat-card{background:#1c1c21f2!important}.glass-header{background:#111114fa!important}.action-sheet,.fullscreen-modal,.install-prompt{background:#1c1c21fa!important}.action-sheet-overlay,.fullscreen-modal-overlay{background:#000000d9!important}.loading-overlay{background:#0a0a0ff2!important}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.promo-card{border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:var(--space-md);align-items:flex-start;gap:var(--space-md);border:1px solid;display:flex}.promo-card-purple{background:linear-gradient(135deg,#7c3aed1f,#a855f70f);border-color:#7c3aed26}.promo-card-indigo{background:linear-gradient(135deg,#6366f11f,#7c3aed0f);border-color:#6366f126}.promo-card-icon{flex-shrink:0;font-size:1.25rem;line-height:1}.promo-card-body{flex:1;min-width:0}.promo-card-title{font-size:var(--text-base);color:var(--color-text);font-weight:700;margin:0 0 var(--space-xs)0!important}.promo-card-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5;margin:0 0 var(--space-sm)0!important}.promo-card-footer{align-items:center;gap:var(--space-md);display:flex}.btn-compact{padding:var(--space-sm)var(--space-md);font-size:var(--text-sm);min-height:36px}.badge-available{color:var(--color-success);background:#34d3991f;border:1px solid #34d39933}.badge-cooldown{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2433}.badge-period-biweekly{color:#818cf8;background:#6366f11f;border:1px solid #6366f133}.badge-period-monthly{color:var(--color-primary-hover);background:#8b5cf61f;border:1px solid #8b5cf633}.card-heading{font-size:var(--text-lg);color:var(--color-text);align-items:center;gap:var(--space-xs);font-weight:600;display:flex;margin:0 0 var(--space-md)0!important}.card-ai-gradient{background:linear-gradient(135deg,#6366f10a,#a855f70f)!important;border-color:#8b5cf626!important}.section-header{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin:0 0 var(--space-md)0!important}.tab-bar{gap:var(--space-xs);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid #ffffff1a;display:flex}.tab-btn{padding:var(--space-xs)var(--space-sm);font-size:var(--text-sm);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #0000;position:relative}.tab-btn.active{color:var(--color-text);background:linear-gradient(135deg,#6366f14d,#a855f74d);border-color:#8b5cf680}.tab-btn-dot{background:var(--color-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.period-selector{gap:var(--space-sm);display:flex}.period-selector-btn{padding:var(--space-sm)var(--space-md);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);text-align:center;background:#ffffff08;border:1px solid #ffffff1a;flex:1;font-weight:600}.period-selector-btn.active{color:var(--color-text);background:#6366f11f;border-color:#6366f180}.status-box{border-radius:var(--radius-lg);padding:var(--space-lg);background:linear-gradient(135deg,#6366f11a,#7c3aed0d);border:1px solid #6366f11f}.report-card{border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);background:#ffffff08;overflow:hidden}.report-card-btn{width:100%;padding:var(--space-md);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none}.report-card-content{padding:var(--space-md);border-top:1px solid var(--color-border-subtle);font-size:var(--text-sm);white-space:pre-wrap;color:var(--color-text-muted);line-height:1.7}.insight-pill{border-radius:var(--radius-full);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;background:#ffffff0d;border:1px solid #ffffff14;max-width:200px;font-size:11px;display:inline-flex;overflow:hidden;padding:3px 8px!important}.stream-preview{border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--color-border-subtle);font-size:var(--text-sm);white-space:pre-wrap;background:#ffffff08;line-height:1.7}.analysis-content-box{padding:var(--space-md)var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);background:#8b5cf614;border:1px solid #8b5cf633;line-height:1.6}.toggle-row{padding:var(--space-sm)0;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;display:flex}.toggle-row-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:400}.confirm-hint{padding:var(--space-sm);margin-bottom:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);background:#6366f11a;border:1px solid #6366f14d}.confirm-hint-warning{background:#fbbf241a;border-color:#fbbf244d}.error-banner{padding:var(--space-md);margin-bottom:var(--space-md);border-radius:var(--radius-md);align-items:center;gap:var(--space-sm);background:#ef44441a;border:1px solid #ef44444d;display:flex}.landing-page{background:radial-gradient(ellipse 120% 80% at 50% -30%,#8b5cf640,transparent 50%),radial-gradient(ellipse 80% 60% at 90% 20%,#6366f126,transparent 40%),radial-gradient(ellipse 60% 50% at 10% 80%,#a855f71f,transparent 40%),radial-gradient(ellipse 100% 100% at 50% 100%,#0f172acc,transparent 50%),var(--color-bg);background-attachment:fixed;min-height:100vh;position:relative;overflow-x:hidden}.landing-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.landing-bg:before,.landing-bg:after{content:"";filter:blur(80px);opacity:.5;border-radius:50%;animation:20s ease-in-out infinite float-orb;position:absolute}.landing-bg:before{background:radial-gradient(circle,#8b5cf666,#0000 70%);width:500px;height:500px;animation-delay:0s;top:-150px;right:-100px}.landing-bg:after{background:radial-gradient(circle,#6366f14d,#0000 70%);width:400px;height:400px;animation-delay:-10s;bottom:10%;left:-100px}@keyframes float-orb{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-40px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.95)}75%{transform:translate(40px,30px)scale(1.02)}}.landing-particles{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.landing-particle{background:#8b5cf699;border-radius:50%;width:4px;height:4px;animation:15s ease-in-out infinite float-particle;position:absolute}.landing-particle:first-child{animation-duration:18s;animation-delay:0s;left:10%}.landing-particle:nth-child(2){animation-duration:22s;animation-delay:-3s;left:25%}.landing-particle:nth-child(3){animation-duration:16s;animation-delay:-6s;left:40%}.landing-particle:nth-child(4){animation-duration:20s;animation-delay:-9s;left:55%}.landing-particle:nth-child(5){animation-duration:17s;animation-delay:-12s;left:70%}.landing-particle:nth-child(6){animation-duration:21s;animation-delay:-15s;left:85%}@keyframes float-particle{0%{opacity:0;transform:translateY(100vh)scale(0)}10%{opacity:1;transform:translateY(80vh)scale(1)}90%{opacity:.8}to{opacity:0;transform:translateY(-10vh)scale(.5)}}.landing-logo{display:inline-block;position:relative}.landing-logo-glow{animation:3s ease-in-out infinite logo-pulse}.landing-logo-glow:after{content:"";z-index:-1;background:radial-gradient(circle,#8b5cf666,#0000 70%);border-radius:50%;animation:3s ease-in-out infinite glow-pulse;position:absolute;inset:-20px}@keyframes logo-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.landing-title{background:linear-gradient(135deg,#fff 0%,var(--color-primary-hover)50%,var(--color-primary)100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s ease-in-out infinite gradient-shift}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.typing-cursor{background:var(--color-primary);vertical-align:text-bottom;width:3px;height:1em;margin-left:4px;animation:1s step-end infinite blink-cursor;display:inline-block}@keyframes blink-cursor{0%,50%{opacity:1}51%,to{opacity:0}}.landing-input{width:100%;padding:var(--space-md)var(--space-lg);font-size:var(--text-base);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-xl);color:var(--color-text);background:#ffffff08;border:1px solid #ffffff1a;min-height:52px;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1)}.landing-input:focus{border-color:var(--color-primary);background:#ffffff0d;outline:none;box-shadow:0 0 0 3px #8b5cf633,0 0 20px #8b5cf626}.landing-input::placeholder{color:var(--color-text-muted)}.landing-btn{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md)var(--space-xl);font-size:var(--text-base);border-radius:var(--radius-xl);cursor:pointer;color:#fff;background:var(--gradient-primary);-webkit-tap-highlight-color:transparent;border:none;min-height:52px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #6366f166,0 0 #8b5cf666}.landing-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.landing-btn:hover:before{transform:translate(100%)}.landing-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #6366f180,0 0 #8b5cf666}.landing-btn:active:not(:disabled){transform:translateY(0)}.landing-btn:disabled{opacity:.6;cursor:not-allowed}.landing-btn-pulse{animation:2s ease-in-out infinite btn-pulse}@keyframes btn-pulse{0%,to{box-shadow:0 4px 20px #6366f166,0 0 #8b5cf666}50%{box-shadow:0 4px 20px #6366f199,0 0 0 8px #8b5cf600}}.landing-btn-google{width:100%;min-height:52px;padding:var(--space-md)var(--space-xl);border-radius:var(--radius-xl);color:#1f1f1f;font-size:var(--text-base);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffeb;border:1px solid #ffffff26;justify-content:center;align-items:center;gap:10px;font-weight:600;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 16px #0000004d,inset 0 1px #ffffffe6}.landing-btn-google:hover:not(:disabled){background:#fff;transform:translateY(-2px);box-shadow:0 6px 24px #00000059,inset 0 1px #ffffffe6}.landing-btn-google:active:not(:disabled){transform:translateY(0)}.landing-btn-google:disabled{opacity:.6;cursor:not-allowed}.login-divider{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--text-xs);display:flex}.login-divider:before,.login-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.login-divider-text{white-space:nowrap;padding:0 var(--space-xs)}.spinner-dark{border-color:#1f1f1f #00000026 #00000026}.provider-badge{font-size:var(--text-xs);color:var(--color-text-muted);background:#ffffff14;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;padding:2px 8px;font-weight:500;display:inline-flex}.provider-badge-google{color:#6baaff;background:#4285f41f;border-color:#4285f440}.settings-text-input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:var(--text-sm);outline:none;flex:1;padding:8px 12px;transition:border-color .2s}.settings-text-input:focus{border-color:var(--color-primary)}.landing-glass-card{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-2xl);padding:var(--space-xl);background:#ffffff08;border:1px solid #ffffff14;position:relative;overflow:hidden}.landing-glass-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#8b5cf60d,#0000 50%);position:absolute;inset:0}.landing-badges{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.landing-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs)var(--space-md);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-full);color:var(--color-text-secondary);-webkit-backdrop-filter:blur(4px);background:#ffffff0d;border:1px solid #ffffff1a;font-weight:300;animation:.6s backwards fade-up;display:inline-flex}.landing-badge:first-child{animation-delay:.5s}.landing-badge:nth-child(2){animation-delay:.6s}.landing-badge:nth-child(3){animation-delay:.7s}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bento-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.bento-card-3d{transform-style:preserve-3d;perspective:1000px;transition:transform .4s cubic-bezier(.4,0,.2,1)}.bento-card-3d:hover{transform:rotateX(2deg)rotateY(-2deg)translateY(-8px)}.bento-card{-webkit-backdrop-filter:blur(4px);border-radius:var(--radius-2xl);padding:var(--space-xl);background:#ffffff08;border:1px solid #ffffff14;position:relative;overflow:hidden}.bento-card:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#8b5cf61a,#0000 50%);transition:opacity .3s;position:absolute;inset:0}.bento-card:hover:before{opacity:1}.bento-card:after{content:"";inset-inline:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff1f,#0000);height:1px;position:absolute;top:0}.step-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.how-it-works-step:hover .step-icon{border-color:var(--color-primary);transform:scale(1.1);box-shadow:0 0 30px #8b5cf666}.phone-mockup{animation:6s ease-in-out infinite phone-float}@keyframes phone-float{0%,to{transform:translateY(0)rotateY(0)}50%{transform:translateY(-15px)rotateY(3deg)}}.phone-progress-fill{animation:3s ease-out infinite progress-fill}@keyframes progress-fill{0%{width:0}50%{width:65%}to{width:65%}}.phone-card{animation:.6s backwards card-appear}.phone-card:first-child{animation-delay:.2s}.phone-card:nth-child(2){animation-delay:.4s}.phone-card:nth-child(3){animation-delay:.6s}@keyframes card-appear{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.security-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs)var(--space-sm);font-size:var(--text-xs);color:var(--color-success);border-radius:var(--radius-full);background:#34d3991a;border:1px solid #34d39933;display:inline-flex}.trust-badges{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.trust-badge{align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.trust-badge svg{color:var(--color-primary)}.scroll-indicator{animation:2s ease-in-out infinite scroll-bounce}@keyframes scroll-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.landing-divider{height:1px;margin:var(--space-2xl)0;background:linear-gradient(90deg,#0000,#8b5cf64d,#0000)}.stat-counter{font-variant-numeric:tabular-nums}@media (max-width:768px){.landing-bg:before,.landing-bg:after{filter:blur(60px);opacity:.3}.landing-bg:before{width:300px;height:300px}.landing-bg:after{width:250px;height:250px}.landing-particle{width:3px;height:3px}.phone-mockup{animation:none}.bento-card-3d:hover{transform:none}}@media (prefers-reduced-motion:reduce){.landing-bg:before,.landing-bg:after,.landing-particle,.landing-logo-glow,.landing-title,.phone-mockup,.phone-progress-fill,.phone-card,.landing-btn-pulse{animation:none!important}}.dashboard-header{margin-bottom:var(--space-lg)}.dashboard-greeting{font-size:var(--text-2xl);color:var(--color-text);margin-bottom:var(--space-xs);font-weight:700;line-height:1.2}.dashboard-streak-text{font-size:var(--text-sm);color:var(--color-text-muted)}.dashboard-streak-text.active{color:var(--color-streak-active);text-shadow:0 0 20px #f59e0b4d;font-weight:600}.weekly-widget{border-radius:var(--radius-2xl);padding:var(--space-md)var(--space-lg);margin-bottom:var(--space-lg);background:#ffffff08;border:1px solid #ffffff0f}.weekly-days{justify-content:space-between;align-items:center;gap:var(--space-xs);display:flex}.weekly-day{align-items:center;gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.weekly-day-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.weekly-day-label.today{color:var(--color-primary);font-weight:600}.weekly-day-indicator{width:32px;height:32px;transition:all var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;display:flex}.weekly-day-indicator.completed{background:#34d39933;box-shadow:0 0 12px #34d3994d}.weekly-day-indicator.completed svg{color:var(--color-success)}.weekly-day-indicator.planned{background:0 0;border:2px dashed #8b5cf680}.weekly-day-indicator.empty{background:#ffffff0d}.weekly-day-indicator.empty:after{content:"";background:#fff3;border-radius:50%;width:6px;height:6px}.weekly-day-indicator.today{width:36px;height:36px;box-shadow:0 0 0 3px #8b5cf633}.weekly-day-indicator.today.completed{box-shadow:0 0 0 3px #34d39933,0 0 12px #34d3994d}.weekly-day-indicator.today.planned,.weekly-day-indicator.today.empty{border:2px solid var(--color-primary);animation:2s ease-in-out infinite today-pulse}@keyframes today-pulse{0%,to{box-shadow:0 0 0 3px #8b5cf633}50%{box-shadow:0 0 0 6px #8b5cf61a}}.up-next-card{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-2xl);padding:var(--space-lg);background:#ffffff0d;border:1px solid #8b5cf64d;position:relative;overflow:hidden;box-shadow:0 4px 30px #8b5cf626}.up-next-card:before{content:"";background:var(--gradient-primary);height:3px;position:absolute;top:0;left:0;right:0}.up-next-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.up-next-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary-hover);padding:var(--space-xs)var(--space-sm);background:var(--color-primary-light);border-radius:var(--radius-full);font-weight:700}.up-next-label.tomorrow{color:var(--color-text-secondary);background:#ffffff1a}.up-next-title{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.up-next-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.up-next-button{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-lg);background:var(--gradient-primary);border-radius:var(--radius-lg);color:#fff;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-smooth);border:none;display:inline-flex;box-shadow:0 4px 14px #6366f166}.up-next-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.up-next-done-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs)var(--space-md);border-radius:var(--radius-full);color:var(--color-success);font-size:var(--text-sm);background:#34d39926;border:1px solid #34d3994d;font-weight:600;display:inline-flex}.quick-look-container{gap:var(--space-sm);padding-bottom:var(--space-sm);margin-bottom:var(--space-lg);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.quick-look-container::-webkit-scrollbar{display:none}.quick-look-chip{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-lg);white-space:nowrap;scroll-snap-align:start;transition:all var(--transition-smooth);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;flex:1;min-width:0;text-decoration:none;display:flex}.quick-look-chip:hover{background:#ffffff0f;border-color:#8b5cf64d}.quick-look-chip-icon{border-radius:var(--radius-md);background:var(--color-primary-light);width:32px;height:32px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.quick-look-chip-content{flex-direction:column;display:flex}.quick-look-chip-label{font-size:var(--text-xs);color:var(--color-text-muted)}.quick-look-chip-value{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.quick-look-chip-trend{margin-left:var(--space-xs);font-size:var(--text-xs);align-items:center;font-weight:500;display:inline-flex}.quick-look-chip-trend.down{color:var(--color-success)}.quick-look-chip-trend.up{color:var(--color-danger)}.workout-list-item{background:var(--bg-surface-1);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-lg);transition:all var(--transition-smooth);cursor:pointer;text-decoration:none;display:block}.workout-list-item:hover{background:var(--bg-surface-2);border-color:var(--color-border-prominent)}.workout-list-item.past{opacity:.75}.workout-list-item.future{border-left:3px solid var(--color-primary)}.workout-list-item-date{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:2px}.workout-list-item-title{font-size:var(--text-base);color:var(--color-text);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.workout-list-item-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.workout-list-section-header{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);padding:var(--space-sm)0;margin-top:var(--space-lg);margin-bottom:var(--space-sm);font-weight:600}.settings-section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-sm);padding-left:var(--space-xs);font-weight:600}.settings-card{padding:0}.settings-item{padding:var(--space-md)var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);min-height:56px;display:flex}.settings-item-left{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.settings-icon{text-align:center;flex-shrink:0;width:24px;font-size:1.25rem}.settings-item-link{cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;color:inherit;text-decoration:none}.settings-item-link:hover{background:#ffffff08}.settings-item-link:first-child{border-radius:var(--radius-2xl)var(--radius-2xl)0 0}.settings-item-link:last-child{border-radius:0 0 var(--radius-2xl)var(--radius-2xl)}.settings-item-link:only-child{border-radius:var(--radius-2xl)}.settings-divider{background:var(--color-border);height:1px;margin:0 var(--space-lg)}.settings-theme-buttons{gap:var(--space-xs);border-radius:var(--radius-lg);background:#0003;padding:4px;display:flex}.settings-theme-btn{padding:var(--space-xs)var(--space-sm);font-size:var(--text-sm);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;font-weight:500}.settings-theme-btn:hover:not(:disabled){color:var(--color-text)}.settings-theme-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #8b5cf666}.settings-theme-btn:disabled{opacity:.5;cursor:not-allowed}.settings-toggle{border-radius:var(--radius-full);cursor:pointer;width:52px;height:32px;transition:background var(--transition-smooth);background:#ffffff1a;border:none;flex-shrink:0;position:relative}.settings-toggle.active{background:var(--color-primary)}.settings-toggle-handle{width:24px;height:24px;transition:transform var(--transition-smooth);background:#fff;border-radius:50%;position:absolute;top:4px;left:4px;box-shadow:0 2px 4px #0003}.settings-toggle.active .settings-toggle-handle{transform:translate(20px)}.settings-toggle:disabled{opacity:.5;cursor:not-allowed}[data-theme=light]{--color-bg:#f8fafc;--color-bg-secondary:#f1f5f9;--color-bg-card:#fff;--color-bg-elevated:#fff;--color-text:#0f172ae6;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-border:#0f172a1a;--color-border-light:#0f172a0d;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--color-warning-bg:#d977061a;--color-warning-border:#d977064d;--color-warning-text:#b45309}[data-theme=light] body{background:radial-gradient(ellipse 80% 50% at 50% -20%,#8b5cf614,transparent),radial-gradient(ellipse 60% 40% at 80% 50%,#6366f10d,transparent),var(--color-bg)}[data-theme=light] html{background:var(--color-bg)}[data-theme=light] .card{box-shadow:var(--shadow-md);background:#fffc;border-color:#0f172a14}[data-theme=light] .header,[data-theme=light] .glass-header{background:#f8fafce6;border-bottom-color:#0f172a14}[data-theme=light] .input{background:#fffc;border-color:#0f172a26}[data-theme=light] .btn-secondary,[data-theme=light] .btn-ghost{border-color:#0f172a26}[data-theme=light] .btn-secondary:hover,[data-theme=light] .btn-ghost:hover,[data-theme=light] .settings-theme-buttons{background:#0f172a0d}[data-theme=light] .settings-toggle{background:#0f172a26}[data-theme=light] .toggle-switch{background:#0f172a26;border-color:#0f172a26}[data-theme=light] .settings-item-link:hover{background:#0f172a08}[data-theme=light] .action-sheet{background:#fffffff5;border-color:#ffffffe6 #0f172a1a #0f172a1a}[data-theme=light] .action-sheet-handle{background:#0f172a26}[data-theme=light] .action-sheet-icon-wrapper{background:#7c3aed14}[data-theme=light] .action-sheet-option:hover .action-sheet-icon-wrapper{background:#7c3aed26}[data-theme=light] .dock-nav{background:#ffffff8c;border:1px solid #ffffffa6;box-shadow:inset 0 1px #fffffffa,inset 0 -1px #ffffff80,0 4px 20px #00000012,0 1px 4px #0000000a}[data-theme=light] .dock-nav-link--inactive{color:#64748b}[data-theme=light] .fullscreen-modal,[data-theme=light] .modal-content{background:#fffffffa;border-color:#0f172a1a}[data-theme=light] .weekly-widget{background:#0f172a08;border-color:#0f172a14}[data-theme=light] .up-next-card{background:#fffc;border-color:#8b5cf633;box-shadow:0 4px 20px #8b5cf61a}[data-theme=light] .quick-look-chip{background:#0f172a08;border-color:#0f172a14}[data-theme=light] .quick-look-chip:hover{background:#0f172a0f;border-color:#8b5cf633}[data-theme=light] .workout-list-item{background:#fffc;border-color:#0f172a14}[data-theme=light] .workout-list-item:hover{background:#fffffff2;border-color:#0f172a1f}[data-theme=light] .weekly-day-indicator.empty{background:#0f172a0d}[data-theme=light] .weekly-day-indicator.empty:after{background:#0f172a33}[data-theme=light] .weekly-day-indicator.planned{border-color:#8b5cf666}.analysis-loading-logo{filter:drop-shadow(0 0 12px #8b5cf666);animation:2s ease-in-out infinite analysis-logo-pulse}@keyframes analysis-logo-pulse{0%,to{filter:drop-shadow(0 0 12px #8b5cf666);transform:scale(1)}50%{filter:drop-shadow(0 0 24px #8b5cf6b3);transform:scale(1.08)}}.analysis-loading-dots span{animation:1.4s ease-in-out infinite analysis-dot-bounce;display:inline-block}.analysis-loading-dots span:nth-child(2){animation-delay:.16s}.analysis-loading-dots span:nth-child(3){animation-delay:.32s}@keyframes analysis-dot-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.analysis-text-container{max-height:450px;position:relative;overflow:hidden}.analysis-text-container:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#1c1c2199 40%,#1c1c21eb 70%,#1c1c21 100%);height:80px;position:absolute;bottom:0;left:0;right:0}[data-theme=light] .analysis-text-container:after{background:linear-gradient(#0000 0%,#fff9 40%,#ffffffeb 70%,#fff 100%)}.analysis-markdown h1,.analysis-markdown h2,.analysis-markdown h3,.analysis-markdown h4{color:var(--color-primary-hover);margin-top:1em;margin-bottom:.4em;line-height:1.3}.analysis-markdown h1:first-child,.analysis-markdown h2:first-child,.analysis-markdown h3:first-child,.analysis-markdown h4:first-child{margin-top:0}.analysis-markdown h1{font-size:1.2em}.analysis-markdown h2{border-bottom:1px solid #8b5cf626;padding-bottom:.3em;font-size:1.1em}.analysis-markdown h3{font-size:1.05em}.analysis-markdown h4{font-size:1em}.analysis-markdown p{margin-bottom:.6em}.analysis-markdown p:last-child{margin-bottom:0}.analysis-markdown strong{color:var(--color-text);font-weight:600}.analysis-markdown hr{background:linear-gradient(90deg,#0000,#8b5cf666,#0000);border:none;height:1px;margin:.8em 0}.analysis-markdown ul,.analysis-markdown ol{margin-bottom:.6em;padding-left:1.4em}.analysis-markdown li{margin-bottom:.25em}.analysis-markdown li::marker{color:var(--color-primary)}.analysis-markdown blockquote{border-radius:0 var(--radius-sm)var(--radius-sm)0;background:#8b5cf60f;border-left:3px solid #8b5cf680;margin:.8em 0;padding:.6em 1em;font-style:italic}.analysis-markdown blockquote p{margin-bottom:0}.analysis-expand-hint{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);pointer-events:none;z-index:1;opacity:.8;position:absolute;bottom:8px;left:0;right:0}.up-next-mini-card{padding:var(--space-sm)var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff08;justify-content:space-between;align-items:center;transition:background .15s;display:flex}.up-next-mini-card:hover{background:#ffffff0f}.plan-generating-orb{width:120px;height:120px;position:relative}.plan-generating-glow{background:radial-gradient(circle,#8b5cf64d,#8b5cf60d 70%,#0000);border-radius:50%;animation:2s ease-in-out infinite plan-glow-pulse;position:absolute;inset:0}.plan-generating-ring{border:2px dashed;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.plan-generating-ring.ring-1{border-color:#8b5cf666;width:100px;height:100px;animation:8s linear infinite plan-orbit}.plan-generating-ring.ring-2{border-color:#a78bfa59;width:70px;height:70px;animation:5s linear infinite reverse plan-orbit}.plan-generating-ring.ring-3{border-color:#c4b5fd4d;width:40px;height:40px;animation:3s linear infinite plan-orbit}.plan-generating-center{z-index:1;font-size:1.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes plan-glow-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes plan-orbit{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}
