:root{--bg:#eef3f1;--bg-elev:#fff;--ink:#14201e;--ink-soft:#5a6b68;--teal:#0d7377;--teal-deep:#095456;--orange:#f15a29;--orange-soft:#f15a291f;--line:#0d737724;--shadow:0 10px 30px #14201e0f;--radius:1.15rem;--font:"Manrope", system-ui, sans-serif;--display:"Sora", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{background-color:var(--bg);min-height:100dvh;margin:0}html,body,#root{background-color:var(--bg);min-height:100dvh}body{font-family:var(--font);color:var(--ink);background-color:var(--bg);-webkit-font-smoothing:antialiased;background-image:radial-gradient(900px 420px at 12% 18%,#0d73771a,#0000 60%),radial-gradient(700px 380px at 100% 22%,#f15a2914,#0000 55%);background-repeat:no-repeat;background-attachment:scroll;margin:0}button,a{font:inherit}a{color:var(--teal-deep)}.shell{width:min(34rem,100% - 1.5rem);padding:calc(.85rem + env(safe-area-inset-top,0px)) 0 calc(2.5rem + env(safe-area-inset-bottom,0px));min-height:100svh;margin:0 auto}.app-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.35rem;display:flex}.header-actions{align-items:center;gap:.55rem;display:flex}.header-logout{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.35rem .4rem;font-size:.8rem;font-weight:600}.header-logout:hover{color:var(--teal-deep)}.login-screen{min-height:100svh;padding:calc(1.25rem + env(safe-area-inset-top,0px)) 1rem calc(1.25rem + env(safe-area-inset-bottom,0px));place-items:center;display:grid}.login-card{border-radius:calc(var(--radius) + .15rem);background:var(--bg-elev);border:1px solid var(--line);width:min(22.5rem,100%);box-shadow:var(--shadow);text-align:center;flex-direction:column;gap:.65rem;padding:1.6rem 1.4rem 1.5rem;display:flex}.login-avatar{object-fit:cover;border:3px solid #fffffff2;border-radius:50%;width:5.25rem;height:5.25rem;margin:0 auto .25rem;box-shadow:0 0 0 3px #0d737738}.login-card h1{font-family:var(--display);letter-spacing:-.04em;margin:.1rem 0 0;font-size:1.55rem}.login-lede{color:var(--ink-soft);margin:0 0 .55rem;font-size:.95rem}.login-field{text-align:left;flex-direction:column;gap:.35rem;display:flex}.login-field span{color:var(--ink-soft);font-size:.82rem;font-weight:700}.login-field input{width:100%;color:var(--ink);font:inherit;background:#0d737708;border:1px solid #0d737733;border-radius:.85rem;padding:.75rem .85rem}.login-field input:focus{outline-offset:1px;border-color:#0d737773;outline:2px solid #0d737759}.login-error{color:#8b2e2e;text-align:left;background:#b428281a;border-radius:.7rem;margin:0;padding:.55rem .7rem;font-size:.88rem;font-weight:600}.login-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#14919b 0%,#0d7377 55%,#095456 100%);border:0;border-radius:999px;width:100%;margin-top:.35rem;padding:.85rem 1rem;font-size:1rem;font-weight:700;box-shadow:0 10px 22px #0d737740}.login-submit:hover:not(:disabled){filter:brightness(1.05)}.login-submit:disabled{opacity:.7;cursor:wait}.login-totp{letter-spacing:.35em;text-align:center;font-size:1.35rem;font-weight:700}.login-back{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-top:.15rem;padding:.45rem;font-size:.88rem;font-weight:600}.login-back:hover:not(:disabled){color:var(--teal-deep)}.login-back:disabled{opacity:.6;cursor:wait}.brand{color:inherit;align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-avatar{object-fit:cover;background:#1a3a4a;border:2px solid #ffffffeb;border-radius:50%;width:3.25rem;height:3.25rem;box-shadow:0 0 0 2px #0d737738}.brand-text{flex-direction:column;gap:.1rem;display:flex}.brand-text strong{font-family:var(--display);letter-spacing:-.03em;font-size:1.15rem}.brand-text small{color:var(--ink-soft);font-size:.78rem}.header-nav{border:1px solid var(--line);background:#0d737714;border-radius:999px;gap:.2rem;padding:.2rem;display:inline-flex}.header-nav a{color:var(--ink-soft);border-radius:999px;padding:.45rem .85rem;font-size:.84rem;font-weight:700;text-decoration:none}.header-nav a.is-active{background:var(--teal);color:#fff}.main{display:block}.page{flex-direction:column;gap:1rem;display:flex}.eyebrow{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.day-nav{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;display:grid}.day-nav-center{text-align:center}.day-nav-center h1{font-family:var(--display);letter-spacing:-.04em;margin:.15rem 0 0;font-size:clamp(1.55rem,5vw,1.9rem);line-height:1.15}.day-nav-center h1 span{color:var(--ink-soft);font-weight:600}.day-today-link{color:var(--orange);margin-top:.35rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-block}.day-nav-btn{border:1px solid var(--line);background:var(--bg-elev);width:2.6rem;height:2.6rem;color:var(--ink);box-shadow:var(--shadow);border-radius:999px;place-items:center;font-size:1.4rem;text-decoration:none;display:grid}.day-nav-btn:hover{border-color:#0d737759}.training-highlight{border-radius:var(--radius);box-shadow:var(--shadow);color:#fff;border:1px solid #0000;padding:.75rem 1.1rem .95rem}.training-highlight .eyebrow{color:#ffffffd1;line-height:1.2}.training-highlight.kind-hockey{background:linear-gradient(135deg,#1a6db5 0%,#0b3d6e 55%,#052848 100%);border-color:#0a326459;box-shadow:0 12px 28px #0b3d6e47}.training-highlight.kind-tennis{background:linear-gradient(135deg,#ff8a3d 0%,#f15a29 50%,#c43a12 100%);border-color:#b43c1459;box-shadow:0 12px 28px #f15a2947}.training-highlight.kind-fitness{background:linear-gradient(135deg,#2a9a8f 0%,#0d7377 55%,#095456 100%);border-color:#0954564d;box-shadow:0 12px 28px #0d737738}.training-highlight-row{align-items:center;gap:.75rem;margin-top:.35rem;display:flex}.training-highlight-copy{flex:1;min-width:0}.training-icon{font-size:2rem;line-height:1}.training-highlight h2{font-family:var(--display);letter-spacing:-.03em;color:#fff;margin:0;font-size:1.25rem}.training-highlight-copy>p{color:#ffffffe0;margin:.2rem 0 0;font-size:.92rem}.training-expand{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;flex:none;place-items:center;width:2.35rem;height:2.35rem;font-size:1.15rem;line-height:1;transition:transform .2s,background .15s;display:grid}.training-expand:hover{background:#ffffff38}.training-expand.is-open{transform:rotate(180deg)}.training-sets{border-top:1px solid #ffffff38;flex-direction:column;gap:.45rem;margin:.85rem 0 0;padding:.75rem 0 0;list-style:none;display:flex}.training-sets li{justify-content:space-between;align-items:baseline;gap:.85rem;font-size:.9rem;line-height:1.35;display:flex}.training-sets strong{font-weight:600}.training-sets span{color:#ffffffd9;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.health-anchors{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(135deg,#0d737714 0%,#f15a290f 100%);padding:.85rem 1rem 1rem}.health-anchors .eyebrow{margin-bottom:.55rem}.health-anchors-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.health-anchors-list li{flex-direction:column;gap:.15rem;min-width:0;display:flex}.health-anchors-list strong{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:1.05rem}.health-anchors-list span{color:var(--ink-soft);font-size:.78rem;font-weight:650}.checklist,.day-notes,.info-card,.page-intro{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem 1.2rem 1.25rem}.checklist-head,.day-notes-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.checklist-head h2,.day-notes-head h2,.info-card h2,.page-intro h1{font-family:var(--display);letter-spacing:-.03em;margin:0}.checklist-head h2,.day-notes-head h2{font-size:1.2rem}.checklist-head p,.day-notes-head p{color:var(--ink-soft);margin:0;font-size:.88rem;font-weight:600}.day-notes-form{grid-template-columns:1fr auto;gap:.45rem;margin-bottom:.85rem;display:grid}.day-notes-form input{width:100%;color:var(--ink);font:inherit;background:#0d737708;border:1px solid #0d737733;border-radius:.85rem;padding:.7rem .85rem}.day-notes-form input:focus{outline-offset:1px;border-color:#0d737773;outline:2px solid #0d737759}.day-notes-form button{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:.85rem;min-width:2.75rem;font-size:1.25rem;font-weight:700}.day-notes-form button:disabled{opacity:.45;cursor:not-allowed}.day-notes-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.day-note-item{grid-template-columns:1fr auto;align-items:stretch;gap:.35rem;display:grid}.day-note-toggle{text-align:left;width:100%;color:inherit;cursor:pointer;background:#0d737708;border:1px solid #0d73771f;border-radius:.9rem;align-items:flex-start;gap:.7rem;padding:.8rem .85rem;display:flex}.day-note-item.is-done .day-note-toggle{opacity:.55}.day-note-item.is-done .day-note-toggle span:last-child{text-decoration:line-through}.day-note-remove{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.55rem .45rem;font-size:1.25rem;line-height:1}.day-note-remove:hover{color:#8b2e2e}.progress-track{background:#0d73771a;border-radius:999px;height:.45rem;margin-bottom:1.1rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--teal), var(--orange));border-radius:inherit;height:100%;transition:width .25s;display:block}.check-section+.check-section{border-top:1px solid #0d737714;margin-top:1.1rem;padding-top:1rem}.check-section h3{color:var(--teal-deep);margin:0 0 .55rem;font-size:.92rem}.check-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.check-item{text-align:left;width:100%;color:inherit;cursor:pointer;background:#0d737708;border:1px solid #0d73771f;border-radius:.9rem;align-items:flex-start;gap:.7rem;padding:.8rem .85rem;transition:background .15s,border-color .15s;display:flex}.check-item:hover{border-color:#0d737747}.check-item.is-on{background:#0d73771a;border-color:#0d737759}.check-box{background:#fff;border:2px solid #0d737759;border-radius:.35rem;flex:none;width:1.2rem;height:1.2rem;margin-top:.1rem;position:relative}.check-item.is-on .check-box{background:var(--teal);border-color:var(--teal)}.check-item.is-on .check-box:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.32rem;height:.6rem;position:absolute;top:.05rem;left:.28rem;transform:rotate(45deg)}.check-item.is-on span:last-child{color:var(--ink-soft);text-decoration:line-through}.page-intro h1{margin:.25rem 0 .55rem;font-size:clamp(1.7rem,6vw,2.1rem)}.lede{color:var(--ink-soft);margin:0;line-height:1.55}.info-card h2{margin-bottom:.65rem;font-size:1.05rem}.info-card>p{margin:0;line-height:1.55}.plain-list,.stats{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.plain-list li{padding-left:.9rem;line-height:1.45;position:relative}.plain-list li:before{content:"";background:var(--orange);border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.55rem;left:0}.stats li{border-bottom:1px solid #0d737714;justify-content:space-between;gap:1rem;padding:.55rem 0;display:flex}.stats li:last-child{border-bottom:0;padding-bottom:0}.stats strong{font-family:var(--display);letter-spacing:-.02em}.stats span{color:var(--ink-soft);font-size:.9rem}.product-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.product-list li{background:#0d737708;border:1px solid #0d73771f;border-radius:.9rem;justify-content:space-between;align-items:center;gap:.85rem;padding:.75rem .85rem;display:flex}.product-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.product-copy strong{font-size:.95rem}.product-copy span{color:var(--ink-soft);font-size:.82rem;line-height:1.35}.product-shop{color:var(--teal-deep);text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:.1rem;max-width:8.5rem;font-size:.82rem;font-weight:700;text-decoration:none;display:flex}.product-shop small{color:var(--ink-soft);font-size:.72rem;font-weight:600}.product-shop:hover{color:var(--orange)}@media (width<=420px){.shell{width:min(100%,100% - 1rem)}.brand-text small{white-space:nowrap;text-overflow:ellipsis;max-width:9.5rem;overflow:hidden}}
