:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070809;--card:#141619;--card2:#191c20;--line:#252a31;--text:#f4f6f7;--muted:#8a9099;--muted2:#5a616b;--rec-high:#3be081;--rec-mid:#ffce45;--rec-low:#ff4d5e;--strain:#19a7e8;--sleep:#7c8dff;--pad:20px;--surface:linear-gradient(180deg, #191c21 0%, #111318 100%);--surface2:linear-gradient(180deg, #20242a 0%, #171a1f 100%);--hi:inset 0 1px 0 #ffffff0f;--hi-strong:inset 0 1px 0 #ffffff1a;--depth:0 1px 2px #0006, 0 8px 24px #00000059;--depth-lg:0 2px 4px #0006, 0 20px 50px #00000073;--r:22px;--r-lg:26px;--r-sm:16px;font-variant-numeric:tabular-nums}*{box-sizing:border-box;margin:0;padding:0}html,body{color:var(--text);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;background:#000;font-family:-apple-system,SF Pro Display,SF Pro Text,system-ui,Segoe UI,Roboto,sans-serif}body{background:radial-gradient(120% 70% at 50% -10%,#17191f 0%,#060708 55%);justify-content:center;min-height:100dvh;display:flex}button,input,textarea{color:inherit;font-family:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--rec-high);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}#root{justify-content:center;width:100%;display:flex}.phone{background:radial-gradient(140% 50% at 50% 0%, #3be0810d 0%, transparent 45%), var(--bg);flex-direction:column;width:100%;max-width:440px;min-height:100dvh;padding-bottom:92px;display:flex;position:relative;overflow-x:hidden;box-shadow:0 0 0 1px #ffffff08,0 40px 120px #0009}.screen{padding:0 var(--pad)}.screen.on{animation:.35s fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.top{padding:22px var(--pad) 8px;justify-content:space-between;align-items:center;display:flex}.top .date{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.top .sync{color:var(--muted2);align-items:center;gap:6px;font-size:11px;display:flex}.dot{background:var(--rec-high);width:6px;height:6px;box-shadow:0 0 8px var(--rec-high);border-radius:50%;flex:none}.dot.busy{background:var(--rec-mid);box-shadow:0 0 8px var(--rec-mid);animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.refresh{border:1px solid var(--line);background:var(--card);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.refresh svg{width:16px;height:16px}.refresh.spinning svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hero{flex-direction:column;align-items:center;padding:10px 0 4px;display:flex}.ring{width:230px;max-width:100%;height:230px;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring .pct{letter-spacing:-.03em;font-size:66px;font-weight:800;line-height:1}.ring .pct span{color:var(--muted);font-size:26px;font-weight:700}.ring .lbl{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px;font-size:11px;font-weight:600}.verdict{letter-spacing:.02em;text-transform:uppercase;border-radius:100px;margin-top:14px;padding:7px 16px;font-size:15px;font-weight:700}.v-go{color:#04140a;background:var(--rec-high)}.v-moderate{color:#241900;background:var(--rec-mid)}.v-rest{color:#2b0407;background:var(--rec-low)}.headline{text-align:center;color:#d5dae0;margin:14px 6px 4px;font-size:15px;font-weight:500;line-height:1.5}.triple{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;display:grid}.tstat{-webkit-backdrop-filter:blur(18px)saturate(1.3);border-radius:var(--r-sm);text-align:center;box-shadow:var(--depth), var(--hi);background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff14;min-width:0;padding:15px 12px}.tstat .v{letter-spacing:-.02em;font-size:26px;font-weight:800}.tstat .u{color:var(--muted);font-size:12px;font-weight:600}.tstat .k{letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);margin-top:6px;font-size:10px;font-weight:700}.bar{background:var(--line);border-radius:2px;height:3px;margin-top:10px;overflow:hidden}.bar i{border-radius:2px;height:100%;display:block}.sec{margin-top:26px}.sec>.eyebrow{margin-bottom:12px;display:block}.card{-webkit-backdrop-filter:blur(24px)saturate(1.3);border-radius:var(--r);box-shadow:var(--depth), var(--hi);background:linear-gradient(#ffffff0e,#ffffff05);border:1px solid #ffffff14;padding:18px}.card+.card{margin-top:12px}.coach .chiprow{align-items:center;gap:10px;margin-bottom:12px;display:flex}.chip{letter-spacing:.06em;text-transform:uppercase;border-radius:100px;padding:5px 11px;font-size:11px;font-weight:700}.chip.go{color:#04140a;background:var(--rec-high)}.chip.moderate{color:#241900;background:var(--rec-mid)}.chip.rest{color:#2b0407;background:var(--rec-low)}.coach p,.coach ul,.coach ol{color:#c7ccd4;font-size:14.5px;line-height:1.6}.coach p+p{margin-top:.6em}.coach ul,.coach ol{margin:0 0 0 1.1em}.coach li{margin-bottom:6px}.coach li:last-child{margin-bottom:0}.coach strong{color:var(--text);font-weight:700}.coach .train{border-top:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;margin-top:14px;margin-left:-6px;margin-right:-6px;padding-top:14px;padding-left:6px;padding-right:6px;display:flex}.coach .train:hover{background:#ffffff08}.coach .train .ic{width:38px;height:38px;color:var(--strain);background:#19a7e824;border-radius:12px;flex:none;place-items:center;display:grid}.coach .train .ic.fix{color:var(--muted);background:#8a909924}.coach .train .t1{font-size:14px;font-weight:700}.coach .train .t2{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.5}.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.metric{-webkit-backdrop-filter:blur(18px)saturate(1.3);border-radius:var(--r-sm);box-shadow:var(--depth), var(--hi);background:linear-gradient(#ffffff0e,#ffffff05);border:1px solid #ffffff12;min-width:0;padding:16px}.metric .top2{justify-content:space-between;align-items:center;display:flex}.metric .k{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.metric .v{letter-spacing:-.02em;margin-top:8px;font-size:30px;font-weight:800}.metric .v small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:600}.metric .note{margin-top:4px;font-size:12px;font-weight:600}.up{color:var(--rec-high)}.down{color:var(--rec-low)}.flat{color:var(--muted)}.predict{-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.predict::-webkit-scrollbar{display:none}.pcard{-webkit-backdrop-filter:blur(16px)saturate(1.3);border-radius:var(--r-sm);min-width:104px;box-shadow:var(--depth), var(--hi);background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff12;flex:none;padding:14px 15px}.pcard .k{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.pcard .v{letter-spacing:-.02em;margin-top:6px;font-size:22px;font-weight:800}.macro{align-items:center;gap:12px;margin-top:14px;display:flex}.macro:first-of-type{margin-top:4px}.macro .name{letter-spacing:.03em;text-transform:uppercase;color:#c7ccd4;flex:none;width:74px;font-size:12px;font-weight:700}.macro .track{background:var(--card2);border-radius:6px;flex:1;min-width:0;height:8px;overflow:hidden}.macro .track i{border-radius:6px;height:100%;display:block}.macro .val{text-align:right;flex:none;width:78px;font-size:13px;font-weight:700}.macro .val small{color:var(--muted);font-weight:600}.advice{border-top:1px solid var(--line);color:#c7ccd4;margin-top:15px;padding-top:14px;font-size:13.5px;line-height:1.6}.advice b{color:var(--rec-high)}.advice .cut{color:var(--rec-mid)}.src{color:var(--muted2);align-items:center;gap:6px;margin-top:10px;font-size:11px;display:flex}.src svg{width:13px;height:13px}.empty-copy{color:var(--muted);font-size:13.5px;line-height:1.6}.empty-copy .sub{color:var(--muted2);margin-top:4px;font-size:12px}.tcard{-webkit-backdrop-filter:blur(20px)saturate(1.3);border-radius:var(--r);box-shadow:var(--depth), var(--hi);background:linear-gradient(#ffffff0e,#ffffff05);border:1px solid #ffffff14;padding:16px 16px 8px}.tcard+.tcard{margin-top:12px}.tcard .h{justify-content:space-between;align-items:baseline;display:flex}.tcard .h .k{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.tcard .h .v{letter-spacing:-.02em;font-size:22px;font-weight:800}.tcard .h .d{margin-left:8px;font-size:12px;font-weight:700}.tcard .empty{color:var(--muted2);text-align:center;padding:22px 0 14px;font-size:12.5px}.tcard .desc{color:var(--muted);margin-top:10px;font-size:12.5px}.tcard .chart-wrap{margin-top:10px}.insight-list{flex-direction:column;gap:10px;display:flex}.insight-row{-webkit-backdrop-filter:blur(16px)saturate(1.3);border-radius:var(--r-sm);box-shadow:var(--depth), var(--hi);background:linear-gradient(#ffffff0e,#ffffff05);border:1px solid #ffffff12;align-items:center;gap:14px;padding:14px 16px;display:flex}.insight-row .iv{flex:none;min-width:56px;font-size:20px;font-weight:800}.insight-row .itext{min-width:0}.insight-row .ik{letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);font-size:10px;font-weight:700}.insight-row .idesc{color:var(--muted);margin-top:2px;font-size:12.5px;line-height:1.4}.msg{border-radius:18px;max-width:84%;margin-top:10px;padding:12px 15px;font-size:14.5px;line-height:1.55}.msg.ai{background:var(--card);border:1px solid var(--line);border-top-left-radius:6px}.msg.me{background:var(--strain);color:#02121c;border-top-right-radius:6px;margin-left:auto;font-weight:500}.chatnote{text-align:center;color:var(--muted2);letter-spacing:.04em;margin:6px 0 2px;font-size:11px}.composer{gap:10px;margin-top:16px;display:flex}.composer input{background:var(--card);border:1px solid var(--line);min-width:0;color:var(--text);border-radius:100px;flex:1;padding:13px 18px;font-family:inherit;font-size:14px}.composer input:focus{border-color:var(--strain);outline:none}.composer button{background:var(--rec-high);color:#04140a;cursor:pointer;border:none;border-radius:50%;flex:none;width:46px;font-size:16px;font-weight:800}.composer button:disabled{opacity:.5;cursor:default}.wkt{background:var(--card2);border:1px solid var(--line);border-radius:16px;margin-top:12px;padding:15px}.wkt .k{letter-spacing:.12em;text-transform:uppercase;color:var(--strain);font-size:10px;font-weight:800}.wkt .t{margin-top:6px;font-size:15px;font-weight:700}.wkt ul{color:#c7ccd4;margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.7}.wkt .acts{gap:10px;margin-top:14px;display:flex}.wkt .acts button{cursor:pointer;border:1px solid var(--line);color:var(--text);background:0 0;border-radius:12px;flex:1;padding:11px;font-size:13px;font-weight:700}.wkt .acts button:disabled{opacity:.6;cursor:default}.wkt .send{background:var(--rec-high);color:#04140a;border:none}.wkt .drop{color:var(--muted);background:0 0}.wkt .status{margin-top:12px;font-size:12px;font-weight:700}.wkt .status.sent{color:var(--rec-high)}.wkt .status.declined{color:var(--muted)}.chat-thread{flex-direction:column;display:flex}.chat-typing{align-items:center;gap:4px;padding:4px 2px;display:flex}.chat-typing i{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite typing}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.goalcard{-webkit-backdrop-filter:blur(24px)saturate(1.4);border-radius:var(--r-lg);box-shadow:var(--depth-lg), var(--hi-strong);background:linear-gradient(160deg,#7c8dff24,#ffffff05 55%);border:1px solid #ffffff1a;padding:22px;position:relative;overflow:hidden}.goalcard .big{letter-spacing:-.02em;margin-top:4px;font-size:30px;font-weight:800}.goalcard .meta{flex-wrap:wrap;gap:18px;margin-top:16px;display:flex}.goalcard .meta div .k{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.goalcard .meta div .v{margin-top:4px;font-size:18px;font-weight:800}.prog{background:var(--card2);border-radius:4px;height:6px;margin-top:18px;overflow:hidden}.prog i{background:linear-gradient(90deg, var(--strain), var(--rec-high));border-radius:4px;height:100%;display:block}.week-progress{color:var(--muted2);letter-spacing:.04em;margin-top:4px;font-size:11px}.week{margin-top:12px}.day{-webkit-backdrop-filter:blur(14px);border-radius:var(--r-sm);box-shadow:var(--hi);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:linear-gradient(#ffffff0d,#ffffff04);border:1px solid #ffffff12;align-items:center;gap:12px;padding:14px 16px;display:flex}.day:disabled{cursor:default}.day+.day{margin-top:8px}.day.is-today{border-color:#3be08159}.day .dn{letter-spacing:.06em;text-transform:uppercase;width:34px;color:var(--muted);flex:none;font-size:12px;font-weight:800}.day .db{min-width:0;font-size:14px;font-weight:600}.day .tag{letter-spacing:.08em;text-transform:uppercase;border-radius:100px;flex:none;margin-left:auto;padding:4px 9px;font-size:10px;font-weight:700}.tag.fix{background:var(--card2);color:var(--muted)}.tag.coach{color:var(--rec-high);background:#3be08124}.tag.done{color:var(--rec-high);background:#3be08129}.tag.missed{color:var(--rec-low);background:#ff4d5e24}.tag.today{color:var(--rec-mid);background:#ffce4529}.subhead{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.5}.nav{-webkit-backdrop-filter:blur(30px)saturate(1.4);max-width:440px;height:82px;padding-bottom:env(safe-area-inset-bottom);z-index:20;background:linear-gradient(#14161ab8,#08090beb);border-top:1px solid #ffffff14;grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:inset 0 1px #ffffff0f}.nav button{color:var(--muted2);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-family:inherit;display:flex}.nav button .nl{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.nav button.on{color:var(--text)}.nav button.on svg{color:var(--rec-high)}svg.i{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.note{color:var(--muted2);text-align:center;padding:18px;font-size:11px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0009;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=560px){.modal-backdrop{align-items:center;padding:20px}}.modal-sheet{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:440px;max-height:88dvh;box-shadow:var(--depth-lg), var(--hi-strong);padding:20px var(--pad) calc(24px + env(safe-area-inset-bottom));background:linear-gradient(#1a1d22 0%,#101216 100%);border:1px solid #ffffff1a;animation:.25s sheet-up;overflow-y:auto}@media (width>=560px){.modal-sheet{border-radius:var(--r-lg)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.modal-title{letter-spacing:-.01em;font-size:19px;font-weight:800}.modal-sub{color:var(--muted2);margin-top:3px;font-size:12px}.modal-close{border:1px solid var(--line);background:var(--card);width:30px;height:30px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:15px;display:grid}.modal-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.modal-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);text-align:center;padding:12px}.modal-stat .v{font-size:18px;font-weight:800}.modal-stat .k{letter-spacing:.08em;text-transform:uppercase;color:var(--muted2);margin-top:4px;font-size:9.5px;font-weight:700}.modal-note-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:22px;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.modal-note-hint{color:var(--muted2);margin-top:6px;font-size:11.5px}.modal-sheet textarea{resize:vertical;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;min-height:84px;color:var(--text);padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.5}.modal-sheet textarea:focus{border-color:var(--strain);outline:none}.rpe-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.rpe-pill{border:1px solid var(--line);background:var(--card);width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.rpe-pill.active{background:var(--rec-high);border-color:var(--rec-high);color:#04140a}.modal-actions{gap:10px;margin-top:18px;display:flex}.modal-actions button{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:12px;flex:1;padding:12px;font-size:13.5px;font-weight:700}.modal-save{background:var(--rec-high)!important;color:#04140a!important;border:none!important}.modal-save:disabled{opacity:.6}.modal-saved-note{background:var(--card2);border-radius:var(--r-sm);border:1px solid var(--line);color:#c7ccd4;margin-top:14px;padding:12px 14px;font-size:13px;line-height:1.55}.login-screen{flex:1;justify-content:center;align-items:center;min-height:100dvh;padding:1.25rem;display:flex}.login-card{-webkit-backdrop-filter:blur(24px)saturate(1.3);border-radius:var(--r-lg);width:100%;max-width:340px;box-shadow:var(--depth-lg), var(--hi-strong);background:linear-gradient(#ffffff0e,#ffffff05);border:1px solid #ffffff14;flex-direction:column;padding:2.25rem 2rem;display:flex}.login-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);margin-bottom:.5rem;font-size:11px;font-weight:600}.login-title{letter-spacing:-.02em;color:var(--text);margin:0 0 1.75rem;font-size:2rem;font-weight:800}.login-field-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.4rem;font-size:11px;font-weight:700}.login-card input{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--text);margin-bottom:.9rem;padding:.75rem .85rem;font-size:1rem}.login-card input:focus{border-color:var(--rec-high);outline:none}.login-card button{background:var(--rec-high);border-radius:var(--r-sm);color:#04140a;border:none;width:100%;padding:.8rem .85rem;font-size:.95rem;font-weight:800;transition:opacity .15s}.login-card button:hover:not(:disabled){opacity:.88}.login-card button:disabled{opacity:.45;cursor:default}.login-error{color:var(--rec-low);margin:-.35rem 0 .75rem;font-size:.85rem}.app-shell{width:100%;min-height:100dvh}
