:root{color-scheme:dark;--bg:#151317;--panel:#242129;--field:#332f39;--muted:#b9afc2;--accent:#dfadff;--hot:#ba63ff;--sans:"Helvetica Now Display","Helvetica Neue",Arial,sans-serif;--serif:var(--sans)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:#faf6ff;font:16px/1.4 var(--sans)}button,input,select{font:inherit;color:inherit}button{border:0;border-radius:13px;background:var(--field);padding:10px 14px;cursor:pointer;min-height:44px}button:focus-visible,input:focus-visible,select:focus-visible,.wheel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.4;cursor:default}.wrap{width:min(100% - 36px,760px);margin:auto}h1,h2,h3,p{margin:0}header{position:sticky;top:0;z-index:2;background:var(--bg);padding:env(safe-area-inset-top) 0 14px}.brand,.dialogHead,.overview,.weekHead,.session,.planActions{display:flex;justify-content:space-between;align-items:center;gap:10px}.brand{min-height:56px}.logo{width:105px;height:36px;position:relative;overflow:hidden}.logo img{width:106%;position:absolute;left:-3%;top:50%;transform:translateY(-50%)}#settings,#close,#pickerClose{display:grid;place-items:center;min-width:44px;background:transparent;color:var(--muted)}#heading h1{line-height:1.03}#programs{display:inline-flex;align-items:center;gap:9px;padding:0;text-align:left;background:none;min-height:38px;font-size:clamp(29px,6.5vw,44px);line-height:1.1;font-weight:650;letter-spacing:-.045em;max-width:100%}#title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{font:22px var(--sans);color:var(--hot)}#subtitle,.meta,.weekHead p,.date,.hint{color:var(--muted);font-size:14px}#subtitle{margin-top:4px}.welcome{margin:0 auto;text-align:center;min-height:calc(100dvh - var(--header-height,78px) + 8px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding-block:20px calc(12px + var(--header-height,78px));container-type:inline-size}.welcome img{width:88px;height:auto;display:block}.welcome h1{width:100%;font-size:clamp(12px,7.4cqi,32px);white-space:nowrap;font-weight:550;letter-spacing:-.04em;margin:18px 0 3px}.welcome p,.overview h2,.phase summary,.phase h3,.progress span{font:normal 24px/1.2 var(--serif)}.welcome p{width:100%;font-size:clamp(12px,5.05cqi,22px);color:var(--muted);margin-bottom:23px}.primary{background:var(--hot);color:#21102b;font-weight:650}.overview{margin:12px 0}.jump,.newSession,#manage{background:#3b2849;color:var(--accent);font-weight:550}.jump{font-size:14px}.week{background:var(--panel);border-radius:22px;padding:18px;margin-bottom:12px;scroll-margin-top:var(--header-height,155px)}.week h3{font-size:20px;letter-spacing:-.035em}.weekHead{margin-bottom:12px}.newSession{width:100%;margin-top:5px}.session{background:#302a36;margin:7px 0;border-radius:13px;padding:7px;gap:5px}.date{font-size:12px;width:43px;text-align:center}.detail{background:transparent;flex:1;min-width:0;text-align:left;padding:4px}.detail b,.detail span{display:block}.detail span{font-size:13px;color:var(--muted)}.check{border-radius:50%;width:44px;background:radial-gradient(circle,#56505c 11px,transparent 12px)}.done{background:#41304d}.done .check{background:radial-gradient(circle,var(--hot) 14px,transparent 15px);color:#23112f}.done .detail b{color:var(--accent)}#weeks{padding-bottom:110px}footer{background:#211c26;position:fixed;bottom:0;inset-inline:0;z-index:2;padding:12px 0 calc(13px + env(safe-area-inset-bottom))}.progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}.progress span{font-size:18px}.progress b{font-size:12px;color:var(--muted);font-weight:500;margin-left:10px}.progress strong{color:var(--accent);font-variant-numeric:tabular-nums}.rail{grid-column:1/-1;height:5px;border-radius:4px;background:#44394d;overflow:hidden}.rail i{display:block;height:100%;background:var(--hot)}
dialog{color:inherit;background:#211e25;border:0;border-radius:25px;padding:20px;width:min(470px,95vw);max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:#0d0a10ad}.dialogHead{margin-bottom:15px}.dialogHead h2{font-weight:600;font-size:23px;letter-spacing:-.045em}#close,#pickerClose{background:var(--field);border-radius:50%;font-size:23px;padding:0}.primary,#submitRow button,#pick{min-height:48px}#submitRow button,#pick{width:100%;margin-top:14px}label{display:grid;gap:5px;font-size:13px;color:var(--muted);margin-bottom:12px;min-width:0}input,select,.pickTrigger{appearance:none;width:100%;min-width:0;height:48px;border:0;border-radius:12px;padding:0 13px;background:var(--field);color:white;font:500 16px var(--sans);text-align:left}.pickTrigger{display:flex;align-items:center;justify-content:space-between;gap:4px}.pickTrigger:after{content:'⌄';color:var(--accent)}input[type=date],input[type=time]{display:block}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.phase,.dayBlock{border:0;background:#2a252f;padding:14px;border-radius:16px;margin:10px 0}.phase summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.phase summary::-webkit-details-marker{display:none}.phase summary span{font:500 14px var(--sans);color:var(--accent)}.phase[open] summary,.phase h3{margin-bottom:12px}.phase label:last-child{margin-bottom:0}.phase .grid label{margin:0}.phase .grid{margin-bottom:10px}.dayBlock legend{float:left;width:100%;font:20px var(--serif);margin-bottom:9px}.dayChoices{clear:both;display:flex;gap:4px}.dayChoices label{margin:0;flex:1;position:relative}.dayChoices input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.dayChoices span{border-radius:12px;text-align:center;background:var(--field);padding:7px 0;color:var(--muted);font-size:11px}.dayChoices b{display:block;font-size:16px}.dayChoices input:checked+span{background:var(--hot);color:#21102b}.dayChoices input:focus-visible+span{outline:2px solid white}.hint{margin:9px 0}.danger{background:#513044;color:#ffc1d4}.planRow{position:relative;overflow:hidden;border-radius:14px;margin:7px 0;background:#813856}.planFace{position:relative;display:flex;background:var(--field);transition:transform .18s;touch-action:pan-y}.planRow.reveal .planFace{transform:translateX(-96px)}.planPick{flex:1;min-width:0;overflow-wrap:anywhere;text-align:left}.planDelete{position:absolute;inset-block:0;right:0;width:96px;background:none}.planActions button{padding:6px;min-width:38px}.planActions{gap:0}.planRow+button,#fields>button{margin:5px 0}.wheelBlock{position:relative;background:#29252f;border-radius:16px;overflow:hidden}.wheelBlock:before{content:"";position:absolute;top:60px;height:40px;inset-inline:8px;border-radius:10px;background:#493553;pointer-events:none}.wheel{position:relative;height:160px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;padding:60px 0;mask-image:linear-gradient(transparent,#000 35%,#000 65%,transparent)}.wheel div{height:40px;display:grid;place-items:center;scroll-snap-align:center;font-size:20px;font-variant-numeric:tabular-nums}.wheel [aria-selected=true]{color:var(--accent);font-weight:650}#custom{margin-top:10px}#custom input{margin-top:6px}.planMark{color:var(--accent)}#notice:not(:empty){position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#45344e;border-radius:12px;padding:10px;z-index:3}
@media(max-width:640px){dialog{width:100%;max-width:100%;margin:auto auto 0;border-radius:25px 25px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.wrap{width:calc(100% - 32px)}#submitRow{position:sticky;bottom:0;background:#211e25}}
#weekNav{position:relative;display:flex;overflow:auto;scrollbar-width:none;gap:5px;margin-top:12px;padding:4px;background:#231e28;border-radius:16px}#weekNav button{flex:0 0 auto;min-width:47px;height:35px;min-height:35px;padding:4px 10px;font:600 14px var(--sans);background:none;color:var(--muted);border-radius:12px}#weekNav [aria-current]{background:var(--accent);color:#25162d}.week.current{box-shadow:inset 0 0 0 2px var(--accent)}.week.past{background:#201e23}.past .weekHead h3{color:#b7afbe}.past:has(.weekBody[hidden]) .weekHead{margin:0}.weekHead .meta{margin-left:auto}.fold{background:none;color:var(--muted);font-size:21px}.fold[aria-expanded=true]{transform:rotate(180deg)}#weeks{padding-top:6px;padding-bottom:calc(116px + env(safe-area-inset-bottom))}#weeks:has(.week) {min-height:80dvh}#weeks .week:last-child{margin-bottom:max(0px,calc(100dvh - var(--header-height,160px) - 230px))}
footer{width:min(calc(100% - 28px),720px);inset-inline:0;margin:auto;bottom:calc(10px + env(safe-area-inset-bottom));border-radius:22px;background:#302737c7;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);box-shadow:0 8px 32px #0005,inset 0 1px 0 #ffffff20;padding:12px 16px}.progress.wrap{width:100%}.progress span{font-size:15px;font-weight:550}.phase h3,.dayBlock legend{font:600 17px var(--sans)}.blockHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.blockHead h3{margin:0}.removeBlock{min-height:35px}.sliderField{background:var(--field);border-radius:12px;padding:9px 10px;min-width:0;margin-bottom:8px}.grid .sliderField{margin:0}.sliderField>span{font-size:12px;color:var(--muted)}.sliderValue{display:flex;align-items:center;gap:4px;min-height:27px;color:var(--accent);font-variant-numeric:tabular-nums}.sliderValue .exact{width:6ch;height:26px;background:none;padding:0;color:var(--accent);border-radius:3px}.sliderField input.slider{display:block;width:100%;appearance:auto;accent-color:#c77bff;background:transparent;padding:0;height:26px;margin:0}.inactive{opacity:.45}.singlePhase .sliderField{margin:0}.singlePhase h3{margin-bottom:8px}#type{appearance:auto;background:#442957;border:1.5px solid #d398ff;color:#f3dfff}.planRow{display:flex;align-items:center;background:var(--field)}.trash{background:transparent;color:#eab1c8;display:grid;place-items:center}.newSession,#create{width:100%;background:#3b2849;color:var(--accent)}.welcome{max-width:420px}
#weekNav{--leftFade:#000;--rightFade:#000;mask-image:linear-gradient(to right,var(--leftFade),#000 19px,#000 calc(100% - 19px),var(--rightFade))}#weekNav.fadeLeft{--leftFade:transparent}#weekNav.fadeRight{--rightFade:transparent}#weekNav:after{content:"";flex:0 0 var(--tail,0px)}
.brand{position:relative}#settings{margin-right:-7px}.editPlan{color:var(--accent);background:transparent;font-size:14px}
footer{width:min(calc(100% - 50px),738px);border-radius:26px;padding:17px 20px;background:#382e40b8}.progress{gap:11px}.progress strong{font-size:21px}.progress span{font-size:16px}.rail{height:6px}#weeks{padding-bottom:calc(135px + env(safe-area-inset-bottom))}#editAtEnd{margin:4px 0 12px}#weekNav button{scroll-margin:10px}
#type{appearance:none;border-radius:17px;padding-right:42px;background:#483054 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m4 7 5 5 5-5' fill='none' stroke='%23e2abff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 15px center}
.dialField{border-radius:14px;background:var(--field);padding:8px;min-width:0}.dialField>span{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.dialFrame{position:relative}.dialFrame:before{content:"";position:absolute;top:24px;inset-inline:0;height:32px;border-radius:8px;background:#54405f;pointer-events:none}.dial{position:relative;height:80px;overflow-y:auto;padding:24px 0;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none;mask-image:linear-gradient(transparent,#000 36%,#000 64%,transparent);font-variant-numeric:tabular-nums}.dial::-webkit-scrollbar{display:none}.dial>div{height:32px;line-height:32px;text-align:center;scroll-snap-align:center}.dial:focus-visible{outline:2px solid var(--accent)}.dialField.inactive{opacity:.4}.block>.dialField{margin-bottom:10px}
#confirmation{max-width:min(360px,calc(100% - 40px));margin:auto;border-radius:22px;padding:22px}#confirmMessage{font-size:19px;line-height:1.35}.confirmActions{display:flex;gap:10px;margin-top:20px}.confirmActions button{flex:1}.confirmActions #yes{background:#c8304a;color:white;font-weight:650}
#form:has(#deleteProgram){display:flex;flex-direction:column}#form:has(#deleteProgram) #fields{display:contents}#form:has(#deleteProgram) #submitRow{position:static}#deleteProgram{order:1;margin-top:18px;width:100%}
.progress{grid-template-columns:minmax(0,1fr) auto auto;column-gap:9px}.progress b{display:block;margin:3px 0 0;font-size:12px;line-height:1.25;white-space:normal}.progress #stats{border-radius:24px;min-height:40px;padding:7px 13px;background:#54465f;color:#f5e7ff;font-size:14px}.progress>div:first-child{min-width:0}
#type{background-color:#332e39;border:1px solid #66596e;border-radius:24px;padding-left:18px;color:#faf7fc;font-weight:550}#type:focus-visible{outline:2px solid var(--accent)}.statsPage{width:min(520px,95vw)}.statOverview,.statDistance{padding:18px;border-radius:18px;margin-bottom:12px;background:#302638}.statOverview strong{display:block;font-size:54px;line-height:1.15;color:var(--accent);letter-spacing:-.045em}.statOverview .rail{margin-top:12px}.statDistance{display:grid;gap:3px;background:var(--field)}.statDistance b{font-size:25px}.statDistance small,.historyItem small{color:var(--muted)}.historyItem{display:flex;width:100%;align-items:center;gap:12px;justify-content:space-between;text-align:left;margin-top:8px}.historyItem span{display:grid;gap:4px;min-width:0}.historyItem small{font-size:12px}.historyItem strong{white-space:nowrap;color:var(--accent);font-size:13px}.statsPage #fields h3{margin:20px 0 8px}
@media(max-width:640px){.statsPage{width:100%;height:92dvh}.progress strong{font-size:20px}}
#fields .autoPlan{display:flex;align-items:center;justify-content:space-between;width:100%;background:#493154;color:var(--accent);font-weight:650;margin:0 0 16px}.planPreview{margin-top:15px;padding:13px 15px;background:#302637;color:var(--accent);border-radius:14px}.planPreview:empty{display:none}

body:has(#welcome:not([hidden])) #weeks{display:none}
