*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a1a;background:#edf2fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--orange:#e8530a;--orange-light:#fdf0eb;--blue:#1b4fd8;--border:#e0e0e0;--bg:#fff;--bg2:#f5f5f5;--text:#1a1a1a;--muted:#6b6b6b;--radius:12px;--radius-sm:8px}@media (prefers-color-scheme:dark){:root{--bg:#1a1a1a;--bg2:#242424;--border:#333;--text:#f0f0f0;--muted:#888}}#app{background:#edf2fb;max-width:390px;min-height:100vh;margin:0 auto;position:relative}.nav-btn{cursor:pointer;color:#334155;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px 10px;transition:color .2s;display:flex;position:relative}.nav-btn.active{color:#1b4fd8}.nav-btn.active .nav-icon-wrap{background:#1b4fd81a;border-radius:12px}.nav-icon-wrap{border-radius:12px;justify-content:center;align-items:center;width:40px;height:34px;transition:background .2s;display:flex}.nav-btn-label{letter-spacing:.02em;font-size:10px;font-weight:600}.exo-check{border:1.5px solid var(--border);cursor:pointer;background:var(--bg);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.exo-check.done{border-color:var(--orange);background:var(--orange)}.week-detail{display:none}.week-detail.open{display:block}input[type=number]{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:8px 12px;font-size:15px}input[type=number]:focus{border-color:var(--orange)}.modal-overlay{z-index:500;will-change:transform;touch-action:pan-y;background:0 0;justify-content:center;align-items:flex-end;animation:.22s forwards _overlayFadeIn;display:flex;position:fixed;inset:0 max(0px,50vw - 195px);overflow:hidden}@keyframes _overlayFadeIn{0%{background:0 0}to{background:var(--_overlay-bg,#0006)}}@keyframes _pulseBadge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}}@keyframes _sheetSlideUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes _sheetSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.modal-box{background:var(--bg);overscroll-behavior:contain;will-change:transform;touch-action:pan-y;border-top:none;border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-width:390px;max-height:92vh;padding:0;animation:.32s cubic-bezier(.32,.72,0,1) forwards _sheetSlideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 -8px 40px #0000002e}.modal-scroll-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex:1;overflow:hidden auto}.modal-overlay{justify-content:center;align-items:flex-end;display:flex}.modal-box{width:100%;border-radius:24px 24px 0 0!important;max-width:100%!important}.modal-header{color:#fff;padding:20px 20px 16px;position:relative}.modal-header-ef{background:linear-gradient(145deg,#1e4a09 0%,#3b6d11 55%,#4e8a1a 100%)}.modal-header-tempo{background:linear-gradient(145deg,#9a2d00 0%,#e8530a 55%,#f5712a 100%)}.modal-header-frac{background:linear-gradient(145deg,#7a0000 0%,#c4141b 55%,#e03030 100%)}.modal-header-long{background:linear-gradient(145deg,#2a2070 0%,#534ab7 55%,#6e63cc 100%)}.modal-header-default{background:linear-gradient(145deg,#082050 0%,#0c447c 55%,#1560a8 100%)}.modal-body{background:var(--bg);padding:20px 20px 36px}.modal-section{background:var(--bg2);border:1px solid #0000000f;border-radius:16px;margin-bottom:12px;padding:16px}.modal-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:6px;margin-bottom:12px;font-size:10px;font-weight:800;display:flex}.modal-input-styled{background:var(--bg);color:var(--text);box-sizing:border-box;border:2px solid #0000;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-size:16px;font-weight:700;transition:all .15s}.modal-input-styled:focus{border-color:var(--_accent,var(--blue))}.modal-input-xl{text-align:center;border-radius:14px;padding:13px 14px;font-size:28px;font-weight:800}.modal-chip{border:1.5px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:20px;padding:7px 13px;font-size:12px;font-weight:700;transition:all .15s}.ob-chip{cursor:pointer;text-align:left;color:#1a1a1a;background:#fff;border:2px solid #e0e0e0;border-radius:14px;width:100%;padding:18px 20px;font-size:15px;font-weight:700;transition:all .15s}.ob-chip.selected{color:#1b4fd8;background:#ebf0ff;border-color:#1b4fd8}.ob-chip-sm{text-align:center;flex:1;padding:20px 10px;font-size:22px;font-weight:800}.modal-chip.active{color:#fff;border-color:#0000}.modal-stat-card{background:var(--bg);text-align:center;border:1px solid #0000000a;border-radius:14px;flex:1;padding:14px 12px}.modal-stat-label{text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:9px;font-weight:800}.modal-stat-value{font-size:24px;font-weight:900;line-height:1.1}.modal-divider{background:var(--border);opacity:.6;height:1px;margin:14px 0}.modal-btn-primary{color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:16px;width:100%;padding:16px;font-size:15px;font-weight:800;transition:all .15s;box-shadow:0 4px 14px #0003}.modal-btn-primary:active{opacity:.9;transform:scale(.99)}.modal-badge{border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.btn-primary{background:var(--orange);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;width:100%;padding:14px;font-size:15px;font-weight:600}.btn-secondary{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;padding:12px;font-size:14px}.kpi-card{border-radius:var(--radius-sm);background:#fff;border:1px solid #d0dff5;padding:14px}.badge{border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.week-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;overflow:hidden}.week-card.current{border:2px solid var(--orange)}.session-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.session-row:last-child{border-bottom:none}@keyframes pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.typing-cursor{color:#1b4fd8;margin-left:1px;font-weight:100;animation:.5s step-end infinite blink;display:inline-block}.coach-typing{align-items:center;gap:6px;padding:2px 0;display:flex}.coach-typing span{color:#888;font-size:12px;font-style:italic}.coach-typing-dots{align-items:center;gap:4px;display:flex}.coach-typing-dots i{opacity:.4;background:#1b4fd8;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite _dotBounce;display:block}.coach-typing-dots i:nth-child(2){animation-delay:.2s}.coach-typing-dots i:nth-child(3){animation-delay:.4s}@keyframes _dotBounce{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.msg-enter{animation:.22s ease-out forwards slideInUp}.coach-shortcuts::-webkit-scrollbar{display:none}.shortcut-chip{white-space:nowrap;background:var(--bg);border:1.5px solid var(--border);color:var(--text);cursor:pointer;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:7px 13px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.shortcut-chip:active{background:var(--bg2);transform:scale(.95)}.chat-date-sep{color:var(--muted);align-items:center;gap:8px;margin:4px 0;font-size:11px;display:flex}.chat-date-sep:before,.chat-date-sep:after{content:"";background:var(--border);flex:1;height:1px}.coach-chart-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:12px;margin-top:12px;padding:12px 14px 10px;animation:.3s ease-out forwards fadeSlideIn}.coach-chart-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:11px;font-weight:600}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.plan-week-card{background:var(--bg);border-radius:14px;margin-bottom:8px;transition:box-shadow .2s;overflow:hidden}.plan-week-card.is-past{opacity:.72}.plan-week-card.is-current{box-shadow:0 0 0 2px var(--blue), 0 4px 16px #1b4fd81f}.plan-week-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:13px 14px;display:flex}.plan-week-header:active{background:var(--bg2)}.plan-week-num{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:flex}.plan-session-card{border-top:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:11px 14px;transition:background .12s;display:flex}.plan-session-card:active{background:var(--bg2)}.plan-session-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:10px;font-weight:700;display:flex}.plan-session-move{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:23px;padding:0;display:flex}.plan-session-move button{cursor:pointer;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:4px 2px;line-height:1;transition:color .15s;display:flex}.plan-session-move button:not(:disabled){color:var(--text);opacity:.5}.plan-session-move button:not(:disabled):hover,.plan-session-move button:not(:disabled):active{color:var(--blue);opacity:1}.plan-session-move button:disabled{opacity:.12;cursor:default}.plan-add-row{border-top:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:11px 14px;display:flex}.plan-add-row:active{background:var(--bg2)}.plan-progress-bar{background:var(--bg2);border-radius:0;height:3px;overflow:hidden}.plan-progress-fill{border-radius:0;height:100%;transition:width .5s}.plan-month-sep{align-items:center;gap:8px;margin:16px 0 8px;display:flex}.plan-badge{border-radius:20px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}
