@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:wght@300;400;500;600;700&family=Barlow+Condensed:wght@400;600;700&display=swap";:root{--black: #F7F3EA;--black2: #FFFFFF;--black3: #FFFFFF;--black4: #E7DECB;--gold: #9C7A1E;--gold2: #876612;--gold3: #B08A28;--gold-dim: #E4D4A6;--white: #211C15;--gray: #6B6353;--gray2: #9A9081;--red: #B23B2C;--success: #1E8E4E;--radius: 6px;--transition: .2s ease}*{margin:0;padding:0;box-sizing:border-box}body{background:radial-gradient(1100px 520px at 50% -12%,rgba(201,168,76,.13),transparent 70%),radial-gradient(820px 620px at 100% 102%,rgba(201,168,76,.06),transparent 65%),var(--black);background-attachment:fixed;color:var(--white);font-family:Barlow,sans-serif;min-height:100vh;overflow-x:hidden}#login-screen{position:fixed;inset:0;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;gap:0}.login-container{width:100%;max-width:420px;padding:0 24px;animation:fadeUp .6s ease both}.login-logo-block{text-align:center;margin-bottom:48px}.login-wordmark{font-family:Bebas Neue,sans-serif;font-size:52px;letter-spacing:.12em;color:var(--gold);line-height:1;display:block}.login-tagline{font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.35em;color:var(--gray);text-transform:uppercase;margin-top:6px}.login-divider{width:40px;height:1px;background:var(--gold-dim);margin:20px auto}.login-title{font-family:Barlow Condensed,sans-serif;font-size:13px;letter-spacing:.3em;color:var(--gray);text-transform:uppercase;text-align:center;margin-bottom:32px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gray);margin-bottom:8px}.form-input{width:100%;background:var(--black3);border:1px solid var(--black4);color:var(--white);font-family:Barlow,sans-serif;font-size:15px;padding:14px 16px;border-radius:var(--radius);outline:none;transition:border-color var(--transition)}.form-input:focus{border-color:var(--gold)}.form-input::placeholder{color:var(--gray2)}input[type=date].form-input{color-scheme:dark}input[type=date].form-input::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}.btn-primary{width:100%;background:var(--gold);color:var(--black);font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;padding:16px;border:none;border-radius:var(--radius);cursor:pointer;margin-top:8px;transition:background var(--transition),transform .1s}.btn-primary:hover{background:var(--gold2)}.btn-primary:active{transform:scale(.99)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.login-or{display:flex;align-items:center;gap:14px;margin:16px 0 4px;color:var(--gray2);font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--black4)}.btn-apple{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#1a1714;color:#fff;border:none;border-radius:var(--radius);padding:14px 16px;margin-top:8px;font-family:Barlow,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background var(--transition),transform .1s}.btn-apple svg{display:block}.btn-apple:hover{background:#000}.btn-apple:active{transform:scale(.99)}.btn-apple:disabled{opacity:.5;cursor:not-allowed}.login-error{color:var(--red);font-size:12px;text-align:center;margin-top:12px;min-height:18px}.login-footer{margin-top:40px;text-align:center;font-size:10px;letter-spacing:.2em;color:var(--gray2);text-transform:uppercase}#app{display:none;height:100vh;height:100dvh;min-height:0;flex-direction:column}.nav{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;border-bottom:1px solid var(--black4);background:var(--black2);flex-shrink:0;position:relative;z-index:10}.nav-logo{font-family:Bebas Neue,sans-serif;font-size:30px;letter-spacing:.14em;color:var(--gold);text-shadow:0 0 18px rgba(201,168,76,.35),0 0 4px rgba(201,168,76,.15);border-bottom:1px solid var(--gold-dim);padding-bottom:1px}.nav-tabs{display:flex;gap:2px;background:var(--black3);border-radius:var(--radius);padding:3px}.nav-tab{font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:7px 18px;border:none;border-radius:2px;cursor:pointer;background:transparent;color:var(--gray);transition:all var(--transition)}.nav-tab.active{background:var(--gold);color:var(--black)}.nav-right{display:flex;align-items:center;gap:16px}.athlete-badge{font-size:12px;color:var(--gray);font-family:Barlow Condensed,sans-serif;letter-spacing:.1em}.athlete-badge span{color:var(--gold);font-weight:600}.btn-logout{background:none;border:1px solid var(--black4);color:var(--gray);font-family:Barlow Condensed,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),color var(--transition)}.btn-logout:hover{border-color:var(--gold-dim);color:var(--gold)}.panel{display:none;flex:1;min-height:0;overflow:hidden;scroll-behavior:smooth}.panel.active{display:flex}#panel-coach{flex-direction:column;min-height:0}.coach-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:1px solid var(--black3);flex-shrink:0;background:var(--black2)}.coach-panel-title{font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray)}.btn-clear-chat{font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);background:transparent;border:1px solid var(--black4);border-radius:3px;padding:5px 12px;cursor:pointer;transition:color .2s,border-color .2s}.btn-clear-chat:hover{color:var(--red);border-color:var(--red)}.chat-window{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:32px 24px;display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth}.chat-window::-webkit-scrollbar{width:4px}.chat-window::-webkit-scrollbar-track{background:transparent}.chat-window::-webkit-scrollbar-thumb{background:var(--black4);border-radius:2px}.message{display:flex;gap:14px;max-width:800px;animation:fadeUp .3s ease both}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:34px;height:34px;border-radius:2px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:Bebas Neue,sans-serif;font-size:13px;letter-spacing:.1em}.message.assistant .message-avatar{background:var(--gold);color:var(--black)}.message.user .message-avatar{background:var(--black4);color:var(--gold);font-size:11px}.message-body{flex:1}.message-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray2);margin-bottom:6px;font-family:Barlow Condensed,sans-serif}.message.user .message-label{text-align:right}.message-text{background:var(--black3);border:1px solid var(--black4);padding:14px 18px;border-radius:var(--radius);font-size:14px;line-height:1.65;color:var(--white)}.message.assistant .message-text{border-left:2px solid var(--gold)}.message.user .message-text{background:var(--black4);border-color:transparent;text-align:left}.message.system-insight .message-avatar{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--black);font-size:16px;box-shadow:0 0 12px #c9a84c73}.message.system-insight .message-label{color:var(--gold);font-weight:700;letter-spacing:.28em}.message.system-insight .message-text{background:linear-gradient(180deg,rgba(201,168,76,.06),var(--black3) 60%);border:1px solid var(--gold-dim);border-left:3px solid var(--gold);position:relative}.message.system-insight .message-text:before{content:"";position:absolute;inset:0;border-radius:var(--radius);pointer-events:none;box-shadow:inset 0 0 0 1px #c9a84c1f}.message.assistant .message-text p{margin:6px 0}.message.assistant .message-text p:first-child{margin-top:0}.message.assistant .message-text p:last-child{margin-bottom:0}.message.assistant .message-text h1,.message.assistant .message-text h2,.message.assistant .message-text h3{font-family:Bebas Neue,sans-serif;letter-spacing:.06em;color:var(--gold);margin:14px 0 5px}.message.assistant .message-text h1{font-size:18px}.message.assistant .message-text h2{font-size:16px}.message.assistant .message-text h3{font-size:14px;color:var(--gold2)}.message.assistant .message-text ul,.message.assistant .message-text ol{margin:8px 0;padding-left:20px}.message.assistant .message-text li{margin:4px 0;line-height:1.55}.message.assistant .message-text strong{color:var(--gold2);font-weight:600}.message.assistant .message-text em{color:var(--gray);font-style:italic}.message.assistant .message-text code{background:var(--black);border:1px solid var(--black4);padding:1px 6px;border-radius:2px;font-family:Courier New,monospace;font-size:12px;color:var(--gold3)}.message.assistant .message-text pre{background:var(--black);border:1px solid var(--black4);padding:12px 14px;border-radius:var(--radius);overflow-x:auto;margin:8px 0}.message.assistant .message-text pre code{background:none;border:none;padding:0}.message.assistant .message-text blockquote{border-left:2px solid var(--gold-dim);padding-left:12px;color:var(--gray);margin:8px 0;font-style:italic}.message.assistant .message-text hr{border:none;border-top:1px solid var(--black4);margin:12px 0}.typing-indicator .message-text{display:flex;gap:5px;align-items:center;padding:16px 20px}.dot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 1.2s ease infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}.chat-input-area{padding:16px 24px;border-top:1px solid var(--black4);background:var(--black2);display:flex;gap:12px;align-items:flex-end;flex-shrink:0}.chat-input{flex:1;background:var(--black3);border:1px solid var(--black4);color:var(--white);font-family:Barlow,sans-serif;font-size:14px;padding:13px 16px;border-radius:var(--radius);outline:none;resize:none;min-height:48px;max-height:140px;line-height:1.5;transition:border-color var(--transition)}.chat-input:focus{border-color:var(--gold-dim)}.chat-input::placeholder{color:var(--gray2)}.btn-send{background:var(--gold);color:var(--black);border:none;width:48px;height:48px;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition)}.btn-send:hover{background:var(--gold2)}.btn-send:disabled{opacity:.4;cursor:not-allowed}.btn-send svg{width:18px;height:18px}#panel-workout{flex-direction:column;overflow-y:auto;padding:32px 24px}#panel-workout::-webkit-scrollbar{width:4px}#panel-workout::-webkit-scrollbar-thumb{background:var(--black4)}.section-header{margin-bottom:24px}.section-title{font-family:Bebas Neue,sans-serif;font-size:28px;letter-spacing:.08em;color:var(--white);line-height:1}.section-sub{font-size:12px;color:var(--gray);letter-spacing:.1em;margin-top:4px;font-family:Barlow Condensed,sans-serif;text-transform:uppercase}.workout-form{max-width:700px;display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{display:block;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gray);margin-bottom:8px}.form-select{width:100%;background:var(--black3);border:1px solid var(--black4);color:var(--white);font-family:Barlow,sans-serif;font-size:14px;padding:12px 16px;border-radius:var(--radius);outline:none;cursor:pointer;appearance:none}.form-select:focus{border-color:var(--gold-dim)}.exercises-block{background:var(--black3);border:1px solid var(--black4);border-radius:var(--radius);padding:20px}.exercises-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.exercises-title{font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--gray)}.btn-add-exercise{background:none;border:1px solid var(--gold-dim);color:var(--gold);font-family:Barlow Condensed,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;border-radius:var(--radius);cursor:pointer;transition:background var(--transition)}.btn-add-exercise:hover{background:#c9a84c14}.exercise-row{display:grid;grid-template-columns:1fr 70px 70px 90px 32px;gap:8px;align-items:center;margin-bottom:10px}.exercise-input{background:var(--black2);border:1px solid var(--black4);color:var(--white);font-family:Barlow,sans-serif;font-size:13px;padding:9px 12px;border-radius:var(--radius);outline:none;width:100%}.exercise-input:focus{border-color:var(--gold-dim)}.exercise-input::placeholder{color:var(--gray2);font-size:12px}.btn-remove-ex{background:none;border:none;color:var(--gray2);cursor:pointer;font-size:16px;line-height:1;padding:4px;transition:color var(--transition)}.btn-remove-ex:hover{color:var(--red)}.rpe-display{display:flex;align-items:center;gap:12px}.rpe-value{font-family:Bebas Neue,sans-serif;font-size:28px;color:var(--gold);min-width:36px}input[type=range]{flex:1;-webkit-appearance:none;height:3px;background:var(--black4);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--gold);cursor:pointer}.btn-log-workout{background:var(--gold);color:var(--black);font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;padding:16px 32px;border:none;border-radius:var(--radius);cursor:pointer;align-self:flex-start;transition:background var(--transition);margin-top:8px}.btn-log-workout:hover{background:var(--gold2)}.btn-log-workout:disabled{opacity:.5;cursor:not-allowed}.log-status{font-size:12px;margin-top:8px;min-height:18px;font-family:Barlow Condensed,sans-serif;letter-spacing:.1em}.log-status.success{color:var(--success)}.log-status.error{color:var(--red)}#panel-progress{flex-direction:column;overflow-y:auto;padding:32px 24px;gap:24px}#panel-progress::-webkit-scrollbar{width:4px}#panel-progress::-webkit-scrollbar-thumb{background:var(--black4)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch}.stat-card{background:var(--black3);border:1px solid var(--black4);border-radius:var(--radius);padding:20px 22px;position:relative;overflow:hidden;transition:border-color var(--transition)}.stat-card:hover{border-color:var(--gold-dim)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold)}.stat-label{font-family:Barlow Condensed,sans-serif;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gray);margin-bottom:10px}.stat-value{font-family:Bebas Neue,sans-serif;font-size:38px;color:var(--gold);line-height:1}.stat-unit{font-family:Barlow Condensed,sans-serif;font-size:13px;color:var(--gray);margin-left:4px}.stat-not-logged{font-family:Barlow Condensed,sans-serif!important;font-size:18px!important;color:var(--gray2)!important;-webkit-text-fill-color:var(--gray2)!important;background:none!important;letter-spacing:.08em}.progress-section-title{font-family:Bebas Neue,sans-serif;font-size:20px;letter-spacing:.08em;color:var(--white);padding-bottom:12px;border-bottom:1px solid var(--black4);margin-bottom:16px}.workout-history{display:flex;flex-direction:column;gap:10px}.workout-entry{background:var(--black3);border:1px solid var(--black4);border-left:3px solid var(--gold-dim);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:16px;transition:border-color var(--transition),border-left-color var(--transition)}.workout-entry:hover{border-color:var(--gold-dim);border-left-color:var(--gold)}.workout-entry-type{font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);min-width:90px}.workout-entry-details{flex:1;font-size:13px;color:var(--gray)}.workout-entry-rpe{font-family:Bebas Neue,sans-serif;font-size:22px;color:var(--white)}.rpe-label{font-size:9px;color:var(--gray2);letter-spacing:.15em;font-family:Barlow Condensed,sans-serif;text-align:right}.workout-entry-clickable{cursor:pointer}.workout-entry-clickable:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.wd-overlay{display:none;position:fixed;inset:0;background:#1e181073;z-index:9500;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.wd-overlay.open{display:flex}.wd-card{background:var(--black3);border:1px solid var(--black4);border-top:3px solid var(--gold);border-radius:var(--radius);width:460px;max-width:100%;max-height:88vh;overflow-y:auto;padding:22px 24px;box-shadow:0 24px 60px #00000040;animation:fadeUp .25s ease both}.wd-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.wd-title{font-family:Bebas Neue,sans-serif;font-size:28px;letter-spacing:.06em;color:var(--white);line-height:1}.wd-date{font-family:Barlow Condensed,sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--gray);margin-top:4px}.wd-close{background:none;border:1px solid var(--black4);color:var(--gray);width:30px;height:30px;border-radius:var(--radius);cursor:pointer;flex-shrink:0;font-size:13px;transition:border-color var(--transition),color var(--transition)}.wd-close:hover{border-color:var(--gold-dim);color:var(--gold)}.wd-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.wd-meta-item{background:var(--black);border:1px solid var(--black4);border-radius:var(--radius);padding:12px;text-align:center}.wd-meta-val{font-family:Bebas Neue,sans-serif;font-size:24px;color:var(--gold);line-height:1}.wd-meta-label{font-family:Barlow Condensed,sans-serif;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--gray2);margin-top:5px}.wd-section-title{font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:4px 0 10px}.wd-ex-list{display:flex;flex-direction:column;gap:1px;margin-bottom:8px}.wd-ex{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid var(--black4)}.wd-ex:last-child{border-bottom:none}.wd-ex-name{font-size:14px;color:var(--white)}.wd-ex-detail{font-family:Barlow Condensed,sans-serif;font-size:13px;letter-spacing:.05em;color:var(--gray);white-space:nowrap}.wd-empty,.wd-loading{font-size:13px;color:var(--gray);padding:16px 0;text-align:center}.wd-notes{font-size:13px;line-height:1.6;color:var(--white);background:var(--black);border:1px solid var(--black4);border-left:2px solid var(--gold);border-radius:var(--radius);padding:12px 14px;white-space:pre-wrap}.empty-state{text-align:center;padding:48px 24px;color:var(--gray2);font-family:Barlow Condensed,sans-serif;font-size:13px;letter-spacing:.15em;text-transform:uppercase}.goals-block{background:var(--black3);border:1px solid var(--black4);border-left:3px solid var(--gold);border-radius:var(--radius);padding:20px 24px;transition:border-color var(--transition)}.goals-block:hover{border-color:var(--gold-dim);border-left-color:var(--gold2)}.goals-text{font-size:14px;color:var(--white);line-height:1.6}.goal-item{font-size:14px;color:var(--white);line-height:1.6;padding:6px 0;border-bottom:1px solid var(--black4)}.goal-item:last-child{border-bottom:none;padding-bottom:0}.goal-item:first-child{padding-top:0}.toast{position:fixed;bottom:24px;right:24px;background:var(--black3);border:1px solid var(--gold-dim);border-left:3px solid var(--gold);color:var(--white);font-family:Barlow Condensed,sans-serif;font-size:13px;letter-spacing:.1em;padding:14px 20px;border-radius:var(--radius);z-index:9000;opacity:0;transform:translateY(8px);transition:all .3s ease;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.loading-text{background:linear-gradient(90deg,var(--gray2) 25%,var(--gold) 50%,var(--gray2) 75%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 1.5s linear infinite}#panel-dashboard{flex-direction:column;overflow:hidden}.ds{transition:border-color .2s ease}.ds:hover{border-color:var(--gold-dim)!important}.dashboard-scroll{flex:1;overflow-y:auto;padding:28px 24px 40px;display:flex;flex-direction:column;gap:20px}.dashboard-scroll::-webkit-scrollbar{width:4px}.dashboard-scroll::-webkit-scrollbar-thumb{background:var(--black4)}.dashboard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.btn-new-cycle{background:none;border:1px solid var(--gold-dim);color:var(--gold);font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;padding:9px 18px;border-radius:var(--radius);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--transition),border-color var(--transition)}.btn-new-cycle:hover{background:#c9a84c14;border-color:var(--gold)}.new-cycle-form-wrap{animation:fadeUp .25s ease both}.new-cycle-form{background:var(--black3);border:1px solid var(--gold-dim);border-radius:var(--radius);padding:22px 24px}.form-title{font-family:Bebas Neue,sans-serif;font-size:20px;letter-spacing:.08em;color:var(--gold);margin-bottom:18px}.cycle-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:14px}.cycle-form-actions{display:flex;gap:10px;margin-top:16px}.btn-create-cycle{background:var(--gold);color:var(--black);font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;padding:11px 24px;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition)}.btn-create-cycle:hover{background:var(--gold2)}.btn-create-cycle:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-cycle{background:none;border:1px solid var(--black4);color:var(--gray);font-family:Barlow Condensed,sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:11px 20px;border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),color var(--transition)}.btn-cancel-cycle:hover{border-color:var(--gray2);color:var(--white)}.cycle-active-card{background:var(--black3);border:1px solid var(--black4);border-left:3px solid var(--gold);border-radius:var(--radius);padding:20px 24px;position:relative;overflow:hidden}.cycle-active-card.no-cycle{border-left-color:var(--gray2);opacity:.6}.cycle-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.cycle-card-name{font-family:Bebas Neue,sans-serif;font-size:26px;letter-spacing:.08em;color:var(--white);line-height:1}.cycle-badge{font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;padding:4px 10px;border-radius:2px;flex-shrink:0}.cycle-badge.bulk{background:#c9a84c26;color:var(--gold);border:1px solid var(--gold-dim)}.cycle-badge.cut{background:#b23b2c1f;color:var(--red);border:1px solid rgba(178,59,44,.35)}.cycle-badge.maintain{background:#1e8e4e1f;color:var(--success);border:1px solid rgba(30,142,78,.35)}.cycle-card-goal{font-size:13px;color:var(--gray);margin-bottom:12px;line-height:1.4}.cycle-card-dates{font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.15em;color:var(--gray2);text-transform:uppercase;margin-bottom:14px}.cycle-progress-wrap{margin-top:4px}.cycle-progress-label{display:flex;justify-content:space-between;font-family:Barlow Condensed,sans-serif;font-size:10px;letter-spacing:.15em;color:var(--gray2);text-transform:uppercase;margin-bottom:6px}.cycle-progress-bar{height:4px;background:var(--black4);border-radius:2px;overflow:hidden}.cycle-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold));border-radius:2px;transition:width .6s ease}.cycle-loading{font-family:Barlow Condensed,sans-serif;font-size:12px;letter-spacing:.15em;color:var(--gray2);text-transform:uppercase}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:860px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{background:var(--black3);border:1px solid var(--black4);border-radius:var(--radius);padding:20px 22px}.card-title{font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}.card-sub{font-family:Barlow Condensed,sans-serif;font-size:10px;letter-spacing:.15em;color:var(--gray2);text-transform:uppercase;margin-bottom:16px;min-height:14px}.heatmap-view{display:flex;flex-direction:column;gap:9px}.heatmap-row{display:grid;grid-template-columns:88px 1fr 32px;align-items:center;gap:10px}.heatmap-label{font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gray)}.heatmap-bar-wrap{height:8px;background:var(--black4);border-radius:4px;overflow:hidden}.heatmap-bar{height:100%;border-radius:4px;transition:width .5s ease;min-width:2px}.heatmap-count{font-family:Bebas Neue,sans-serif;font-size:15px;color:var(--gray2);text-align:right;letter-spacing:.05em}.scorecard-view{display:flex;flex-direction:column;gap:14px}.scorecard-stat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--black4);padding-bottom:12px}.scorecard-stat:last-child{border-bottom:none;padding-bottom:0}.scorecard-stat-label{font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray)}.scorecard-stat-value{font-family:Bebas Neue,sans-serif;font-size:26px;color:var(--gold);letter-spacing:.05em;line-height:1}.scorecard-stat-unit{font-family:Barlow Condensed,sans-serif;font-size:11px;color:var(--gray2);margin-left:4px}.scorecard-progress-wrap{margin-top:2px}.scorecard-days-label{font-family:Barlow Condensed,sans-serif;font-size:10px;letter-spacing:.15em;color:var(--gray2);text-transform:uppercase;margin-bottom:6px;display:flex;justify-content:space-between}.cycles-list{display:flex;flex-direction:column;gap:8px}.cycle-row{background:var(--black3);border:1px solid var(--black4);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:14px}.cycle-row-name{font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--white);flex:1}.cycle-row-meta{font-family:Barlow Condensed,sans-serif;font-size:11px;letter-spacing:.1em;color:var(--gray2);text-transform:uppercase}.cycle-row-status{font-family:Barlow Condensed,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:3px 8px;border-radius:2px}.cycle-row-status.active{color:var(--gold);border:1px solid var(--gold-dim);background:#c9a84c14}.cycle-row-status.done{color:var(--gray2);border:1px solid var(--black4)}@media(max-width:768px){.nav{height:auto;min-height:48px;padding:8px 12px;flex-wrap:wrap;gap:0;align-items:center}.nav-logo{flex:1;order:1;font-size:22px}.nav-right{order:2;gap:8px}.athlete-badge{display:none}.btn-logout{padding:7px 10px;font-size:9px;min-height:36px;touch-action:manipulation}.stats-grid{grid-template-columns:repeat(2,1fr)}.nav-tabs{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 0 2px;background:transparent;justify-content:flex-start;flex-wrap:nowrap;border-top:1px solid var(--black4);margin-top:8px;border-radius:0;gap:4px}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{white-space:nowrap;flex-shrink:0;min-height:36px;touch-action:manipulation;font-size:10px;padding:7px 14px}#app{height:100vh;height:100dvh;min-height:0}#panel-workout,#panel-progress{padding:20px 12px;overflow-x:hidden}.coach-panel-header{padding:8px 12px}.chat-window{padding:16px 12px;gap:14px}.chat-input-area{padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom,10px));gap:8px;position:sticky;bottom:0}.message{max-width:100%;gap:8px}.message-text{font-size:13px;padding:11px 13px}.chat-input{font-size:16px}.form-row{grid-template-columns:1fr}.form-input,.form-select{font-size:16px;min-height:44px;padding:12px 14px}.exercise-row{grid-template-columns:1fr 46px 46px 62px 30px;gap:4px}.exercise-input{font-size:14px;min-height:40px;padding:8px 7px}.exercises-block{padding:14px 12px}.btn-add-exercise{min-height:38px;padding:8px 14px}.btn-remove-ex{min-height:38px;min-width:30px}.btn-log-workout{width:100%;align-self:stretch;min-height:50px;text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.workout-entry{flex-wrap:wrap;gap:6px;padding:10px 12px}.workout-entry-type{min-width:auto;width:100%}.dashboard-scroll{padding:14px 12px 32px;gap:14px}.dashboard-top{flex-direction:column;align-items:stretch;gap:12px}.btn-new-cycle{width:100%;text-align:center;min-height:44px;touch-action:manipulation}.cycle-card-top{flex-wrap:wrap;gap:8px}.new-cycle-form{padding:16px 14px}.cycle-form-grid{grid-template-columns:1fr}.cycle-form-actions{flex-direction:column}.btn-create-cycle,.btn-cancel-cycle{width:100%;text-align:center;min-height:46px}.dashboard-card,.cycle-active-card{padding:16px 14px}.toast{bottom:80px;right:12px;left:12px;text-align:center}}@media(max-width:400px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}.exercise-row{grid-template-columns:1fr 40px 40px 58px 28px;gap:3px}.exercise-input{font-size:13px;padding:7px 6px}}.share-block{display:flex;flex-direction:column;gap:12px}.share-help{color:var(--gray);font-size:13px;line-height:1.5}.btn-share-generate{background:transparent;color:var(--gold);border:1px solid var(--gold-dim);font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;padding:12px 20px;border-radius:var(--radius);cursor:pointer;align-self:flex-start;transition:background var(--transition),border-color var(--transition),color var(--transition)}.btn-share-generate:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}.btn-share-generate:disabled{opacity:.5;cursor:not-allowed}.share-links{display:flex;flex-direction:column;gap:8px}.share-link-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;background:var(--black3);border:1px solid var(--black4);border-radius:var(--radius);padding:10px}.share-link-url{background:var(--black2);border:1px solid var(--black4);border-radius:var(--radius);color:var(--white);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:8px 10px;min-width:0;width:100%}.btn-share-copy,.btn-share-revoke{background:transparent;color:var(--white);border:1px solid var(--black4);font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:8px 12px;border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),color var(--transition)}.btn-share-copy:hover{border-color:var(--gold-dim);color:var(--gold)}.btn-share-revoke:hover{border-color:var(--red);color:var(--red)}.share-empty{color:var(--gray);font-size:13px;font-style:italic}@media(max-width:600px){.share-link-row{grid-template-columns:1fr}}.photos-block{background:var(--black2);border:1px solid var(--black4);border-radius:var(--radius);padding:14px}.photos-help{color:var(--gray);font-size:13px;line-height:1.5;margin-bottom:12px}.btn-photo-upload{background:var(--gold);color:var(--black);border:0;font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:10px 16px;border-radius:var(--radius);cursor:pointer;transition:background var(--transition)}.btn-photo-upload:hover{background:var(--gold2)}.photo-upload-form{display:grid;gap:8px;margin-top:12px;padding:12px;background:var(--black3);border:1px solid var(--black4);border-radius:var(--radius)}.photo-upload-form input[type=date],.photo-upload-form select,.photo-upload-form textarea{background:var(--black2);border:1px solid var(--black4);border-radius:var(--radius);color:var(--white);font-family:inherit;font-size:14px;padding:8px 10px}.photo-upload-form input:focus,.photo-upload-form select:focus,.photo-upload-form textarea:focus{border-color:var(--gold);outline:none}.photo-upload-actions{display:flex;gap:8px}.btn-photo-submit{background:var(--gold);color:var(--black);border:0;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:8px 16px;border-radius:var(--radius);cursor:pointer}.btn-photo-submit:disabled{opacity:.5;cursor:not-allowed}.btn-photo-cancel,.btn-photo-cancel-compare{background:transparent;color:var(--white);border:1px solid var(--black4);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:8px 16px;border-radius:var(--radius);cursor:pointer}.btn-photo-cancel:hover,.btn-photo-cancel-compare:hover{border-color:var(--gold-dim);color:var(--gold)}.photo-compare-bar{margin-top:12px;padding:10px 12px;background:var(--black3);border:1px solid var(--gold-dim);border-radius:var(--radius);color:var(--gold3);font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px}.photo-card{background:var(--black3);border:1px solid var(--black4);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:border-color var(--transition)}.photo-card:hover{border-color:var(--gold-dim)}.photo-card-img{aspect-ratio:3 / 4;overflow:hidden;background:var(--black)}.photo-card-img img{width:100%;height:100%;object-fit:cover;display:block}.photo-card-error{display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:12px}.photo-card-meta{padding:8px 10px;font-size:12px}.photo-card-date{color:var(--white);font-weight:600}.photo-card-pose{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.photo-card-analyzed{color:var(--gold3);font-size:10px;letter-spacing:.06em;margin-top:4px;opacity:.9}.photo-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9000;padding:16px;animation:photoFadeIn .15s ease-out}@keyframes photoFadeIn{0%{opacity:0}to{opacity:1}}.photo-modal,.photo-compare-modal{background:var(--black2);border:1px solid var(--black4);border-radius:var(--radius);max-width:100%;max-height:100%;width:100%;display:flex;flex-direction:column;position:relative;overflow:auto}.photo-modal{max-width:720px}.photo-compare-modal{max-width:1100px}.photo-modal-close{position:absolute;top:8px;right:12px;background:#00000080;border:0;color:var(--white);font-size:24px;line-height:1;width:32px;height:32px;border-radius:50%;cursor:pointer;z-index:1}.photo-modal img{width:100%;max-height:70vh;object-fit:contain;background:var(--black)}.photo-modal-info{padding:12px 16px;border-top:1px solid var(--black4)}.photo-modal-date{color:var(--gold);font-size:16px;font-weight:700}.photo-modal-pose{color:var(--white);font-size:12px;text-transform:uppercase;letter-spacing:.15em;margin-top:2px}.photo-modal-notes{color:var(--gray);font-size:13px;margin-top:8px}.photo-modal-size{color:var(--gray);font-size:11px;margin-top:6px}.photo-modal-analysis-header{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:12px;padding-top:12px;border-top:1px solid var(--black4)}.photo-modal-analysis-body{color:var(--white);font-size:13px;line-height:1.6;margin-top:8px;padding:10px 12px;background:var(--black3);border-left:3px solid var(--gold);border-radius:var(--radius);white-space:pre-wrap}.photo-modal-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--black4)}.btn-photo-compare{background:var(--gold);color:var(--black);border:0;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:8px 14px;border-radius:var(--radius);cursor:pointer}.btn-photo-compare:hover{background:var(--gold2)}.btn-photo-delete{background:transparent;color:var(--red);border:1px solid var(--black4);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:8px 14px;border-radius:var(--radius);cursor:pointer;margin-left:auto}.btn-photo-delete:hover{border-color:var(--red)}.photo-compare-header{padding:14px 16px;font-family:Bebas Neue,sans-serif;font-size:22px;letter-spacing:.05em;color:var(--gold);border-bottom:1px solid var(--black4)}.photo-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:var(--black)}.photo-compare-pane{display:flex;flex-direction:column}.photo-compare-pane img{width:100%;max-height:60vh;object-fit:contain;background:var(--black)}.photo-compare-caption{padding:6px 8px;font-size:12px;color:var(--white);text-align:center}.photo-compare-ask{padding:14px 16px;border-top:1px solid var(--black4)}.photo-compare-ask-label{color:var(--gray);font-size:12px;margin-bottom:8px}.photo-compare-ask textarea{background:var(--black3);border:1px solid var(--black4);border-radius:var(--radius);color:var(--white);font-family:inherit;font-size:13px;padding:8px 10px;width:100%;resize:vertical}.photo-compare-ask textarea:focus{border-color:var(--gold);outline:none}.btn-photo-ask-coach{background:var(--gold);color:var(--black);border:0;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:10px 18px;border-radius:var(--radius);cursor:pointer;margin-top:8px}.btn-photo-ask-coach:hover{background:var(--gold2)}.btn-photo-ask-coach:disabled{opacity:.6;cursor:not-allowed}.photo-compare-reply{margin-top:12px;padding:12px 14px;background:var(--black3);border-left:3px solid var(--gold);border-radius:var(--radius);color:var(--white);font-size:14px;line-height:1.6;white-space:pre-wrap}@media(max-width:600px){.photo-compare-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}
