@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;600;700;800&display=swap";.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{background:#ffffff0d;backdrop-filter:blur(60px);-webkit-backdrop-filter:blur(60px);border:1px solid rgba(255,255,255,.15);border-radius:2rem;padding:3rem 2rem;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a inset;max-width:440px;width:100%;text-align:center;position:relative}.login-card .logo{width:120px;height:auto;margin:0 auto 2rem;display:block;filter:drop-shadow(0 10px 30px rgba(var(--theme-primary-rgb),.5))}.login-card .subtitle{font-size:.95rem;color:#d1d5db;margin-bottom:3rem;font-weight:400;line-height:1.6}.login-card .btn-google{width:100%;background:#fffffff2;color:#1f2937;border:none;padding:1rem 2rem;border-radius:1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:1rem;box-shadow:0 4px 20px #0000004d,0 0 0 1px #ffffff1a inset;font-family:Plus Jakarta Sans,sans-serif}.login-card .btn-google:hover:not(:disabled){background:#fff;transform:translateY(-2px);box-shadow:0 8px 30px #0006,0 0 20px rgba(var(--theme-primary-rgb),.3)}.login-card .btn-google:active{transform:translateY(0)}.login-card .btn-google:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-card .btn-google .google-icon{width:20px;height:20px}.login-card .terms{margin-top:2rem;font-size:.8rem;color:#9ca3af;line-height:1.6}.login-card .terms a{color:rgb(var(--theme-primary-rgb));text-decoration:none;font-weight:500}.login-card .terms a:hover{text-decoration:underline}.login-card .error-message{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem;border-radius:1.25rem;margin-top:1.5rem;font-size:.9rem}@media (min-width: 640px){.login-card{padding:4rem 3rem}.login-card .logo{width:140px}.login-card .subtitle{font-size:1rem}}@media (min-width: 768px){.login-card{padding:6rem 4rem}.login-card .logo{width:160px}.login-card .subtitle{font-size:1.05rem}}.empty-state{width:min(1100px,100% - 2.5rem);margin:clamp(2.5rem,6vh,4.5rem) auto 0;padding:clamp(1rem,2vw,1.25rem);text-align:center;color:#f5f6ffeb;animation:es-fadeUp .52s ease both}.empty-icon{display:none}.empty-state h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem;color:#e5d2aaf2;text-shadow:0 8px 22px rgba(0,0,0,.35)}.empty-state .subtitle{max-width:820px;margin:0 auto 2.25rem;font-size:clamp(1rem,1.25vw,1.1rem);line-height:1.65;color:#ebeeff9e;text-shadow:0 10px 26px rgba(0,0,0,.35)}.features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,1.5vw,1.4rem);width:min(980px,100%);margin:0 auto 2.25rem}@media (max-width: 860px){.features-grid{grid-template-columns:1fr;width:min(520px,100%)}}.feature-card{position:relative;border-radius:18px;padding:1.35rem 1.25rem;text-align:left;background:#10121c66;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.feature-card:hover{transform:translateY(-3px);border-color:#ffffff24;background:#10121c80}.feature-card:active{transform:translateY(-1px)}.feature-card .icon{display:inline-flex;font-size:1.8rem;margin-bottom:.9rem;line-height:1;opacity:.95;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}.feature-card .text{display:block;font-size:1.05rem;font-weight:600;line-height:1.35;color:#f0f2ffe0}.feature-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.35}.feature-card:after{content:"";position:absolute;left:14px;right:14px;bottom:12px;height:1px;background:#ffffff0f;pointer-events:none}.btn-create-cycle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);cursor:pointer;padding:.95rem 2.2rem;border-radius:999px;font-size:1.05rem;font-weight:700;letter-spacing:.01em;color:#ffffffeb;background:linear-gradient(135deg,#7a4bff8c,#5b34d673);box-shadow:0 18px 45px #00000080,0 10px 26px #7a4bff38,inset 0 1px #ffffff1f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.btn-create-cycle:hover{transform:translateY(-2px);border-color:#ffffff29;background:linear-gradient(135deg,#7a4bffa6,#5b34d68c);box-shadow:0 22px 55px #0000008c,0 14px 30px #7a4bff47,inset 0 1px #ffffff24}.btn-create-cycle:active{transform:translateY(0);box-shadow:0 14px 35px #00000080,0 10px 22px #7a4bff2e}.btn-create-cycle:focus-visible{outline:none;box-shadow:0 0 0 3px #7a4bff59,0 20px 55px #0000008c}@keyframes es-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tier-up-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .3s ease}.tier-up-modal{background:#ffffff0d;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.15);border-radius:2rem;padding:2.5rem 2rem;max-width:450px;width:100%;text-align:center;box-shadow:0 30px 80px #000000b3,0 0 0 1px #ffffff1a inset;animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1);position:relative}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{margin-bottom:2rem}.modal-header h2{font-size:1.5rem;font-weight:700;color:#fff;margin:0;font-family:Plus Jakarta Sans,sans-serif}.tier-icon-container{margin-bottom:2rem}.tier-icon-container .tier-icon{font-size:5rem;margin-bottom:1rem;animation:bounce .6s ease;display:inline-block}.tier-icon-container .tier-name{font-size:2rem;font-weight:700;margin:0;font-family:Plus Jakarta Sans,sans-serif;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 0 20px currentColor}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.challenge-info{margin-bottom:2rem}.challenge-info .message{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:1rem}.challenge-info .challenge-name{font-size:1rem;color:#d1d5db;margin:0}.unlock-info{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1rem;margin-bottom:2rem}.unlock-info .unlock-label{font-size:.85rem;color:#9ca3af;margin:0 0 .5rem}.unlock-info .unlock-date{font-size:1rem;font-weight:600;color:#fff;margin:0;font-family:Plus Jakarta Sans,sans-serif}.btn-close{width:100%;padding:1rem;background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary));border:none;border-radius:1.5rem;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 10px 30px rgba(var(--theme-primary-rgb),.4)}.btn-close:hover{transform:translateY(-2px);box-shadow:0 15px 40px rgba(var(--theme-primary-rgb),.5)}.btn-close:active{transform:translateY(0)}@media (max-width: 640px){.tier-up-modal{padding:2rem 1.5rem}.tier-up-modal .tier-icon-container .tier-icon{font-size:4rem}.tier-up-modal .tier-icon-container .tier-name{font-size:1.5rem}}.challenge-card{background:#ffffff0d;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;padding:1.5rem;transition:all .3s ease;box-shadow:0 10px 30px #0000004d,0 0 0 1px #ffffff0d inset}.challenge-card:hover{transform:translateY(-2px);border-color:#ffffff26;box-shadow:0 15px 40px #0006,0 0 0 1px #ffffff14 inset}.challenge-card.compact .challenge-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.challenge-card.compact .challenge-header .challenge-icon{font-size:1.5rem}.challenge-card.compact .challenge-header .challenge-title{display:flex;align-items:center;gap:.5rem}.challenge-card.compact .challenge-header .challenge-title h4{font-size:1rem;font-weight:600;color:#fff;margin:0;font-family:Plus Jakarta Sans,sans-serif}.challenge-card.compact .challenge-header .challenge-title .unviewed-dot{color:#ef4444;font-size:.5rem;animation:pulse 2s infinite}.challenge-card.compact .tier-display{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.challenge-card.compact .tier-display .tier-icon{font-size:1.25rem}.challenge-card.compact .tier-display .tier-name{font-size:.9rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif}.challenge-card.compact .progress-bar{height:8px;background:#ffffff1a;border-radius:1rem;overflow:hidden;margin-bottom:.5rem}.challenge-card.compact .progress-bar .progress-fill{height:100%;border-radius:1rem;transition:width .6s cubic-bezier(.4,0,.2,1)}.challenge-card.compact .progress-text{font-size:.85rem;color:#9ca3af;text-align:center;margin:0}.challenge-card.compact .max-tier{font-size:.9rem;font-weight:600;color:#fbbf24;text-align:center;margin:0}.challenge-card.full .challenge-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.challenge-card.full .challenge-header .challenge-info{display:flex;gap:1rem;align-items:flex-start}.challenge-card.full .challenge-header .challenge-info .challenge-icon{font-size:2rem;flex-shrink:0}.challenge-card.full .challenge-header .challenge-info h3{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 .25rem;font-family:Plus Jakarta Sans,sans-serif}.challenge-card.full .challenge-header .challenge-info .challenge-description{font-size:.9rem;color:#9ca3af;margin:0}.challenge-card.full .challenge-header .unviewed-badge{background:#ef4444;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:1rem;animation:pulse 2s infinite}.challenge-card.full .tier-section{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.challenge-card.full .tier-section .current-tier{display:flex;align-items:center;gap:1rem;flex:1}.challenge-card.full .tier-section .current-tier .tier-icon-large{font-size:3rem}.challenge-card.full .tier-section .current-tier .tier-info{display:flex;flex-direction:column}.challenge-card.full .tier-section .current-tier .tier-info .tier-label{font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.challenge-card.full .tier-section .current-tier .tier-info .tier-name{font-size:1.5rem;font-weight:700;font-family:Plus Jakarta Sans,sans-serif}.challenge-card.full .tier-section .current-value{display:flex;flex-direction:column;align-items:flex-end}.challenge-card.full .tier-section .current-value .value-label{font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.challenge-card.full .tier-section .current-value .value-number{font-size:1.75rem;font-weight:700;color:#fff;font-family:Plus Jakarta Sans,sans-serif}.challenge-card.full .progress-section{margin-bottom:1.5rem}.challenge-card.full .progress-section .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.challenge-card.full .progress-section .progress-header .next-tier-label{font-size:.9rem;font-weight:600;color:#d1d5db}.challenge-card.full .progress-section .progress-header .progress-percentage{font-size:.9rem;font-weight:700;color:#fff;font-family:Plus Jakarta Sans,sans-serif}.challenge-card.full .progress-section .progress-bar{width:100%;height:12px;background:#ffffff1a;border-radius:1rem;overflow:hidden;margin-bottom:.75rem}.challenge-card.full .progress-section .progress-bar .progress-fill{height:100%;border-radius:1rem;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 20px currentColor}.challenge-card.full .progress-section .remaining-text{font-size:.85rem;color:#9ca3af;text-align:center;margin:0}.challenge-card.full .max-tier-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.2);border-radius:1rem;margin-bottom:1.5rem}.challenge-card.full .max-tier-section .max-tier-icon{font-size:2.5rem}.challenge-card.full .max-tier-section .max-tier-text{font-size:1rem;font-weight:600;color:#fbbf24;margin:0}.challenge-card.full .tier-history h4{font-size:.9rem;font-weight:600;color:#9ca3af;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.challenge-card.full .tier-history .history-list{display:flex;flex-direction:column;gap:.75rem}.challenge-card.full .tier-history .history-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;transition:all .3s ease}.challenge-card.full .tier-history .history-item:hover{background:#ffffff0d;border-color:#ffffff1f}.challenge-card.full .tier-history .history-item .history-tier-icon{font-size:1.5rem;flex-shrink:0}.challenge-card.full .tier-history .history-item .history-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.challenge-card.full .tier-history .history-item .history-info .history-tier-name{font-size:.9rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif}.challenge-card.full .tier-history .history-item .history-info .history-date{font-size:.75rem;color:#9ca3af}.challenge-card.full .tier-history .history-item .history-new-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .5rem;border-radius:.5rem;flex-shrink:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 640px){.challenge-card.full .tier-section{flex-direction:column;gap:1rem}.challenge-card.full .tier-section .current-value{align-items:flex-start}}.dashboard{min-height:100vh;padding:clamp(1rem,2vw,1.5rem);padding-bottom:120px;animation:dash-fadeUp .52s ease both}.dashboard-header{position:relative;background:#10121c73;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:clamp(1.25rem,2vw,1.75rem);margin-bottom:clamp(1.5rem,3vh,2rem);display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dashboard-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.35}.dashboard-header .user-info{position:relative;z-index:1;display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.dashboard-header .user-info .user-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.15);box-shadow:0 8px 20px #00000059,inset 0 1px #ffffff1a}.dashboard-header .user-info .user-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-header .user-info .user-avatar .avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}.dashboard-header .user-info .user-details{flex:1;min-width:0}.dashboard-header .user-info .user-details h2{font-size:clamp(1.15rem,2vw,1.35rem);font-weight:700;color:#e5d2aaf2;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 4px 12px rgba(0,0,0,.3)}.dashboard-header .user-info .user-details .cycle-name{font-size:clamp(.85rem,1.1vw,.95rem);color:#ebeeffa6;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-header .btn-logout{position:relative;z-index:1;background:#ef444433;border:1px solid rgba(239,68,68,.35);color:#fca5a5f2;padding:clamp(.7rem,1vw,.85rem) clamp(1.1rem,1.5vw,1.35rem);border-radius:999px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .22s ease;white-space:nowrap;flex-shrink:0;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 6px 16px #ef444433}.dashboard-header .btn-logout:hover{background:#ef44444d;border-color:#ef444480;transform:translateY(-2px);box-shadow:0 10px 24px #ef444440}.dashboard-header .btn-logout:active{transform:translateY(0)}.stats-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.5vw,1.25rem);margin-bottom:clamp(1.5rem,3vh,2rem)}.stat-card{position:relative;background:#10121c66;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:clamp(1.25rem,2vw,1.75rem);display:flex;align-items:center;gap:1rem;transition:all .25s ease;box-shadow:0 12px 35px #0006,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.stat-card:hover{transform:translateY(-3px);border-color:#ffffff1f;background:#10121c80;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0f}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff14,#fff0 35%,#fff0);opacity:.4}.stat-card .stat-icon{position:relative;z-index:1;font-size:clamp(1.75rem,3vw,2.25rem);flex-shrink:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.stat-card .stat-info{position:relative;z-index:1;flex:1;min-width:0}.stat-card .stat-info h3{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;color:#f0f2fff2;margin:0 0 .15rem;font-family:Plus Jakarta Sans,sans-serif;line-height:1.1;text-shadow:0 4px 12px rgba(0,0,0,.25)}.stat-card .stat-info p{font-size:clamp(.8rem,1vw,.9rem);color:#ebeeff99;margin:0;font-weight:500}.challenges-showcase{position:relative;background:#10121c66;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:clamp(1.25rem,2vw,2rem);margin-bottom:clamp(1.5rem,3vh,2rem);box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.challenges-showcase:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.35}.challenges-showcase .showcase-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(1rem,2vh,1.5rem);gap:.75rem}.challenges-showcase .showcase-header h3{font-size:clamp(1.15rem,1.8vw,1.35rem);font-weight:700;color:#f0f2ffeb;margin:0}.challenges-showcase .showcase-header .unviewed-badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.8rem;font-weight:800;padding:.3rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);box-shadow:0 6px 16px #ef444459,inset 0 1px #ffffff26;animation:pulse 2s ease-in-out infinite}.challenges-showcase .unviewed-alert{position:relative;z-index:1;background:#ef44442e;border:1px solid rgba(239,68,68,.35);border-radius:12px;padding:1rem 1.25rem;margin:1rem 0;text-align:center;color:#fca5a5f2;font-size:.95rem;font-weight:600;box-shadow:0 6px 16px #ef444433}.challenges-showcase .btn-view-achievements{position:relative;z-index:1;width:100%;padding:clamp(.9rem,1.5vw,1.1rem);background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#ffffffe6;font-size:.98rem;font-weight:700;cursor:pointer;transition:all .22s ease;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 6px 16px #0000004d}.challenges-showcase .btn-view-achievements:hover{background:#ffffff24;border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 10px 24px #00000059}.challenges-showcase .btn-view-achievements:active{transform:translateY(0)}.challenges-showcase>*:not(:last-child){margin-bottom:1.25rem}.today-workout{margin-bottom:clamp(1.5rem,3vh,2rem)}.today-workout h3{font-size:clamp(1.15rem,1.8vw,1.35rem);font-weight:700;color:#f0f2ffeb;margin-bottom:1rem}.workout-card{position:relative;background:#10121c66;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:clamp(1.25rem,2vw,2rem);transition:all .25s ease;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.workout-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.35}.workout-card .workout-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.workout-card .workout-header h4{font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:700;color:#f0f2ffeb;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-card .workout-header .workout-badge{background:#7a4bff33;border:1px solid rgba(122,75,255,.3);color:#b496fff2;padding:.35rem .85rem;border-radius:999px;font-size:.85rem;font-weight:700;white-space:nowrap;flex-shrink:0;box-shadow:0 4px 12px #7a4bff26}.workout-card .exercises-preview{position:relative;z-index:1;margin-bottom:1.5rem}.workout-card .exercises-preview .exercises-count{color:#ebeeffb3;font-size:.95rem;font-weight:500;margin:0}.workout-card .btn-start-workout{position:relative;z-index:1;width:100%;padding:clamp(.95rem,1.5vw,1.15rem);background:linear-gradient(135deg,#7a4bffa6,#5b34d68c);border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#fffffff2;font-size:clamp(.95rem,1.2vw,1.05rem);font-weight:700;letter-spacing:.01em;cursor:pointer;transition:all .22s ease;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 18px 45px #00000080,0 10px 26px #7a4bff4d,inset 0 1px #ffffff1f}.workout-card .btn-start-workout:hover{background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);border-color:#ffffff29;transform:translateY(-2px);box-shadow:0 22px 55px #0000008c,0 14px 30px #7a4bff59,inset 0 1px #ffffff24}.workout-card .btn-start-workout:active{transform:translateY(0)}.workout-card .btn-start-workout:focus-visible{outline:none;box-shadow:0 0 0 3px #7a4bff59,0 20px 55px #0000008c}.no-workout{position:relative;background:#10121c66;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:clamp(2rem,3vw,2.5rem);text-align:center;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.no-workout:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.35}.no-workout p{position:relative;z-index:1;color:#ebeeffa6;margin:0;font-size:1rem;font-weight:500}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.5vw,1.25rem)}.action-btn{position:relative;background:#10121c66;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:clamp(1.25rem,2vw,1.5rem) clamp(1rem,1.5vw,1.25rem);display:flex;flex-direction:column;align-items:center;gap:.85rem;cursor:pointer;transition:all .25s ease;box-shadow:0 12px 35px #0006,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.action-btn:hover{transform:translateY(-3px);border-color:#ffffff1f;background:#10121c80;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0f}.action-btn:active{transform:translateY(0)}.action-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff14,#fff0 35%,#fff0);opacity:.4}.action-btn .action-icon{position:relative;z-index:1;font-size:clamp(1.6rem,2.5vw,1.9rem);filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.action-btn .action-label{position:relative;z-index:1;color:#f0f2ffe6;font-size:clamp(.85rem,1.1vw,.95rem);font-weight:600;text-align:center;font-family:Plus Jakarta Sans,sans-serif}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:clamp(3rem,6vh,5rem) 2rem}.loading .loading-spinner{width:56px;height:56px;border:4px solid rgba(255,255,255,.08);border-top-color:#7a4bffbf;border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 8px 20px #0000004d,inset 0 0 0 1px #ffffff0a}.loading p{color:#ebeeffa6;font-size:.95rem;font-weight:500}@keyframes dash-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(.98)}}@media (max-width: 639px){.dashboard{padding:1rem;padding-bottom:100px}.dashboard-header{flex-direction:column;align-items:stretch;padding:1.25rem}.dashboard-header .user-info{margin-bottom:1rem}.dashboard-header .user-info .user-avatar{width:48px;height:48px}.dashboard-header .btn-logout{width:100%;text-align:center;justify-content:center}.stats-cards{grid-template-columns:1fr;gap:.85rem}.workout-card .workout-header{flex-direction:column;align-items:flex-start;gap:.75rem}.workout-card .workout-header .workout-badge{align-self:flex-start}.quick-actions{grid-template-columns:1fr;gap:.85rem}.quick-actions .action-btn{flex-direction:row;justify-content:flex-start;padding:1.15rem 1.35rem;gap:1.25rem}.quick-actions .action-btn .action-label{text-align:left}}@media (min-width: 640px) and (max-width: 1024px){.dashboard{padding:clamp(1.5rem,2.5vw,2rem)}.stats-cards,.quick-actions{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1025px){.dashboard{max-width:1280px;margin:0 auto;padding:clamp(2rem,3vw,3.5rem) clamp(1.5rem,2vw,2.5rem)}.dashboard-header .user-info .user-avatar{width:64px;height:64px}.stats-cards,.quick-actions{gap:1.5rem}}@media (prefers-reduced-motion: reduce){.dashboard{animation:none}*{transition-duration:.01ms!important}.loading-spinner{animation-duration:2s!important}.unviewed-badge{animation:none!important}}.day-editor{min-height:100vh;padding:clamp(1rem,2vw,1.5rem);padding-bottom:120px;animation:de-fadeUp .52s ease both}.form-label{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.5rem;position:relative;z-index:1}.form-checkbox{position:relative;z-index:1;display:flex;gap:1rem;align-items:flex-start;padding:clamp(1rem,1.5vw,1.25rem);background:#10121c80;border:1px solid rgba(255,255,255,.1);border-radius:14px;cursor:pointer;transition:all .25s ease;box-shadow:0 8px 20px #00000059,inset 0 1px #ffffff0a}.form-checkbox:hover{background:#10121c99;border-color:#ffffff24;transform:translateY(-1px)}.form-checkbox:active{transform:translateY(0)}.form-checkbox input[type=checkbox]{width:22px;height:22px;margin-top:.125rem;cursor:pointer;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#0a0c1499;border:2px solid rgba(255,255,255,.15);border-radius:6px;position:relative;transition:all .25s ease;box-shadow:0 4px 12px #0000004d,inset 0 1px 2px #0003}.form-checkbox input[type=checkbox]:hover{border-color:#7a4bff66;background:#0a0c14b3}.form-checkbox input[type=checkbox]:checked{background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);border-color:#7a4bff80;box-shadow:0 6px 16px #7a4bff4d,inset 0 1px #ffffff26}.form-checkbox input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.form-checkbox input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #7a4bff40,0 4px 12px #0000004d}.form-checkbox .checkbox-label{flex:1}.form-checkbox .checkbox-label strong{display:block;color:#f0f2ffeb;font-size:1rem;font-weight:600;margin-bottom:.35rem}.form-checkbox .checkbox-label small{display:block;color:#ebeeff99;font-size:.9rem;line-height:1.5}.input-text.small{padding:clamp(.7rem,1.2vw,.85rem) clamp(.9rem,1.5vw,1.1rem);font-size:.95rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group .input-hint{color:#ebeeff80;font-size:.85rem;font-style:italic;padding-left:.25rem}.empty-state{position:relative;background:#10121c80;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:clamp(2rem,4vw,3rem);text-align:center;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.exercises-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1rem}.exercise-card{position:relative;background:#10121c80;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:clamp(1.5rem,2vw,2rem);box-shadow:0 12px 35px #0006,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .25s ease}.exercise-card:hover{background:#10121c99;border-color:#ffffff24;box-shadow:0 16px 42px #00000073,inset 0 1px #ffffff0f}.exercise-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff14,#fff0 35%,#fff0);opacity:.4}.exercise-card .exercise-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.exercise-card .exercise-header .exercise-number{background:linear-gradient(135deg,#7a4bffa6,#5b34d68c);color:#fffffff2;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 20px #7a4bff4d,inset 0 1px #ffffff26;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}.exercise-card .exercise-header .exercise-actions{display:flex;gap:.65rem;flex-shrink:0}.exercise-card .exercise-fields{position:relative;z-index:1;display:flex;flex-direction:column;gap:1rem}.btn-icon.small{width:36px;height:36px;font-size:.95rem;border-radius:8px}.collapsible-section{border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;background:#0a0c1459;box-shadow:0 6px 16px #0000004d;transition:all .25s ease}.collapsible-section:hover{border-color:#ffffff24}.collapsible-section .collapse-header{width:100%;background:#7a4bff1f;border:none;padding:clamp(.85rem,1.2vw,1rem) clamp(1rem,1.5vw,1.25rem);display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:#f0f2ffe6;font-weight:600;font-size:.95rem;transition:all .22s ease;font-family:Plus Jakarta Sans,sans-serif;border-bottom:1px solid rgba(255,255,255,.06)}.collapsible-section .collapse-header:hover{background:#7a4bff2e}.collapsible-section .collapse-header:active{background:#7a4bff38}.collapsible-section .collapse-header .collapse-icon{color:#b496ffe6;font-size:.85rem;font-weight:700;transition:transform .25s ease}.collapsible-section .collapse-content{padding:clamp(1rem,1.5vw,1.25rem);background:#00000026;display:flex;flex-direction:column;gap:.85rem;border-top:1px solid rgba(255,255,255,.04)}.list-item{display:flex;gap:.65rem;align-items:center}.list-item .item-number{color:#b496fff2;font-weight:700;font-size:.95rem;flex-shrink:0;min-width:1.75rem;text-align:right}.list-item .item-icon{color:#b496ffe6;font-size:1.35rem;flex-shrink:0;min-width:1.5rem;text-align:center;line-height:1}.list-item .input-text{flex:1;padding:clamp(.7rem,1.2vw,.85rem) clamp(.9rem,1.5vw,1.1rem);font-size:.95rem}.list-item .btn-icon.small{flex-shrink:0}.btn-add-item{width:100%;padding:clamp(.8rem,1.2vw,.95rem) clamp(1rem,1.5vw,1.25rem);background:transparent;border:1px dashed rgba(122,75,255,.3);border-radius:10px;color:#b496ffd9;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .22s ease;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 4px 12px #0003}.btn-add-item:hover{background:#7a4bff14;border-color:#7a4bff73;color:#b496fff2;transform:translateY(-1px);box-shadow:0 6px 16px #00000040}.btn-add-item:active{transform:translateY(0)}@keyframes de-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 640px){.editor-actions{flex-direction:row;justify-content:flex-end}.editor-actions .btn{width:auto;min-width:140px}}@media (min-width: 768px){.day-editor{padding:clamp(1.5rem,3vw,3rem)}}@media (prefers-reduced-motion: reduce){.day-editor{animation:none}*{transition-duration:.01ms!important}.collapse-icon{transition:none!important}}.cycle-editor{min-height:100vh;padding:clamp(1rem,2vw,1.5rem);padding-bottom:120px;animation:ce-fadeUp .52s ease both}.editor-header{width:min(1100px,100%);margin:0 auto clamp(1.5rem,3vh,2.5rem);padding:clamp(1.5rem,2.5vw,2rem);border-radius:18px;background:#10121c73;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.editor-header h1{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.02em;color:#e5d2aaf2;margin-bottom:.5rem;text-shadow:0 8px 22px rgba(0,0,0,.35)}.editor-header .subtitle{font-size:clamp(.9rem,1.1vw,1rem);line-height:1.5;color:#ebeeff9e}.editor-content{width:min(1100px,100%);margin:0 auto;display:flex;flex-direction:column;gap:clamp(1.5rem,2.5vh,2rem)}.form-section{position:relative;padding:clamp(1.25rem,2vw,2rem);border-radius:18px;background:#10121c66;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.form-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.35}.form-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(1rem,2vh,1.5rem);flex-wrap:wrap;gap:.75rem}.form-section .section-header h2{font-size:clamp(1.1rem,1.5vw,1.25rem);font-weight:600;color:#f0f2ffeb}.form-section .section-header .badge{background:#7a4bff33;color:#b496fff2;padding:.35rem 1rem;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid rgba(122,75,255,.25);box-shadow:0 4px 12px #7a4bff26}.form-label{display:flex;flex-direction:column;gap:.65rem}.form-label span{font-weight:600;color:#f0f2ffe0;font-size:.95rem}.form-label small{color:#ebeeff8c;font-size:.85rem;margin-top:-.25rem}.input-text{width:100%;padding:clamp(.9rem,1.5vw,1.1rem);border:1px solid rgba(255,255,255,.12);border-radius:12px;font-size:clamp(.9rem,1.1vw,1rem);background:#0a0c1499;color:#ffffffeb;transition:all .25s ease;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 8px 20px #00000059,inset 0 1px 2px #0003}.input-text:focus{outline:none;border-color:#7a4bff80;background:#0a0c14bf;box-shadow:0 0 0 3px #7a4bff26,0 8px 20px #00000059}.input-text::placeholder{color:#ebeeff66}.import-export-actions{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.json-import-area{position:relative;background:#0a0c1480;border:1px solid rgba(122,75,255,.25);border-radius:14px;padding:clamp(1.25rem,2vw,1.5rem);margin-top:1rem;box-shadow:0 12px 30px #0006,inset 0 1px #ffffff0a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.json-import-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#7a4bff14,#7a4bff00 35%,#7a4bff00);opacity:.4}.json-import-area .form-label{position:relative;z-index:1}.json-import-area button{margin-top:1rem;width:100%}.input-textarea{width:100%;min-height:200px;padding:1rem;border:1px solid rgba(122,75,255,.3);border-radius:10px;font-size:.875rem;line-height:1.6;background:#080a12bf;color:#ffffffeb;font-family:Courier New,Consolas,Monaco,monospace;resize:vertical;transition:all .25s ease;box-shadow:0 8px 20px #00000059,inset 0 2px 4px #00000040}.input-textarea:focus{outline:none;border-color:#7a4bff8c;background:#080a12d9;box-shadow:0 0 0 3px #7a4bff26,0 8px 20px #00000059}.input-textarea::placeholder{color:#ebeeff59;font-family:Plus Jakarta Sans,sans-serif}.input-textarea::-webkit-scrollbar{width:8px}.input-textarea::-webkit-scrollbar-track{background:#0003;border-radius:4px}.input-textarea::-webkit-scrollbar-thumb{background:#7a4bff4d;border-radius:4px}.input-textarea::-webkit-scrollbar-thumb:hover{background:#7a4bff73}.empty-state{position:relative;background:#10121c80;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:clamp(2rem,4vw,3rem);text-align:center;margin-bottom:30px!important;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.empty-state:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.35}.empty-state:after{content:"";position:absolute;left:20%;right:20%;bottom:1.5rem;height:1px;background:#ffffff0f;pointer-events:none}.empty-state p{position:relative;z-index:1;color:#f0f2ffd9;margin:.5rem 0;font-size:1.05rem;font-weight:500;line-height:1.5}.empty-state p:first-child{font-size:1.15rem;font-weight:600;color:#e5d2aae6;margin-bottom:.75rem}.empty-state p.small{color:#ebeeff8c;font-size:.95rem;font-weight:400;margin-top:.25rem}.days-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.day-card{position:relative;background:#10121c80;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:clamp(1.25rem,2vw,1.5rem);display:flex;flex-direction:column;gap:1rem;box-shadow:0 12px 35px #0006,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .25s ease}.day-card:hover{background:#10121c99;border-color:#ffffff24;transform:translateY(-2px);box-shadow:0 16px 42px #00000073,inset 0 1px #ffffff0f}.day-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff14,#fff0 35%,#fff0);opacity:.4}.day-card .day-info{display:flex;align-items:center;gap:1rem;flex:1}.day-card .day-number{background:linear-gradient(135deg,#7a4bffa6,#5b34d68c);color:#fffffff2;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 20px #7a4bff4d,inset 0 1px #ffffff26;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}.day-card .day-details{flex:1;min-width:0}.day-card .day-details h3{font-size:clamp(1.05rem,1.3vw,1.15rem);font-weight:600;color:#f0f2ffeb;margin-bottom:.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-card .day-details .day-meta{display:flex;gap:.85rem;align-items:center;flex-wrap:wrap}.day-card .day-details .day-meta .type-badge{padding:.3rem .7rem;border-radius:6px;font-size:.8rem;font-weight:700}.day-card .day-details .day-meta .type-badge.mandatory{background:#7a4bff33;color:#b496fff2;border:1px solid rgba(122,75,255,.3);box-shadow:0 4px 12px #7a4bff1f}.day-card .day-details .day-meta .type-badge.free{background:#10b98133;color:#6ee7b7f2;border:1px solid rgba(16,185,129,.3);box-shadow:0 4px 12px #10b9811f}.day-card .day-details .day-meta .exercises-count{color:#ebeeffb3;font-size:.9rem;font-weight:500}.day-card .day-actions{display:flex;gap:.65rem;flex-shrink:0;justify-content:flex-end}.btn-icon{background:#ffffff14;border:1px solid rgba(255,255,255,.12);width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .22s ease;font-size:1.05rem;color:#ffffffd9;box-shadow:0 6px 16px #0000004d}.btn-icon:hover:not(:disabled){transform:translateY(-2px);background:#ffffff24;border-color:#ffffff2e;box-shadow:0 10px 24px #00000059}.btn-icon:active:not(:disabled){transform:translateY(0)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-icon.primary{background:#7a4bff33;border-color:#7a4bff4d;color:#b496fff2;box-shadow:0 6px 16px #7a4bff33}.btn-icon.primary:hover:not(:disabled){background:#7a4bff4d;border-color:#7a4bff66;box-shadow:0 10px 24px #7a4bff40}.btn-icon.danger{background:#ef444433;border-color:#ef44444d;color:#fca5a5f2;box-shadow:0 6px 16px #ef444433}.btn-icon.danger:hover:not(:disabled){background:#ef44444d;border-color:#ef444466;box-shadow:0 10px 24px #ef444440}.btn-add{width:100%;padding:clamp(.95rem,1.5vw,1.1rem);background:#7a4bff1f;border:2px dashed rgba(122,75,255,.35);border-radius:14px;color:#b496ffeb;font-weight:700;font-size:.98rem;cursor:pointer;transition:all .22s ease;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 8px 20px #00000040}.btn-add:hover{background:#7a4bff2e;border-color:#7a4bff80;transform:translateY(-2px);box-shadow:0 12px 28px #0000004d}.btn-add:active{transform:translateY(0)}.error-message{background:#ef44442e;border:1px solid rgba(239,68,68,.35);color:#fca5a5f2;padding:1rem 1.25rem;border-radius:12px;font-size:.95rem;font-weight:500;text-align:center;box-shadow:0 8px 20px #ef444433}.btn{padding:clamp(.85rem,1.3vw,1rem) clamp(1.25rem,2.5vw,1.75rem);border-radius:999px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .22s ease;border:none;font-family:Plus Jakarta Sans,sans-serif;letter-spacing:.01em}.btn.ghost{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffd9;box-shadow:0 6px 16px #0000004d}.btn.ghost:hover:not(:disabled){background:#ffffff24;border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 10px 24px #00000059}.btn.ghost:active:not(:disabled){transform:translateY(0)}.btn.primary{background:linear-gradient(135deg,#7a4bffa6,#5b34d68c);color:#fffffff2;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 45px #00000080,0 10px 26px #7a4bff40,inset 0 1px #ffffff1f}.btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);border-color:#ffffff29;transform:translateY(-2px);box-shadow:0 22px 55px #0000008c,0 14px 30px #7a4bff4d,inset 0 1px #ffffff24}.btn.primary:active:not(:disabled){transform:translateY(0)}.btn.primary:focus-visible{outline:none;box-shadow:0 0 0 3px #7a4bff59,0 20px 55px #0000008c}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.editor-actions{display:flex;gap:1rem;flex-direction:column-reverse;background:#10121c59;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:1.25rem;box-shadow:0 12px 30px #0006;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.editor-actions .btn{padding:clamp(.95rem,1.5vw,1.1rem) clamp(1.5rem,3vw,2.2rem);border-radius:999px;font-weight:700;font-size:1.02rem;cursor:pointer;transition:all .22s ease;border:none;font-family:Plus Jakarta Sans,sans-serif;letter-spacing:.01em}.editor-actions .btn.ghost{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffd9;box-shadow:0 6px 16px #0000004d}.editor-actions .btn.ghost:hover:not(:disabled){background:#ffffff24;border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 10px 24px #00000059}.editor-actions .btn.ghost:active:not(:disabled){transform:translateY(0)}.editor-actions .btn.primary{background:linear-gradient(135deg,#7a4bffa6,#5b34d68c);color:#fffffff2;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 45px #00000080,0 10px 26px #7a4bff40,inset 0 1px #ffffff1f}.editor-actions .btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);border-color:#ffffff29;transform:translateY(-2px);box-shadow:0 22px 55px #0000008c,0 14px 30px #7a4bff4d,inset 0 1px #ffffff24}.editor-actions .btn.primary:active:not(:disabled){transform:translateY(0)}.editor-actions .btn.primary:focus-visible{outline:none;box-shadow:0 0 0 3px #7a4bff59,0 20px 55px #0000008c}.editor-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}@keyframes ce-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 640px){.day-card{flex-direction:row;align-items:center;gap:1.5rem}.editor-actions{flex-direction:row;justify-content:flex-end}.editor-actions .btn{width:auto;min-width:140px}.json-import-area button{width:auto;min-width:180px}}@media (min-width: 768px){.cycle-editor{padding:clamp(1.5rem,3vw,3rem)}}@media (prefers-reduced-motion: reduce){.cycle-editor{animation:none}*{transition-duration:.01ms!important}}.workout-session{min-height:100vh;padding:clamp(1rem,2vw,1.5rem);padding-bottom:120px;animation:ws-fadeUp .52s ease both}.session-header{position:relative;background:#10121c73;border:1px solid rgba(255,255,255,.08);border-radius:18px 18px 0 0;padding:clamp(1.25rem,2vw,2rem);margin:0 auto;max-width:1100px;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.session-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.35}.session-header .btn-back{position:relative;z-index:1;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffe6;font-size:.95rem;font-weight:600;padding:.65rem 1.25rem;margin-bottom:1.25rem;border-radius:999px;cursor:pointer;transition:all .22s ease;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 4px 12px #00000040}.session-header .btn-back:hover{background:#ffffff24;border-color:#ffffff2e;color:#b496fff2;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.session-header .btn-back:active{transform:translateY(0)}.session-header .header-info{position:relative;z-index:1}.session-header .header-info h1{font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700;letter-spacing:-.02em;color:#e5d2aaf2;margin-bottom:.75rem;text-shadow:0 4px 12px rgba(0,0,0,.3)}.session-header .header-info .progress-info{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.session-header .header-info .progress-info .type-badge{padding:.35rem 1rem;border-radius:999px;font-size:.85rem;font-weight:700}.session-header .header-info .progress-info .type-badge.mandatory{background:#7a4bff33;color:#b496fff2;border:1px solid rgba(122,75,255,.3);box-shadow:0 4px 12px #7a4bff26}.session-header .header-info .progress-info .type-badge.free{background:#10b98133;color:#6ee7b7f2;border:1px solid rgba(16,185,129,.3);box-shadow:0 4px 12px #10b98126}.session-header .header-info .progress-info .count{color:#ebeeffbf;font-weight:600;font-size:.95rem}.progress-bar{height:8px;background:#0a0c1499;margin:0 auto;max-width:1100px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-top:none;box-shadow:inset 0 2px 4px #0000004d}.progress-bar .progress-fill{height:100%;background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px #7a4bff80,inset 0 1px #fff3;position:relative}.progress-bar .progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.session-content{position:relative;background:#10121c66;border:1px solid rgba(255,255,255,.08);border-top:none;border-radius:0 0 18px 18px;padding:clamp(1.5rem,2.5vw,2.5rem);margin:0 auto;max-width:1100px;box-shadow:0 18px 45px #00000073,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.session-content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff14,#fff0 35%,#fff0);opacity:.4}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem}.loading .loading-spinner{width:64px;height:64px;border:5px solid rgba(255,255,255,.08);border-top-color:#7a4bffbf;border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 8px 20px #0000004d,inset 0 0 0 1px #ffffff0a}.loading p{color:#ebeeffb3;font-weight:600;font-size:1.05rem}.exercises-list{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.exercise-item{position:relative;background:#10121c80;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:clamp(1.25rem,2vw,1.75rem);transition:all .3s ease;box-shadow:0 8px 24px #00000059,inset 0 1px #ffffff0a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.exercise-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff0f,#fff0 35%,#fff0);opacity:.5}.exercise-item:hover{border-color:#ffffff24;box-shadow:0 12px 32px #0006,inset 0 1px #ffffff0d}.exercise-item.completed{background:#10b9811f;border-color:#10b9814d;box-shadow:0 8px 24px #10b98133,inset 0 1px #ffffff14}.exercise-item.completed:before{background:linear-gradient(135deg,#10b98126,#fff0 40%,#fff0);opacity:.6}.exercise-item.completed .exercise-info h3{text-decoration:line-through;color:#ebeeff8c}.exercise-item.completed .sets-reps{opacity:.6}.exercise-item .exercise-main{position:relative;z-index:1;display:flex;gap:1.25rem;margin-bottom:1rem;align-items:flex-start}.exercise-item .exercise-checkbox{display:flex;align-items:flex-start;cursor:pointer;flex-shrink:0;padding-top:.15rem}.exercise-item .exercise-checkbox input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:32px;height:32px;background:#0a0c1499;border:2px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;position:relative;transition:all .25s ease;box-shadow:0 4px 12px #0000004d,inset 0 1px 2px #0003}.exercise-item .exercise-checkbox input[type=checkbox]:hover{border-color:#7a4bff80;background:#0a0c14b3}.exercise-item .exercise-checkbox input[type=checkbox]:checked{background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);border-color:#7a4bff99;box-shadow:0 6px 16px #7a4bff59,inset 0 1px #fff3}.exercise-item .exercise-checkbox input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:18px;font-weight:800}.exercise-item .exercise-checkbox input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #7a4bff40,0 4px 12px #0000004d}.exercise-item .exercise-checkbox .checkmark{display:none}.exercise-item .exercise-info{flex:1;min-width:0}.exercise-item .exercise-info h3{font-size:clamp(1.05rem,1.5vw,1.15rem);font-weight:600;color:#f0f2ffeb;margin-bottom:.5rem;transition:all .3s ease;line-height:1.3}.exercise-item .exercise-info .sets-reps{color:#b496fff2;font-weight:700;font-size:.95rem;margin-bottom:.35rem;display:inline-block;padding:.2rem .65rem;background:#7a4bff1f;border-radius:6px;border:1px solid rgba(122,75,255,.2);transition:all .3s ease}.exercise-item .exercise-info .notes{color:#ebeeffa6;font-size:.9rem;font-style:italic;line-height:1.5;margin-top:.5rem}.exercise-item .collapsible-section{position:relative;z-index:1;margin-top:1rem}.exercise-item .collapsible-section .collapse-toggle{width:100%;background:#7a4bff1f;border:1px solid rgba(122,75,255,.25);padding:clamp(.7rem,1vw,.85rem) clamp(1rem,1.5vw,1.25rem);border-radius:10px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:#f0f2ffe6;font-weight:600;font-size:.9rem;transition:all .22s ease;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 4px 12px #0003}.exercise-item .collapsible-section .collapse-toggle:hover{background:#7a4bff2e;border-color:#7a4bff59;transform:translateY(-1px);box-shadow:0 6px 16px #00000040}.exercise-item .collapsible-section .collapse-toggle:active{transform:translateY(0)}.exercise-item .collapsible-section .collapse-toggle .icon{color:#b496ffe6;font-size:.85rem;font-weight:700;transition:transform .25s ease}.exercise-item .collapsible-section .steps-list,.exercise-item .collapsible-section .tips-list{margin-top:.75rem;padding:1rem 1rem .5rem 2rem;background:#0a0c1466;border-radius:10px;border:1px solid rgba(255,255,255,.06);color:#f0f2ffe0;font-size:.95rem;line-height:1.7;box-shadow:inset 0 2px 4px #0003}.exercise-item .collapsible-section .steps-list li,.exercise-item .collapsible-section .tips-list li{margin-bottom:.65rem;color:#ebeeffcc}.exercise-item .collapsible-section .steps-list li:last-child,.exercise-item .collapsible-section .tips-list li:last-child{margin-bottom:0}.exercise-item .collapsible-section .steps-list{list-style:decimal}.exercise-item .collapsible-section .steps-list li::marker{color:#b496ffd9;font-weight:700}.exercise-item .collapsible-section .tips-list{list-style:none;padding-left:1rem}.exercise-item .collapsible-section .tips-list li{position:relative;padding-left:1.5rem}.exercise-item .collapsible-section .tips-list li:before{content:"💡";position:absolute;left:0;font-size:1rem}.notes-section{position:relative;z-index:1;margin-bottom:2rem}.notes-section label{display:flex;flex-direction:column;gap:.65rem}.notes-section label strong{color:#f0f2ffe0;font-size:1rem;font-weight:600}.notes-section label textarea{width:100%;min-height:120px;padding:clamp(1rem,1.5vw,1.25rem);border:1px solid rgba(255,255,255,.12);border-radius:12px;font-size:.95rem;font-family:Plus Jakarta Sans,sans-serif;line-height:1.6;background:#0a0c1499;color:#ffffffeb;resize:vertical;transition:all .25s ease;box-shadow:0 8px 20px #00000059,inset 0 1px 2px #0003}.notes-section label textarea:focus{outline:none;border-color:#7a4bff80;background:#0a0c14bf;box-shadow:0 0 0 3px #7a4bff26,0 8px 20px #00000059}.notes-section label textarea::placeholder{color:#ebeeff66}.error-message{position:relative;z-index:1;background:#ef44442e;border:1px solid rgba(239,68,68,.35);color:#fca5a5f2;padding:1rem 1.25rem;border-radius:12px;font-size:.95rem;font-weight:600;text-align:center;margin-bottom:1.5rem;box-shadow:0 6px 16px #ef444433}.session-actions{position:relative;z-index:1;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.session-actions .btn-finish{grid-column:1/-1}.session-actions button{padding:clamp(1rem,1.5vw,1.15rem) clamp(1.25rem,2vw,1.75rem);border-radius:999px;font-weight:700;font-size:1rem;letter-spacing:.01em;cursor:pointer;transition:all .22s ease;border:none;font-family:Plus Jakarta Sans,sans-serif}.session-actions .btn-skip{background:#ffffff14;color:#ffffffd9;border:1px solid rgba(255,255,255,.12);box-shadow:0 6px 16px #0000004d}.session-actions .btn-skip:hover:not(:disabled){background:#ffffff24;border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 10px 24px #00000059}.session-actions .btn-skip:active:not(:disabled){transform:translateY(0)}.session-actions .btn-skip.cant{background:#ffc1071f;color:#ffd54ff2;border-color:#ffc10740;box-shadow:0 6px 16px #ffc10726}.session-actions .btn-skip.cant:hover:not(:disabled){background:#ffc1072e;border-color:#ffc10759;box-shadow:0 10px 24px #ffc10733}.session-actions .btn-skip.wont{background:#ef44442e;color:#fca5a5f2;border-color:#ef444459;box-shadow:0 6px 16px #ef444433}.session-actions .btn-skip.wont:hover:not(:disabled){background:#ef444440;border-color:#ef444473;box-shadow:0 10px 24px #ef444440}.session-actions .btn-finish{background:linear-gradient(135deg,#7a4bffa6,#5b34d68c);color:#fffffff2;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 45px #00000080,0 10px 26px #7a4bff4d,inset 0 1px #ffffff1f}.session-actions .btn-finish:hover:not(:disabled){background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);border-color:#ffffff29;transform:translateY(-2px);box-shadow:0 22px 55px #0000008c,0 14px 30px #7a4bff59,inset 0 1px #ffffff24}.session-actions .btn-finish:active:not(:disabled){transform:translateY(0)}.session-actions .btn-finish:focus-visible{outline:none;box-shadow:0 0 0 3px #7a4bff59,0 20px 55px #0000008c}.session-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;animation:dialogFadeIn .3s ease}@keyframes dialogFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.dialog{position:relative;background:#10121cd9;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:clamp(2rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem);max-width:480px;width:100%;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 24px 60px #000c,inset 0 1px #ffffff14;animation:dialogSlideUp .3s ease}.dialog:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#fff0 40%,#fff0);opacity:.4}.dialog h2{position:relative;z-index:1;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;color:#e5d2aaf2;margin-bottom:.75rem;text-shadow:0 4px 12px rgba(0,0,0,.3)}.dialog p{position:relative;z-index:1;color:#ebeeffbf;margin-bottom:2rem;line-height:1.7;font-size:1rem}.dialog .dialog-options{position:relative;z-index:1;display:flex;flex-direction:column;gap:1rem}.dialog .dialog-btn{padding:clamp(1rem,1.5vw,1.15rem) clamp(1.25rem,2vw,1.75rem);border-radius:999px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .22s ease;font-family:Plus Jakarta Sans,sans-serif;letter-spacing:.01em;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#ffffffe6;box-shadow:0 6px 16px #0000004d}.dialog .dialog-btn:hover{background:#ffffff24;border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 10px 24px #00000059}.dialog .dialog-btn:active{transform:translateY(0)}.dialog .dialog-btn.primary{background:linear-gradient(135deg,#7a4bffa6,#5b34d68c);color:#fffffff2;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 32px #00000073,0 8px 20px #7a4bff4d,inset 0 1px #ffffff1f}.dialog .dialog-btn.primary:hover{background:linear-gradient(135deg,#7a4bffbf,#5b34d6a6);border-color:#ffffff29;box-shadow:0 16px 40px #00000080,0 10px 26px #7a4bff59,inset 0 1px #ffffff24}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ws-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 480px){.session-actions{grid-template-columns:1fr 1fr}.session-actions .btn-finish{grid-column:1/-1}}@media (min-width: 640px){.workout-session{padding:clamp(1.5rem,2.5vw,2rem)}.session-header{padding:clamp(1.75rem,2.5vw,2.5rem)}.session-content{padding:clamp(2rem,3vw,3rem)}.exercise-item{padding:clamp(1.5rem,2.5vw,2rem)}}@media (min-width: 768px){.workout-session{padding:clamp(2rem,3vw,3rem)}.dialog{max-width:520px;padding:clamp(2.5rem,4vw,3.5rem)}}@media (prefers-reduced-motion: reduce){.workout-session{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}.progress-fill:after{animation:none!important}}.workout-history{min-height:100vh;padding:1.5rem;padding-bottom:100px;max-width:1400px;margin:0 auto}.history-header{background:var(--bg-surface);border-radius:1.5rem;padding:2rem 1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.history-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.history-header .btn-back{background:transparent;border:none;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:all .2s ease;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.5rem}.history-header .btn-back:hover{color:var(--text-primary);transform:translate(-4px)}.history-header .btn-back:focus-visible{outline:2px solid var(--purple-primary);outline-offset:4px;border-radius:.5rem}.history-header .header-info h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.history-header .header-info .subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:500}.history-content{max-width:900px;margin:0 auto}.filters{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.filters .filter-btn{padding:.625rem 1.5rem;background:var(--bg-elevated);border:1px solid rgba(255,255,255,.08);border-radius:1rem;color:var(--text-secondary);font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Plus Jakarta Sans,sans-serif;box-shadow:var(--shadow-sm),inset 0 1px #ffffff0d;position:relative;overflow:hidden}.filters .filter-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%)}.filters .filter-btn:hover{background:var(--bg-surface);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md),inset 0 1px #ffffff14}.filters .filter-btn:focus-visible{outline:2px solid var(--purple-primary);outline-offset:2px}.filters .filter-btn.active{background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));color:#fff;border-color:transparent;box-shadow:var(--shadow-purple),0 4px 12px #7a4bff4d}.filters .filter-btn.active:before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.filters .filter-btn.active:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1.25rem}.empty-history{background:var(--bg-surface);border-radius:1.5rem;padding:4rem 2rem;text-align:center;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.empty-history:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}.empty-history .empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.4;filter:grayscale(.3)}.empty-history h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.02em}.empty-history p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;font-weight:500}.timeline{display:flex;flex-direction:column;gap:1.5rem}.timeline-item{display:flex;gap:1.5rem;position:relative}.timeline-marker{flex-shrink:0;display:flex;flex-direction:column;align-items:center;width:40px}.timeline-marker .marker-dot{width:18px;height:18px;background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));border-radius:50%;box-shadow:0 0 0 4px #7a4bff26,0 2px 8px #7a4bff66;z-index:1;position:relative}.timeline-marker .marker-dot:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);border-radius:50%}.timeline-marker .marker-line{width:2px;flex:1;background:linear-gradient(to bottom,rgba(122,75,255,.3),transparent);margin-top:.5rem}.workout-card{flex:1;background:var(--bg-surface);border-radius:1.25rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.workout-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}.workout-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-purple),inset 0 1px #ffffff26}.workout-card.skipped{opacity:.65}.workout-card.skipped:hover{opacity:.8}.workout-card .workout-header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.workout-card .workout-header .workout-icon{width:44px;height:44px;background:var(--bg-elevated);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;box-shadow:var(--shadow-sm),inset 0 1px #ffffff0d;position:relative}.workout-card .workout-header .workout-icon:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);border-radius:50% 50% 0 0}.workout-card .workout-header .workout-info{flex:1;min-width:0}.workout-card .workout-header .workout-info h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem;letter-spacing:-.01em}.workout-card .workout-header .workout-info .workout-date{font-size:.85rem;color:var(--text-tertiary);font-weight:500}.workout-card .workout-header .workout-badges{display:flex;gap:.5rem;flex-wrap:wrap}.workout-card .workout-header .workout-badges .badge{padding:.375rem .75rem;border-radius:.625rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;box-shadow:var(--shadow-sm)}.workout-card .workout-header .workout-badges .badge.mandatory{background:#7a4bff26;color:var(--purple-primary);border:1px solid rgba(122,75,255,.25)}.workout-card .workout-header .workout-badges .badge.free{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.25)}.workout-card .workout-status{margin-bottom:1rem}.workout-card .workout-status .status-text{font-size:.9rem;font-weight:700;letter-spacing:.01em}.workout-card .workout-status .status-text.completed{color:#10b981}.workout-card .workout-status .status-text.skipped{color:var(--text-secondary)}.workout-card .workout-notes{background:var(--bg-elevated);border-left:3px solid var(--purple-primary);padding:.75rem 1rem;border-radius:.625rem;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary);box-shadow:inset 0 1px #ffffff0d;font-weight:500}.workout-card .workout-notes strong{color:var(--text-primary);margin-right:.25rem;font-weight:700}.workout-card .workout-details summary{cursor:pointer;font-weight:700;color:var(--purple-primary);font-size:.9rem;padding:.5rem 0;-webkit-user-select:none;user-select:none;transition:opacity .2s ease;list-style:none;display:flex;align-items:center;gap:.5rem}.workout-card .workout-details summary::-webkit-details-marker{display:none}.workout-card .workout-details summary:before{content:"▶";font-size:.7rem;transition:transform .2s ease}.workout-card .workout-details summary:hover{opacity:.7}.workout-card .workout-details summary:focus-visible{outline:2px solid var(--purple-primary);outline-offset:4px;border-radius:.25rem}.workout-card .workout-details[open] summary:before{transform:rotate(90deg)}.workout-card .workout-details .exercises-list{list-style:none;padding:1rem 0 .5rem;margin:0}.workout-card .workout-details .exercises-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05)}.workout-card .workout-details .exercises-list li:last-child{border-bottom:none}.workout-card .workout-details .exercises-list li .exercise-icon{color:#10b981;font-weight:700;font-size:1rem;flex-shrink:0}.workout-card .workout-details .exercises-list li .exercise-name{color:var(--text-secondary);font-weight:500;flex:1}.workout-card .workout-details .exercises-list li.skipped{opacity:.5}.workout-card .workout-details .exercises-list li.skipped .exercise-icon{color:var(--text-tertiary)}.workout-card .workout-details .exercises-list li.skipped .exercise-name{text-decoration:line-through}@media (min-width: 640px){.workout-history{padding:2rem}.history-header{padding:2rem 2.5rem}.history-header .header-info h1{font-size:2rem}.workout-card{padding:2rem}.workout-card .workout-header .workout-icon{width:48px;height:48px;font-size:1.5rem}.workout-card .workout-header .workout-info h3{font-size:1.15rem}.timeline-marker{width:50px}}@media (min-width: 768px){.workout-history{padding:2.5rem}.history-header{padding:2.5rem 3rem}.history-header .header-info h1{font-size:2.25rem}}@media (min-width: 1024px){.workout-history{padding:3rem}}@media (prefers-reduced-motion: reduce){.filter-btn,.workout-card,.btn-back,summary{transition:none!important}.loading-spinner{animation:none!important}summary:before{transition:none!important}}.stats-page{min-height:100vh;padding:1.5rem;padding-bottom:100px;max-width:1400px;margin:0 auto}.stats-header{background:var(--bg-surface);border-radius:1.5rem;padding:2rem 1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.stats-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.stats-header .btn-back{background:transparent;border:none;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:all .2s ease;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.5rem}.stats-header .btn-back:hover{color:var(--text-primary);transform:translate(-4px)}.stats-header .btn-back:focus-visible{outline:2px solid var(--purple-primary);outline-offset:4px;border-radius:.5rem}.stats-header .header-info h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.stats-header .header-info .subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:500}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.25rem}.loading p{color:var(--text-secondary);font-weight:500}.motivational-hero{background:var(--bg-surface);border-radius:1.5rem;padding:3rem 2rem;text-align:center;margin-bottom:2rem;box-shadow:var(--shadow-lg),var(--shadow-purple),inset 0 1px #ffffff1a;position:relative;overflow:hidden;animation:fadeIn .6s ease}.motivational-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--purple-light) 50%,transparent 100%)}.motivational-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top,var(--purple-glow) 0%,transparent 60%);opacity:.4;pointer-events:none}.motivational-hero .hero-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease infinite;position:relative;z-index:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.motivational-hero h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.02em;position:relative;z-index:1}.motivational-hero p{font-size:1rem;color:var(--text-secondary);line-height:1.7;max-width:600px;margin:0 auto;font-weight:500;position:relative;z-index:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.stats-main-grid{display:grid;gap:1rem;margin-bottom:2rem;animation:fadeIn .8s ease}.stats-advanced-grid{display:grid;gap:1rem;margin-bottom:2rem;animation:fadeIn 1s ease}.stat-card{background:var(--bg-surface);border-radius:1.25rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-purple),inset 0 1px #ffffff26}.stat-card.big{padding:2rem 1.5rem}.stat-card.completion{display:flex;flex-direction:column;align-items:center}.stat-card .card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.stat-card .card-header .card-icon{font-size:1.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.stat-card .card-header .card-label{font-size:.85rem;color:var(--text-tertiary);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.stat-card .card-value{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.5rem;letter-spacing:-.03em}.stat-card .card-value.small{font-size:2.5rem}.stat-card .card-footer{font-size:.85rem;color:var(--text-tertiary);font-weight:500}.completion-chart{position:relative;width:120px;height:120px;margin:1rem auto}.completion-chart .donut-chart{width:100%;height:100%;transform:rotate(-90deg);filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.completion-chart .donut-bg{fill:none;stroke:#ffffff14;stroke-width:10}.completion-chart .donut-fill{fill:none;stroke:var(--purple-primary);stroke-width:10;stroke-linecap:round;transition:stroke-dasharray 1s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 0 8px var(--purple-glow))}.completion-chart .completion-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.week-progress{display:flex;justify-content:space-between;gap:.5rem;margin:1.5rem 0}.week-progress .day-dot{flex:1;aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,255,255,.15);position:relative;transition:all .3s ease;box-shadow:var(--shadow-sm)}.week-progress .day-dot.full{background:#10b981;border-color:#10b981;box-shadow:0 2px 8px #10b98166}.week-progress .day-dot.partial{background:#f59e0b;border-color:#f59e0b;box-shadow:0 2px 8px #f59e0b66}.week-progress .day-dot.none{background:#ffffff0d}.week-progress .day-dot:hover{transform:scale(1.1)}.week-progress .day-dot .day-label{position:absolute;bottom:-1.5rem;left:50%;transform:translate(-50%);font-size:.7rem;color:var(--text-tertiary);white-space:nowrap;font-weight:600}.level-display{margin:1rem 0}.level-display .level-number{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.75rem;letter-spacing:-.02em}.level-display .xp-bar{height:12px;background:#ffffff14;border-radius:1rem;overflow:hidden;margin-bottom:.5rem;box-shadow:inset 0 2px 4px #0000004d}.level-display .xp-bar .xp-fill{height:100%;background:linear-gradient(90deg,var(--purple-primary),var(--purple-light));border-radius:1rem;transition:width 1s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px var(--purple-glow);position:relative}.level-display .xp-bar .xp-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);border-radius:1rem 1rem 0 0}.level-display .xp-text{font-size:.85rem;color:var(--text-tertiary);text-align:center;font-weight:500}.best-month{margin:1rem 0}.best-month .month-name{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.best-month .month-count{font-size:.9rem;color:var(--text-secondary);font-weight:500}.top-exercise{margin:1rem 0}.top-exercise .exercise-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.top-exercise .exercise-count{font-size:.85rem;color:var(--text-secondary);font-weight:500}.skip-breakdown{margin:1rem 0}.skip-breakdown .skip-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.skip-breakdown .skip-item:last-child{border-bottom:none}.skip-breakdown .skip-item .skip-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.skip-breakdown .skip-item .skip-value{font-size:1.1rem;font-weight:700;color:var(--purple-primary)}.respiro-message{background:var(--bg-elevated);border-radius:1.25rem;padding:1.5rem;margin-bottom:2rem;text-align:center;box-shadow:var(--shadow-sm),inset 0 1px #ffffff0d;position:relative;overflow:hidden}.respiro-message:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%)}.respiro-message p{font-size:1rem;color:var(--text-secondary);font-style:italic;margin:0;font-weight:500}.calendar-section,.weekday-chart-section,.consistency-section,.badges-section{background:var(--bg-surface);border-radius:1.5rem;padding:2rem 1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.calendar-section:before,.weekday-chart-section:before,.consistency-section:before,.badges-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}.calendar-section h3,.weekday-chart-section h3,.consistency-section h3,.badges-section h3{font-size:1.25rem;font-weight:800;color:var(--text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;letter-spacing:-.01em}.calendar-section h3 .section-icon,.weekday-chart-section h3 .section-icon,.consistency-section h3 .section-icon,.badges-section h3 .section-icon{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem}.calendar-grid .calendar-day{aspect-ratio:1;border-radius:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.calendar-grid .calendar-day.full{background:#10b981;box-shadow:0 2px 8px #10b9814d}.calendar-grid .calendar-day.partial{background:#f59e0b;box-shadow:0 2px 8px #f59e0b4d}.calendar-grid .calendar-day.none{background:#ffffff0d}.calendar-grid .calendar-day.broke{background:#ef4444;box-shadow:0 2px 8px #ef44444d}.calendar-grid .calendar-day:hover{transform:scale(1.15);z-index:1}.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.calendar-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);font-weight:500}.calendar-legend .legend-item .legend-dot{width:14px;height:14px;border-radius:.25rem;box-shadow:var(--shadow-sm)}.calendar-legend .legend-item .legend-dot.full{background:#10b981}.calendar-legend .legend-item .legend-dot.partial{background:#f59e0b}.calendar-legend .legend-item .legend-dot.none{background:#ffffff0d}.calendar-legend .legend-item .legend-dot.broke{background:#ef4444}.weekday-bars{display:flex;flex-direction:column;gap:1rem}.weekday-bars .weekday-item{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;gap:1rem}.weekday-bars .weekday-item .weekday-label{font-size:.85rem;color:var(--text-secondary);font-weight:700;text-align:right}.weekday-bars .weekday-item .weekday-bar-container{height:28px;background:#ffffff0d;border-radius:.75rem;overflow:hidden;box-shadow:inset 0 2px 4px #0003}.weekday-bars .weekday-item .weekday-bar-container .weekday-bar{height:100%;background:linear-gradient(90deg,var(--purple-primary),var(--purple-light));border-radius:.75rem;transition:width 1s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px var(--purple-glow);position:relative}.weekday-bars .weekday-item .weekday-bar-container .weekday-bar:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);border-radius:.75rem .75rem 0 0}.weekday-bars .weekday-item .weekday-count{font-size:.95rem;color:var(--text-primary);font-weight:800;text-align:center}.consistency-card{text-align:center;padding:2rem 1rem}.consistency-card .consistency-icon{font-size:5rem;margin-bottom:1rem;animation:pulse 2s ease infinite;filter:drop-shadow(0 4px 16px rgba(0,0,0,.3))}.consistency-card h3{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.01em}.consistency-card .consistency-value{font-size:4rem;font-weight:800;background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.5rem;letter-spacing:-.03em}.consistency-card .consistency-label{font-size:1.25rem;color:var(--text-secondary);font-weight:600;margin-bottom:1.5rem}.consistency-card .consistency-bar{height:18px;background:#ffffff14;border-radius:1rem;overflow:hidden;max-width:400px;margin:0 auto;box-shadow:inset 0 2px 4px #0000004d}.consistency-card .consistency-bar .consistency-fill{height:100%;background:linear-gradient(90deg,var(--purple-primary),var(--purple-light));border-radius:1rem;transition:width 1.5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 16px var(--purple-glow);position:relative}.consistency-card .consistency-bar .consistency-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);border-radius:1rem 1rem 0 0}.badges-grid{display:grid;gap:1rem}.badges-grid .badge-card{background:var(--bg-elevated);border-radius:1.25rem;padding:1.5rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm),inset 0 1px #ffffff0d;position:relative;overflow:hidden}.badges-grid .badge-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%)}.badges-grid .badge-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md),var(--shadow-purple),inset 0 1px #ffffff1a}.badges-grid .badge-card .badge-icon{font-size:3rem;margin-bottom:.75rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.badges-grid .badge-card .badge-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.badges-grid .badge-card .badge-desc{font-size:.85rem;color:var(--text-secondary);font-weight:500}.closing-message{background:var(--bg-surface);border-radius:1.5rem;padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-lg),var(--shadow-purple),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.closing-message:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--purple-light) 50%,transparent 100%)}.closing-message p{font-size:1.1rem;color:var(--text-primary);margin-bottom:1.5rem;font-weight:600}.closing-message .btn-primary{background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));color:#fff;border:none;padding:1rem 2rem;border-radius:1rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-purple),0 4px 12px #7a4bff4d;font-family:Plus Jakarta Sans,sans-serif;position:relative;overflow:hidden}.closing-message .btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%)}.closing-message .btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-purple),0 8px 24px #7a4bff66}.closing-message .btn-primary:focus-visible{outline:2px solid var(--purple-light);outline-offset:4px}.closing-message .btn-primary:active{transform:translateY(-1px)}.stats-empty-state{background:var(--bg-surface);border-radius:1.5rem;padding:4rem 2rem;text-align:center;max-width:600px;margin:0 auto;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.stats-empty-state:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}.stats-empty-state .empty-icon{font-size:5rem;margin-bottom:2rem;opacity:.4;filter:grayscale(.3)}.stats-empty-state h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.02em}.stats-empty-state p{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem;font-weight:500}.stats-empty-state .btn-create{background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));color:#fff;border:none;padding:1rem 2rem;border-radius:1rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-purple),0 4px 12px #7a4bff4d;font-family:Plus Jakarta Sans,sans-serif;position:relative;overflow:hidden}.stats-empty-state .btn-create:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%)}.stats-empty-state .btn-create:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-purple),0 8px 24px #7a4bff66}.stats-empty-state .btn-create:focus-visible{outline:2px solid var(--purple-light);outline-offset:4px}@media (min-width: 640px){.stats-header{padding:2rem 2.5rem}.stats-header .header-info h1{font-size:2rem}.motivational-hero{padding:4rem 3rem}.motivational-hero h2{font-size:1.75rem}.motivational-hero p{font-size:1.125rem}.stats-main-grid,.stats-advanced-grid,.badges-grid{grid-template-columns:repeat(2,1fr)}.week-progress .day-dot .day-label{font-size:.8rem}}@media (min-width: 768px){.stats-page{padding:2.5rem}.stats-header{padding:2.5rem 3rem}.stats-header .header-info h1{font-size:2.25rem}.motivational-hero{padding:5rem 4rem}.motivational-hero .hero-icon{font-size:5rem}.motivational-hero h2{font-size:2rem}.stats-main-grid{grid-template-columns:repeat(4,1fr)}.stats-advanced-grid{grid-template-columns:repeat(3,1fr)}.badges-grid{grid-template-columns:repeat(4,1fr)}.calendar-grid{gap:.75rem}.calendar-section,.weekday-chart-section,.consistency-section,.badges-section{padding:2.5rem 2rem}}@media (min-width: 1024px){.stats-page{padding:3rem}}@media (prefers-reduced-motion: reduce){.stat-card,.badge-card,.calendar-day,.btn-primary,.btn-create,.btn-back,.xp-fill,.weekday-bar,.consistency-fill,.donut-fill{transition:none!important}.hero-icon,.consistency-icon,.motivational-hero,.stats-main-grid,.stats-advanced-grid,.loading-spinner{animation:none!important}}.dev-tools{min-height:100vh;padding:1.5rem;padding-bottom:100px}.dev-header{background:#ffffff0d;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:2rem 1.5rem;margin-bottom:2rem;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a inset}.dev-header .btn-back{background:transparent;border:none;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.dev-header .btn-back:hover{color:rgb(var(--theme-primary-rgb))}.dev-header .header-info h1{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.5rem}.dev-header .header-info .subtitle{color:#d1d5db;font-size:.9rem}.dev-content{max-width:1200px;margin:0 auto}.warning-card{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:1.5rem;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1rem;align-items:flex-start}.warning-card .warning-icon{font-size:2rem;flex-shrink:0}.warning-card p{color:#fcd34d;line-height:1.6;margin:0}.warning-card p strong{color:#fbbf24}.scenarios-section{background:#ffffff0d;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:2rem 1.5rem;margin-bottom:2rem;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a inset}.scenarios-section h2{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:1.5rem}.scenarios-grid{display:grid;gap:1rem}.scenario-card{background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:1.25rem;padding:1.5rem;transition:all .3s ease}.scenario-card:hover{background:#ffffff1a;transform:translateY(-2px)}.scenario-card h3{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.5rem}.scenario-card p{font-size:.9rem;color:#d1d5db;margin-bottom:1rem}.scenario-card .btn-scenario{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary));color:#fff;border:none;border-radius:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.scenario-card .btn-scenario:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(var(--theme-primary-rgb),.4)}.scenario-card .btn-scenario:disabled{opacity:.5;cursor:not-allowed}.message{background:#ffffff0d;border-radius:1.25rem;padding:1rem 1.5rem;margin-bottom:2rem;text-align:center;font-weight:500}.message.success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.message.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.danger-zone{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:2rem;padding:2rem 1.5rem}.danger-zone h2{font-size:1.25rem;font-weight:700;color:#fca5a5;margin-bottom:1rem}.danger-zone .btn-danger{width:100%;padding:1rem 1.5rem;background:#ef444433;border:1px solid rgba(239,68,68,.5);border-radius:1.25rem;color:#fca5a5;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif;margin-bottom:1rem}.danger-zone .btn-danger:hover:not(:disabled){background:#ef44444d;transform:translateY(-2px)}.danger-zone .btn-danger:disabled{opacity:.5;cursor:not-allowed}.danger-zone .danger-note{font-size:.85rem;color:#fca5a5;text-align:center;font-style:italic}@media (min-width: 640px){.scenarios-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.dev-tools{padding:3rem}.scenarios-grid{grid-template-columns:repeat(3,1fr)}.dev-header .header-info h1{font-size:2rem}}.achievements-page{min-height:100vh;padding:1.5rem;padding-bottom:100px;max-width:1400px;margin:0 auto}.achievements-header{background:var(--bg-surface);border-radius:1.5rem;padding:2rem 1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.achievements-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.achievements-header .btn-back{background:transparent;border:none;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:all .2s ease;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.5rem}.achievements-header .btn-back:hover{color:var(--text-primary);transform:translate(-4px)}.achievements-header .btn-back:focus-visible{outline:2px solid var(--purple-primary);outline-offset:4px;border-radius:.5rem}.achievements-header .header-info h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.achievements-header .header-info .subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:500}.achievements-summary{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.achievements-summary .summary-card{background:var(--bg-surface);border-radius:1.25rem;padding:1.5rem;display:flex;align-items:center;gap:1.25rem;box-shadow:var(--shadow-md),inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.achievements-summary .summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}.achievements-summary .summary-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-purple),inset 0 1px #ffffff26}.achievements-summary .summary-card .summary-icon{font-size:2.5rem;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.achievements-summary .summary-card .summary-info{flex:1;min-width:0}.achievements-summary .summary-card .summary-info h3{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary) 0%,var(--purple-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .25rem;font-family:Plus Jakarta Sans,sans-serif;letter-spacing:-.03em}.achievements-summary .summary-card .summary-info p{font-size:.9rem;color:var(--text-tertiary);margin:0;font-weight:500}.progress-overview{background:var(--bg-surface);border-radius:1.25rem;padding:1.75rem;margin-bottom:2rem;box-shadow:var(--shadow-md),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.progress-overview:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}.progress-overview .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.progress-overview .progress-header span{font-size:1rem;font-weight:700;color:var(--text-primary)}.progress-overview .progress-header span:last-child{font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-overview .progress-bar-large{width:100%;height:14px;background:#ffffff14;border-radius:1rem;overflow:hidden;margin-bottom:1rem;box-shadow:inset 0 2px 4px #0000004d}.progress-overview .progress-bar-large .progress-fill{height:100%;background:linear-gradient(90deg,var(--purple-primary),var(--purple-light));border-radius:1rem;transition:width 1s cubic-bezier(.4,0,.2,1);box-shadow:0 0 16px var(--purple-glow),0 2px 8px #7a4bff66;position:relative}.progress-overview .progress-bar-large .progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);border-radius:1rem 1rem 0 0}.progress-overview .progress-text{font-size:.875rem;color:var(--text-tertiary);text-align:center;margin:0;font-weight:500}.challenges-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.empty-state{background:var(--bg-surface);border-radius:1.5rem;padding:4rem 2rem;text-align:center;max-width:600px;margin:0 auto;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.empty-state:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}.empty-state .empty-icon{font-size:5rem;margin-bottom:2rem;opacity:.4;filter:grayscale(.3)}.empty-state h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.02em}.empty-state p{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem;font-weight:500}.empty-state .btn-primary{background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));color:#fff;border:none;padding:1rem 2rem;border-radius:1rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-purple),0 4px 12px #7a4bff4d;font-family:Plus Jakarta Sans,sans-serif;position:relative;overflow:hidden}.empty-state .btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%)}.empty-state .btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-purple),0 8px 24px #7a4bff66}.empty-state .btn-primary:focus-visible{outline:2px solid var(--purple-light);outline-offset:4px}@media (prefers-reduced-motion: reduce){.empty-state .btn-primary{transition:none}.empty-state .btn-primary:hover{transform:none}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:4rem 2rem}.loading .loading-spinner{width:56px;height:56px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--purple-primary);border-radius:50%;animation:spin 1s linear infinite}.loading p{color:var(--text-secondary);font-size:.95rem;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 640px){.achievements-summary{grid-template-columns:repeat(3,1fr)}.achievements-header .header-info h1{font-size:2rem}}@media (min-width: 768px){.achievements-page{padding:2.5rem}.achievements-header{padding:2.5rem 2rem}.progress-overview{padding:2rem}}@media (min-width: 1024px){.achievements-page{padding:3rem}.challenges-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (prefers-reduced-motion: reduce){.summary-card,.progress-fill,.btn-back{transition:none!important}.loading-spinner{animation:none!important}}.feedback-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;animation:fadeIn .2s ease}.feedback-modal{background:var(--bg-surface);border-radius:1.5rem;padding:2rem;max-width:500px;width:100%;box-shadow:var(--shadow-lg),var(--shadow-purple),inset 0 1px #ffffff1a;position:relative;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.feedback-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--purple-light) 50%,transparent 100%)}.feedback-modal .feedback-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.feedback-modal .feedback-header h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.feedback-modal .feedback-header .btn-close{background:var(--bg-elevated);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:1.25rem;transition:all .2s ease;box-shadow:var(--shadow-sm),inset 0 1px #ffffff0d}.feedback-modal .feedback-header .btn-close:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary);transform:scale(1.05)}.feedback-modal .feedback-header .btn-close:focus-visible{outline:2px solid var(--purple-primary);outline-offset:2px}.feedback-modal .feedback-header .btn-close:disabled{opacity:.5;cursor:not-allowed}.feedback-modal .feedback-form .form-group{margin-bottom:1.5rem}.feedback-modal .feedback-form .form-group label{display:block;font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.feedback-modal .feedback-form .form-group textarea{width:100%;background:var(--bg-elevated);border:2px solid rgba(255,255,255,.08);border-radius:1rem;padding:1rem;font-size:.95rem;color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;resize:vertical;min-height:120px;transition:all .2s ease;box-shadow:inset 0 2px 4px #0000001a}.feedback-modal .feedback-form .form-group textarea::placeholder{color:var(--text-tertiary)}.feedback-modal .feedback-form .form-group textarea:focus{outline:none;border-color:var(--purple-primary);box-shadow:0 0 0 3px #7a4bff1a,inset 0 2px 4px #0000001a}.feedback-modal .feedback-form .form-group textarea:disabled{opacity:.6;cursor:not-allowed}.feedback-modal .feedback-form .form-group .error-message{margin-top:.5rem;font-size:.85rem;color:#ef4444;font-weight:600}.feedback-modal .feedback-form .optional-section{background:var(--bg-elevated);border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.05)}.feedback-modal .feedback-form .optional-section .optional-header{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.feedback-modal .feedback-form .optional-section .optional-header .optional-badge{background:var(--purple-primary);color:#fff;padding:.25rem .625rem;border-radius:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.feedback-modal .feedback-form .optional-section .optional-description{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.feedback-modal .feedback-form .optional-section .optional-description strong{color:var(--text-primary);font-weight:700}.feedback-modal .feedback-form .optional-section .optional-fields{display:grid;gap:1rem}.feedback-modal .feedback-form .optional-section .optional-fields .form-group{margin-bottom:0}.feedback-modal .feedback-form .optional-section .optional-fields .form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.feedback-modal .feedback-form .optional-section .optional-fields .form-group input{width:100%;background:var(--bg-surface);border:2px solid rgba(255,255,255,.08);border-radius:.75rem;padding:.75rem;font-size:.9rem;color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;transition:all .2s ease;box-shadow:inset 0 2px 4px #0000001a}.feedback-modal .feedback-form .optional-section .optional-fields .form-group input::placeholder{color:var(--text-tertiary)}.feedback-modal .feedback-form .optional-section .optional-fields .form-group input:focus{outline:none;border-color:var(--purple-primary);box-shadow:0 0 0 3px #7a4bff1a,inset 0 2px 4px #0000001a}.feedback-modal .feedback-form .optional-section .optional-fields .form-group input:disabled{opacity:.6;cursor:not-allowed}.feedback-modal .feedback-form .privacy-notice{font-size:.8rem;color:var(--text-tertiary);text-align:center;margin-bottom:1.5rem}.feedback-modal .feedback-form .privacy-notice a{color:var(--purple-primary);text-decoration:none;font-weight:600;transition:opacity .2s ease}.feedback-modal .feedback-form .privacy-notice a:hover{opacity:.8;text-decoration:underline}.feedback-modal .feedback-form .privacy-notice a:focus-visible{outline:2px solid var(--purple-primary);outline-offset:2px;border-radius:.25rem}.feedback-modal .feedback-form .form-actions{display:flex;gap:1rem;justify-content:flex-end}.feedback-modal .feedback-form .form-actions button{padding:.875rem 1.5rem;border-radius:1rem;font-size:.95rem;font-weight:700;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none}.feedback-modal .feedback-form .form-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.feedback-modal .feedback-form .form-actions button:focus-visible{outline:2px solid var(--purple-primary);outline-offset:4px}.feedback-modal .feedback-form .form-actions .btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);box-shadow:var(--shadow-sm),inset 0 1px #ffffff0d}.feedback-modal .feedback-form .form-actions .btn-secondary:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md),inset 0 1px #ffffff14}.feedback-modal .feedback-form .form-actions .btn-primary{background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));color:#fff;box-shadow:var(--shadow-purple),0 4px 12px #7a4bff4d;position:relative;overflow:hidden}.feedback-modal .feedback-form .form-actions .btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%)}.feedback-modal .feedback-form .form-actions .btn-primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-purple),0 8px 24px #7a4bff66}.feedback-modal .feedback-form .form-actions .btn-primary:active:not(:disabled){transform:translateY(-1px)}.feedback-modal .feedback-success{text-align:center;padding:2rem 1rem;animation:fadeIn .4s ease}.feedback-modal .feedback-success .success-icon{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.feedback-modal .feedback-success h2{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.feedback-modal .feedback-success p{font-size:1rem;color:var(--text-secondary);margin:0;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 640px){.feedback-modal{padding:2.5rem}.feedback-modal .feedback-header h2{font-size:1.75rem}.feedback-modal .feedback-form .form-group textarea{min-height:150px}}@media (prefers-reduced-motion: reduce){.feedback-modal-overlay,.feedback-modal,.feedback-success,button{animation:none!important;transition:none!important}}.app-footer{background:var(--bg-surface);border-radius:1.5rem 1.5rem 0 0;padding:2rem 1.5rem;box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.app-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.app-footer .footer-content{max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;text-align:center}.app-footer .footer-feedback{background:linear-gradient(135deg,var(--purple-primary),var(--purple-light));color:#fff;border:none;padding:.875rem 1.5rem;border-radius:1rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-purple),0 4px 12px #7a4bff4d;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.app-footer .footer-feedback:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%)}.app-footer .footer-feedback .feedback-icon{font-size:1.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.app-footer .footer-feedback:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-purple),0 8px 24px #7a4bff66}.app-footer .footer-feedback:focus-visible{outline:2px solid var(--purple-light);outline-offset:4px}.app-footer .footer-feedback:active{transform:translateY(-1px)}.app-footer .footer-links{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.app-footer .footer-links a{color:var(--text-secondary);font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s ease}.app-footer .footer-links a:hover{color:var(--purple-primary)}.app-footer .footer-links a:focus-visible{outline:2px solid var(--purple-primary);outline-offset:4px;border-radius:.25rem}.app-footer .footer-links .separator{color:var(--text-tertiary);font-weight:400;-webkit-user-select:none;user-select:none}.app-footer .footer-meta{display:flex;flex-direction:column;gap:.5rem;color:var(--text-tertiary);font-size:.85rem}.app-footer .footer-meta p{margin:0;font-weight:500}.app-footer .footer-meta .footer-version{font-family:Plus Jakarta Sans,sans-serif;color:var(--text-tertiary);opacity:.7}.app-footer .footer-meta .footer-credit{color:var(--text-secondary)}.app-footer .footer-meta .footer-credit .heart{color:var(--purple-primary);filter:drop-shadow(0 0 8px var(--purple-glow));animation:heartbeat 2s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (min-width: 640px){.app-footer{padding:2.5rem 2rem;margin:3rem -2rem -100px}}@media (min-width: 768px){.app-footer{padding:3rem 2.5rem;margin:4rem -2.5rem -100px}.app-footer .footer-content{gap:2rem}}@media (min-width: 1024px){.app-footer{padding:3rem;margin:4rem -3rem -100px}}@media (prefers-reduced-motion: reduce){.footer-feedback,.footer-links a{transition:none!important}.heart{animation:none!important}}*{margin:0;padding:0;box-sizing:border-box;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg-base: #0a0a0f;--bg-elevated: #12121a;--bg-surface: #1a1a26;--purple-primary: rgba(122, 75, 255, .65);--purple-light: rgba(147, 102, 255, .5);--purple-dark: rgba(98, 47, 210, .4);--purple-glow: rgba(122, 75, 255, .15);--gold-text: rgba(229, 210, 170, .95);--gold-subtle: rgba(214, 174, 92, .12);--green-subtle: rgba(83, 201, 140, .1);--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .65);--text-tertiary: rgba(255, 255, 255, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-purple: 0 4px 24px rgba(122, 75, 255, .15);transition:background-color .6s ease,color .6s ease}body{background:var(--bg-base);color:var(--text-primary);min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 120% 100% at 50% 40%,#0000,#0000004d 70%,#0009),radial-gradient(ellipse 800px 600px at 30% 20%,var(--purple-glow) 0%,rgba(0,0,0,0) 60%),radial-gradient(ellipse 700px 500px at 80% 80%,var(--purple-dark) 0%,rgba(0,0,0,0) 65%),radial-gradient(ellipse 600px 400px at 70% 30%,var(--gold-subtle) 0%,rgba(0,0,0,0) 55%),linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-base) 100%);background-size:cover;background-repeat:no-repeat}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 2px);opacity:.4;mix-blend-mode:overlay}body.animated-body:before{animation:gentle-drift 20s ease-in-out infinite}@keyframes gentle-drift{0%,to{transform:translateZ(0)}50%{transform:translate3d(-.5%,.5%,0)}}@media (prefers-reduced-motion: reduce){body.animated-body:before{animation:none!important}:root{transition:none!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--purple-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--purple-primary)}html{height:-webkit-fill-available}
