@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;margin:0;overflow:auto}#container{position:relative;width:100%;height:100vh}#container canvas{touch-action:none}#controls,#workout-plan-panel,#stats-panel,#legend-panel{touch-action:auto}#controls{position:fixed;top:10px;left:10px;right:10px;background:#111c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:10px;border-radius:8px;z-index:1000;display:flex;gap:8px;align-items:center}#main-controls{display:flex;gap:8px;flex-grow:1}#client-management{display:flex;gap:8px;margin-left:auto}select{border:none;outline:none;padding:8px 12px;border-radius:4px;font-family:inherit;transition:all .3s ease}button{border:none;outline:none;padding:8px 12px;border-radius:4px;font-family:inherit;cursor:pointer;transition:all .3s ease}#controls select{color:#000!important;background-color:#ffffffe6!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:150px}#controls select option{color:#000;background-color:#fff;padding:8px}button{background:#ffffff1a;color:#fff;transition:all .2s ease;font-weight:500}button:hover{background:#fff3}select:focus,button:focus{box-shadow:0 0 0 2px #646cff4d}@media (prefers-color-scheme: light){#client-form{background:#f0f0f0;color:#213547}#client-form input{background:#0000000d;color:#213547}#controls select{background-color:#fffffff2!important}#controls select option{background-color:#fff}}#client-form,#remove-exercise-form,#remove-client-form,#logout-form{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#333;padding:20px;border-radius:8px;z-index:1001;color:#fff;width:300px;max-width:90%}#client-form h3,#remove-exercise-form h3,#remove-client-form h3,#logout-form h3{margin-bottom:15px;text-align:center}#client-form input{display:block;width:100%;padding:8px;margin:8px 0;border:none;border-radius:4px;background:#ffffff1a;color:#fff}#client-form input:focus{outline:2px solid #646cff;background:#fff3}#login-form{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#333;padding:20px;border-radius:8px;z-index:1001;color:#fff;width:300px;max-width:90%}#login-form h3{margin-bottom:15px;text-align:center}#login-form input{display:block;width:100%;padding:8px;margin:8px 0;border:none;border-radius:4px;background:#ffffff1a;color:#fff}#login-form input:focus{outline:2px solid #646cff;background:#fff3}#login-error{color:red;font-size:.9em;margin-top:10px}#client-form button,#remove-exercise-form button,#remove-client-form button,#logout-form button{margin-top:10px;width:48%;border:none;outline:none;padding:8px 12px;border-radius:4px;font-family:inherit;cursor:pointer;transition:all .3s ease}#client-form #save-client,#remove-exercise-form #confirm-remove-exercise,#remove-client-form #confirm-remove-client{background:#646cffb3}#client-form #save-client:hover,#remove-exercise-form #confirm-remove-exercise:hover{background:#646cffe6}#remove-client-form #confirm-remove-client{background:#ff3232b3}#remove-client-form #confirm-remove-client:hover{background:#ff3232e6}#logout-form #confirm-logout{background:#ff3232b3}#logout-form #confirm-logout:hover{background:#ff3232e6}#client-form #cancel-client,#remove-exercise-form #cancel-remove-exercise,#remove-client-form #cancel-remove-client,#logout-form #cancel-logout{background:#ff6347b3;float:right}#client-form #cancel-client:hover,#remove-exercise-form #cancel-remove-exercise:hover,#remove-client-form #cancel-remove-client:hover,#logout-form #cancel-logout:hover{background:#ff6347e6}#exercise-form{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#333;padding:20px;border-radius:8px;z-index:1001;color:#fff;width:320px;max-width:90%;max-height:80vh;overflow-y:auto}#exercise-form h3{margin-bottom:6px;text-align:center}#exercise-form-name{text-align:center;color:#646cff;font-weight:600;margin-bottom:14px;font-size:1em}#exercise-form input[type=number]{display:block;width:100%;padding:8px;margin:8px 0;border:none;border-radius:4px;background:#ffffff1a;color:#fff}#exercise-form input:focus{outline:2px solid #646cff;background:#fff3}#sets-container{margin:12px 0;display:flex;flex-direction:column;gap:8px}.set-row{display:flex;align-items:center;gap:8px}.set-label{font-size:.8em;color:#fff9;white-space:nowrap;min-width:48px}.set-row input{margin:0!important;padding:6px 8px!important;width:100%!important}#add-set-btn{width:100%;background:#646cff33;color:#fffc;border:1px dashed rgba(100,108,255,.5);margin:8px 0}#add-set-btn:hover{background:#646cff59}.exercise-form-actions{display:flex;justify-content:space-between;margin-top:12px}.exercise-form-actions button{width:48%}#save-exercise{background:#646cffb3}#save-exercise:hover{background:#646cffe6}#cancel-exercise{background:#ff6347b3}#cancel-exercise:hover{background:#ff6347e6}.exercise-detail{display:none;background:#0000004d;border-top:1px solid rgba(255,255,255,.05)}.exercise-detail.open{display:block}.session-block{padding:10px 15px;border-bottom:1px solid rgba(255,255,255,.05)}.session-block:last-child{border-bottom:none}.session-date{font-size:.75em;color:#ffffff73;margin-bottom:6px}.set-detail-row{display:flex;gap:8px;font-size:.82em;color:#ffffffbf;padding:3px 0}.set-detail-row .set-num{color:#646cffcc;min-width:52px;font-weight:500}.set-detail-row span{background:#ffffff0f;padding:1px 7px;border-radius:6px}.exercise-item .toggle-detail-icon{margin-left:8px;font-size:.75em;color:#fff6;transition:transform .2s ease}.exercise-item.detail-open .toggle-detail-icon{transform:rotate(180deg)}.session-date{font-size:.8em;color:#ffffff8c;padding:6px 0 4px;cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.session-date:hover{color:#ffffffd9}.session-date i{font-size:.75em;transition:transform .2s ease}.session-date.open i{transform:rotate(180deg)}.session-sets{display:none;padding-bottom:4px}.session-sets.open{display:block}.remove-set-btn{background:#ff323280;border:none;color:#fff;border-radius:4px;padding:3px 8px;cursor:pointer;font-size:.9em;flex-shrink:0}.remove-set-btn:hover{background:#ff3232cc}button.danger{background:#ff3232b3!important}button.danger:hover{background:#ff3232e6!important}button:disabled{opacity:.5;cursor:not-allowed}button:disabled.danger{background:#ff32324d!important}#remove-client:disabled{opacity:.5;cursor:not-allowed;background:#ff32324d!important}#add-exercise:disabled{opacity:.5;cursor:not-allowed;background:#ffffff0d!important}#exercise option[value=""][disabled]{display:none}#remove-exercise{background:#ff3232b3!important}#remove-exercise:hover{background:#ff3232e6!important}#remove-exercise:disabled{opacity:.5;cursor:not-allowed;background:#ff32324d!important}.toast-container{position:fixed;bottom:20px;right:20px;z-index:1100;display:flex;flex-direction:column;gap:10px}.toast{padding:15px 20px;border-radius:8px;color:#fff;background-color:#333;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;animation:slideIn .3s ease-out;transform:translate(0);max-width:300px;border-left:4px solid}.toast.success{border-left-color:#4caf50;background-color:#2e7d32}.toast.error{border-left-color:#f44336;background-color:#c62828}.toast.warning{border-left-color:#ff9800;background-color:#f57c00}.toast.info{border-left-color:#2196f3;background-color:#1565c0}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{opacity:0}}.toast.fade-out{animation:fadeOut .3s ease-out forwards}.toast-close{background:none;border:none;color:#fff;cursor:pointer;margin-left:15px;font-size:1.2em}#workout-plan-panel{position:fixed;top:70px;left:20px;background:#111111e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:8px;z-index:999;width:300px;box-shadow:0 4px 12px #0000004d;overflow:hidden;transition:all .3s ease}#workout-plan-panel.hidden{transform:translateY(-20px);opacity:0;pointer-events:none}#workout-plan-panel h3{color:#646cff;margin-bottom:10px;font-size:1.3em;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.exercise-item{background:#ffffff0d;padding:10px 15px;margin:0 0 6px;border-radius:0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;transition:transform .2s ease,background .2s ease;cursor:pointer;transition:all .2s ease}.exercise-item.click-feedback{background:#646cff4d;transform:scale(.98)}.exercise-item:last-child{border-bottom:none}.exercise-item:hover{transform:translate(5px);background:#646cff26}.exercise-name{font-weight:500}.exercise-count{background:#646cffb3;padding:2px 8px;border-radius:10px;font-size:.9em}.active-exercise{border-left:3px solid #646cff;background:#646cff33!important}.active-exercise .exercise-count{background:#646cff!important}.loading-spinner{border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top:3px solid #646cff;width:20px;height:20px;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.active-exercise{border-left:3px solid #646cff;background:#646cff26}.progress-bar{height:4px;background:#646cff4d;border-radius:2px;margin-top:5px;overflow:hidden}.progress-fill{height:100%;background:#646cff;width:0%;transition:width .5s ease}#stats-panel{position:fixed;bottom:20px;left:29px;background:#111111e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:20px;border-radius:8px;z-index:998;width:300px;box-shadow:0 4px 12px #0000004d;transition:all .3s ease}#stats-panel.hidden{transform:translateY(calc(100% + 20px));opacity:0;pointer-events:none}@media (max-width: 768px){.panel-toggle{left:50%;transform:translate(-50%);width:auto;white-space:nowrap}#stats-panel{width:calc(100% - 40px);left:20px}#stats-panel:not(.hidden)+#toggle-stats{left:50%;transform:translate(-50%);bottom:calc(100% + 30px)}}#stats-panel h3{color:#646cff;margin-bottom:12px;font-size:1.1em;display:flex;align-items:center;gap:8px}.stat-item{display:flex;justify-content:space-between;margin-bottom:20px;font-size:.9em}.stat-item span:first-child{color:#ffffffb3}.stat-item span:last-child{font-weight:500}.stats-button{position:fixed;background:#646cff1a;bottom:20px;left:30px;z-index:999;display:flex;align-items:center;gap:8px}.stats-button:hover{background:#646cff33}#workout-plan-header{cursor:pointer;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}#workout-plan-header i{transition:transform .3s ease;font-size:.9em}#workout-plan-panel.collapsed #workout-plan-header i{transform:rotate(-90deg)}#workout-plan-panel.collapsed #exercises-list{display:none}.panel-header{padding:15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:#646cff26;border-left:3px solid #646cff;transition:background .3s ease}.panel-header:hover{background:#646cff33}.header-content{display:flex;align-items:center;gap:10px}.panel-header h3{margin:0;color:#646cff;font-size:1.1em;display:flex;flex-direction:column}.panel-header h3 span{color:#fff;font-size:.9em;margin-top:3px}.toggle-icon{transition:transform .3s ease;font-size:.9em;color:#ffffffb3}#workout-plan-panel.collapsed .toggle-icon{transform:rotate(-90deg)}.panel-content{max-height:60vh;overflow-y:auto;transition:max-height .3s ease,padding .3s ease}#workout-plan-panel.collapsed .panel-content{max-height:0;padding:0;overflow:hidden}.panel-toggle{position:fixed;bottom:20px;left:20px;z-index:999;display:flex;align-items:center;gap:8px;padding:10px 15px;background:#646cffb3;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0003}.panel-toggle:hover{background:#646cffe6;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.panel-toggle:active{transform:translateY(0)}.panel-toggle i{font-size:1em}.panel-toggle span{font-size:.9em}#stats-panel:not(.hidden)+#toggle-stats{left:340px;bottom:30px;background:#111111e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(100,108,255,.5)}#legend-panel{position:fixed;bottom:80px;right:20px;background:#111111f2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:20px;border-radius:8px;z-index:997;width:220px;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(100,108,255,.3);transition:all .3s ease}#legend-panel.hidden{transform:translateY(20px);opacity:0;pointer-events:none}#legend-panel h3{color:#646cff;margin-bottom:15px;font-size:1.1em;display:flex;align-items:center;gap:8px}.legend-item{display:flex;align-items:center;gap:10px;margin-bottom:12px}.legend-color{width:20px;height:20px;border-radius:4px;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}#legend-panel:not(.hidden)+#toggle-legend{background:#111111e6;border:1px solid rgba(100,108,255,.5)}@media (max-width: 768px){#controls{flex-direction:column;align-items:stretch;gap:10px;bottom:0;top:auto;border-radius:12px 12px 0 0}#main-controls{flex-direction:column;width:100%}#client-management{width:100%;justify-content:space-between}select,button{width:100%}#workout-plan-panel{width:calc(100% - 30px);left:10px;top:-500px}button,select{padding:12px;font-size:16px}#legend-panel{width:calc(100% - 40px);right:20px;left:20px}}
