:root{--bg-dark: #0F0F0F;--bg-card: #1A1A1A;--border: #2D2D2D;--primary: #FF4D00;--success: #00C853;--warning: #FFD600;--text-primary: #FFFFFF;--text-secondary: #A0A0A0;--text-tertiary: #707070}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-dark);color:var(--text-primary);font-family:Space Grotesk,sans-serif;min-height:100vh}::selection{background:var(--primary);color:#fff}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px}.container{max-width:600px;width:100%}.card{background:var(--bg-card);border-radius:16px;padding:24px;margin-bottom:16px}.btn{border:none;border-radius:12px;font-family:Space Grotesk,sans-serif;font-weight:700;cursor:pointer;transition:background .15s}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-secondary{background:var(--border);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-success{background:var(--success);color:#000}.btn-warning{background:var(--warning);color:#000}.btn-lg{height:64px;font-size:18px}.btn-md{height:52px;font-size:16px}.btn-sm{height:40px;font-size:14px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;color:#fff;padding:16px;font-family:monospace;font-size:14px;width:100%;resize:vertical}textarea:focus{outline:none;border-color:var(--primary)}input[type=number]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:#fff;padding:12px;font-size:18px;text-align:center;width:100%}input[type=number]:focus{outline:none;border-color:var(--primary)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-primary{color:var(--primary)}h1{font-size:28px;font-weight:700;margin-bottom:8px}h2{font-size:22px;font-weight:700;margin-bottom:8px}.exercise-name{font-size:28px;font-weight:700}.set-badge{background:#2d2d2d;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-block;margin-bottom:16px}.target-display{font-size:20px;color:var(--text-secondary);margin-bottom:24px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 1s infinite}@media(prefers-reduced-motion:reduce){@keyframes pulse{0%,to{opacity:1}50%{opacity:1}}.pulse,.progress-fill,.btn,textarea,input{animation:none!important;transition:none!important}}.result-json{background:var(--bg-card);border-radius:12px;padding:20px;font-family:monospace;font-size:13px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.result-json .key{color:var(--primary)}.result-json .string{color:var(--success)}.result-json .number{color:var(--warning)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.input-stepper{display:flex;align-items:center;gap:12px}.input-stepper .minus,.input-stepper .plus{width:48px;height:48px;border-radius:12px;background:var(--border);color:#fff;font-size:24px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.input-stepper .minus:active,.input-stepper .plus:active{background:var(--primary)}.input-stepper .minus:hover,.input-stepper .plus:hover{background:#3d3d3d}.input-stepper .minus:focus-visible,.input-stepper .plus:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.input-stepper .value{flex:1;text-align:center;font-size:20px;font-weight:700}.progress-bar{background:var(--border);border-radius:8px;height:8px;width:100%;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .3s}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);filter:brightness(1)}50%{transform:scale(1.2) rotate(10deg);filter:brightness(1.3)}}@keyframes attentionPulse{0%{opacity:0}12%{opacity:.5}24%{opacity:0}36%{opacity:.2}56%{opacity:0}to{opacity:0}}.timer-complete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;animation:attentionPulse 1s ease-in-out infinite}.timer-complete-overlay.green{background-color:var(--success)}.timer-complete-overlay.yellow{background-color:var(--warning)}.app-tint{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9998;opacity:.12}.app-tint.green{background:var(--success)}.app-tint.yellow{background:var(--warning)}@media(prefers-reduced-motion:reduce){.timer-complete-overlay{animation:none;opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background-color:#1a1a1a;border:1px solid #2D2D2D;border-radius:16px;padding:24px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;animation:scaleIn .3s cubic-bezier(.16,1,.3,1)}.modal-content.closing{animation:fadeOut .2s ease-in forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.modal-title{display:flex;align-items:center;gap:12px}.modal-description{color:#a0a0a0;font-size:14px;margin-bottom:20px;line-height:1.5;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1);animation-delay:25ms;animation-fill-mode:both}.modal-actions{display:flex;flex-direction:column;gap:12px;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1);animation-delay:.3s;animation-fill-mode:both}.pill-group-label{font-size:12px;color:#707070;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.pill-options{display:flex;flex-wrap:wrap;gap:8px}.pill-group{animation:fadeInUp .3s cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.pill-button{background:#262626;border:1px solid #2D2D2D;border-radius:10px;color:#fff;padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Space Grotesk,sans-serif}.pill-button:hover:not(.selected){background:#2d2d2d;border-color:#3d3d3d}.pill-button.selected{background:#ff4d00;border-color:#ff4d00;color:#fff;font-weight:700}.pill-button:focus-visible{outline:2px solid #FF4D00;outline-offset:2px}@media(max-width:480px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%;width:100%;max-height:85vh;border-radius:24px 24px 0 0;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));animation:slideUp .35s cubic-bezier(.16,1,.3,1)}.modal-header{margin-bottom:16px}.pill-group-label{font-size:13px}.pill-options{gap:10px}.pill-button{flex:1;min-width:calc(50% - 5px);padding:12px;font-size:14px}.pill-button:active:not(.selected){background-color:#3d3d3d}.modal-description{font-size:13px;margin-bottom:16px}.modal-drag-handle{display:flex;justify-content:center;padding-bottom:12px;padding-top:12px;margin-bottom:4px;cursor:grab;border-radius:8px;transition:background .15s ease}.modal-drag-handle:active{cursor:grabbing;background:#ffffff0d}.modal-drag-handle:focus-visible{outline:2px solid #FF4D00;outline-offset:2px}.modal-drag-bar{width:40px;height:5px;background:#4d4d4d;border-radius:3px;transition:background .15s ease,transform .15s ease}.modal-drag-handle:active .modal-drag-bar{background:#5d5d5d;transform:scaleX(.7)}}@media(max-width:360px){.modal-content{padding:16px}.pill-button{min-width:calc(50% - 5px);padding:10px 8px;font-size:13px}}
