@tailwind base;@tailwind components;@tailwind utilities;@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-slide-in{animation:slideIn .3s ease-out forwards}.animate-pulse{animation:pulse 2s infinite}.workout-card{transition:transform .3s ease,box-shadow .3s ease}.workout-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.day-selector{transition:all .3s ease}.day-selector:hover{transform:translateY(-2px)}.progress-entry{@apply bg-white rounded-lg p-4 mb-4 shadow-md;transition:all .3s ease;animation:fadeIn .3s ease-out forwards}.progress-entry:hover{@apply shadow-lg;transform:translateY(-2px)}.edit-entry{@apply text-blue-600 hover:bg-blue-50;}.delete-entry{@apply text-red-600 hover:bg-red-50;}.progress-form{@apply bg-white rounded-lg shadow-lg p-6;animation:fadeIn .5s ease-out forwards}.progress-form input{@apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500;transition:all .2s ease}.progress-form input:focus{transform:translateY(-1px)}.btn-primary{@apply bg-blue-600 text-white px-6 py-2 rounded-lg font-medium;transition:all .3s ease}.btn-primary:hover{@apply bg-blue-700;transform:translateY(-2px)}.btn-secondary{@apply bg-gray-200 text-gray-700 px-6 py-2 rounded-lg font-medium;transition:all .3s ease}.btn-secondary:hover{@apply bg-gray-300;transform:translateY(-2px)}.achievement-badge{@apply inline-flex items-center px-3 py-1 rounded-full text-sm font-medium;transition:all .3s ease}.achievement-badge:hover{transform:scale(1.05)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:6px}::-webkit-scrollbar-thumb{background:#888;border-radius:6px;border:3px solid #f1f1f1}::-webkit-scrollbar-thumb:hover{background:#666}*{scrollbar-width:thin;scrollbar-color:#888 #f1f1f1}html,body{height:100%;overflow-y:auto;overflow-x:hidden}.container{min-height:100%;padding-bottom:2rem}main{min-height:calc(100vh - 4rem);overflow-y:auto}.progress-history{max-height:500px;overflow-y:auto;padding-right:.5rem}#workout-display{overflow-y:auto;padding-right:.5rem}@media (min-width: 768px){::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:6px}::-webkit-scrollbar-thumb{background:#888;border-radius:6px;border:3px solid #f1f1f1}::-webkit-scrollbar-thumb:hover{background:#666}*{scrollbar-width:thin;scrollbar-color:#888 #f1f1f1}}@media (max-width: 768px){.workout-card,.progress-form{margin:0 -1rem;border-radius:0}}.loading{@apply animate-pulse bg-gray-200;}.toast{@apply fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg text-white;animation:slideIn .3s ease-out forwards}.toast-success{@apply bg-green-600;}.toast-error{@apply bg-red-600;}.dialog-overlay{@apply fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center;animation:fadeIn .3s ease-out forwards}.dialog-content{@apply bg-white rounded-lg shadow-xl p-6 max-w-md w-full mx-4;animation:slideIn .3s ease-out forwards}.progress-bar{@apply h-2 rounded-full bg-gray-200 overflow-hidden;}.progress-bar-fill{@apply h-full bg-blue-600;transition:width .3s ease-out}.hover-card{transition:all .3s ease}.hover-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.icon-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gradient-text{@apply bg-clip-text text-transparent bg-gradient-to-r from-blue-600 to-blue-800;}::selection{@apply bg-blue-600 text-white;}.transition-all{transition:all .3s ease}.exercise-checkbox{@apply w-5 h-5 rounded border-gray-300 text-blue-600 focus:ring-blue-500;transition:all .2s ease}.exercise-checkbox:checked{@apply bg-blue-600 border-blue-600;}.workout-card{@apply transition-all duration-300 hover:shadow-xl;background:linear-gradient(to bottom right,#fff,#f8fafc)}input[type=number],textarea{@apply focus:ring-2 focus:ring-blue-500 focus:border-blue-500;transition:all .2s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{@apply bg-gray-100 rounded-full;}::-webkit-scrollbar-thumb{@apply bg-blue-400 rounded-full;transition:all .2s ease}::-webkit-scrollbar-thumb:hover{@apply bg-blue-500;}.progress-entry:hover{@apply transform -translate-y-1;}.day-selector{@apply transition-all duration-300;background:#ffffff1a}.day-selector:hover{@apply bg-white bg-opacity-20;}.day-selector.active{@apply bg-white text-blue-600;}.btn-primary{@apply bg-gradient-to-r from-blue-600 to-blue-700 text-white px-4 py-2 rounded-lg hover:from-blue-700 hover:to-blue-800 transition-all duration-300 shadow-md hover:shadow-lg;}.btn-secondary{@apply bg-gradient-to-r from-gray-200 to-gray-300 text-gray-700 px-4 py-2 rounded-lg hover:from-gray-300 hover:to-gray-400 transition-all duration-300 shadow-md hover:shadow-lg;}@media (max-width: 640px){.container{@apply px-4;}.day-selector{@apply text-sm px-2 py-1;}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.focus-ring{@apply focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2;}.progress-bar{@apply h-2 bg-gray-200 rounded-full overflow-hidden;}.progress-bar-fill{@apply h-full bg-gradient-to-r from-blue-500 to-blue-600 transition-all duration-300;}.card-header{@apply border-b border-gray-200 pb-4 mb-4;}.stats-grid{@apply grid grid-cols-2 gap-4 sm:grid-cols-4;}.form-group{@apply space-y-1;}.form-label{@apply block text-sm font-medium text-gray-700;}.form-input{@apply mt-1 block w-full rounded-lg border-gray-300 shadow-sm focus:border-blue-500 focus:ring-blue-500;}.section-title{@apply text-xl font-bold text-gray-900 mb-4;}.empty-state{@apply text-center py-8 text-gray-500;}.success-message{@apply bg-green-50 text-green-800 p-4 rounded-lg mb-4 border border-green-200;}.error-message{@apply bg-red-50 text-red-800 p-4 rounded-lg mb-4 border border-red-200;}.exercise-item{@apply flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-50 transition-colors;}.exercise-item.completed{@apply bg-green-50;}.icon{@apply text-blue-600;}.icon.abs{@apply text-red-500;}.bg-gradient{background:linear-gradient(135deg,#f6f8fc,#fff)}.card-shadow{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.hover-lift{transition:transform .2s ease}.hover-lift:hover{transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}.edit-entry,.delete-entry{@apply p-2 rounded-full transition-all duration-300;}.edit-entry{@apply text-blue-600 hover:text-blue-800 hover:bg-blue-50;}.delete-entry{@apply text-red-600 hover:text-red-800 hover:bg-red-50;}.progress-entry{@apply transition-all duration-300;}.progress-entry:hover{@apply bg-gray-50;}.progress-entry .actions{@apply opacity-0 transition-opacity duration-300;}.progress-entry:hover .actions{@apply opacity-100;}.form-edit-mode{@apply border-2 border-blue-500 rounded-lg p-4;}.edit-mode-submit{@apply bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition-colors duration-300;}.delete-confirmation{@apply fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50;}.delete-confirmation-content{@apply bg-white rounded-lg p-6 max-w-md w-full mx-4;}.delete-confirmation-buttons{@apply flex justify-end space-x-4 mt-4;}.delete-confirmation-button{@apply px-4 py-2 rounded-lg transition-colors duration-300;}.delete-confirmation-button.cancel{@apply bg-gray-200 text-gray-700 hover:bg-gray-300;}.delete-confirmation-button.confirm{@apply bg-red-600 text-white hover:bg-red-700;}#mobile-menu{position:absolute;top:100%;left:0;right:0;z-index:40;background:#2563ebfa;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-top:1px solid rgba(255,255,255,.1)}#mobile-menu .flex{padding:.5rem 0}#mobile-menu .day-selector{padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);transition:all .2s ease;display:flex;align-items:center;font-size:1rem}#mobile-menu .day-selector:hover{background:#ffffff1a}#mobile-menu .day-selector:last-child{border-bottom:none}#mobile-menu .day-selector i{width:24px;text-align:center;margin-right:.75rem}@media (max-width: 768px){nav{position:relative}#menu-toggle{padding:.5rem;z-index:51;background:transparent;border:none;cursor:pointer}#menu-toggle:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}#menu-toggle i{transition:transform .3s ease}#menu-toggle.active i{transform:rotate(90deg)}#mobile-menu{z-index:50}#mobile-menu .day-selector{min-height:44px;display:flex;align-items:center;font-size:1rem}#mobile-menu .day-selector.active{background:#fff;color:#2563eb;font-weight:500}#mobile-menu .day-selector{position:relative;overflow:hidden}#mobile-menu .day-selector:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#ffffff80;opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}#mobile-menu .day-selector:active:after{animation:ripple .6s ease-out}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(20);opacity:0}}}@media (max-width: 640px){.progress-form .grid{grid-template-columns:1fr}.progress-form input,.progress-form textarea{margin-bottom:1rem}}.mobile-menu-enter{opacity:0;transform:translateY(-10px)}.mobile-menu-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.mobile-menu-exit{opacity:1;transform:translateY(0)}.mobile-menu-exit-active{opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s}@media (hover: none){.day-selector:active,.edit-entry:active,.delete-entry:active,.btn-primary:active,.btn-secondary:active{transform:scale(.98)}}@keyframes pull-to-refresh{0%{transform:translateY(0)}50%{transform:translateY(20px)}to{transform:translateY(0)}}.pull-to-refresh{animation:pull-to-refresh 1s ease-in-out}@media (max-width: 768px){html{-webkit-overflow-scrolling:touch}body{overscroll-behavior-y:contain}}@supports (padding: max(0px)){.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}nav{padding-top:max(1rem,env(safe-area-inset-top))}}@media (max-width: 768px){.sticky{position:relative;top:0}.sticky.active{position:fixed;top:0;left:0;right:0;z-index:30}}@media (max-width: 768px){.loading{min-height:200px;display:flex;align-items:center;justify-content:center}.loading:after{content:"";width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}}@media (max-width: 768px){input:invalid,textarea:invalid{border-color:#ef4444}.error-message{color:#ef4444;font-size:.875rem;margin-top:.25rem}}@media (max-width: 768px){.swipeable{touch-action:pan-y pinch-zoom}.swipeable-left{transform:translate(-100%)}.swipeable-right{transform:translate(100%)}}@media (max-width: 768px){button:focus,input:focus,textarea:focus{outline:none;box-shadow:0 0 0 3px #3b82f680}.focus-visible:focus{outline:none;box-shadow:0 0 0 3px #3b82f680}}@media (max-width: 768px){.slide-up{animation:slideUp .3s ease-out}.slide-down{animation:slideDown .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}}nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:0 3px;margin:0}nav .container{max-width:100%;padding:0 1rem;margin:0}nav .flex{padding:0;margin:0}@media (max-width: 767px){nav .w-full{padding:.5rem 0}}@media (min-width: 768px){nav .container{padding:0 2rem}nav .flex{padding:.5rem 0}.day-selector{font-size:.875rem;padding:.25rem .75rem}}
