@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.header-install-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--emerald);padding:6px 12px;border-radius:10px;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap}.header-install-btn:active{transform:scale(.95);background:var(--emerald-muted)}.header-install-btn svg{width:16px;height:16px}@media (max-width: 480px){.header-install-btn span{display:none}.header-install-btn{padding:8px;border-radius:50%}}.pwa-banner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.pwa-banner{background:var(--bg-card);position:relative;bottom:auto;left:auto;right:auto;width:100%;max-width:400px;padding:16px;border-radius:20px;animation:modalPop .3s cubic-bezier(.16,1,.3,1);box-shadow:0 12px 40px #0009;z-index:1001}@keyframes modalPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.pwa-banner-content{display:flex;align-items:center;gap:12px}.pwa-icon{width:48px;height:48px;border-radius:12px;overflow:hidden;border:1px solid var(--glass-border)}.pwa-icon img{width:100%;height:100%;object-fit:cover}.pwa-text{flex:1}.pwa-title{font-weight:700;font-size:15px;color:var(--text-primary);margin:0}.pwa-desc{font-size:12px;color:var(--text-secondary);margin:0}.pwa-actions{display:flex;align-items:center;gap:8px}.btn-install{background:var(--emerald);color:#000;border:none;padding:10px 20px;border-radius:12px;font-weight:800;font-size:14px;cursor:pointer}.btn-close{background:#ffffff1a;color:var(--text-primary);border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer}.pwa-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pwa-modal{width:100%;max-width:320px;padding:24px;border-radius:24px;box-shadow:0 20px 40px #00000080;animation:scaleIn .3s cubic-bezier(.16,1,.3,1)}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.pwa-modal-header{text-align:center;margin-bottom:24px;position:relative}.modal-icon{width:64px;height:64px;border-radius:16px;margin-bottom:12px;box-shadow:var(--shadow-emerald)}.pwa-modal-header h3{font-size:20px;margin:0}.modal-close{position:absolute;top:-12px;right:-12px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-primary);width:32px;height:32px;border-radius:50%;cursor:pointer}.pwa-modal-body{margin-bottom:24px}.ios-step{display:flex;align-items:center;gap:16px;padding:12px;background:#ffffff08;border-radius:16px;margin-bottom:12px}.step-num{width:24px;height:24px;background:var(--emerald);color:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0}.ios-step p{flex:1;font-size:14px;margin:0}.ios-icon{color:var(--emerald)}.modal-ok{width:100%}.layout-container{height:100%;display:flex;flex-direction:column;background-color:var(--bg-dark);overflow:hidden}.header{flex-shrink:0;min-height:64px;height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background-color:var(--bg-dark);z-index:100;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--glass-border)}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;padding:0 16px}.brand{font-size:1.1rem;font-weight:800;letter-spacing:.1em}.header-right{display:flex;align-items:center}.content{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}.bottom-nav{flex-shrink:0;height:calc(72px + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);display:flex;justify-content:space-around;align-items:center;z-index:100;border-top:1px solid var(--glass-border);background-color:var(--bg-dark)}.nav-item{background:none;border:none;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:8px 0;transition:all .2s ease}.nav-item.active{color:var(--emerald)}.nav-item svg{transition:transform .2s ease}.nav-item.active svg{transform:translateY(-2px)}.nav-item span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bottom-spacing{height:var(--safe-area-bottom)}.nav-item:focus-visible{outline:2px solid var(--emerald);outline-offset:-2px;border-radius:8px}.readiness-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.readiness-modal{width:90%;max-width:400px;padding:24px;border-radius:24px;background:#1c1c1c;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:20px;box-shadow:0 30px 80px #0009}.modal-header{display:flex;justify-content:space-between;align-items:flex-end}.modal-header h2{font-size:1.25rem;font-weight:800;letter-spacing:.1em}.step-indicator{font-size:.75rem;color:var(--text-secondary)}.step-content{min-height:240px}.step-fade-in{animation:fadeIn .3s ease-out}.input-group{margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.input-group label{font-size:.9rem;font-weight:600}.input-group label strong{color:var(--emerald)}.rating-options{display:flex;justify-content:space-between;gap:8px}.rating-options button{flex:1;height:48px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-primary);font-weight:700;transition:all .2s ease}.rating-options button.active{background:var(--emerald);color:#000;border-color:var(--emerald);transform:scale(1.05)}.red-scale button.active{background:#f44;border-color:#f44}.inline-group{flex-direction:row;justify-content:space-between;align-items:center}.modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.btn-text{background:none;border:none;color:var(--text-secondary);font-weight:700;letter-spacing:.1em}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--glass);border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--emerald);border-radius:50%;cursor:pointer;box-shadow:0 0 10px #50c87866}.readiness-modal button:focus-visible,.readiness-modal input:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}.readiness-modal input[type=range]:focus-visible{outline:2px solid var(--emerald);outline-offset:4px}.dashboard-page{display:flex;flex-direction:column;gap:32px;padding-top:20px}.dashboard-hero{position:relative;padding:32px 24px 24px;border-radius:28px;text-align:left;display:flex;flex-direction:column;gap:20px;background:linear-gradient(160deg,#0f1412f2,#0a0a0af2);border:1px solid rgba(80,200,120,.15);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d;overflow:hidden}.dashboard-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:radial-gradient(ellipse at top left,rgba(80,200,120,.15) 0%,transparent 70%);pointer-events:none}.hero-badge{display:inline-flex;align-items:center;gap:6px;background:#50c8781a;color:var(--emerald);padding:6px 12px;border-radius:100px;font-size:.7rem;font-weight:800;letter-spacing:.1em;width:max-content;border:1px solid rgba(80,200,120,.2)}.hero-title{font-size:1.15rem;font-weight:800;color:var(--text-primary);line-height:1.15;margin:0;letter-spacing:-.02em}.text-gradient{background:linear-gradient(135deg,#fff 0%,var(--emerald) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-image-container{width:100%;margin:8px 0 0;border-radius:20px;overflow:hidden;position:relative;max-height:220px;border:1px solid rgba(80,200,120,.25);box-shadow:0 12px 32px #0006}.hero-image-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 60%,rgba(10,10,10,.95) 100%);pointer-events:none}.hero-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.12);transition:transform .8s cubic-bezier(.16,1,.3,1)}.dashboard-hero:hover .hero-image{transform:scale(1.15)}.hero-content{display:flex;flex-direction:column;gap:16px}.hero-challenge{font-size:.95rem;line-height:1.5;color:var(--text-secondary);margin:0}.text-primary{color:var(--text-primary)}.hero-solution.glass-panel{background:#ffffff08;border-left:3px solid var(--emerald);padding:16px;border-radius:0 12px 12px 0;margin:4px 0}.hero-solution p{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-primary);font-weight:500}.hero-benefits{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.benefit-item{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-primary);background:#ffffff0d;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.03)}.hero-footer-text{font-size:.85rem;line-height:1.5;margin:4px 0 0;font-style:italic}.hero-bottom-highlight{margin-top:8px;padding-top:20px;border-top:1px dashed rgba(255,255,255,.1);text-align:center}.hero-subtitle{font-size:.9rem;font-weight:800;letter-spacing:.15em;margin:0}.section-divider{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 0;width:100%}.divider-line{height:1px;flex:1}.divider-line.left{background:linear-gradient(90deg,transparent,rgba(80,200,120,.3))}.divider-line.right{background:linear-gradient(270deg,transparent,rgba(80,200,120,.3))}.divider-glow{width:6px;height:6px;border-radius:50%;background:var(--emerald);box-shadow:0 0 12px 3px #50c87880}.readiness-section{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}.readiness-text{width:100%;display:flex;flex-direction:column;align-items:center}.start-checkin-btn{margin-top:16px;padding:12px 28px;font-size:.8rem;font-weight:700;letter-spacing:.15em;border-radius:100px;background:transparent;color:var(--emerald);border:1px solid var(--emerald);transition:all .3s ease;box-shadow:0 0 10px #50c8781a;cursor:pointer}.start-checkin-btn:hover{background:#50c8781a;box-shadow:0 0 15px #50c87833;transform:translateY(-2px)}.radial-progress-container{position:relative;width:200px;height:200px}.radial-progress{width:100%;height:100%;transform:rotate(-90deg)}.radial-progress .bg{fill:none;stroke:var(--glass-border);stroke-width:8}.radial-progress .fg{fill:none;stroke:var(--emerald);stroke-width:8;stroke-linecap:round;transition:stroke .6s ease;filter:drop-shadow(0 0 8px var(--emerald))}.zone-yellow .radial-progress .fg{stroke:gold;filter:drop-shadow(0 0 8px #FFD700)}.zone-red .radial-progress .fg{stroke:#f44;filter:drop-shadow(0 0 8px #FF4444)}.checkin-badge{position:absolute;bottom:-10px;left:0;right:0;margin:0 auto;width:max-content;background:var(--emerald);color:#000;padding:4px 12px;border-radius:12px;font-size:.65rem;font-weight:800;letter-spacing:.05em;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #50c878b3}70%{transform:scale(1.05);box-shadow:0 0 0 10px #50c87800}to{transform:scale(1);box-shadow:0 0 #50c87800}}.progress-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column}.progress-content .value{font-size:2.5rem;font-weight:800}.progress-content .label{font-size:.75rem;font-weight:700;color:var(--emerald);letter-spacing:.2em}.stats-card{padding:24px;border-radius:24px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0}.stat-item .label{font-size:.65rem;font-weight:700;color:var(--text-secondary);letter-spacing:.1em}.stat-item .val{font-size:1.2rem;font-weight:800;color:var(--text-primary)}.stat-item .unit{font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-left:2px}.stat-item.highlight .val{color:var(--emerald)}.suggestions-section{margin-bottom:8px}.suggestion-cards{display:flex;flex-direction:column;gap:12px}.suggestion-item{padding:16px 20px;border-radius:20px;display:flex;flex-direction:column;gap:8px;background:#14141499;border:1px solid var(--emerald-muted);transition:all .3s cubic-bezier(.4,0,.2,1)}.suggestion-item.clickable{cursor:pointer}.suggestion-item.clickable:hover{background:#10b98114;border-color:var(--emerald);transform:translateY(-2px)}.workout-detail-modal{text-align:left;max-width:400px;width:90%;display:flex;flex-direction:column;gap:20px;background:var(--bg-dark);border:none;padding:24px;border-radius:20px}.workout-detail-modal h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.workout-detail-modal .description{line-height:1.6;color:var(--text-secondary)}.workout-detail-modal .modal-header{display:flex;justify-content:space-between;align-items:center}.workout-detail-modal .close-btn{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;line-height:1}.workout-detail-modal .technique-box{background:#10b9811a;border-left:3px solid var(--emerald);padding:12px 16px;border-radius:8px}.workout-detail-modal .technique-box .label{display:block;font-size:.75rem;font-weight:700;margin-bottom:4px}.workout-detail-modal .technique-box p{margin:0;font-size:.9rem;line-height:1.5}.workout-detail-modal .modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.suggestion-meta{display:flex;justify-content:space-between;align-items:center}.suggestion-meta .tag{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.suggestion-meta .reason{font-size:.7rem;font-weight:500}.suggestion-content{display:flex;justify-content:space-between;align-items:center}.suggestion-content .title{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.activity-icon.mini{width:28px;height:28px;border-radius:8px}.dashboard-sections{display:flex;flex-direction:column;gap:40px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:0;display:flex;align-items:center;gap:10px}.section-title:before{content:"";display:inline-block;width:4px;height:18px;background:var(--emerald);border-radius:4px}.section-subtitle{font-size:.7rem;font-weight:500;color:var(--text-secondary);margin-top:4px;letter-spacing:.02em;text-transform:none}.date-badge{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:var(--emerald)}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;align-items:center;padding:16px;border-radius:20px;gap:16px;background:#14141499;border:1px solid var(--emerald-muted)}.activity-icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center}.activity-icon.status-toggle{cursor:pointer;transition:all .2s ease}.activity-icon.status-toggle:hover{transform:scale(1.1)}.activity-icon.emerald-bg{background:var(--emerald)}.activity-icon.grey-bg{background:#ffffff1a;border:1px dashed rgba(255,255,255,.2)}.activity-info .title.planned{color:var(--text-secondary);font-weight:400}.activity-info{flex:1;display:flex;flex-direction:column}.activity-info .title{font-weight:600;font-size:.95rem}.activity-info .category{font-size:.8rem}.activity-meta{display:flex;align-items:center;gap:12px}.activity-item .time{font-size:.75rem;color:var(--text-secondary)}.delete-btn{background:none;border:none;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.delete-btn:active{background:#ff00001a}.delete-btn svg{opacity:.6}.delete-btn:hover svg{opacity:1;fill:#f44}.delete-btn.confirming{background:#f44;border-radius:8px;padding:6px 12px;width:auto;min-width:80px}.delete-btn.confirming:hover{background:#c00}.confirm-text{color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.05em}.onboarding-hint{display:flex;align-items:center;gap:12px;margin:8px 0 16px 8px;animation:bounceY 2s infinite ease-in-out}.onboarding-hint .hint-text{font-size:.8rem;color:var(--text-secondary);font-weight:700;letter-spacing:.05em}.onboarding-hint svg{filter:drop-shadow(0 0 5px rgba(16,185,129,.3))}@keyframes bounceY{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.transfer-grid{display:flex;justify-content:space-around;padding:24px 16px;border-radius:24px;height:140px;align-items:flex-end}.transfer-item{display:flex;flex-direction:column;align-items:center;gap:12px}.bar-container{width:24px;height:80px;background:var(--glass);border-radius:12px;display:flex;flex-direction:column-reverse;overflow:hidden}.bar{width:100%;background:var(--emerald);border-radius:6px}.transfer-item .label{font-size:.65rem;font-weight:700;color:var(--text-secondary)}.insight-text{font-size:.85rem;margin-top:16px;line-height:1.4}.animate-in{animation:slideUp .6s ease-out forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media (max-width: 480px){.dashboard-hero{padding:24px 20px 20px;border-radius:20px;gap:16px}.hero-title{font-size:1.1rem}.hero-challenge{font-size:.9rem}.hero-solution.glass-panel{padding:12px;font-size:.85rem}.hero-benefits{flex-direction:column;gap:8px}.benefit-item{font-size:.75rem;padding:8px 10px;justify-content:flex-start}.hero-badge{font-size:.65rem;padding:4px 10px}.hero-subtitle{font-size:.8rem}}.workout-card{padding:20px;border-radius:20px;margin-bottom:20px;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.workout-card:active{transform:scale(.98)}.category-tag{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;display:block}.workout-card h3{font-size:1.25rem;color:#fff}.description{font-size:.9rem;line-height:1.4}.technique-box{background:#50c8780d;border-left:2px solid var(--emerald);padding:12px;border-radius:4px 12px 12px 4px}.technique-box .label{font-size:.65rem;font-weight:900;display:block;margin-bottom:4px}.technique-box p{font-size:.85rem;line-height:1.4;color:#f0f0f0}.card-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:8px}.card-actions button{height:48px;padding:0 16px;border-radius:12px}.btn-secondary{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-primary);font-weight:700;font-size:.7rem;letter-spacing:.02em;cursor:pointer;transition:all .2s ease}.btn-secondary:active:not(:disabled){background:#ffffff1a}.btn-secondary:disabled{background:var(--emerald);border-color:var(--emerald);color:#000;opacity:.8}.library-page{display:flex;flex-direction:column;gap:24px}.library-header{display:flex;flex-direction:column;gap:8px;padding:10px 4px 0}.page-title{font-size:1.6rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.page-subtitle{font-size:.95rem;line-height:1.5;margin:0;color:var(--text-secondary)}.search-box{display:flex;align-items:center;padding:14px 20px;border-radius:20px;gap:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0003;transition:all .3s ease}.search-box:focus-within{background:#ffffff0d;border-color:var(--emerald-muted);box-shadow:0 8px 32px #10b9811a}.search-box input{background:none;border:none;color:#fff;width:100%;font-size:.95rem;font-family:inherit;font-weight:500}.search-box input::placeholder{color:#ffffff4d}.search-box input:focus{outline:none}.filters-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:none;-ms-overflow-style:none}.filters-scroll::-webkit-scrollbar{display:none}.filter-chip{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:4px 6px;border-radius:100px;white-space:nowrap;font-size:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:6px}.filter-chip .count{font-size:.65rem;background:#ffffff1a;padding:1px 6px;border-radius:8px;font-weight:600}.filter-chip.active{background:var(--emerald);border-color:var(--emerald);color:#000;transform:translateY(-2px);box-shadow:0 4px 15px #10b9814d}.filter-chip.active .count{background:#00000026;color:inherit}.workout-list{display:flex;flex-direction:column}.empty-state{text-align:center;padding:40px 0}.calendar-page{display:flex;flex-direction:column;gap:24px}.calendar-header{display:flex;flex-direction:column;gap:20px}.header-top{display:flex;justify-content:space-between;align-items:flex-start}.calendar-header h2{font-size:1.25rem;font-weight:800;letter-spacing:.1em;color:var(--emerald);text-transform:uppercase}.view-toggle{display:flex;padding:4px;border-radius:12px;background:#ffffff0d}.view-toggle button{padding:6px 16px;border-radius:8px;border:none;background:none;color:var(--text-secondary);font-size:.7rem;font-weight:800;letter-spacing:.05em;cursor:pointer;transition:all .2s ease}.view-toggle button.active{background:var(--emerald);color:#000}.weekly-summary{display:flex;justify-content:space-around;align-items:center;padding:20px;border-radius:18px}.summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.summary-item .label{font-size:.65rem;font-weight:700;color:var(--text-secondary);letter-spacing:.1em}.summary-item .val{font-size:1.1rem;font-weight:800}.summary-divider{width:1px;height:30px;background:var(--glass-border)}.weekly-agenda{display:flex;flex-direction:column;gap:12px}.day-card{display:flex;align-items:center;padding:16px 20px;border-radius:18px;gap:20px;transition:transform .2s ease}.day-card:active{transform:scale(.98);background:#ffffff0d}.day-info{display:flex;flex-direction:column;align-items:center;min-width:40px}.day-name{font-size:.7rem;font-weight:800;color:var(--text-secondary);text-transform:uppercase}.day-date{font-size:1.1rem;font-weight:800}.readiness-ring{position:relative;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--color) calc(var(--progress) * 1%),transparent 0)}.readiness-ring:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:#141414;border-radius:50%}.readiness-ring .score{position:relative;font-size:.85rem;font-weight:800}.day-stats{flex:1;display:flex;flex-direction:column;gap:8px}.sessions-count{display:flex;align-items:baseline;gap:4px}.sessions-count .count{font-weight:800;font-size:.9rem}.sessions-count .label{font-size:.6rem;font-weight:700;color:var(--text-secondary);letter-spacing:.05em}.balance-bar{display:flex;flex-direction:column;gap:4px}.bar-bg{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.bar-fill{height:100%;background:var(--emerald);border-radius:2px;transition:width .5s ease-out}.balance-labels{display:flex;justify-content:space-between;font-size:.55rem;font-weight:800;color:var(--text-secondary);letter-spacing:.1em}.tap-hint{opacity:.3}.monthly-view{padding:60px 20px;text-align:center;border-radius:20px}.day-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.day-modal.solid-card{width:100%;max-width:420px;padding:32px;border-radius:32px;background:#111;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:28px;box-shadow:0 40px 100px #000000e6;position:relative;overflow:hidden}.day-modal:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(64,224,208,.05) 0%,transparent 70%);pointer-events:none}.modal-header{display:flex;justify-content:space-between;align-items:flex-start}.header-info h3{font-size:1.4rem;font-weight:900;letter-spacing:.05em;margin-bottom:8px}.readiness-pill{display:inline-flex;padding:6px 14px;border-radius:100px;font-size:.75rem;font-weight:900;letter-spacing:.1em}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rest-toggle{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:6px 12px;border-radius:100px;font-size:.65rem;font-weight:800;cursor:pointer;transition:all .2s ease}.rest-toggle.active{background:#40e0d0;color:#000;border-color:#40e0d0}.detail-list{display:flex;flex-direction:column;gap:12px}.detail-item.solid-item{display:flex;align-items:center;padding:16px;border-radius:20px;background:#1a1a1a;border:1px solid rgba(255,255,255,.05);gap:12px}.item-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.item-info .title{font-weight:800;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-info .meta{font-size:.7rem;color:var(--text-secondary)}.delete-activity-btn{background:none;border:none;padding:8px;cursor:pointer;opacity:.5;transition:opacity .2s;flex-shrink:0}.delete-activity-btn:hover{opacity:1}.add-activity-row{display:flex;gap:10px;margin-top:8px}.add-activity-row input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 16px;color:#fff;font-size:.9rem}.add-activity-row .add-btn{width:45px;background:var(--emerald);color:#000;border:none;border-radius:14px;font-size:1.5rem;font-weight:300;cursor:pointer}.rest-day-notice{padding:30px 20px;text-align:center;border-radius:20px;display:flex;flex-direction:column;gap:12px;background:#40e0d008;border:1px solid rgba(64,224,208,.1)}.turquoise-text{color:#40e0d0;font-weight:900;letter-spacing:.15em;font-size:.85rem}.readiness-ring.rest-mode{--progress: 100 !important}.add-activity-container{margin-top:8px}.browse-library-btn{width:100%;padding:16px;border-radius:16px;background:#ffffff0d;border:1px dashed rgba(255,255,255,.2);color:var(--text-secondary);font-weight:800;font-size:.75rem;letter-spacing:.1em;cursor:pointer;transition:all .2s}.browse-library-btn:hover{background:#ffffff14;border-color:var(--emerald);color:#fff}.library-picker{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:24px;background:#141414f2;border:1px solid var(--glass-border)}.picker-header{display:flex;gap:12px}.picker-header input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:10px 16px;border-radius:12px;color:#fff;font-size:.85rem}.close-picker{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer}.picker-results{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:8px}.picker-item{display:flex;flex-direction:column;padding:12px 16px;border-radius:14px;background:#ffffff08;cursor:pointer;transition:background .2s}.picker-item:hover{background:#ffffff14}.picker-item .item-title{font-weight:800;font-size:.9rem}.picker-item .item-cat{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.close-btn{background:#ffffff0d;border:none;width:32px;height:32px;border-radius:50%;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.close-btn:hover{background:#ffffff1a}.modal-actions{margin-top:24px;display:flex;justify-content:center}.modal-actions .btn-primary{width:100%;padding:16px;font-size:.9rem}.monthly-view{padding:16px;display:flex;flex-direction:column;gap:24px}.heatmap-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;background:#ffffff08;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.05)}.grid-label{text-align:center;font-size:.7rem;color:var(--text-secondary);font-weight:700;margin-bottom:8px}.heatmap-cell{aspect-ratio:1;border-radius:8px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.heatmap-cell:hover{transform:scale(1.05);border-color:#fff3;z-index:10}.heatmap-cell.empty{opacity:.2;cursor:default}.heatmap-cell.active{border:1px solid rgba(255,255,255,.1)}.cell-content{display:flex;flex-direction:column;align-items:center;gap:2px}.date-num{font-size:.7rem;font-weight:700;color:var(--text-secondary)}.heatmap-cell.active .date-num{color:#ffffffe6}.workout-count{font-size:.6rem;font-weight:800;color:#ffffffb3;letter-spacing:-.5px}.motivational-overlay{padding:24px;border-radius:24px;display:flex;flex-direction:column;gap:16px;background:linear-gradient(135deg,#40e0d01a,#0080800d);border:1px solid rgba(64,224,208,.2)}.motivational-overlay .stats-row{display:flex;justify-content:space-around;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.05)}.motivational-overlay .stat{display:flex;flex-direction:column;align-items:center;gap:4px}.motivational-overlay .stat .val{font-size:1.5rem;font-weight:800;color:var(--emerald)}.motivational-overlay .stat .lbl{font-size:.65rem;font-weight:700;color:var(--text-secondary);letter-spacing:1px}.overlay-text p{font-size:.9rem;line-height:1.5;color:var(--text-secondary);text-align:center}.overlay-text strong{color:#fff;font-weight:700}.jump-to-week-btn{background:var(--emerald);color:#000;border:none;padding:14px;border-radius:12px;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;margin-top:8px}.jump-to-week-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00ff9f4d}.month-nav-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px;margin-bottom:8px}.current-month-label{font-size:1.1rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:1px}.nav-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);width:36px;height:36px;border-radius:50%;color:var(--emerald);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.nav-btn:hover{background:#40e0d01a;border-color:var(--emerald);transform:scale(1.1)}.nav-btn:active{transform:scale(.95)}.empty-state{display:flex;flex-direction:column;align-items:center;padding:32px 16px;text-align:center}.empty-state-icon{font-size:2rem;margin-bottom:10px;line-height:1}.empty-state-title{color:#fff;font-size:15px;font-weight:600;margin-bottom:6px}.empty-state-hint{color:#999;font-size:13px;line-height:1.5}.coach-page{display:flex;flex-direction:column;flex:1;position:relative;padding-top:10px}.chat-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:16px;scrollbar-width:none}.chat-container::-webkit-scrollbar{display:none}.message-wrapper{display:flex;width:100%}.message-wrapper.user{justify-content:flex-end}.message-wrapper.assistant{justify-content:flex-start}.message-bubble{max-width:85%;padding:12px 16px;border-radius:18px;font-size:.95rem;line-height:1.4;white-space:pre-wrap}.message-bubble.user{background:var(--emerald);color:#000;border-bottom-right-radius:4px;border:none;font-weight:500}.message-bubble.assistant{background:var(--bg-card);border-bottom-left-radius:4px;color:var(--text-primary)}.chat-input-area{flex-shrink:0;display:flex;align-items:center;padding:12px 16px;border-radius:20px;gap:12px;background:#141414f2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);margin-top:4px}.chat-input-area input{flex:1;background:none;border:none;color:#fff;font-size:1rem;font-family:inherit}.chat-input-area input:focus{outline:none}.send-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;transition:transform .2s ease}.send-btn:active{transform:scale(.9)}.typing{display:flex;gap:4px;padding:12px 20px}.dot{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.message-bubble table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.9em}.message-bubble th,.message-bubble td{padding:8px 12px;border:1px solid rgba(255,255,255,.1);text-align:left}.message-bubble th{background-color:#ffffff0d;font-weight:600}.message-bubble.user th,.message-bubble.user td{border-color:#0000001a}.message-bubble.user th{background-color:#0000000d}.message-bubble p{margin-bottom:8px}.message-bubble p:last-child{margin-bottom:0}.message-bubble ul,.message-bubble ol{margin-top:4px;margin-bottom:8px;padding-left:20px}.download-pdf-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;margin-top:12px;display:flex;align-items:center;gap:8px;font-size:.8rem;padding:6px 12px;border-radius:12px;transition:all .2s ease}.download-pdf-btn:hover{color:var(--emerald);border-color:var(--emerald);background:#00ff800d}.prompt-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 8px;flex-shrink:0}.prompt-chip{background:#50c8781a;border:1px solid rgba(80,200,120,.3);color:#50c878;border-radius:20px;padding:8px 14px;font-size:13px;font-family:inherit;cursor:pointer;transition:background .2s ease,border-color .2s ease;line-height:1.3}.prompt-chip:hover{background:#50c8782e;border-color:#50c8788c}.prompt-chip:active{transform:scale(.97)}.pwa-update-banner{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#1a1a1a;border:1px solid #50C878;color:#fff;padding:12px 16px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:14px;z-index:9999;box-shadow:0 4px 20px #0006;white-space:nowrap}.pwa-update-btn{background:#50c878;color:#000;border:none;padding:6px 14px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer}.pwa-dismiss-btn{background:transparent;color:#999;border:none;cursor:pointer;font-size:16px;padding:0 4px}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.onboarding-card{width:100%;max-width:360px;background:#111;border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:36px 28px 28px;display:flex;flex-direction:column;gap:28px;box-shadow:0 32px 80px #000000e6,0 0 0 1px #50c87814;animation:onboarding-enter .3s ease-out}@keyframes onboarding-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.onboarding-body{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.onboarding-icon-ring{width:64px;height:64px;border-radius:50%;background:#50c8781a;border:1px solid rgba(80,200,120,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}.onboarding-title{font-size:1.25rem;font-weight:800;color:#fff;line-height:1.3;letter-spacing:-.02em}.onboarding-description{font-size:.95rem;color:#ccc;line-height:1.55;max-width:280px}.onboarding-detail{font-size:.85rem;color:var(--text-secondary, #999999);line-height:1.5;max-width:280px}.onboarding-dots{display:flex;justify-content:center;gap:8px}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:#fff3;border:none;cursor:pointer;padding:0;transition:all .25s ease}.onboarding-dot.active{background:var(--emerald, #50C878);width:24px;border-radius:4px}.onboarding-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.onboarding-next-btn{width:100%;background:var(--emerald, #50C878);color:#000;border:none;border-radius:14px;padding:15px 24px;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.02em;transition:all .2s ease}.onboarding-next-btn:active{transform:scale(.97);opacity:.9}.onboarding-skip-link{background:none;border:none;color:var(--text-secondary, #999999);font-size:.875rem;font-family:inherit;cursor:pointer;padding:4px 8px;transition:color .2s ease}.onboarding-skip-link:hover{color:#ccc}:root{--emerald: #50C878;--emerald-muted: rgba(80, 200, 120, .2);--alert-red: #ff453a;--bg-dark: #0a0a0a;--bg-card: #141414;--bg-nav: rgba(20, 20, 20, .85);--text-primary: #ffffff;--text-secondary: #999999;--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--shadow-emerald: 0 0 20px rgba(80, 200, 120, .15);--safe-area-bottom: env(safe-area-inset-bottom, 20px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{overscroll-behavior-y:none;height:100%}body{font-family:Inter,sans-serif;background-color:var(--bg-dark);color:var(--text-primary);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:700;letter-spacing:-.02em}.text-emerald{color:var(--emerald)}.text-muted{color:var(--text-secondary)}.glass{background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border)}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}.btn-primary{background-color:var(--emerald);color:#000;border:none;padding:12px 24px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;text-transform:uppercase}.btn-primary:active{transform:scale(.96);opacity:.9}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
