@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #1c2333;--bg-card: #1a2030;--bg-hover: #222d3d;--border: #2a3544;--border-light: #334155;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-glow: rgba(59, 130, 246, .15);--blue-glow-strong: rgba(59, 130, 246, .3);--green-500: #22c55e;--green-glow: rgba(34, 197, 94, .15);--red-400: #f87171;--sidebar-width: 260px;--header-height: 56px;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--transition: .18s ease}html{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;height:100%;overflow:hidden}#root{display:flex;height:100vh;width:100%;overflow:hidden}a{color:var(--blue-400);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);padding:10px 14px;font-size:.93rem;outline:none;transition:border-color var(--transition)}input:focus,textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-glow)}@media(max-width:768px){input,textarea{font-size:16px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.app-layout{display:flex;width:100%;height:100vh;overflow:hidden}.main-content{flex:1;margin-left:var(--sidebar-width);height:100vh;display:flex;flex-direction:column;overflow:hidden;transition:margin-left var(--transition)}@media(max-width:768px){.main-content{margin-left:0}}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;transition:transform var(--transition)}.sidebar-header{padding:0 20px;min-height:72px;display:flex;align-items:center;border-bottom:1px solid var(--border)}.sidebar-brand{display:flex;align-items:center;gap:10px}.sidebar-brand-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--blue-500),var(--blue-700));border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;flex-shrink:0}.sidebar-brand-text h1{font-size:1.05rem;font-weight:700;line-height:1.2;color:var(--text-primary)}.sidebar-brand-text p{font-size:.75rem;color:var(--text-muted);margin-top:1px}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;font-weight:500;text-decoration:none;transition:all var(--transition)}.sidebar-link:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.sidebar-link.active{background:var(--blue-glow);color:var(--blue-400)}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-footer{padding:12px 10px;border-top:1px solid var(--border)}.burger-button{display:none;position:fixed;top:12px;left:12px;z-index:200;width:42px;height:42px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;justify-content:center;color:var(--text-primary)}.burger-button svg{width:22px;height:22px}.burger-button.hidden{display:none!important}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:90}@media(max-width:768px){.burger-button{display:flex}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}}.page-header{padding:0 28px;min-height:72px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}@media(max-width:768px){.page-header{padding:0 16px 0 62px}}.page-header h2{font-size:1.25rem;font-weight:700;line-height:1.3}.page-header p{font-size:.85rem;color:var(--text-secondary);margin-top:1px;line-height:1.3}.calendar-page{flex:1;padding:24px 28px;overflow-y:auto}@media(max-width:768px){.calendar-page{padding:16px}}.week-nav{display:flex;align-items:center;gap:16px;margin-bottom:24px}.week-nav button{padding:7px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all var(--transition)}.week-nav button:hover{border-color:var(--blue-500);color:var(--text-primary)}.week-nav button.btn-delete{background:transparent;color:var(--red-400);border-color:var(--border)}.week-nav button.btn-delete:hover{border-color:var(--red-400);background:#f871711a}.week-nav span{font-size:.95rem;font-weight:600;color:var(--text-primary)}.days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}@media(max-width:480px){.days-grid{grid-template-columns:1fr}}.day-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition)}.day-card:hover{border-color:var(--border-light)}.day-card-header{padding:14px 18px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.day-card-title{display:flex;flex-direction:column;flex:1;min-height:48px}.day-card-title .day-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--blue-400)}.day-card-title .muscle-label{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-top:1px;min-height:24px}.day-card-actions{display:flex;align-items:center;gap:8px}.day-delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);flex-shrink:0}.day-delete-btn:hover{border-color:var(--red-400);color:var(--red-400);background:#f871711a}.day-delete-btn svg{width:16px;height:16px}.day-progress{display:flex;align-items:center;gap:8px}.day-progress-bar{width:60px;height:5px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.day-progress-fill{height:100%;background:var(--blue-500);border-radius:3px;transition:width .3s ease}.day-progress-fill.complete{background:var(--green-500)}.day-progress-text{font-size:.75rem;color:var(--text-muted);font-weight:500;min-width:32px;text-align:right}.day-card-body{padding:10px 14px 14px}.muscle-group-label{font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 4px 4px}.exercise-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:var(--radius-sm);transition:background var(--transition)}.exercise-row:hover{background:var(--bg-hover)}.exercise-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all var(--transition);background:transparent}.exercise-check:hover{border-color:var(--blue-500)}.exercise-check.checked{background:var(--blue-500);border-color:var(--blue-500)}.exercise-check.checked svg{opacity:1}.exercise-check svg{width:14px;height:14px;color:#fff;opacity:0;transition:opacity var(--transition)}.exercise-info{flex:1;min-width:0}.exercise-name{font-size:.88rem;font-weight:500;color:var(--text-primary);transition:color var(--transition)}.exercise-row.done .exercise-name{color:var(--text-muted);text-decoration:line-through}.exercise-meta{font-size:.78rem;color:var(--text-secondary);margin-top:1px}.exercise-meta .note{color:var(--text-muted);font-style:italic}.exercise-demo-btn{padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.73rem;color:var(--text-secondary);font-weight:500;transition:all var(--transition);flex-shrink:0}.exercise-demo-btn:hover{border-color:var(--blue-500);color:var(--blue-400)}.demo-modal-overlay{position:fixed;inset:0;background:#000000bf;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.demo-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:500px;width:100%;overflow:hidden}.demo-modal-header{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.demo-modal-header h3{font-size:.95rem;font-weight:600}.demo-modal-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition)}.demo-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.demo-modal-body{padding:18px;display:flex;flex-direction:column;align-items:center;gap:12px}.demo-modal-body video{width:100%;max-height:350px;border-radius:var(--radius);background:var(--bg-primary);object-fit:contain}.demo-modal-body .exercise-details{text-align:center;font-size:.85rem;color:var(--text-secondary)}.chat-page{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:20px 28px;display:flex;flex-direction:column;gap:16px}@media(max-width:768px){.chat-messages{padding:16px}}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);text-align:center;padding:40px 20px}.chat-empty-icon{width:52px;height:52px;background:var(--blue-glow);border-radius:50%;display:flex;align-items:center;justify-content:center}.chat-empty-icon svg{width:26px;height:26px;color:var(--blue-400)}.chat-empty h3{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.chat-empty p{font-size:.88rem;max-width:380px;line-height:1.5}.chat-message{display:flex;gap:12px;max-width:720px}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.chat-message.assistant .chat-avatar{background:var(--blue-glow-strong);color:var(--blue-400)}.chat-message.user .chat-avatar{background:var(--bg-tertiary);color:var(--text-secondary)}.chat-bubble{padding:12px 16px;border-radius:var(--radius);font-size:.9rem;line-height:1.6}.chat-message.assistant .chat-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary)}.chat-message.user .chat-bubble{background:var(--blue-600);color:#fff}.chat-bubble p{margin-bottom:8px}.chat-bubble p:last-child{margin-bottom:0}.chat-bubble ul,.chat-bubble ol{margin:6px 0;padding-left:20px}.chat-bubble li{margin-bottom:4px}.chat-bubble strong{font-weight:600}.chat-bubble code{background:var(--bg-tertiary);padding:1px 5px;border-radius:3px;font-size:.85em}.chat-bubble h1,.chat-bubble h2,.chat-bubble h3{margin:12px 0 6px;font-weight:600}.chat-bubble h3{font-size:1rem}.chat-bubble h2{font-size:1.05rem}.chat-input-area{padding:16px 28px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}@media(max-width:768px){.chat-input-area{padding:12px 16px 16px}}.chat-input-row{display:flex;gap:10px;max-width:720px;margin:0 auto}.chat-input-row input{flex:1;padding:12px 16px;border-radius:var(--radius);background:var(--bg-tertiary);border:1px solid var(--border);font-size:.9rem}.chat-send-btn{padding:10px 20px;background:var(--blue-500);color:#fff;border-radius:var(--radius);font-size:.9rem;font-weight:600;transition:all var(--transition)}.chat-send-btn:hover:not(:disabled){background:var(--blue-600)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:440px;width:100%;padding:24px}.modal h3{font-size:1.1rem;font-weight:700;margin-bottom:6px}.modal p{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.modal input{width:100%;margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions button{padding:8px 18px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;transition:all var(--transition)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.btn-secondary:hover{border-color:var(--border-light);color:var(--text-primary)}.btn-primary{background:var(--blue-500);color:#fff}.btn-primary:hover{background:var(--blue-600)}.loading-dots{display:inline-flex;gap:4px;padding:4px 0}.loading-dots span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:dot-pulse 1.2s infinite ease-in-out}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes dot-pulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.guidelines-section{margin-top:24px;padding:18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.guidelines-section h3{font-size:.95rem;font-weight:600;margin-bottom:12px;color:var(--blue-400)}.guidelines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.guideline-item{padding:10px 14px;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}.guideline-item .label{font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;margin-bottom:3px}.guideline-item .value{font-size:.85rem;color:var(--text-primary)}.day-card.today{border-color:var(--blue-500);box-shadow:0 0 0 1px var(--blue-glow)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background:var(--bg-primary);padding:1rem}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:400px}.auth-brand{text-align:center;margin-bottom:1.5rem}.auth-brand-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--blue-500),var(--blue-700));border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:12px}.auth-brand h1{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.auth-brand p{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.auth-field input{padding:11px 14px;border-radius:var(--radius-sm);font-size:.93rem}@media(max-width:768px){.auth-field input{font-size:16px}}.auth-submit{margin-top:4px;padding:12px;background:var(--blue-500);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.93rem;font-weight:600;cursor:pointer;transition:background var(--transition)}.auth-submit:hover:not(:disabled){background:var(--blue-600)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--red-400);padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem}.auth-footer{text-align:center;margin-top:18px;font-size:.85rem;color:var(--text-secondary)}.auth-footer a{color:var(--blue-400);font-weight:500}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 14px}.sidebar-user-avatar{width:34px;height:34px;background:linear-gradient(135deg,var(--blue-500),var(--blue-700));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;flex-shrink:0}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout{font-size:.75rem;color:var(--text-muted);padding:0;text-align:left;transition:color var(--transition)}.sidebar-logout:hover{color:var(--red-400)}.calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;color:var(--text-muted);gap:12px}.calendar-empty svg{color:var(--blue-400);opacity:.5}.calendar-empty h3{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.calendar-empty p{font-size:.88rem;max-width:340px;line-height:1.5}.calendar-loading{display:flex;align-items:center;justify-content:center;padding:60px}.day-selector{display:flex;gap:4px;margin-bottom:16px}.day-selector-btn{flex:1;padding:10px 4px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;color:var(--text-secondary);text-align:center;transition:all var(--transition);position:relative}.day-selector-btn:hover{border-color:var(--blue-500);color:var(--text-primary)}.day-selector-btn.active{background:var(--blue-glow);border-color:var(--blue-500);color:var(--blue-400)}.day-selector-btn.done{color:var(--green-500)}.day-selector-btn.done.active{color:var(--green-500);border-color:var(--green-500);background:var(--green-glow)}.day-selector-btn.is-today:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--blue-500);border-radius:50%}.chat-toolbar{display:flex;align-items:center;gap:8px;padding:10px 28px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}@media(max-width:768px){.chat-toolbar{padding:10px 16px}}.chat-toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition)}.chat-toolbar-btn:hover{border-color:var(--blue-500);color:var(--text-primary)}.chat-toolbar-btn svg{width:14px;height:14px}.chat-toolbar-btn.active{background:var(--blue-glow);border-color:var(--blue-500);color:var(--blue-400)}.chat-session-title{flex:1;font-size:.85rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-sessions-panel{border-bottom:1px solid var(--border);background:var(--bg-primary);max-height:280px;overflow-y:auto;flex-shrink:0}.chat-session-item{display:flex;align-items:center;gap:10px;padding:10px 28px;cursor:pointer;transition:background var(--transition);border-bottom:1px solid var(--border)}@media(max-width:768px){.chat-session-item{padding:10px 16px}}.chat-session-item:last-child{border-bottom:none}.chat-session-item:hover{background:var(--bg-hover)}.chat-session-item.active{background:var(--blue-glow)}.chat-session-item-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.chat-session-item.active .chat-session-item-icon{color:var(--blue-400)}.chat-session-item-icon svg{width:16px;height:16px}.chat-session-item-text{flex:1;min-width:0}.chat-session-item-title{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-session-item-meta{font-size:.73rem;color:var(--text-muted);margin-top:1px}.chat-session-delete{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);opacity:0;transition:all var(--transition);flex-shrink:0}.chat-session-item:hover .chat-session-delete{opacity:1}.chat-session-delete:hover{background:#f8717126;color:var(--red-400)}.chat-session-delete svg{width:14px;height:14px}.calendar-empty-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center}.calendar-empty-actions .btn-primary,.calendar-empty-actions .btn-secondary{padding:10px 24px;border-radius:var(--radius-sm);text-decoration:none;font-size:.88rem;font-weight:500;display:inline-flex;align-items:center;gap:6px}.calendar-empty-actions .btn-secondary svg,.calendar-empty-actions .btn-primary svg{width:16px;height:16px}
