:root{--color-yellow:#ffc107;--color-yellow-light:#fff3cd;--color-green:#198754;--color-green-light:#d1e7dd;--color-blue:#0d6efd;--color-blue-light:#cfe2ff}body{background-color:#f8f9fa;color:#212529;min-height:100vh;display:flex;flex-direction:column;transition:background-color .3s,color .3s}[data-theme=dark] body{background-color:#121212;color:#e0e0e0}[data-theme=dark] .card{background-color:#1e1e1e;border-color:#333;color:#e0e0e0}[data-theme=dark] .bg-light{background-color:#2a2a2a!important;color:#e0e0e0!important}[data-theme=dark] .navbar-light{background-color:#1e1e1e!important;border-bottom:1px solid #333}[data-theme=dark] .nav-link{color:#aaa!important}[data-theme=dark] .nav-link.active{color:var(--color-yellow)!important}[data-theme=dark] .modal-content{background-color:#1e1e1e;color:#e0e0e0}[data-theme=dark] .timer-area{background:linear-gradient(135deg,#1e1e1e 0,#121212 100%);border-color:#333}[data-theme=dark] .exercise-card:hover{background-color:rgba(25,135,84,.15)}[data-theme=dark] .training-card:hover{background-color:rgba(255,193,7,.15)}[data-theme=dark] .list-group-item{background-color:#1e1e1e;color:#e0e0e0;border-color:#333}[data-theme=dark] .list-group-item-action:hover{background-color:#2a2a2a;color:#fff}[data-theme=dark] .exercise-description{background-color:#1e1e1e;border:1px solid #333}[data-theme=dark] .filter-section,[data-theme=dark] .search-container{background-color:#1e1e1e!important;border-color:#333!important}[data-theme=dark] .form-control,[data-theme=dark] .form-select{background-color:#2a2a2a;border-color:#444;color:#fff}[data-theme=dark] .form-control:focus,[data-theme=dark] .form-select:focus{background-color:#333;border-color:var(--color-blue);color:#fff}[data-theme=dark] .input-group-text{background-color:#333;border-color:#444;color:#e0e0e0}[data-theme=dark] .alert-info{background-color:rgba(13,110,253,.15);border-color:rgba(13,110,253,.4);color:#60a5fa}[data-theme=dark] .alert-success{background-color:rgba(25,135,84,.15);border-color:rgba(25,135,84,.4);color:#4ade80}[data-theme=dark] .badge.bg-light{background-color:#333!important;color:#fff!important;border-color:#444!important}[data-theme=dark] .modal-header{border-bottom:1px solid #333}[data-theme=dark] .modal-footer{border-top:1px solid #333}[data-theme=dark] .card-footer{border-top:1px solid #333}[data-theme=dark] .card-text.text-muted,[data-theme=dark] .text-muted{color:#aaa!important}[data-theme=dark] .form-check-label{color:#e0e0e0}[data-theme=dark] .table{color:#e0e0e0!important;border-color:#333!important}[data-theme=dark] .table>:not(caption)>*>*{background-color:transparent!important;color:inherit!important}[data-theme=dark] .table tbody tr{background-color:#1e1e1e!important}[data-theme=dark] .table-light{background-color:#2a2a2a!important;color:#fff!important}[data-theme=dark] .table-light th{background-color:#2a2a2a!important;color:#fff!important}[data-theme=dark] .table-info{background-color:rgba(13,110,253,.2)!important;color:#fff!important}[data-theme=dark] .table-info td{background-color:rgba(13,110,253,.2)!important;color:#fff!important}[data-theme=dark] .table-hover tbody tr:hover{background-color:rgba(255,255,255,.05)!important;color:#fff!important}[data-theme=dark] .table td,[data-theme=dark] .table th{border-color:#333!important}.clickable-card{cursor:pointer;transition:all .2s ease}.clickable-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,.15);background-color:#e9ecef!important}[data-theme=dark] .clickable-card:hover{background-color:#2a2a2a!important;box-shadow:0 4px 12px rgba(0,0,0,.5)}#app{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.card-yellow{border:2px solid var(--color-yellow);transition:transform .2s,box-shadow .2s}.card-yellow:hover{transform:translateY(-5px);box-shadow:0 .5rem 1rem rgba(255,193,7,.3)!important}.card-green{border:2px solid var(--color-green);transition:transform .2s,box-shadow .2s}.card-green:hover{transform:translateY(-5px);box-shadow:0 .5rem 1rem rgba(25,135,84,.3)!important}.card-blue{border:2px solid var(--color-blue);transition:transform .2s,box-shadow .2s}.card-blue:hover{transform:translateY(-5px);box-shadow:0 .5rem 1rem rgba(13,110,253,.3)!important}.exercise-card{border-left:4px solid var(--color-green);transition:all .2s}.exercise-card:hover{border-left-width:8px;background-color:var(--color-green-light)}.training-card{border-left:4px solid var(--color-yellow);transition:all .2s}.training-card:hover{border-left-width:8px;background-color:var(--color-yellow-light)}.timer-display{font-size:8rem;font-weight:700;font-family:'Courier New',monospace;text-align:center;color:var(--color-blue);text-shadow:2px 2px 4px rgba(0,0,0,.1)}.timer-display.rest{color:var(--color-green)}.timer-display.exercise{color:var(--color-yellow)}.fullscreen-timer{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;color:#fff;padding:2rem}.fullscreen-timer .timer-value{font-size:20vw;font-weight:700;font-family:'Courier New',monospace;line-height:1}.fullscreen-timer .timer-label{font-size:2rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.2em}.fullscreen-timer .timer-exercise-name{font-size:3rem;font-weight:700;margin-bottom:1.5rem;text-align:center;background:rgba(255,193,7,.15);border:3px solid var(--color-yellow);padding:.8rem 2.5rem;border-radius:15px;box-shadow:0 4px 20px rgba(255,193,7,.3);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.fullscreen-timer .timer-exercise-comment{font-size:2rem;font-weight:400;font-style:italic;margin-top:.5rem;opacity:.9;color:rgba(255,255,255,.9)}.fullscreen-timer .timer-series{font-size:1.2rem;opacity:.8;margin-top:.5rem}.fullscreen-timer .timer-controls{margin-top:2rem}.fullscreen-next-exercise{margin-top:1.5rem;padding:1rem 2.5rem;background:rgba(0,0,0,.2);border:2px solid rgba(255,255,255,.3);border-radius:15px;text-align:center;box-shadow:0 4px 15px rgba(0,0,0,.2)}.fullscreen-next-exercise small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:1rem;opacity:.9;margin-bottom:.25rem}.fullscreen-next-exercise .next-exercise-name{font-size:2.2rem;font-weight:700}.fullscreen-hint{margin-top:1rem;opacity:.7}.fullscreen-hint kbd{background-color:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.5)}.stopwatch-display{font-size:6rem;font-weight:700;font-family:'Courier New',monospace;text-align:center;display:flex;align-items:baseline;justify-content:center}.countdown-display .time-main,.stopwatch-display .time-main{font-size:1em}.countdown-display .time-decimal,.stopwatch-display .time-decimal{font-size:.5em;opacity:.8;margin-left:.1em}.time-decimal-fullscreen{font-size:.3em;opacity:.8;margin-left:.1em}.countdown-display{font-size:10rem;font-weight:700;font-family:'Courier New',monospace;text-align:center;color:var(--color-blue);display:flex;align-items:baseline;justify-content:center}.countdown-display.warning{color:var(--color-yellow)}.countdown-display.danger{color:#dc3545}.current-exercise-box{background:linear-gradient(135deg,var(--color-yellow) 0,#ffdb4d 100%);border:3px solid #e6ac00;border-radius:15px;padding:1.5rem;color:#333;box-shadow:0 4px 15px rgba(255,193,7,.3)}.current-exercise-box .current-exercise-name{font-size:1.8rem;font-weight:700;line-height:1.3}.current-exercise-box .current-exercise-series{font-size:1.1rem;opacity:.8;margin-top:.5rem}.timer-label-prep{font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;color:#666}.timer-area{background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);border:2px solid #dee2e6;border-radius:15px;padding:2rem;text-align:center}.timer-display-large{font-size:5rem;font-weight:700;font-family:'Courier New',monospace;color:var(--color-blue);line-height:1;margin-bottom:1rem}.timer-display-large.rest{color:var(--color-green)}.timer-display-large.exercise{color:var(--color-yellow)}.series-info{font-size:1.2rem;color:#666;font-weight:500}.fullscreen-hint-text{font-size:.9rem;color:#888;margin-top:.5rem}.fullscreen-hint-text:hover{color:var(--color-blue)}.exercise-controls{display:flex;justify-content:center;align-items:center;gap:.5rem}.next-exercise-box{background:linear-gradient(135deg,#0d6efd 0,#60a5fa 100%);border:3px solid #0b5ed7;border-radius:15px;padding:1.5rem;color:#fff;box-shadow:0 4px 15px rgba(13,110,253,.3)}.next-exercise-box .next-exercise-name{font-size:1.8rem;font-weight:700;line-height:1.3}.training-complete-box{background:linear-gradient(135deg,var(--color-green-light) 0,#fff 100%);border:3px solid var(--color-green);border-radius:20px;padding:3rem 2rem;max-width:500px;margin:0 auto;box-shadow:0 4px 20px rgba(25,135,84,.2)}.exercise-image{max-height:400px;object-fit:contain;border-radius:10px}.exercise-image-placeholder{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:10px;padding:3rem;text-align:center}.exercise-description{background:#f8f9fa;border-radius:10px;padding:1.5rem}.progress{height:30px;border-radius:15px}.progress-bar{font-size:1rem;font-weight:700}.btn-lg-custom{padding:1rem 3rem;font-size:1.5rem;border-radius:50px}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.timer-pulse{animation:pulse 1s infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}.blink{animation:blink 1.5s ease-in-out infinite}.navbar-brand{font-weight:700;font-size:1.5rem}.badge-exercise{background-color:var(--color-yellow);color:#000}.badge-part{background-color:var(--color-green-light);color:var(--color-green)}.list-group-item-action:hover{background-color:var(--color-blue-light)}.modal-header{background-color:var(--color-blue);color:#fff}.modal-header.bg-success{background-color:var(--color-green)!important}.modal-header.bg-warning{background-color:var(--color-yellow)!important;color:#000}.fullscreen-hint-btn{font-size:.9rem;padding:.375rem .75rem}@media (max-width:768px){.timer-display{font-size:4rem}.stopwatch-display{font-size:3rem}.countdown-display{font-size:5rem}.fullscreen-timer .timer-value{font-size:25vw}.countdown-display .time-decimal,.stopwatch-display .time-decimal{font-size:.4em}.timer-display-large{font-size:3.5rem}.fullscreen-timer .timer-exercise-name{font-size:1.5rem}.fullscreen-next-exercise .next-exercise-name{font-size:1.2rem}.current-exercise-box .current-exercise-name{font-size:1.4rem}}