*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}:root{--bg-base:#07070b;--bg-surface:#0f0f17;--bg-elevated:#161622;--bg-overlay:#1c1c2e;--border-subtle:#1e1e30;--border-default:#2a2a42;--border-accent:#a78bfa33;--text-primary:#f0f0f5;--text-secondary:#9494a8;--text-muted:#9d9db5;--accent:#a78bfa;--accent-hover:#b9a3ff;--accent-glow:#a78bfa40;--success:#34d399;--danger:#f87171;--warning:#fbbf24;--tag-force:#3b82f6;--tag-hypertrophie:#ef4444;--tag-cardio:#22c55e;--tag-endurance:#f59e0b;--tag-mobilite:#06b6d4;--tag-custom:#a78bfa;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:28px;--space-3xl:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5);--shadow-glow-accent:0 0 20px var(--accent-glow),0 0 60px var(--accent-glow);--shadow-glow-success:0 0 20px #34d39940,0 0 60px #34d39920;--shadow-glow-gold:0 0 20px #fbbf2440,0 0 60px #fbbf2420;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--bg-glass:#07070bee;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-heading:"Space Grotesk",sans-serif;--font-mono:"DM Mono","JetBrains Mono",monospace}[data-theme=light]{--bg-base:#f8f8fa;--bg-surface:#ffffff;--bg-elevated:#f0f0f5;--bg-overlay:#e8e8f0;--border-subtle:#e0e0e8;--border-default:#d0d0dc;--border-accent:#7c3aed33;--text-primary:#1a1a2e;--text-secondary:#6b6b80;--text-muted:#6b6b80;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-glow:#7c3aed30;--success:#059669;--danger:#dc2626;--warning:#d97706;--tag-endurance:#b45309;--tag-cardio:#15803d;--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);--shadow-lg:0 8px 32px rgba(0,0,0,.1);--shadow-glow-accent:0 0 20px #7c3aed20,0 0 60px #7c3aed10;--shadow-glow-success:0 0 20px #05966930,0 0 60px #05966915;--shadow-glow-gold:0 0 20px #d9770630,0 0 60px #d9770615;--bg-glass:#f8f8faee}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg-base:#f8f8fa;--bg-surface:#ffffff;--bg-elevated:#f0f0f5;--bg-overlay:#e8e8f0;--border-subtle:#e0e0e8;--border-default:#d0d0dc;--border-accent:#7c3aed33;--text-primary:#1a1a2e;--text-secondary:#6b6b80;--text-muted:#6b6b80;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-glow:#7c3aed30;--success:#059669;--danger:#dc2626;--warning:#d97706;--tag-endurance:#b45309;--tag-cardio:#15803d;--shadow-sm:0 2px 8px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.08);--shadow-lg:0 8px 32px rgba(0,0,0,.1);--shadow-glow-accent:0 0 20px #7c3aed20,0 0 60px #7c3aed10;--shadow-glow-success:0 0 20px #05966930,0 0 60px #05966915;--shadow-glow-gold:0 0 20px #d9770630,0 0 60px #d9770615;--bg-glass:#f8f8faee}}::selection{background:var(--accent-glow);color:#fff}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;top:-100px;left:16px;z-index:10000;padding:8px 16px;background:var(--accent);color:#fff;border-radius:8px;font-size:13px;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes slideDown{0%{opacity:0;transform:translateY(-24px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes slideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleSpring{0%{transform:scale(.85)}40%{transform:scale(1.05)}70%{transform:scale(.98)}to{transform:scale(1)}}@keyframes timerBarPulse{0%,to{border-color:color-mix(in srgb,var(--timer-bar-color,var(--accent)) 20%,transparent)}50%{border-color:color-mix(in srgb,var(--timer-bar-color,var(--accent)) 40%,transparent)}}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shake{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}to{transform:translate(0)}}@keyframes finishReady{0%,to{box-shadow:0 0 20px #34d39940,0 0 40px #34d39920;transform:scale(1)}50%{box-shadow:0 0 30px #34d39960,0 0 60px #34d39940;transform:scale(1.02)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes gentleRotate{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes flameWiggle{0%,to{transform:scaleY(1);transform-origin:bottom}33%{transform:scaleY(1.1);transform-origin:bottom}66%{transform:scaleY(.95);transform-origin:bottom}}@keyframes drawLine{0%{clip-path:inset(0 100% 0 0);opacity:0}30%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes streakPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes viewEnterRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes viewEnterLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes viewExitLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40px)}}@keyframes viewExitRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}@keyframes viewFadeIn{0%{opacity:0}to{opacity:1}}@keyframes viewFadeOut{0%{opacity:1}to{opacity:0}}@keyframes bottomSheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes progressFlash{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes slideDownOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes splashDraw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes splashLetterIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes splashProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.view-transition{animation-duration:.15s!important}}
