:root{--bg:#091524;--surface:#14283c;--surface2:#19344a;--surface3:#203b50;--lime:#c3f27e;--lime2:#a8df6b;--text:#f4f9fc;--muted:#a3b7c6;--line:#294257;--orange:#ffb973;--cyan:#84dbe4;--radius:22px;--shadow:0 18px 35px rgba(0,0,0,.16);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-size:15px;line-height:1.5;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.05em}p{color:var(--muted)}.app-shell{width:min(100%,520px);min-height:100dvh;margin:auto;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px));background:var(--bg)}.topbar{height:88px;padding:19px 22px 13px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-icon{width:43px;height:43px;border-radius:15px;color:var(--bg);background:var(--lime);display:grid;place-items:center}.brand-icon svg{width:29px}.brand strong{display:block;font-size:19px;line-height:1;letter-spacing:.13em;font-weight:900}.brand small{display:block;margin-top:6px;font-size:9px;line-height:1;letter-spacing:.27em;font-weight:800;color:var(--muted)}.icon-btn{border:1px solid var(--line);width:41px;height:41px;border-radius:14px;background:var(--surface);color:var(--text);display:grid;place-items:center}.icon-btn svg{height:21px;width:21px}.view{display:none;padding:9px 18px 30px}.view.active{display:block}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 105% 102%,#2b624f 0,transparent 58%),linear-gradient(135deg,#284c50 0%,#153c3b 40%,#193743 100%);border:1px solid #376556;border-radius:26px;padding:22px 21px 20px;box-shadow:var(--shadow)}.hero::after{content:"";position:absolute;border:1px solid rgba(189,237,118,.18);width:270px;height:270px;border-radius:50%;top:55px;right:-195px;pointer-events:none}.hero-upper{display:flex;align-items:center;justify-content:space-between;gap:8px}.overline,.eyebrow{font-size:10px;font-weight:850;letter-spacing:.16em}.overline{color:#d3f0c0;display:flex;align-items:center;gap:7px}.dot{background:var(--lime);width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 3px rgba(195,242,126,.12)}.hero-week{background:#d1ffc122;color:#e7ffda;font-size:10px;font-weight:800;letter-spacing:.08em;padding:7px 10px;border-radius:999px;white-space:nowrap}.hero h1{font-size:clamp(36px,10vw,49px);line-height:1.07;margin:30px 0 13px;font-weight:900;letter-spacing:-.065em}.hero h1 em{color:var(--lime);font-style:normal}.hero p{font-size:13px;color:#daebe4;max-width:225px;margin:0 0 27px}.hero-bottom{border-top:1px solid #ffffff32;padding-top:15px;display:flex;justify-content:space-between;align-items:end}.hero-bottom small{font-size:10px;letter-spacing:.15em;font-weight:850;color:#b7d8c8;display:block}.hero-bottom strong{font-size:36px;line-height:1.12;letter-spacing:-.06em;display:block}.hero-bottom strong span{font-size:13px;letter-spacing:.05em}.hero-bottom svg{width:120px;height:55px;opacity:.88}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:11px 0 26px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:14px 12px}.stat-label{display:block;font-size:10px;color:var(--muted);font-weight:750;letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px}.stat-value{font-size:26px;line-height:1.1;letter-spacing:-.05em;font-weight:900}.stat-suffix{font-size:11px;color:var(--muted);font-weight:650;margin-left:2px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:27px 2px 14px;gap:10px}.eyebrow{color:var(--lime);display:block;margin-bottom:6px}.section-title h2{margin:0;font-size:24px;font-weight:870}.text-link{background:none;border:0;padding:6px;color:var(--lime);font-size:12px;font-weight:800;white-space:nowrap}.text-link span{font-size:16px}.next-workout{background:linear-gradient(130deg,#c4f38b,#b4e47e);color:#142b23;border-radius:var(--radius);padding:18px 19px 19px;overflow:hidden;position:relative}.next-workout::after{content:"↗";position:absolute;right:14px;top:16px;color:#2851394a;font-size:89px;line-height:1;font-weight:900;pointer-events:none}.next-workout .mini-overline{color:#42603c}.mini-overline{font-size:10px;font-weight:850;letter-spacing:.14em}.next-workout h3{font-size:29px;margin:10px 0 7px;font-weight:900;line-height:1.07}.next-workout p{color:#2a4836;font-size:13px;max-width:240px;margin:0 0 22px}.workout-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill{font-size:11px;font-weight:850;padding:6px 10px;border-radius:99px;background:#24422e22;color:#233b2c}.pill.light{background:#e5ffd2}.pill.dark{background:#273f51;color:#d9ecf3}.primary-dark{background:var(--bg);color:white;border:0;border-radius:13px;padding:13px 16px;font-size:13px;font-weight:850;width:100%;margin-top:21px;display:flex;justify-content:space-between;align-items:center}.surface-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.week-progress-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.week-progress-top strong{font-size:14px}.week-progress-top span{color:var(--muted);font-size:12px}.progress-rail{height:8px;border-radius:20px;background:#385066;margin:15px 0 18px;overflow:hidden}.progress-fill{background:var(--lime);height:100%;width:0%;border-radius:20px;transition:width .25s}.week-rows{display:flex;flex-direction:column;gap:15px}.week-row{display:flex;align-items:center;gap:11px}.week-row .day{width:32px;font-size:11px;color:var(--muted);font-weight:850}.week-row .status{width:25px;height:25px;border:1px solid #496277;border-radius:9px;display:grid;place-items:center;color:#8ba0af;font-size:12px;flex:none}.week-row .status.done{background:var(--lime);border-color:var(--lime);color:#132b20;font-size:15px;font-weight:900}.week-row .run-name{font-size:13px;font-weight:800;flex:1}.week-row .run-distance{font-size:12px;color:var(--muted);font-weight:750}.race-block{margin-top:15px;padding:16px 18px;border-radius:18px;background:#293849;border:1px dashed #4c6577;display:flex;justify-content:space-between;gap:12px;align-items:center}.race-block strong{font-size:13px;display:block}.race-block p{font-size:12px;margin:4px 0 0}.race-block button{background:var(--lime);color:var(--bg);border:0;border-radius:12px;padding:10px 12px;white-space:nowrap;font-size:12px;font-weight:850}.mini-tip{display:flex;gap:12px;margin:28px 6px}.tip-icon{background:#2b493c;color:var(--lime);display:grid;place-items:center;width:35px;height:35px;border-radius:13px;flex:none}.mini-tip strong{font-size:13px}.mini-tip p{font-size:12px;margin:5px 0}.page-heading{padding:14px 3px 5px}.page-heading h1{font-size:38px;line-height:1.1;font-weight:900;margin:7px 0 9px}.accent-dot{color:var(--lime)}.page-heading p{font-size:13px;line-height:1.6;max-width:360px}.week-picker{margin:22px 0 15px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:11px 15px}.circle-btn{width:40px;height:40px;display:grid;place-items:center;color:var(--text);background:#223b4e;border:1px solid #355267;border-radius:13px;font-size:29px;line-height:1}.week-picker div{text-align:center}.week-picker small{display:block;font-size:10px;color:var(--muted);font-weight:850;letter-spacing:.14em}.week-picker strong{display:block;font-size:19px;font-weight:900}.week-picker strong span{color:var(--muted);font-size:13px}.week-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 3px 13px}.week-heading h2{font-size:21px;margin:0 0 4px}.week-heading p{font-size:12px;margin:0}.total-chip{color:var(--lime);background:#253e36;border:1px solid #3d6350;border-radius:99px;padding:8px 11px;font-size:12px;font-weight:850;white-space:nowrap}.workout-list{display:grid;gap:11px}.workout-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:17px}.workout-card.completed{border-color:#527a53}.workout-card.optional{border-style:dashed}.workout-top{display:flex;justify-content:space-between;align-items:center}.workout-day{font-size:10px;color:var(--muted);font-weight:850;letter-spacing:.1em}.workout-type{font-size:10px;padding:5px 9px;background:#203e4d;border-radius:99px;color:#99dfe4;font-weight:850;letter-spacing:.03em}.type-quality{color:var(--orange);background:#4d3c31}.type-long{color:var(--lime);background:#344b39}.type-recovery{color:#a7bee4;background:#344157}.workout-card h3{font-size:21px;font-weight:900;margin:9px 0 5px}.workout-description{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 15px}.workout-bottom{display:flex;justify-content:space-between;align-items:center;gap:9px}.workout-distance{font-weight:900;font-size:21px}.workout-distance small{font-size:11px;font-weight:750;color:var(--muted);margin-left:3px}.workout-actions{display:flex;gap:7px;align-items:center}.small-btn{border:1px solid #53687b;color:#f3fbfb;background:transparent;padding:9px 12px;border-radius:11px;font-size:11px;font-weight:850}.small-btn.positive{background:var(--lime);border-color:var(--lime);color:#172b21}.small-btn.completed{color:var(--lime);border-color:#587c60}.workout-date{font-size:11px;color:#d5ece1;margin:0 0 8px}.tip-panel{padding:18px;background:#1b3637;border:1px solid #335a4b;border-radius:20px;margin-top:20px}.tip-panel strong{color:var(--lime)}.tip-panel p{font-size:12px;line-height:1.65;margin:8px 0 0}.weeks-dots{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin:23px 2px 5px}.week-dot{width:100%;aspect-ratio:1;border-radius:7px;border:1px solid #3b5262;background:var(--surface);color:var(--muted);font-size:10px;font-weight:850}.week-dot.active{background:var(--lime);color:var(--bg);border-color:var(--lime)}.week-dot.complete:not(.active){background:#335741;color:var(--lime);border-color:#4f7652}.timer-setup{display:grid;gap:15px}.timer-setup .surface-card{padding:18px}.timer-setup h3{font-size:18px;margin:0 0 6px}.timer-setup p{font-size:12px;line-height:1.6}.timer-options{display:flex;gap:8px}.timer-option{flex:1;padding:12px 7px;background:#20394b;border:1px solid var(--line);border-radius:12px;color:#c7dce4;font-size:12px;font-weight:850}.timer-option.selected{background:var(--lime);color:#10291a;border-color:var(--lime)}.timer-select{width:100%;background:#20394b;color:var(--text);border:1px solid #3b5465;border-radius:13px;padding:12px;margin:13px 0 0}.timer-circle{margin:18px auto 26px;width:min(76vw,290px);height:min(76vw,290px);border-radius:50%;border:9px solid #334e5a;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 50% 55%,#1b3c42,#0d2637)}.timer-circle::after{content:"";position:absolute;inset:-9px;border:9px solid var(--lime);border-radius:50%;clip-path:polygon(50% 0,100% 0,100% 52%,50% 52%);pointer-events:none}.timer-circle strong{font-size:clamp(47px,14vw,67px);line-height:1;letter-spacing:-.08em;font-variant-numeric:tabular-nums}.timer-circle small{color:var(--muted);font-size:11px;letter-spacing:.17em;font-weight:850;margin-bottom:15px}.timer-circle p{margin:14px 0 0;color:var(--lime);font-size:12px;font-weight:850}.timer-actions{display:flex;gap:10px;margin:0 0 18px}.btn{border:1px solid var(--line);border-radius:13px;padding:13px 17px;font-size:13px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:45px}.btn.primary{background:var(--lime);color:#142a1d;border-color:var(--lime)}.btn.secondary{background:#223e4d;color:var(--text);border-color:#3a586b}.btn.danger{border-color:#aa655d;color:#ffb9af;background:#4c2d2e}.btn.full{width:100%}.timer-actions .btn.primary{flex:2}.timer-actions .btn.secondary{flex:1}.timer-phase{font-size:15px;font-weight:850;text-align:center}.timer-next{font-size:12px;color:var(--muted);text-align:center;margin:6px 0 22px}.interval-list{padding:6px 0 0;margin:0;list-style:none}.interval-list li{padding:10px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}.interval-list li.current{color:var(--lime);font-weight:850}.interval-list li.complete{opacity:.45}.timer-safety{font-size:11px;color:var(--muted);text-align:center;margin:16px 12px}.progress-highlights{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.big-stat{padding:17px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.big-stat strong{font-size:27px;display:block;letter-spacing:-.05em}.big-stat small{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.04em}.bar-chart{height:159px;display:flex;align-items:end;gap:8px;border-bottom:1px solid #426072;padding:0 2px 0}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:6px;min-width:0}.bar-col .bar{background:#34536a;border-radius:6px 6px 0 0;width:100%;min-height:3px}.bar-col .bar.has-data{background:linear-gradient(0deg,#729d6b,var(--lime))}.bar-label{font-size:9px;color:var(--muted);font-weight:750;text-align:center}.bar-bottom{display:flex;gap:8px;margin:8px 2px 0}.bar-bottom span{flex:1;text-align:center;font-size:10px;color:var(--muted)}.history-entry{display:flex;gap:13px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px 15px;margin-bottom:9px}.history-symbol{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;color:var(--lime);background:#304936;font-size:17px;flex:none}.history-details{flex:1;min-width:0}.history-details strong{font-size:13px;display:block}.history-details span{font-size:11px;color:var(--muted)}.history-entry button{background:#244454;border:1px solid #426073;color:#dceef2;padding:8px;border-radius:10px;font-size:11px;font-weight:800}.empty-state{text-align:center;background:var(--surface);border:1px dashed #4d6574;border-radius:19px;padding:25px 18px;color:var(--muted);font-size:13px}.empty-state .empty-icon{font-size:34px;display:block;margin-bottom:8px}.bottom-nav{height:calc(73px + env(safe-area-inset-bottom,0px));padding:6px 13px calc(6px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:#101f31f7;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);border-top:1px solid #2b4358;z-index:20;backdrop-filter:blur(14px)}.nav-btn{border:0;background:transparent;color:#91a8b8;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:800}.nav-btn svg{width:21px;height:21px}.nav-btn.active{color:var(--lime);background:#2a4239}.modal{width:min(calc(100% - 20px),460px);max-height:min(90dvh,820px);overflow:auto;color:var(--text);background:#172b3c;border:1px solid #426075;border-radius:25px;padding:23px 19px;margin:auto;box-shadow:0 30px 80px #000a}.modal::backdrop{background:#000a;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}.modal-head h2{font-size:26px;margin:0}.close-btn{border:1px solid var(--line);background:#244152;color:var(--text);width:36px;height:36px;border-radius:11px;font-size:25px;line-height:1}.muted{font-size:12px;color:var(--muted)}.fields{display:grid;gap:10px;margin:18px 0}.fields.two{grid-template-columns:1fr 1fr}.fields label,.wide-label,.settings-group>label{display:block;color:#d9eaf0;font-size:12px;font-weight:800}.fields input,.fields select,.wide-label textarea,.settings-group>input,.settings-group>select{width:100%;border:1px solid #4a6375;border-radius:11px;color:var(--text);background:#203e50;padding:11px;margin-top:7px;outline-offset:1px}.wide-label textarea{resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.modal-actions .primary{flex:1}.settings-group{border-bottom:1px solid var(--line);padding:15px 0}.settings-group:last-of-type{margin-bottom:18px}.settings-group label span{font-weight:500;color:var(--muted)}.help-text{font-size:11px;line-height:1.6;margin:7px 0 0}.settings-actions{display:flex;gap:8px;margin:13px 0 0}.settings-actions>*{flex:1;min-width:0;font-size:11px;padding:12px 9px}.file-label{cursor:pointer}.toggle-row{display:flex;justify-content:space-between;align-items:center}.toggle-row input{accent-color:var(--lime);width:19px;height:19px}.settings-group h3{font-size:15px;margin:0}.caution{background:#2d3b3e;padding:13px;border-radius:14px;margin:13px 0}.caution p{font-size:11px;margin:6px 0}.toast{position:fixed;z-index:99;left:50%;bottom:calc(87px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;background:var(--lime);color:#173020;padding:11px 17px;border-radius:13px;box-shadow:0 8px 22px #0006;max-width:min(340px,92vw);font-size:12px;font-weight:850;text-align:center}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:650px){body{background:radial-gradient(circle at 50% 0,#19364a,#07121e 600px)}.app-shell{box-shadow:0 0 70px #0005;border-left:1px solid #263e51;border-right:1px solid #263e51}.view{padding-left:22px;padding-right:22px}}
@media(max-width:360px){.hero h1{font-size:37px}.stats-row{gap:5px}.stat{padding:12px 9px}.stat-value{font-size:22px}.workout-actions{gap:4px}.small-btn{padding:8px}.page-heading h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
