@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.landing{flex-direction:column;gap:48px;max-width:480px;min-height:100vh;margin:0 auto;padding:48px 24px;display:flex}.landing-hero{flex-direction:column;gap:20px;display:flex}.landing-badge{color:var(--accent);background:#ff6b3526;border:1px solid #ff6b354d;border-radius:99px;align-items:center;gap:6px;width:fit-content;padding:6px 16px;font-size:13px;font-weight:600;display:inline-flex}.landing-hero h1{font-size:clamp(32px,8vw,48px);font-weight:800;line-height:1.15}.landing-hero h1 .accent{color:var(--accent)}.landing-hero p{color:var(--text-secondary);font-size:16px;line-height:1.7}.landing-actions{flex-direction:column;gap:12px;margin-top:8px;display:flex}.btn-primary-link{background:var(--accent);color:#fff;border-radius:var(--radius);text-align:center;justify-content:center;align-items:center;padding:15px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.btn-primary-link:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary-link.btn-large{padding:18px 32px;font-size:17px}.btn-ghost-link{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);background:0 0;justify-content:center;align-items:center;padding:14px 24px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.btn-ghost-link:hover{border-color:var(--accent);color:var(--accent)}.landing-features{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=400px){.landing-features{grid-template-columns:1fr}}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:20px 16px;display:flex}.feature-icon{font-size:28px}.feature-card h3{font-size:14px;font-weight:700}.feature-card p{color:var(--text-secondary);font-size:12px;line-height:1.5}.landing-cta{padding-bottom:24px}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--error);color:#fff}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.input-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.input-label{color:var(--text-secondary);font-size:14px;font-weight:500}.input-wrap{position:relative}.input-field{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:12px 16px;font-size:15px;transition:border-color .2s}.input-field.input-has-icon{padding-right:46px}.input-field:focus{border-color:var(--accent)}.input-field.input-error{border-color:var(--error)}.input-error-msg{color:var(--error);font-size:12px}.input-eye{cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;font-size:16px;line-height:1;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.input-eye:hover{opacity:1}.auth-header{text-align:center;margin-bottom:28px}.auth-header h1{margin-bottom:6px;font-size:26px;font-weight:800}.auth-header p{color:var(--text-secondary);font-size:15px}.logo{color:var(--accent);margin-bottom:20px;font-size:22px;font-weight:800;display:inline-block}.checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:6px;font-size:14px;line-height:1.5;display:flex}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:2px}.link{color:var(--accent);font-weight:500}.link:hover{text-decoration:underline}.field-error{color:var(--error);margin-bottom:12px;font-size:12px}.server-error{color:var(--error);border-radius:var(--radius);background:#ff44441a;border:1px solid #ff44444d;margin-top:12px;padding:10px 14px;font-size:13px}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:14px}.code-inputs{justify-content:center;gap:10px;margin-bottom:24px;display:flex}.code-input{text-align:center;background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius);width:48px;height:56px;color:var(--text);outline:none;font-size:22px;font-weight:700;transition:border-color .2s}.code-input:focus{border-color:var(--accent)}.onboarding-page{flex-direction:column;gap:18px;max-width:480px;min-height:100vh;margin:0 auto;padding:20px 20px 40px;display:flex;overflow-x:hidden}.ob-topbar{align-items:center;gap:12px;display:flex}.ob-back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 8px 4px 0;font-size:22px;transition:color .15s}.ob-back-btn:hover{color:var(--text)}.ob-progress-track{background:var(--bg-elevated);border-radius:99px;flex:1;height:6px;overflow:hidden}.ob-progress-fill{background:linear-gradient(90deg, var(--accent), var(--success));border-radius:99px;height:100%;transition:width .4s}.ob-counter{color:var(--text-secondary);text-align:right;flex-shrink:0;min-width:38px;font-size:12px;font-weight:600}.ob-section-badge{color:var(--accent);background:#ff6b3514;border:1px solid #ff6b3533;border-radius:99px;justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.ob-section-steps{opacity:.7;font-size:12px}@keyframes slideInRight{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-48px)}to{opacity:1;transform:translate(0)}}.onboarding-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1;padding:28px 24px}.ob-slide-next{animation:.24s cubic-bezier(.2,.8,.4,1) both slideInRight}.ob-slide-prev{animation:.24s cubic-bezier(.2,.8,.4,1) both slideInLeft}.question-text{margin-bottom:24px;font-size:20px;font-weight:700;line-height:1.4}.options-list{flex-direction:column;gap:10px;display:flex}.option-btn{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:500;transition:border-color .15s,background .15s;display:flex}.option-btn:hover{border-color:var(--accent)}.option-btn.selected{border-color:var(--accent);color:var(--accent);background:#ff6b351a;font-weight:600}.option-radio{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;transition:all .15s;display:flex}.option-btn.selected .option-radio{background:var(--accent);border-color:var(--accent);color:#fff}.options-chips{flex-wrap:wrap;gap:10px;display:flex}.option-chip{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text);cursor:pointer;border-radius:99px;padding:10px 16px;font-size:14px;font-weight:500;transition:border-color .15s,background .15s}.option-chip:hover{border-color:var(--accent)}.option-chip.selected{border-color:var(--accent);color:var(--accent);background:#ff6b351a;font-weight:600}.multi-hint{color:var(--text-secondary);width:100%;margin-top:4px;font-size:12px}.spinner-wrap{justify-content:center;align-items:center;gap:28px;padding:24px 0;display:flex}.spinner-btn{background:var(--bg-elevated);border:1.5px solid var(--border);width:58px;height:58px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:700;transition:border-color .15s,transform .1s;display:flex}.spinner-btn:hover{border-color:var(--accent);color:var(--accent)}.spinner-btn:active{transform:scale(.91)}.spinner-value{text-align:center;min-width:110px}.spinner-num{cursor:text;font-size:58px;font-weight:800;line-height:1;transition:color .15s;display:block}.spinner-num:hover{color:var(--accent)}.spinner-input{text-align:center;border:none;border-bottom:2px solid var(--accent);width:120px;color:var(--text);-moz-appearance:textfield;background:0 0;outline:none;font-family:inherit;font-size:52px;font-weight:800;line-height:1;display:block}.spinner-input::-webkit-outer-spin-button{-webkit-appearance:none}.spinner-input::-webkit-inner-spin-button{-webkit-appearance:none}.spinner-unit{color:var(--text-secondary);margin-top:4px;font-size:16px;display:block}.onboarding-error{color:var(--error);border-radius:var(--radius);text-align:center;background:#ff44441a;border:1px solid #ff44444d;margin-top:16px;padding:10px 14px;font-size:13px}.onboarding-nav{min-height:56px}.ob-next-btn{background:var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;width:100%;padding:16px;font-size:16px;font-weight:700;transition:opacity .2s;animation:.2s both fadeSlideUp}.ob-next-btn:hover{opacity:.9}.ob-next-btn:disabled{opacity:.6;cursor:default}.ob-next-btn.loading{opacity:.7}.ob-hint{text-align:center;color:var(--text-secondary);padding:16px 0 0;font-size:13px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.logo-small{color:var(--accent);font-size:18px;font-weight:800}.dashboard{flex-direction:column;gap:16px;max-width:480px;min-height:100vh;margin:0 auto;padding:24px 20px 48px;display:flex}.dash-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dash-logo{color:var(--accent);font-size:20px;font-weight:800;display:block}.dash-greeting{color:var(--text-secondary);margin-top:2px;font-size:13px}.dash-avatar{background:#ff6b3526;border:1px solid #ff6b354d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.dash-loading{text-align:center;color:var(--text-secondary);padding:48px}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:16px;font-size:11px;font-weight:700}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-cell{background:var(--bg-elevated);border-radius:var(--radius);text-align:center;padding:14px}.stat-value{color:var(--accent);margin-bottom:4px;font-size:28px;font-weight:800;line-height:1;display:block}.stat-label{color:var(--text-secondary);font-size:11px}.goal-header{justify-content:space-between;margin-bottom:10px;font-size:14px;display:flex}.goal-pct{color:var(--accent);font-weight:700}.progress-track{background:var(--bg-elevated);border-radius:99px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--success));border-radius:99px;height:100%;transition:width .4s}.progress-hint{color:var(--text-secondary);margin-top:8px;font-size:11px}.action-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-btn{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:center;padding:14px 10px;font-size:13px;font-weight:600;transition:all .2s}.action-btn:hover{border-color:var(--accent);color:var(--accent)}.action-btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.action-btn.accent:hover{background:var(--accent-hover)}.action-btn.done-today{opacity:.5;cursor:default;border-color:var(--success);color:var(--success);background:#06d6a01a}.program-preview{background:var(--bg-elevated);border-radius:var(--radius);color:var(--text-secondary);padding:16px;font-size:14px}.logout-btn{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius);cursor:pointer;background:0 0;margin-top:8px;padding:12px;font-size:14px;transition:all .2s}.logout-btn:hover{border-color:var(--error);color:var(--error)}.delete-account-btn{color:var(--text-secondary);cursor:pointer;opacity:.5;text-underline-offset:2px;background:0 0;border:none;padding:8px;font-size:12px;text-decoration:underline;transition:opacity .2s,color .2s}.delete-account-btn:hover{opacity:1;color:var(--error)}.back-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:14px;font-weight:600}.ai-generating{color:var(--text-secondary);flex-direction:column;align-items:center;gap:16px;padding:40px 20px;display:flex}.ai-generating-inline{color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius);align-items:center;gap:10px;padding:12px;font-size:13px;display:flex}.ai-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.ai-spinner-small{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin}.coach-message{border-left:3px solid var(--accent)}.coach-text{margin-bottom:8px;font-size:15px;font-style:italic;line-height:1.5}.focus-week{color:var(--accent);font-size:13px;font-weight:600}.jour-row{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:14px}.jour-actif{border-color:#ff6b354d}.jour-today{border-color:var(--accent);background:#ff6b350d}.jour-repos{opacity:.6}.jour-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.jour-nom{flex:1;font-size:14px;font-weight:700}.jour-type{color:var(--text-secondary);font-size:12px}.jour-duree{color:var(--accent);margin-left:auto;font-size:12px;font-weight:700}.exercices-list{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:8px;display:flex}.exercice-row{background:var(--bg-elevated);border-radius:6px;padding:8px}.ex-nom{font-size:13px;font-weight:600;display:block}.ex-details{color:var(--text-secondary);font-size:12px;display:block}.ex-conseil{color:var(--accent);margin-top:2px;font-size:11px;display:block}.seance-type{color:var(--accent);margin-bottom:4px;font-size:22px;font-weight:800}.seance-duree{color:var(--text-secondary);font-size:14px}.exercice-card{background:var(--bg-elevated);border-radius:var(--radius);align-items:flex-start;gap:14px;margin-bottom:10px;padding:14px;display:flex}.ex-number{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}.ex-content{flex:1}.ex-nom-big{margin-bottom:4px;font-size:16px;font-weight:700}.ex-details-big{color:var(--text-secondary);margin-bottom:2px;font-size:13px}.ex-repos{color:var(--text-secondary);font-size:12px}.ex-conseil-big{color:var(--accent);margin-top:6px;font-size:12px}.start-workout-btn{background:var(--success);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;width:100%;margin-top:8px;padding:16px;font-size:16px;font-weight:700;transition:opacity .2s}.start-workout-btn:hover{opacity:.9}.repos-card{text-align:center;color:var(--text-secondary);padding:24px;font-size:14px}.repos-card p:first-child{margin-bottom:8px;font-size:32px}.today-preview{flex-direction:column;gap:8px;display:flex}.today-day{align-items:center;gap:10px;display:flex}.today-jour{font-size:18px;font-weight:700}.today-badge{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:700}.badge-actif{color:var(--accent);background:#ff6b3526}.badge-repos{background:var(--bg-elevated);color:var(--text-secondary)}.today-type{color:var(--text-secondary);font-size:13px}.today-exercices{font-size:13px;font-weight:600}.coach-quote{color:var(--text-secondary);border-top:1px solid var(--border);padding-top:8px;font-size:13px;font-style:italic}.start-btn-small{background:var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;align-self:flex-start;padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .2s}.start-btn-small:hover{opacity:.9}.program-error{color:var(--error);font-size:13px}.coming-soon{color:var(--text-secondary);font-size:14px;line-height:1.6}.difficulty-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px;display:grid}.difficulty-btn{background:var(--bg-elevated);border-radius:var(--radius);cursor:pointer;color:var(--text);border:2px solid #0000;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.difficulty-btn:hover{border-color:var(--accent)}.difficulty-selected{background:#ff6b351a;border-color:var(--accent)!important}.difficulty-emoji{font-size:28px}.mood-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px;display:grid}.mood-btn{background:var(--bg-elevated);border-radius:var(--radius);cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;transition:all .15s;display:flex}.mood-btn:hover{border-color:var(--accent)}.mood-selected{background:#ff6b351a;border-color:var(--accent)!important}.mood-emoji{font-size:28px;line-height:1}.mood-label{color:var(--text-secondary);font-size:11px;font-weight:600}.slider-row{margin-bottom:16px}.slider-header{justify-content:space-between;margin-bottom:6px;display:flex}.slider-label{font-size:13px;font-weight:600}.slider-emoji{color:var(--accent);font-size:13px}.sensation-slider{width:100%;accent-color:var(--accent);cursor:pointer;height:4px}.slider-ticks{color:var(--text-secondary);justify-content:space-between;margin-top:2px;font-size:10px;display:flex}.journal-notes{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:72px;color:var(--text);resize:none;box-sizing:border-box;margin-bottom:16px;padding:12px;font-family:inherit;font-size:13px}.journal-notes:focus{border-color:var(--accent);outline:none}.journal-success{border:1px solid var(--success);border-radius:var(--radius);color:var(--success);background:#06d6a026;padding:12px 16px;font-size:14px;font-weight:600}.history-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.history-row:last-child{border-bottom:none}.history-date{color:var(--text-secondary);flex-shrink:0;width:80px;font-size:12px}.history-mood{flex-shrink:0;font-size:20px}.history-bars{flex-direction:column;flex:1;gap:3px;display:flex}.bar{border-radius:99px;min-width:4px;height:5px;transition:width .3s;display:block}.history-note{color:var(--text-secondary);width:100%;padding-left:90px;font-size:11px;font-style:italic}.today-entry-card{border-left:3px solid var(--success)}.today-entry-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.edit-entry-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:12px;transition:all .15s}.edit-entry-btn:hover{border-color:var(--accent);color:var(--accent)}.today-entry-body{align-items:center;gap:16px;display:flex}.today-entry-mood{flex-shrink:0;font-size:40px;line-height:1}.today-entry-stats{flex:1;grid-template-columns:1fr 1fr;gap:4px;display:grid}.today-entry-stats span{color:var(--text-secondary);font-size:12px}.today-entry-notes{color:var(--text-secondary);border-top:1px solid var(--border);margin-top:12px;padding-top:10px;font-size:13px;font-style:italic}.cancel-edit-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;padding:14px 20px;font-size:14px}.done-screen{text-align:center;flex-direction:column;flex:1;align-items:center;gap:20px;padding:48px 20px;display:flex}.done-icon{font-size:72px;line-height:1}.done-title{color:var(--success);margin:0;font-size:28px;font-weight:800}.done-subtitle{color:var(--text-secondary);margin:0;font-size:15px}.done-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);gap:24px;margin:8px 0;padding:20px 32px;display:flex}.done-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.done-stat-value{color:var(--accent);font-size:32px;font-weight:800;line-height:1}.done-stat-label{color:var(--text-secondary);font-size:12px}.done-coach{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-width:320px;padding:16px;font-size:14px;font-style:italic}.done-home-btn{background:var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;padding:14px 32px;font-size:16px;font-weight:700;transition:opacity .2s}.done-home-btn:hover{opacity:.9}.trends-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.trend-cell{background:var(--bg-elevated);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.trend-emoji{font-size:22px;line-height:1}.trend-label{color:var(--text-secondary);font-size:11px;font-weight:600}.trend-value{color:var(--text);font-size:15px;font-weight:700}.trend-arrow{font-size:18px;font-weight:800}.pattern-item{color:var(--text-secondary);margin:4px 0;font-size:13px}.today-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.reprogram-link{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:2px 0;font-size:12px;font-weight:600;text-decoration:underline}.reprogram-link:hover{opacity:.75}.reschedule-box{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin-bottom:16px;padding:16px;display:flex}.reschedule-label{margin:0;font-size:13px;font-weight:600}.reschedule-hint{color:var(--text-secondary);margin:0;font-size:12px}.reschedule-input{background:var(--bg-card);border:1px solid var(--border);color:var(--text);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.reschedule-input:focus{border-color:var(--accent);outline:none}.reschedule-actions{gap:10px;display:flex}.reschedule-cancel{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;flex:1;padding:10px;font-size:13px}.reschedule-confirm{background:var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;flex:2;padding:10px;font-size:13px;font-weight:700}.reschedule-confirm:disabled{opacity:.6;cursor:default}.today-done-msg{color:var(--success);margin:4px 0 0;font-size:14px;font-weight:600}.ws-fullscreen{color:#fff;text-align:center;background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100vh;padding:2rem;display:flex}.ws-page{color:#fff;background:#0a0a0a;flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding:0 1.25rem 5rem;display:flex}.ws-dark-page{background:#080808}.ws-center{justify-content:center;align-items:center}.ws-muted{color:#ffffff73;font-size:.95rem}.ws-big-icon{font-size:4rem}.ws-spinner{border:3px solid #ff6b3533;border-top-color:#ff6b35;border-radius:50%;width:44px;height:44px;animation:.75s linear infinite ws-spin}@keyframes ws-spin{to{transform:rotate(360deg)}}.ws-header{align-items:center;gap:1rem;padding:1.5rem 0 1rem;display:flex}.ws-back-btn{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;width:42px;height:42px;font-size:1.2rem;transition:background .15s}.ws-back-btn:hover{background:#ffffff24}.ws-page-title{margin:0 0 .1rem;font-size:1.4rem;font-weight:800}.ws-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.ws-badge{color:#ff6b35;background:#ff6b351f;border:1px solid #ff6b354d;border-radius:30px;padding:.3rem .85rem;font-size:.82rem;font-weight:600}.ws-exercise-list{flex-direction:column;flex:1;gap:.65rem;padding-bottom:.5rem;display:flex;overflow-y:auto}.ws-ex-row{background:#ffffff0a;border:1px solid #ffffff12;border-radius:14px;align-items:center;gap:.85rem;padding:.75rem 1rem;display:flex}.ws-ex-thumb{background:#1a1a1a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex;overflow:hidden}.ws-ex-thumb img{object-fit:cover;width:100%;height:100%}.ws-ex-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.ws-ex-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.ws-ex-detail{color:#fff6;font-size:.78rem}.ws-ex-num{color:#fff3;flex-shrink:0;font-size:.8rem;font-weight:700}.ws-btn-start{color:#fff;cursor:pointer;letter-spacing:.3px;background:linear-gradient(135deg,#ff6b35 0%,#ff8c42 100%);border:none;border-radius:16px;margin-top:1.25rem;padding:1.1rem;font-size:1.05rem;font-weight:700;transition:transform .1s,box-shadow .1s;box-shadow:0 4px 20px #ff6b3559}.ws-btn-start:active{transform:scale(.97);box-shadow:0 2px 10px #ff6b3540}.ws-progress-bar{background:#ffffff14;border-radius:2px;height:3px}.ws-progress-fill{background:#ff6b35;border-radius:2px;height:100%;transition:width .6s}.ws-exercise-counter{text-transform:uppercase;letter-spacing:1.5px;color:#ffffff59;padding:.9rem 0 .3rem;font-size:.75rem}.ws-exercise-title{margin:0 0 1rem;font-size:2rem;font-weight:800;line-height:1.1}.ws-gif-box{aspect-ratio:1;background:#111;border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-bottom:1.25rem;display:flex;overflow:hidden}.ws-gif-img{object-fit:cover;width:100%;height:100%}.ws-gif-fallback{font-size:5rem}.ws-set-row{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.ws-set-pill{color:#ff6b35;background:#ff6b352e;border:1px solid #ff6b3566;border-radius:30px;padding:.4rem 1.1rem;font-size:.9rem;font-weight:700}.ws-reps-text{font-size:1.4rem;font-weight:700}.ws-tip{color:#ffffffa6;background:#ffffff0d;border-left:3px solid #ff6b3580;border-radius:0 10px 10px 0;margin-bottom:.75rem;padding:.7rem 1rem;font-size:.88rem;line-height:1.45}.ws-actions{margin-top:auto;padding-top:1rem}.ws-btn-done{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:16px;width:100%;padding:1.1rem;font-size:1.05rem;font-weight:700;transition:transform .1s,box-shadow .1s;box-shadow:0 4px 20px #16a34a4d}.ws-btn-done:active{transform:scale(.97)}.ws-next-hint{text-align:center;color:#ffffff4d;margin-top:.75rem;font-size:.82rem}.ws-rest-page{text-align:center;background:#0b0e14;justify-content:center;align-items:center;gap:1.5rem}.ws-rest-label{letter-spacing:3px;color:#ffffff4d;margin:0;font-size:.78rem}.ws-timer-ring{width:200px;height:200px;position:relative}.ws-timer-svg{width:200px;height:200px;transform:rotate(-90deg)}.ws-ring-bg{fill:none;stroke:#ffffff12;stroke-width:8px}.ws-ring-fill{fill:none;stroke:#ff6b35;stroke-width:8px;stroke-linecap:round;filter:drop-shadow(0 0 8px #ff6b3580);transition:stroke-dashoffset .9s linear}.ws-timer-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ws-timer-num{font-size:3.5rem;font-weight:900;line-height:1}.ws-timer-unit{color:#fff6;font-size:.9rem}.ws-btn-skip{color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:30px;padding:.75rem 2rem;font-size:.9rem;transition:background .15s}.ws-btn-skip:hover{background:#ffffff0d}.ws-complete-page{text-align:center;background:#080808;justify-content:center;align-items:center;gap:1rem}.ws-trophy{font-size:5rem;animation:1.2s ease-in-out infinite alternate ws-bounce}@keyframes ws-bounce{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.ws-complete-title{margin:0;font-size:2rem;font-weight:900}.ws-stats{gap:2.5rem;margin:.5rem 0;display:flex}.ws-stat{flex-direction:column;align-items:center;gap:.2rem;display:flex}.ws-stat-num{color:#ff6b35;font-size:2.2rem;font-weight:900}.ws-stat-label{color:#fff6;text-transform:uppercase;letter-spacing:.5px;font-size:.78rem}.ws-diff-label{color:#fff9;margin:.25rem 0 0;font-size:.95rem}.ws-diff-row{gap:.75rem;display:flex}.ws-diff{cursor:pointer;border:none;border-radius:14px;flex:1;padding:1rem .5rem .9rem;font-size:.85rem;font-weight:700;line-height:1.6;transition:transform .1s}.ws-diff:active{transform:scale(.95)}.ws-diff-easy{color:#fff;background:#15803d}.ws-diff-ok{color:#fff;background:#1d4ed8}.ws-diff-hard{color:#fff;background:#b91c1c}.ws-btn-primary{color:#fff;cursor:pointer;background:#ff6b35;border:none;border-radius:12px;padding:.9rem 2rem;font-size:.95rem;font-weight:700}.install-banner{background:var(--bg-card);border-radius:var(--radius-lg);z-index:999;border:1px solid #ff6b3566;flex-direction:column;gap:14px;width:calc(100% - 32px);max-width:440px;padding:16px 18px;animation:.3s slideUp;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.install-content{align-items:center;gap:14px;display:flex}.install-icon{font-size:32px}.install-title{margin-bottom:2px;font-size:15px;font-weight:700}.install-sub{color:var(--text-secondary);font-size:12px}.install-actions{justify-content:flex-end;gap:10px;display:flex}.install-btn-dismiss{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius);background:0 0;padding:8px 16px;font-size:13px;font-weight:500}.install-btn-accept{background:var(--accent);color:#fff;border-radius:var(--radius);border:none;padding:8px 20px;font-size:13px;font-weight:700;transition:background .2s}.install-btn-accept:hover{background:var(--accent-hover)}.offline-banner{color:var(--accent);z-index:1000;background:#2a1a00;border-bottom:1px solid #ff6b3566;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0}:root{--bg:#0f0f0f;--bg-card:#1a1a1a;--bg-elevated:#242424;--accent:#ff6b35;--accent-hover:#e55a25;--success:#06d6a0;--error:#f44;--text:#fff;--text-secondary:#9ca3af;--border:#2a2a2a;--radius:12px;--radius-lg:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.page{flex-direction:column;justify-content:center;align-items:center;max-width:440px;min-height:100vh;margin:0 auto;padding:24px 20px;display:flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;padding:32px 28px}
