*,*: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;--font-timer: "JetBrains Mono", "DM 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}}
