body{margin:0;background:#0b0b0b;color:#f5c400;font-family:system-ui,sans-serif}.app{padding:16px}.header{display:flex;flex-direction:column;align-items:center;gap:12px}.header-buttons{display:flex;gap:12px}.header .logo{font-size:32px;font-weight:700}.header button{background:transparent;color:#f5c400;border:2px solid #f5c400;padding:4px;margin:4px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease}.header button:hover{background:#f5c400;color:#0b0b0b;transform:scale(1.05)}.month-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}.month-nav button{background:transparent;border:2px solid #f5c400;color:#f5c400;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.month-nav button:hover{background:#f5c400;color:#0b0b0b;transform:scale(1.05)}.month-nav .month-name{font-weight:700;font-size:16px;transition:all .3s ease}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:700;margin-bottom:6px}.weekday{padding:4px 0}.calendar{background:#141414;padding:12px;border-radius:16px;margin-top:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{aspect-ratio:1;background:#1f1f1f;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;font-weight:700;opacity:0;transform:translateY(10px);animation:fadeInDay .3s forwards}@keyframes fadeInDay{to{opacity:1;transform:translateY(0)}}.day.active{outline:2px solid #f5c400}.day.has-workout{background:#f5c400;color:#0b0b0b}.day.plan-day{border:2px solid red}.day-workouts{margin-top:16px}.day-workouts h3{margin-bottom:8px}.workout-card{padding:6px;border:2px solid;border-radius:12px;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center;opacity:0;transform:translateY(-10px);animation:fadeInCard .3s forwards;transition:all .2s ease}@keyframes fadeInCard{to{opacity:1;transform:translateY(0)}}.workout-card.plan{border:2px solid red}.workout-card.fact{border:2px solid #f5c400}.label{font-size:12px;opacity:.8}.actions button{margin-left:6px;background:transparent;color:#f5c400;border:2px solid #f5c400;padding:4px 6px;border-radius:6px;cursor:pointer;transition:all .2s ease}.actions button:hover{background:#f5c400;color:#0b0b0b;transform:scale(1.1)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:100;opacity:0;animation:fadeInBackdrop .3s forwards}@keyframes fadeInBackdrop{to{opacity:1}}.modal{background:#141414;padding:16px;border-radius:16px;max-width:480px;width:100%;transform:scale(.9);opacity:0;animation:scaleInModal .3s forwards}@keyframes scaleInModal{to{transform:scale(1);opacity:1}}.modal select{background:#1f1f1f;color:#f5c400;border:2px solid #f5c400;border-radius:8px;padding:6px;width:100%;font-size:14px;cursor:pointer;transition:all .2s ease}.modal select:hover{background:#2a2a2a}.exercise{border:1px solid #f5c400;border-radius:12px;padding:10px;margin-bottom:10px;transition:all .2s ease}.exercise:hover{background:#1a1a1a}.exercise-header{display:flex;justify-content:space-between}.exercise-header .info{cursor:pointer}.set{display:flex;gap:6px;margin-top:6px;align-items:center}.set select{background:#1f1f1f;color:#f5c400;border:2px solid #f5c400;padding:6px;border-radius:6px;cursor:pointer;transition:all .2s ease}.set button{background:transparent;color:red;border:2px solid red;border-radius:6px;cursor:pointer;padding:0 6px;transition:all .2s ease}.set button:hover{background:red;color:#0b0b0b}.add-set-btn{margin-top:6px;background:transparent;color:#f5c400;border:2px solid #f5c400;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.add-set-btn:hover{background:#f5c400;color:#0b0b0b}.modal button{margin-top:0;background:transparent;color:#f5c400;border:2px solid #f5c400;padding:6px;border-radius:6px;cursor:pointer;transition:all .2s ease}.modal button:hover{background:#f5c400;color:#0b0b0b}img{width:100%;border-radius:12px;margin-top:8px}.filters{display:flex;gap:12px;margin:16px 0;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;font-size:14px}.filters select,.filters input{background:#1f1f1f;color:#f5c400;border:2px solid #f5c400;border-radius:6px;padding:4px 6px;cursor:pointer}.chart-container{background:#141414;padding:16px;border-radius:16px}.workout-count{font-size:128px;font-weight:700;margin-bottom:4px;text-align:center}.workout-label{font-size:32px;opacity:.8;margin-bottom:12px;text-align:center}.stats-info{display:flex;flex-direction:column;align-items:center;margin-bottom:16px}.stats-info input{background:#1f1f1f;color:#f5c400;border:2px solid #f5c400;border-radius:8px;padding:6px;width:95%;font-size:14px;cursor:text}.exercise-card{border:2px solid #f5c400;border-radius:12px;width:95%;padding:6px;margin-top:12px;margin-bottom:12px;display:flex;flex-direction:column;cursor:pointer}.trend{color:#f5c400;font-size:18px}.set-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.input-group{display:flex;align-items:center;gap:6px}.number-input{width:70px;padding:6px 8px;border-radius:8px;border:1px solid #444;background:#1e1e1e;color:#fff;text-align:center;font-size:14px}.number-input:focus{outline:none;border-color:#f5c400}.unit{font-size:13px;color:#aaa}.remove-set-btn{background:transparent;border:none;cursor:pointer;font-size:16px}.remove-set-btn:hover{transform:scale(1.1)}.wheel-picker-wrapper{height:120px;overflow:hidden;position:relative}.wheel-picker{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch}.wheel-item{height:40px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:18px}.number-input{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;background:transparent;border:1px solid #aaa;border-radius:6px;color:#000;font-size:16px;width:60px;height:40px;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch}.number-input::-webkit-inner-spin-button,.number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.set-row{display:flex;gap:8px;align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.number-input>option{scroll-snap-align:start}.number-input:focus{scroll-behavior:smooth}.exercise-header{display:flex;justify-content:space-between;align-items:center}.info-btn{background:#ddd;font-size:14px;border:none}.total-weight{font-size:14px;color:#444;color:#aaa;margin-bottom:4px}.exercise-info-panel{display:flex;gap:12px;margin:8px 0 12px;border-radius:6px;padding:8px;background:#1e1e1e;border:1px solid #444;max-width:800px;width:100%;align-items:center;justify-content:center}.exercise-info-gif{flex:1 1 50%;padding:4px;display:flex;align-items:center;justify-content:center}.exercise-info-gif img{max-width:100%;max-height:100%;border:1px solid #f5c400;border-radius:6px;padding:4px;display:block}.exercise-info-details{flex:1 1 50%;display:flex;flex-direction:column;gap:12px}.exercise-info-muscles{border:1px solid #f5c400;border-radius:6px;padding:8px;background:#2a2a2a}.exercise-info-muscles ul{padding-left:20px;margin:4px 0 0}.exercise-info-muscles li{list-style:disc}.exercise-info-technique{border:1px solid #f5c400;border-radius:6px;padding:8px;background:#2a2a2a;text-align:center}.exercise-info-technique a{color:#f5c400;text-decoration:none;font-weight:700}.exercise-info-technique a:hover{text-decoration:underline}.chart-container{background:#141414;border:1px solid #f5c400;border-radius:12px;padding:8px;margin-bottom:12px}.exercise-info-panel{display:flex;gap:16px;margin-top:12px;border-radius:8px;padding:8px;background:#1e1e1e;border:1px solid #444;max-width:800px;width:95%;align-items:center}.exercise-info-gif{flex:1 1 50%;max-width:300px;display:flex;align-items:center;justify-content:center}.exercise-info-gif img{max-width:360px;max-height:240px;object-fit:contain}.exercise-info-details{flex:1 1 50%;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.exercise-info-muscles,.exercise-info-technique{border:1px solid #f5c400;border-radius:6px;padding:8px;background:#2a2a2a}
