:root{--bg:#e8ece8;--surface:#fff;--surface-2:#eef1ee;--text:#101510;--muted:#445048;--line:#c5ccc5;--line-strong:#76827a;--accent:#17603f;--accent-ink:#fff;--warn:#6f3f00;--warn-bg:#fbe6bd;--red:#84160e;--red-bg:#f8d7d2;--ok:#11533a;--ok-bg:#cde9db;--ride:#2563a8;--strength:#b45309;--run:#7c3aed;--swim:#0369a1;--row:#be185d;--hike:#4d7c0f;--ski:#0e7490;--other:#6b7280;--heat0:#eef1ee;--heat1:#cfe6d9;--heat2:#92c9ad;--heat3:#2a7d58;--heat4:#14523a;--heat-ink:#fff;--phase-base:#2f6f9f;--phase-build:#b88700;--phase-peak:#bd510c;--phase-taper:#7c3aed;--phase-recovery:#2f7d45;--phase-other:#6b7280;--event:#8a3b6b;--radius:10px;--shadow:0 1px 2px #1015101a;--zA:#2f6f9f;--zB:#2f7d45;--zC:#b88700;--zD:#bd510c;--zE:#c0302b;--z-ink:#fff;--z-ink-C:#140f00;--tabbar-h:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d0b;--surface:#171b17;--surface-2:#222822;--text:#f2f5f1;--muted:#bcc6be;--line:#3d453e;--line-strong:#7b867d;--accent:#6fd3a6;--accent-ink:#06140d;--warn:#ffcb7d;--warn-bg:#40300f;--red:#ffb0a8;--red-bg:#481e1a;--ok:#8de0b8;--ok-bg:#173a29;--ride:#6ea8ec;--strength:#f0a455;--run:#b79af5;--swim:#5eb5ee;--row:#f08ab6;--hike:#9acb5b;--ski:#5cc3d9;--other:#9ca3af;--heat0:#222822;--heat1:#28483a;--heat2:#2f6e53;--heat3:#2a8059;--heat4:#6fd3a6;--heat-ink:#fff;--event:#d98ab8;--phase-base:#7db4dc;--phase-build:#f0c040;--phase-peak:#f29a57;--phase-taper:#b79af5;--phase-recovery:#6fc287;--phase-other:#9ca3af;--shadow:none;--zA:#7db4dc;--zB:#6fc287;--zC:#f0c040;--zD:#f29a57;--zE:#ff7a72;--z-ink:#10140f;--z-ink-C:#10140f}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:15px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer}select:not(:disabled),label.check,input[type=checkbox]:not(:disabled),summary{cursor:pointer}.app{max-width:1180px;margin:0 auto;padding:0 16px 48px}header.top{z-index:30;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;margin:0 -16px 8px;padding:12px 16px;display:flex;position:sticky;top:0}header.top h1{letter-spacing:-.01em;margin:0;font-size:20px}header.top h1.brand{align-items:center;gap:10px;display:flex}header.top h1.brand img{width:28px;height:28px}header.top h1.brand .brand-home{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;margin:0;padding:0;display:flex}header.top h1.brand .brand-home:focus-visible{outline:2px solid var(--accent);outline-offset:4px}header.top .spacer{flex:1}.account-trigger{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:2px;display:grid}.account-trigger:hover,.account-trigger[aria-expanded=true]{color:var(--accent)}.account-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-menu .menu-email{overflow-wrap:anywhere;padding:8px 12px 4px}.account-menu .menu-list{min-width:200px}.menu-list button[aria-current=page]{font-weight:600}nav.tabs{background:var(--surface-2);scrollbar-width:none;border-radius:999px;gap:4px;max-width:100%;padding:3px;display:flex;overflow-x:auto}nav.tabs button,.seg button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 14px}nav.tabs button[aria-pressed=true],nav.tabs button[aria-current=page],.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000001f}@media (width<=480px){.seg button{padding:6px 8px;font-size:13px}.seg{max-width:100%}}nav.main-tabs .nav-icon{display:none}@media (width>=641px){nav.main-tabs button{isolation:isolate;position:relative}nav.main-tabs button:after{content:"";z-index:-1;pointer-events:none;background:var(--muted);opacity:.45;width:2rem;height:2rem;display:none;position:absolute;bottom:-6px;right:-4px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='6 22 52 32'%3E%3Cpath d='M6 54L19.16 41.76L27.51 48.35L38.17 29.09L44.81 38.11L49.87 32.69L58 42L58 42L50.13 29.31L45.19 33.89L37.83 22.91L26.49 43.65L18.84 38.24L6 54Z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='6 22 52 32'%3E%3Cpath d='M6 54L19.16 41.76L27.51 48.35L38.17 29.09L44.81 38.11L49.87 32.69L58 42L58 42L50.13 29.31L45.19 33.89L37.83 22.91L26.49 43.65L18.84 38.24L6 54Z'/%3E%3C/svg%3E") 50%/contain no-repeat}nav.main-tabs button:hover:after,nav.main-tabs button[aria-current=page]:after{display:block}nav.main-tabs button[aria-current=page]:after{background:var(--accent);opacity:1}}.nav-ridge{display:none}@media (width<=640px){.app{padding-bottom:calc(var(--tabbar-h) + 60px + env(safe-area-inset-bottom))}.today-grid .t-brief{order:1}.today-grid .t-plan{order:2}.today-grid .t-checkin{order:3}.today-strip{z-index:19;left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));filter:drop-shadow(0 -4px 8px #00000038);position:fixed}.today-strip-ridge{width:100%;height:36px;margin-bottom:-1px;display:block}nav.main-tabs .nav-ridge{pointer-events:none;filter:drop-shadow(0 -4px 8px #00000038);width:100%;height:36px;display:block;position:absolute;bottom:calc(100% - 14px);left:0;right:0}body:has(.today-strip) nav.main-tabs .nav-ridge{display:none}.today-strip-ridge .ridge-back,.nav-ridge .ridge-back{fill:color-mix(in srgb, var(--accent) 12%, var(--surface))}.today-strip-ridge .ridge-back-line,.nav-ridge .ridge-back-line{fill:none;stroke:var(--accent);stroke-opacity:.4;stroke-width:1.5px;stroke-linejoin:round}.today-strip-ridge .ridge-fill,.nav-ridge .ridge-fill{fill:var(--surface)}.today-strip-ridge .ridge-line,.nav-ridge .ridge-line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.today-strip-body{background:var(--surface);padding:6px 12px 14px}.today-strip-btn{border:1px solid var(--accent);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);text-align:left;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 40px 8px 12px;display:flex;position:relative}.today-strip-main{flex:100%;align-items:baseline;gap:10px;min-width:0;display:flex}.today-strip-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);flex:none;font-size:11px;font-weight:700}.today-strip-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.today-strip-chips{flex-wrap:wrap;flex:100%;justify-content:flex-start;gap:6px;margin:0}.today-strip.is-checkin .today-strip-btn{border-color:var(--warn)}.today-strip.is-checkin .today-strip-kicker{color:var(--warn)}.today-strip-chev{color:var(--muted);position:absolute;top:50%;right:12px;transform:translateY(-50%)}body:has(.today-strip) .app{padding-bottom:calc(var(--tabbar-h) + 176px + env(safe-area-inset-bottom))}body:has(.today-strip):has(.proposal-fab) .app{padding-bottom:calc(var(--tabbar-h) + 208px + env(safe-area-inset-bottom))}nav.main-tabs{z-index:20;padding:4px 4px env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid #0000;border-radius:0;justify-content:space-around;gap:0;max-width:none;position:fixed;bottom:0;left:0;right:0;overflow:visible}nav.main-tabs button{min-width:0;min-height:var(--tabbar-h);border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-size:11px;display:flex;position:relative}nav.main-tabs button[aria-current=page]{box-shadow:none;color:var(--accent);background:0 0}nav.main-tabs .nav-icon{display:block}nav.main-tabs .nav-label{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;max-width:100%;font-size:10px;overflow:hidden}nav.main-tabs button.wide-label{flex-grow:1.35}nav.tabs.main-tabs .tab-dot{margin:0;position:absolute;top:6px;left:calc(50% + 6px)}header.top .spacer{display:block}.btn.proposal-fab{width:52px;height:52px;left:auto;right:16px;bottom:calc(var(--tabbar-h) + 52px + max(53px, var(--dock-h,0px)) + env(safe-area-inset-bottom));justify-content:center;gap:0;margin:0;padding:0;font-size:0}.btn.proposal-fab .fab-count{font-size:13px;position:absolute;top:-6px;right:-6px}body:has(.proposal-fab) .app{padding-bottom:calc(var(--tabbar-h) + 172px + env(safe-area-inset-bottom))}}.seg{background:var(--surface-2);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:600}.card:not(.cycle-card.compact)>.row:has(>h2):first-child:only-child{border-radius:calc(var(--radius) - 1px)!important;border-bottom:0!important;margin:-16px!important}.card:not(.cycle-card.compact)>:is(h2,.row:has(>h2)):first-child{background:color-mix(in srgb, var(--text) 4%, var(--surface));border-bottom:1px solid var(--line);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;padding:10px 16px;margin:-16px -16px 12px!important}.grid{gap:16px;display:grid}.today-grid{grid-template-columns:1.1fr 1fr;align-items:start}@media (width<=800px){.today-grid{grid-template-columns:minmax(0,1fr)}.today-grid>.grid{display:contents}.t-checkin{order:1}.t-brief{order:2}.t-plan{order:4}.t-ready{order:5}.t-recent{order:6}.t-zones{order:7}}.signals{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.signal{background:var(--surface-2);border-radius:8px;padding:10px 12px}.thead{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.sval{background:var(--ok-bg);color:var(--ok);white-space:nowrap;border-radius:7px;padding:6px 10px;font-size:22px;font-weight:650;line-height:1}.sval small{margin-left:3px;font-size:12px;font-weight:500}.sval.watch{background:var(--warn-bg);color:var(--warn)}.sval.red{background:var(--red-bg);color:var(--red)}.sval.insufficient_data{background:var(--surface);color:var(--muted)}.signal .name{color:var(--muted);align-items:center;gap:6px;display:flex}.signal .name span{font-size:12px}.signal .name small{opacity:.8;font-size:10px}@media (width<=480px){.signals{grid-template-columns:1fr}}.brief-chips{flex-wrap:wrap;justify-content:flex-end;gap:4px 14px;margin-left:auto;display:flex}.brief-chip{align-items:center;gap:6px;display:inline-flex}.brief-chip small{color:var(--muted);font-size:12px}.chip{border-radius:999px;padding:1px 9px;font-size:12px;font-weight:600;display:inline-block}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.watch{background:var(--warn-bg);color:var(--warn)}.chip.primed{background:var(--accent);color:var(--accent-ink)}.chip.red{background:var(--red-bg);color:var(--red)}.chip.insufficient_data{background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.fitness{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;display:grid}.fitness>div{background:var(--surface-2);border-radius:8px;padding:10px 12px}.spark-wrap{touch-action:pan-y;cursor:crosshair;margin-top:4px;position:relative}.spark-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface-2);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.spark-wrap .spark-tip{z-index:5;background:var(--text);color:var(--surface);white-space:nowrap;pointer-events:none;border-radius:6px;justify-items:center;gap:2px;padding:5px 10px;display:grid;position:absolute;bottom:calc(100% + 4px);transform:translate(-50%);box-shadow:0 2px 6px #0000004d}.spark-wrap .spark-tip i{color:var(--surface);opacity:.85;font-size:11px;font-style:normal}.spark-wrap .spark-tip em{color:var(--surface);font-size:18px;font-style:normal;font-weight:650;line-height:1}.spark{width:100%;height:28px;display:block}.spark polyline{stroke:var(--accent);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round}.spark .ref{stroke:var(--muted);stroke-width:1.25px}.spark .ref.d7{stroke-dasharray:1 3;stroke-linecap:round}.spark .ref.d60{stroke-dasharray:5 3}.spark .zero{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 3}@media (width<=480px){.fitness{grid-template-columns:1fr}}.fitness span{color:var(--muted);font-size:12px;display:block}.fitness small{opacity:.8;font-size:10px}.fitness b{color:var(--text);font-size:22px;font-weight:650;display:block}.rating{grid-template-columns:110px 1fr;align-items:center;gap:8px;margin-bottom:10px;display:grid}.rating label{font-size:14px}.rating small{color:var(--muted);font-size:12px;display:block}.scale{gap:6px;display:flex}.scale button{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;flex:1;min-width:36px;padding:7px 0}.scale button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:650}textarea{resize:vertical}textarea,input[type=text],.rating input[type=number]{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:8px 10px}.btn{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:8px 18px;font-weight:600}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{color:var(--text);border:1px solid var(--line-strong);background:0 0}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:12px}.session{border-bottom:1px solid var(--line);grid-template-columns:4px 1fr;gap:10px;padding:10px 0;display:grid}.session:last-child{border-bottom:0}.bar{border-radius:2px}.session .title{font-weight:600}.session .meta{color:var(--muted);font-size:13px}.rpe{flex-wrap:wrap;gap:3px;margin-top:6px;display:flex}.rpe button{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;width:28px;height:26px;padding:0;font-size:12px}.rpe button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.g-ride{--c:var(--ride)}.g-strength{--c:var(--strength)}.g-run{--c:var(--run)}.g-swim{--c:var(--swim)}.g-row{--c:var(--row)}.g-hike{--c:var(--hike)}.g-ski{--c:var(--ski)}.g-other{--c:var(--other)}.bar{background:var(--c,var(--other))}.cal-head{top:var(--top-h,57px);z-index:20;background:var(--bg);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 4px;padding:8px 0;display:flex;position:sticky}.cal-head h2{text-transform:none;letter-spacing:0;color:var(--text);margin:0;font-size:18px}.cal-head .spacer{flex:1}.month{--rb:24px;--rbt:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.month .dow{min-width:0;color:var(--muted);background:var(--surface-2);padding:6px 8px;font-size:12px;overflow:hidden}.cell{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface);text-align:left;border-bottom:0;border-right:0;flex-direction:column;gap:2px;min-width:0;min-height:104px;padding:4px;display:flex;overflow:hidden}.cell:nth-child(7n+1){border-left:0}.cell.out{background:var(--bg);color:var(--muted)}.cell .num{border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:500;display:grid}.cell.today .num{background:var(--accent);color:var(--accent-ink)}.pill{border-left:3px solid var(--c,var(--other));background:color-mix(in srgb, var(--c,var(--other)) 18%, var(--surface));white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:1px 6px;font-size:12px;line-height:1.3;overflow:hidden}.pill.planned{border:1px dashed var(--c,var(--other));background:0 0;border-left-width:3px;border-radius:4px}.pill.event{--c:var(--event);font-weight:500}.more{color:var(--muted);font-size:12px}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week .col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:6px;min-width:0;min-height:260px;padding:8px;transition:background-color .12s;display:flex}.week .col:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.week .col.today{border-color:var(--accent)}.month{--rb:19px;--rbt:24px}.month .phase-seg.ps,.month .phase-seg.pe,.month .phase-seg.ps.pe{border-radius:0}.month .phase-seg{background:0 0;border-radius:0;align-items:flex-start;height:18px;font-size:0}.month .phase-seg.ps{margin-left:3px}.month .phase-seg.pe{margin-right:3px}.month .phase-tab{background:var(--pc);max-width:calc(100% - 14px);height:18px;color:var(--bg);white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;flex:0 auto;padding:0 4px;font-size:11px;font-weight:700;line-height:18px;display:block;overflow:hidden}.month .phase-seg.ps .phase-tab{border-radius:8px 0 0 8px}.month .phase-s{background:var(--pc);width:18px;height:18px;-webkit-mask:var(--phase-s) 0 0 / 100% 100% no-repeat;-webkit-mask:var(--phase-s) 0 0 / 100% 100% no-repeat;mask:var(--phase-s) 0 0 / 100% 100% no-repeat;flex:none;margin:0 0 0 -.5px;display:block}.month .phase-s+.phase-line{margin-left:-18px}.month .phase-line.l{margin-right:-18px}.month .phase-s.flip{margin:0 -.5px 0 0;transform:scaleX(-1)}.month .phase-seg.short .phase-s,.month .phase-seg.short .phase-line{display:none}.month .phase-seg.short .phase-tab{border-radius:0 8px 8px 0;max-width:100%}.month .phase-seg.short.ps .phase-tab{border-radius:8px}.month .phase-line{background:var(--pc);flex:1 1 0;min-width:0;height:6px;margin-top:6px;display:block}.month .phase-seg.pe .phase-line{border-radius:0 3px 3px 0}.month .phase-seg.ps:not(.lab) .phase-line{border-radius:3px 0 0 3px}@media (width<=800px){.week{grid-template-columns:minmax(0,1fr)}.week .col{min-height:0}.cell{min-height:72px}.month .dow{text-align:center;padding:4px 2px;font-size:11px}.cell{padding:2px}.pill{border-left-width:2px;padding:1px 3px;font-size:10px}}.wk-title{background:color-mix(in srgb, var(--text) 4%, var(--surface));border-bottom:1px solid var(--line);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;margin:-8px -8px 2px;padding:8px;font-size:13px}.wk-act{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;border-left:3px solid var(--c,var(--other));background:var(--surface-2);border-radius:4px;padding:4px 6px;font-size:12px}.wk-act b{font-size:12px;display:block}.year{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.mini h3{margin:0 0 6px;font-size:16px}.mini h3 button{background:0 0;border:0;padding:0;font-weight:650}.mini .g{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.mini .d{aspect-ratio:1;color:var(--muted);border:0;border-radius:3px;place-items:center;padding:0;font-size:12px;display:grid;position:relative}.mini .d.h1{background:var(--heat1)}.mini .d.h2{background:var(--heat2)}.mini .d.h3{background:var(--heat3);color:var(--heat-ink)}.mini .d.h4{background:var(--heat4);color:var(--accent-ink)}.mini .d.h0{background:var(--heat0)}.mini .d.ev{outline:2px solid var(--event);outline-offset:-1px}.mini .d.today{box-shadow:0 0 0 2px var(--accent)}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 14px;font-size:12px;display:flex}.legend i{vertical-align:-2px;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.coach-ph{max-width:640px}.notice{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:8px 12px;font-size:13px}.err{background:var(--red-bg);color:var(--red);border-radius:8px;padding:10px 12px}.mini .badge{z-index:2;box-sizing:border-box;background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);font-variant-numeric:tabular-nums;box-shadow:0 0 0 1.5px var(--surface);pointer-events:none;border-radius:999px;place-items:center;padding:0 3px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.mini .d.est{background-image:repeating-linear-gradient(135deg,#0000 0 3px,#ffffff52 3px 5px)}.legend i.hatch{background:var(--heat2) repeating-linear-gradient(135deg, transparent 0 3px, #ffffff61 3px 5px)}.stepper{flex-direction:column;gap:2px;display:flex}.stepper button{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;width:26px;height:26px;padding:0;line-height:1}.stepper button:disabled{opacity:.4;cursor:default}.stepper .val{text-align:center;min-width:44px;font-size:14px}.coach-text{overflow-wrap:anywhere}.md{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md table,.md pre,.md blockquote{margin:0 0 12px}.md ul,.md ol{padding-left:22px}.md li{margin:5px 0}.md h1,.md h2,.md h3,.md h4{margin:12px 0 4px;font-size:15px;line-height:1.3}.md code{background:var(--surface);border-radius:4px;padding:1px 4px;font-size:.92em}.md pre{background:var(--surface);border-radius:8px;padding:8px 10px;overflow-x:auto}.md pre code{background:0 0;padding:0}.md blockquote{border-left:3px solid var(--line-strong);color:var(--muted);padding-left:10px}.md table{border-collapse:collapse;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--line);text-align:left;padding:4px 8px}.md hr{border:0;border-top:1px solid var(--line);margin:10px 0}.chat{flex-direction:column;gap:8px;max-height:460px;padding-right:4px;display:flex;position:relative;overflow-y:auto}.chat,.f4r-source{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.brief-thread{border-top:1px solid var(--line);margin-top:14px;margin-bottom:10px;padding-top:14px}.brief-dock{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.brief-thread+.brief-dock{border-top:0;margin-top:0;padding-top:0}.day-divider{color:var(--muted);align-items:center;gap:10px;margin:6px 0 2px;font-size:12px;display:flex}.day-divider:before,.day-divider:after{content:"";border-top:1px solid var(--line);flex:1}.chat-float{z-index:2;pointer-events:none;justify-content:center;align-items:flex-start;height:0;margin-bottom:-8px;display:flex;position:sticky;top:4px}.chat-float span{white-space:nowrap;background:var(--surface);border:1px solid var(--line-strong);color:var(--muted);box-shadow:var(--shadow);opacity:0;border-radius:999px;padding:3px 10px;font-size:12px;transition:opacity .25s}.chat-float span.on{opacity:1}.chat-older{align-self:center}.bubble{white-space:pre-wrap;border-radius:12px;max-width:92%;padding:8px 12px}.bubble.user{background:var(--accent);color:var(--accent-ink);align-self:flex-end}.bubble.coach{background:var(--surface-2);align-self:flex-start}.bubble.auto{border-left:3px solid var(--accent)}.bubble.auto .auto-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.bubble.auto .btn{margin-top:8px}.injury-box{background:var(--warn-bg);border-radius:8px;margin-bottom:10px;padding:10px}.f4r-day{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-bottom:6px;padding:8px 10px}.f4r-day summary{cursor:pointer}.f4r-block{border-left:2px solid var(--line);margin:8px 0 0 4px;padding-left:10px}.f4r-block ul{margin:2px 0 0;padding-left:18px;font-size:13px}.f4r-source{background:var(--surface-2);white-space:pre-wrap;border-radius:8px;max-height:260px;padding:10px;font-size:12px;overflow:auto}select{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:8px;padding:6px 32px 6px 8px}input[type=checkbox]{appearance:none;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;vertical-align:middle;border-radius:5px;flex:none;place-content:center;width:18px;height:18px;margin:0;transition:background .12s,border-color .12s;display:inline-grid}input[type=checkbox]:after{content:"";border:solid var(--accent-ink);border-width:0 0 2px 2px;width:9px;height:5px;transition:transform .12s;transform:rotate(-45deg)translate(1px,-1px)scale(0)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{transform:rotate(-45deg)translate(1px,-1px)scale(1)}input[type=checkbox]:hover:not(:disabled){border-color:var(--accent)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox]:disabled{opacity:.55;cursor:default}.num-field{flex-direction:column;gap:2px;display:flex}.num-field input{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;border-radius:8px;padding:6px 8px}.zone-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:14px}.zone-table th,.zone-table td{text-align:left;border-bottom:1px solid var(--line);padding:6px 8px}.zone-table th{color:var(--muted);font-size:12px;font-weight:600}.warn-list{background:var(--warn-bg);color:var(--warn);border-radius:8px;margin:12px 0 0;padding:8px 12px 8px 28px;font-size:13px}.proposal{border-bottom:1px solid var(--line);padding:14px 0}.proposal:last-child{border-bottom:0}.sd{gap:10px;margin-top:10px;display:grid}.sd-summary{color:var(--muted);margin:0}.sd-callout{border-radius:8px;padding:8px 12px;font-size:14px}.sd-condition{background:var(--warn-bg);color:var(--warn)}.sd-stop{background:var(--red-bg);color:var(--red)}.sd-block{background:var(--surface-2);border-radius:10px;padding:8px 12px 4px}.sd-block-head{margin-bottom:2px}.sd-table{border-collapse:collapse;width:100%}.sd-table td{border-top:1px solid var(--line);vertical-align:top;padding:7px 0}.sd-table tr:first-child td{border-top:0}.sd-name{width:100%;padding-right:12px}.sd-rx{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.sd-note{color:var(--muted);margin-top:2px;font-size:12.5px;font-weight:400}.sd-skipped .sd-name{color:var(--muted);text-decoration:line-through}.sd-skipped .sd-note{text-decoration:none}.sd-chip-modified,.sd-chip-replaced{background:var(--warn-bg);color:var(--warn);margin-left:8px}.sd-chip-skipped{background:var(--surface);color:var(--muted);border:1px solid var(--line);margin-left:8px}.sd-steps{background:var(--surface-2);border-radius:10px;gap:0;margin:0;padding:4px 12px;list-style:none;display:grid}.sd-steps li{border-top:1px solid var(--line);padding:8px 0}.sd-steps li:first-child{border-top:0}.sd-step-head{justify-content:space-between;gap:12px;display:flex}.sd-dur{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.sd-target{font-size:13.5px}.sd-fuel,.sd-terrain{font-size:14px}.planned{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:12px}.planned:not(.pill)+.planned:not(.pill){margin-top:10px}.planned.is-skipped{opacity:.65}.planned.is-bare{background:0 0;border:0;border-radius:0;padding:14px 0 0}.strike{text-decoration:line-through}.key-mark{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;font-size:.85em;font-weight:700}.pill.skipped,.wk-act.skipped{opacity:.6;text-decoration:line-through}.pill-icon{display:none}.legend-skipped{opacity:.7;text-decoration:line-through}.btn.danger{color:var(--red)}.btn.danger:not(.ghost){background:var(--red-bg);border:1px solid var(--red)}.btn.ghost.danger{border-color:var(--red)}.btn.small{padding:4px 10px;font-size:13px}.btn.icon{align-items:center;padding:8px 10px;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=date]{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;border-radius:8px;padding:6px 8px}.sd-fold{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:12px;overflow:hidden}.sd-fold[open]{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.sd-fold>summary{cursor:pointer;background:var(--surface-2);align-items:center;gap:8px;padding:10px 14px;list-style:none;display:flex}.sd-fold>summary::-webkit-details-marker{display:none}.sd-fold>summary:before{content:"▸";color:var(--muted);transition:transform .12s}.sd-fold[open]>summary:before{transform:rotate(90deg)}.sd-fold-label{font-size:14px;font-weight:600}.sd-fold>.sd{border-top:1.5px solid var(--line);margin:0;padding:12px 14px 14px}.sd-fold .sd-block,.sd-fold .sd-steps{background:var(--surface-2)}table.zones{border-collapse:separate;border-spacing:0 4px;font-variant-numeric:tabular-nums;width:100%;font-size:14px}table.zones th{text-align:left;color:var(--muted);padding:0 10px 2px;font-size:12px;font-weight:600}table.zones td{background:color-mix(in srgb, var(--zc) 18%, var(--surface));white-space:nowrap;padding:8px 10px}table.zones td:first-child{border-left:4px solid var(--zc);white-space:normal;border-radius:8px 0 0 8px}table.zones td:last-child{border-radius:0 8px 8px 0}table.zones td:not(:first-child){font-weight:600}table.zones .unit{color:var(--muted);font-size:12px;font-weight:400}@media (width<=420px){table.zones{font-size:13px}table.zones th{padding:0 5px 2px}table.zones td{padding:8px 5px}table.zones td:first-child{padding-left:8px}table.zones td:not(:first-child){white-space:normal}table.zones .unit{font-size:11px}}table.zones tr.zone-A{--zc:var(--zA)}table.zones tr.zone-B{--zc:var(--zB)}table.zones tr.zone-C{--zc:var(--zC)}table.zones tr.zone-D{--zc:var(--zD)}table.zones tr.zone-E{--zc:var(--zE)}.zone-badge{text-align:center;background:var(--zc);width:24px;height:24px;color:var(--z-ink);border-radius:6px;margin-right:10px;font-weight:700;line-height:24px;display:inline-block}.zone-name{font-weight:500}.zone-C .zone-badge{color:var(--z-ink-C)}.zones-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.zones-head h2{margin:0}.zones-head .seg button{padding:4px 10px;font-size:13px}.sd-alerts{gap:4px;display:grid}.sd-alerts>.sd-condition:not(:last-child){border-bottom-right-radius:3px;border-bottom-left-radius:3px}.sd-alerts>.sd-stop:not(:first-child){border-top-left-radius:3px;border-top-right-radius:3px}.planned-head{flex-wrap:nowrap;align-items:flex-start;gap:8px 12px}.planned-main{flex:1 1 0;min-width:0}.planned-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.planned-titlerow{align-items:center;gap:4px;display:flex}.planned-tags{flex-wrap:wrap;justify-content:flex-start;gap:6px;margin:0}.planned-toggle,.planned-heading{text-align:left;width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.planned-toggle .title,.planned-heading .title{flex:1;min-width:0;font-weight:600}.cal-tile{white-space:nowrap;border:1px solid var(--line-strong);background:var(--surface);text-align:center;border-radius:8px;flex:none;width:50px;line-height:1.15;overflow:hidden}.cal-dow{background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.04em;padding:3px 0;font-size:12px;font-weight:600;display:block}.cal-day{color:var(--text);font-variant-numeric:tabular-nums;padding:5px 0 6px;font-size:13px;font-weight:500;display:block}.planned-chev{color:var(--muted);flex:none;transition:transform .12s}.planned-toggle[aria-expanded=true] .planned-chev{transform:rotate(180deg)}.planned-body{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:12px;display:grid}.session-chat{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);gap:8px;margin-top:10px;padding:10px;display:grid}.session-chat .chat{max-height:320px}.session-chat textarea{flex:1}.btn[aria-pressed=true]{background:var(--surface);border-color:var(--accent)}.menu{flex:none;position:relative}.menu-trigger{letter-spacing:1px;padding:2px 10px 6px;font-size:20px;line-height:1}.menu-list{z-index:20;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;min-width:150px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 18px #00000047}.menu-list button{text-align:left;background:0 0;border:0;border-radius:6px;padding:8px 12px;font-size:14px}.menu-list button:hover:not(:disabled){background:var(--surface-2)}.menu-list button:disabled{opacity:.5;cursor:default}.menu-list button.danger{color:var(--red)}.cmp{margin-top:10px}.cmp-table{border-collapse:collapse;width:100%;font-size:14px}.cmp-table th{text-align:left;color:var(--muted);padding:4px 8px;font-size:12px;font-weight:600}.cmp-group td{padding:10px 8px 4px;font-size:13px;font-weight:650}.cmp-table tbody tr:not(.cmp-group) td{border-top:1px solid var(--line);vertical-align:top;padding:6px 8px}.cmp-label{width:26%;color:var(--muted)}.cmp-before,.cmp-after{width:37%}.cmp-changed .cmp-before{color:var(--muted)}.cmp-changed .cmp-after,.cmp-added .cmp-after{background:var(--warn-bg);color:var(--warn);font-weight:600}.cmp-removed .cmp-before{color:var(--red);background:var(--red-bg);text-decoration:line-through}button.link{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=480px){button.link{padding:8px 6px}}form.card label{color:var(--muted);gap:4px;font-size:13px;display:grid}form.card input{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 10px}.settings{gap:16px;margin:16px 0 0;display:grid}.settings>*{min-width:0}.settings-tabs{justify-self:start}.settings-picker{display:none}@media (width<=640px){nav.tabs.settings-tabs{display:none}.settings-picker{display:block;position:relative}.settings-picker select{width:100%;font:inherit;border:1px solid var(--line-strong);background-color:var(--surface-2);color:var(--text);border-radius:12px;padding:12px 40px 12px 16px;font-size:17px;font-weight:600}}.settings-panel{gap:16px;min-width:0;display:grid}.settings-panel>*{min-width:0}.settings-panel[hidden]{display:none}.settings .hint-note{border-left:3px solid var(--warn);background:var(--surface-2);border-radius:6px;grid-column:1/-1;margin:0 0 8px;padding:8px 10px}.settings .more{margin:12px 0 0}.settings .more>summary{cursor:pointer;color:var(--muted);padding:6px 0;font-size:13px}.settings-section h2{margin-bottom:8px}.settings .field{color:var(--muted);align-content:start;gap:4px;margin:10px 0;font-size:13px;display:grid}.settings .field>span:first-child{color:var(--text);font-weight:600}.settings input[type=text],.settings input[type=number],.settings input[type=password],.settings input[type=date],.settings input[type=time],.settings select,.settings textarea{width:100%;font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 10px}.course-row{grid-template-columns:minmax(110px,140px) minmax(120px,1fr) minmax(140px,2fr) auto;align-items:center;gap:8px;display:grid}@media (width<=560px){.course-row{grid-template-columns:1fr 1fr}.course-row input:nth-of-type(2){grid-column:1/-1}}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));align-items:start;gap:0 16px;display:grid}.form-grid>*{min-width:0}.zones-scroll{overflow-x:auto}@media (width<=640px){.settings .form-grid{grid-template-columns:1fr}}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.settings select{background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:32px}.settings hr{border:0;border-top:1px solid var(--line);margin:16px 0}.settings .check{align-items:center;gap:8px;margin:8px 0;display:flex}.presets{gap:8px;margin-bottom:4px;display:flex}.goal-list{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.goal-list li{background:var(--surface-2);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 10px;display:flex}.goal-list li.note{display:block}.note-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.danger-zone{border:1px solid var(--red);border-radius:8px;padding:12px}a.btn{text-decoration:none;display:inline-block}.pw-grid{grid-template-columns:1fr;align-items:start;gap:0 24px;display:grid}@media (width>=720px){.pw-grid{grid-template-columns:1fr 1fr}}.steps{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:0 0 4px;padding:0;font-size:13px;list-style:none;display:flex}.steps li{align-items:center;gap:8px;display:flex}.steps li span{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:inline-grid}.steps li[aria-current=step]{color:var(--text);font-weight:600}.steps li[aria-current=step] span,.steps li.done span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.review-goal{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:10px 12px}.settings h3.sub{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 4px;font-size:13px}.req:after{content:" *";color:var(--red)}.spark-legend{color:var(--muted);justify-content:flex-end;gap:12px;margin-top:4px;font-size:10px;line-height:1;display:flex}.spark-legend span{align-items:center;gap:4px;display:inline-flex}.spark-legend .ref{stroke:var(--muted);stroke-width:1.5px}.spark-legend .ref.d7{stroke-dasharray:1 3;stroke-linecap:round}.spark-legend .ref.d60{stroke-dasharray:5 3}.coach-working{align-items:center;gap:6px;display:inline-flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.vsplan{flex-wrap:wrap;align-items:center;gap:6px;margin:3px 0;display:flex}.wk-act .chip{margin-top:3px;padding:0 7px;font-size:11px}.pill.planned.missed{border-color:var(--red);color:var(--red)}.vsplan .chip,.wk-act .chip{white-space:nowrap}.wk-act .chip{text-overflow:ellipsis;vertical-align:bottom;max-width:100%;overflow:hidden}.pill.planned.proposed,.wk-act.proposed{background:var(--warn-bg);color:var(--warn);border:1px dashed var(--warn);border-left-width:3px}.proposal.proposed{background:var(--surface);border:1px solid var(--line-strong);border-left:4px solid var(--warn);border-radius:var(--radius);margin-top:14px;padding:14px}.proposal.proposed:last-child{border-bottom:1px solid var(--line-strong)}:root{--fill-hover:color-mix(in srgb, var(--accent) 84%, var(--text));--fill-active:color-mix(in srgb, var(--accent) 68%, var(--text));--tint-hover:var(--surface-2);--tint-active:color-mix(in srgb, var(--surface-2) 70%, var(--line-strong));--danger-hover:var(--red-bg);--danger-active:color-mix(in srgb, var(--red-bg) 70%, var(--red))}:where(.btn,nav.tabs button,.seg button,.scale button,.rpe button,.stepper button,.cell,.mini .d,.planned-toggle,.menu-list button,button.link,.mini h3 button){transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s,transform 80ms}:where(.btn,nav.tabs button,.seg button,.scale button,.rpe button,.stepper button,.cell,.mini .d,.planned-toggle,.menu-list button,button.link,.mini h3 button):focus-visible,:where(textarea,select,input[type=text],input[type=number],input[type=password],input[type=date],input[type=time],input[type=email]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(textarea,select,input[type=text],input[type=number],input[type=password],input[type=date],input[type=time],input[type=email]):focus-visible{border-color:var(--accent)}.cell:focus-visible,.mini .d:focus-visible{outline-offset:-2px}@media (hover:hover){.btn:not(.ghost):not(.danger):hover:not(:disabled),.scale button[aria-pressed=true]:hover,.rpe button[aria-pressed=true]:hover{background:var(--fill-hover)}.btn.ghost:hover:not(:disabled),.scale button:hover:not(:disabled):not([aria-pressed=true]),.rpe button:hover:not(:disabled):not([aria-pressed=true]),.stepper button:hover:not(:disabled){background:var(--tint-hover);border-color:var(--text)}nav.tabs button:hover:not([aria-pressed=true],[aria-current=page]),.seg button:hover:not([aria-pressed=true]){background:var(--tint-hover);color:var(--text)}nav.tabs button[aria-current=page]:hover{outline:1px solid var(--accent);outline-offset:-1px}nav.tabs button:hover:not([aria-pressed=true],[aria-current=page]){outline:1px solid var(--line-strong);outline-offset:-1px}.cell:hover,.menu-list button:hover:not(:disabled){background:var(--tint-hover)}.mini .d:hover{box-shadow:0 0 0 2px var(--text);z-index:1}.btn.danger:hover:not(:disabled),.menu-list button.danger:hover:not(:disabled){background:var(--danger-hover)}.btn.ghost.danger:hover:not(:disabled){border-color:var(--red)}.planned-toggle:hover:not(:disabled) .title,button.link:hover,.mini h3 button:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.planned-toggle:hover:not(:disabled) .planned-chev{color:var(--accent)}textarea:hover:not(:disabled),select:hover:not(:disabled),input[type=text]:hover:not(:disabled),input[type=number]:hover:not(:disabled),input[type=password]:hover:not(:disabled),input[type=date]:hover:not(:disabled),input[type=time]:hover:not(:disabled),input[type=email]:hover:not(:disabled){border-color:var(--text)}}.btn:not(.ghost):not(.danger):active:not(:disabled),.scale button[aria-pressed=true]:active,.rpe button[aria-pressed=true]:active{background:var(--fill-active)}.btn.ghost:active:not(:disabled),.scale button:active:not(:disabled),.rpe button:active:not(:disabled),.stepper button:active:not(:disabled),nav.tabs button:active,.seg button:active,.cell:active,.menu-list button:active:not(:disabled){background:var(--tint-active)}.btn.danger:active:not(:disabled),.menu-list button.danger:active:not(:disabled){background:var(--danger-active)}.planned-toggle:active:not(:disabled) .title,button.link:active,.mini h3 button:active{color:var(--accent)}.mini .d:active{box-shadow:0 0 0 2px var(--text)}:where(.btn,.scale button,.rpe button,.stepper button):active:not(:disabled){transform:translateY(1px)}@media (prefers-reduced-motion:reduce){*{transition:none!important}:where(.btn,.scale button,.rpe button,.stepper button):active{transform:none}}@media (hover:hover){.week .col:hover{background:var(--tint-hover)}}.week .col:active{background:var(--tint-active)}.cal-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.phase-bar{opacity:.75;background:var(--pc);height:16px;color:var(--bg);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex:none;margin:0;padding:0 6px;font-size:11px;font-weight:600;line-height:16px;display:block;overflow:hidden}.month .phase-seg{opacity:.75}.phase-seg{z-index:3;pointer-events:none;background:var(--pc);height:16px;color:var(--bg);align-self:end;align-items:center;min-width:0;margin-bottom:4px;font-size:11px;font-weight:600;line-height:16px;display:flex;overflow:hidden}.phase-seg.ps{border-radius:8px 0 0 8px;margin-left:3px}.phase-seg.pe{border-radius:0 8px 8px 0;margin-right:3px}.phase-seg.ps.pe{border-radius:8px}.phase-tab{white-space:nowrap;text-overflow:ellipsis;padding:0 6px;font-weight:600;overflow:hidden}.phase-s,.phase-line{display:none}.phase-seg.mid{justify-content:center}:root{--phase-s:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' preserveAspectRatio='none'%3E%3Cpath d='M0 0C9 0 9 6 18 6V12C9 12 9 18 0 18Z'/%3E%3C/svg%3E")}.cell.sel{box-shadow:inset 0 0 0 2px var(--accent)}.week .col.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.mini .d.sel{outline:2px solid var(--text);outline-offset:1px}.sheet-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.sheet-actions .btn{white-space:nowrap;flex:none}.planned.proposed{background:var(--surface);border-left:4px solid var(--warn)}.cal-main>.legend:last-child,.month+.legend,.week+.legend{margin:12px 0 0}.legend+.legend{margin-top:6px}.k-base{--pc:var(--phase-base)}.k-build{--pc:var(--phase-build)}.k-peak{--pc:var(--phase-peak)}.k-taper{--pc:var(--phase-taper)}.k-recovery,.k-transition{--pc:var(--phase-recovery)}.k-camp,.k-other{--pc:var(--phase-other)}.phase-dot{background:var(--pc,var(--phase-other));border-radius:50%;flex:none;width:10px;height:10px;margin-top:5px;display:inline-block}.legend .phase-dot{vertical-align:-1px;margin:0 4px 0 0}.wk-deload-swatch{background:repeating-linear-gradient(45deg, var(--muted) 0 2px, transparent 2px 4px);border:1px solid var(--muted)}.cycle-line{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 4px;display:flex}.cycle-line .phase-dot{margin-top:0}.chip.wk-deload,.chip.wk-taper{background:var(--ok-bg);color:var(--ok)}.chip.wk-race{background:var(--warn-bg);color:var(--warn)}.chip.wk-load{background:var(--surface-2);color:var(--text)}.hours-bar{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;height:8px;margin-top:4px;overflow:hidden}.hours-bar span{background:var(--accent);height:100%;display:block}.timeline{margin:6px 0 4px;padding-top:16px;position:relative}.tl-weeks{touch-action:pan-y;align-items:end;column-gap:2px;height:72px;display:grid}.tl-week{background:var(--pc,var(--phase-other));border-radius:2px 2px 0 0;min-width:2px}.tl-week.wk-deload,.tl-week.wk-taper{background:repeating-linear-gradient(45deg, var(--pc) 0 3px, color-mix(in srgb, var(--pc) 35%, var(--surface)) 3px 6px)}.tl-week,.tl-phase{cursor:default}.tl-week:focus-visible,.tl-phase:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tl-week:hover{filter:brightness(1.15)}.tl-week.now{outline:2px solid var(--text);outline-offset:1px}.tl-phases{touch-action:pan-y;column-gap:2px;height:16px;margin-top:4px;display:grid}.tl-phase{background:var(--pc,var(--phase-other));border-radius:4px}.tl-week.sel,.tl-phase.sel{outline:2px solid var(--text);outline-offset:1px;filter:brightness(1.15)}@media (width<=640px){.tl-weeks{height:96px}.tl-phases{height:24px}.tl-week{min-width:3px}}.tl-now{border-left:2px solid var(--text);width:0;position:absolute;top:0;bottom:0}.tl-now span{color:var(--text);background:var(--surface);padding:0 3px;font-size:11px;position:absolute;top:-2px;left:4px}.plan-empty{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.phase-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.phase-row{border-radius:8px;align-items:flex-start;gap:10px;padding:6px 8px;display:flex}.phase-row.current{background:var(--surface-2)}.phase-row .chip{margin-left:auto}.week-list{flex-direction:column;display:flex}.week-row{border-bottom:1px solid var(--line);grid-template-columns:56px 90px 110px 1fr;align-items:center;gap:8px;padding:6px 8px;display:grid}.week-row.current{background:var(--surface-2);font-weight:600}.draft-card{border-color:var(--warn)}.plan-grid{grid-template-columns:1.1fr 1fr;align-items:start}.plan-grid>.grid{min-width:0}@media (width<=800px){.plan-grid{grid-template-columns:1fr}.week-row{grid-template-columns:52px 78px 1fr}.week-row>:last-child{grid-column:1/-1}}.goal-line{color:var(--muted);margin:2px 0 6px}.goal-line b{color:var(--text);font-size:17px}nav.tabs .tab-dot{background:var(--warn);vertical-align:2px;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.tl-tip{z-index:5;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);pointer-events:none;flex-direction:column;gap:6px;padding:10px 12px;font-size:13px;display:flex;position:absolute;top:calc(100% + 6px);transform:translate(-50%);box-shadow:0 6px 18px #00000047}.tl-tip .tip-head{align-items:center;gap:8px;display:flex}.tl-tip .tip-head .phase-dot{margin-top:0}.tl-tip .tip-head .muted{margin-left:auto;font-size:12px}.tl-tip dl{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;display:grid}.tl-tip dt{color:var(--muted)}.tl-tip dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.tl-tip .tip-note{border-top:1px solid var(--line);color:var(--muted);margin:0;padding-top:6px;font-size:12px}.dropzone{border-radius:var(--radius);position:relative}.dropzone.over{outline:2px dashed var(--accent);outline-offset:2px}.dropzone-hint{text-align:center;border-radius:inherit;background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--text);pointer-events:none;z-index:3;place-items:center;padding:12px;font-weight:600;display:grid;position:absolute;inset:0}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.plan-status{background:var(--surface);border:1px solid var(--line);white-space:normal;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;font-size:13px;display:flex}.plan-status.draft{border-color:var(--warn)}.plan-status.active{border-color:var(--ok);color:var(--ok)}.btn.proposal-fab,.btn.proposal-fab:not(.ghost):not(.danger):active:not(:disabled){background:var(--warn-bg);color:var(--warn);border:2px solid var(--warn)}.btn.proposal-fab:not(.ghost):not(.danger):hover:not(:disabled){background:color-mix(in srgb, var(--warn-bg) 80%, var(--warn))}.proposal-fab{width:fit-content;left:0;right:0;bottom:max(20px, env(safe-area-inset-bottom));z-index:20;white-space:nowrap;border-radius:999px;align-items:center;gap:10px;margin:0 auto;padding:12px 20px;font-size:15px;animation:2.4s ease-out infinite fab-pulse;display:inline-flex;position:fixed;box-shadow:0 8px 24px #0006}.proposal-fab .fab-count{background:var(--warn);min-width:22px;height:22px;color:var(--warn-bg);border-radius:999px;place-items:center;padding:0 6px;font-size:13px;font-weight:700;display:inline-grid}@keyframes fab-pulse{0%{box-shadow:0 8px 24px #0006, 0 0 0 0 color-mix(in srgb, var(--warn) 55%, transparent)}70%,to{box-shadow:0 8px 24px #0006,0 0 0 14px #0000}}@media (prefers-reduced-motion:reduce){.proposal-fab{animation:none}}.sheet-backdrop{touch-action:none;z-index:40;background:#00000080;position:fixed;inset:0}.sheet{z-index:50;overscroll-behavior:contain;background:var(--bg);border:1px solid var(--line-strong);max-width:920px;padding:0 16px max(16px, env(safe-area-inset-bottom));border-bottom:0;border-radius:16px 16px 0 0;margin:0 auto;animation:.22s ease-out sheet-up;position:fixed;inset:16px 8px 0;overflow-y:auto;box-shadow:0 -10px 30px #0006}.sheet:focus{outline:none}.sheet-head{z-index:1;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin:0 -16px;padding:12px 16px 8px;display:flex;position:sticky;top:0}.sheet-close{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;margin:-8px -8px -8px 0;padding:8px;line-height:0}.sheet-close:hover{color:var(--text)}.sheet-close:focus-visible{outline:2px solid var(--accent);outline-offset:0}.sheet-head h2{margin:0;font-size:16px}.sheet>.sheet-head+*{margin-top:16px}.sheet .draft-card{box-shadow:none;background:0 0;border:0;padding:0}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.dialog{z-index:50;background:var(--bg);border:1px solid var(--line-strong);border-radius:16px;width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);padding:20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0006}.dialog h2{margin:0 0 8px;font-size:16px}.dialog-body p{margin:0 0 8px}.dialog-actions{margin-top:16px}.cycle-card{border-top:4px solid var(--pc,var(--phase-other))}.checkin-pending{border-top:4px solid var(--warn)}.cycle-summary{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.cycle-summary .phase-dot{margin-top:0}.cycle-summary-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cycle-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cycle-open{font:inherit;color:inherit;text-align:left;cursor:pointer;justify-content:center}.cycle-open .cs-value{justify-content:space-between}.cycle-open:hover{border-color:var(--accent)}.cycle-open:hover .cs-value{color:var(--accent)}.cycle-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cycle-collapse{min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin:-8px -8px -8px 0;padding:0;display:grid}.cycle-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cycle-card.compact{padding-top:6px;padding-bottom:10px}.cycle-title{align-items:center;gap:8px;display:flex;margin:0!important}.cycle-title svg{color:var(--pc,var(--muted))}.cycle-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0 4px;display:grid}.cycle-stat{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:1px;min-width:0;padding:10px 12px;display:flex}.cycle-stat.phase{background:color-mix(in srgb, var(--pc,var(--phase-other)) 16%, var(--surface-2));border-color:color-mix(in srgb, var(--pc,var(--phase-other)) 45%, var(--line))}.cs-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.cs-value{align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.cs-value.big{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.1;display:block}.cs-value small{color:var(--muted);font-size:13px;font-weight:500}.cs-value .phase-dot{margin-top:0}.cs-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.cycle-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.cycle-week{margin:8px 0 6px}.goal-demands{margin:8px 0 12px}.goal-demands summary{font-weight:600}.goal-demands .abilities{border:0;flex-wrap:wrap;gap:0 16px;min-width:0;margin:8px 0 0;padding:0;display:flex}.goal-demands .abilities legend{padding:0}.goal-demands .abilities .check{margin:4px 0}.phase-row>div{flex:1;min-width:0}.block-details{margin-top:6px}.block-details>summary{cursor:pointer;color:var(--muted);font-size:13px}.block-facts{grid-template-columns:74px 1fr;gap:2px 10px;margin:6px 0;font-size:13px;display:grid}.block-facts dt{color:var(--muted)}.block-facts dd{margin:0}.track{margin:8px 0 4px}.track-steps{margin:4px 0 0;padding:0;list-style:none}.track-steps li{border-bottom:1px solid var(--line);border-radius:6px;grid-template-columns:54px 1fr auto;align-items:center;gap:8px;padding:4px 6px;display:grid}.track-steps li.current{background:var(--surface-2);font-weight:600}.track-name{color:var(--muted);font-size:.85em}.pg-lists{grid-template-columns:1fr 1fr;gap:6px 24px;display:grid}@media (width<=760px){.pg-lists{grid-template-columns:1fr}}.pg-list h3{margin:0 0 4px;font-size:14px}.pg-row{border-top:1px solid var(--line)}.pg-row summary{cursor:pointer;grid-template-columns:14px minmax(0,1fr);align-items:baseline;column-gap:10px;min-height:40px;padding:10px 0;list-style:none;display:grid}.pg-row summary::-webkit-details-marker{display:none}.pg-row summary{padding-right:28px;position:relative}.pg-row summary .planned-chev{position:absolute;top:10px;right:0}.pg-row[open]>summary .planned-chev{transform:rotate(180deg)}.pg-row summary:hover .planned-chev{color:var(--accent)}.pg-row summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pg-dot{box-sizing:border-box;border-radius:50%;grid-row:1/span 2;align-self:start;width:12px;height:12px;margin-top:3px}.pg-dot.green{background:var(--ok)}.pg-dot.yellow{background:#d99a1e}.pg-dot.red{background:var(--red)}.pg-dot.unknown{border:2px solid var(--muted);background:0 0}.pg-dot.neutral{background:var(--muted);opacity:.6}.pg-label{font-size:14px;font-weight:600}.pg-sentence{color:var(--muted);overflow-wrap:anywhere;grid-column:2;font-size:13px}.pg-numbers{gap:2px;margin:0 0 10px 24px;font-size:12px;display:grid}.pg-numbers>div{justify-content:space-between;gap:12px;display:flex}.pg-numbers dt{color:var(--muted)}.pg-numbers dd{font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;margin:0}.pg-scale{grid-column:2;margin-top:6px}.pg-track{height:40px;margin:0 4px;position:relative}.pg-track:before{content:"";background:var(--line-strong);border-radius:1px;height:2px;position:absolute;top:26px;left:0;right:0}.pg-band{background:color-mix(in srgb, var(--accent) 28%, transparent);border-radius:3px;height:14px;position:absolute;top:20px}.pg-mark{background:var(--accent);border-radius:2px;width:3px;height:22px;margin-left:-1.5px;position:absolute;top:16px}.pg-ghost{border-left:2px dashed var(--muted);opacity:.55;width:0;height:18px;margin-left:-1px;position:absolute;top:18px}.pg-mlabel{white-space:nowrap;color:var(--text);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;position:absolute;top:0;transform:translate(-50%)}.pg-legend{color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.pg-key{border-left:3px solid var(--accent);width:0;height:10px}.pg-key.ghost{border-left:2px dashed var(--muted);opacity:.7}.pg-key+.pg-key,.pg-legend .pg-key:last-of-type{margin-left:8px}.pg-caption{color:var(--muted);margin:0 0 6px 24px;font-size:12px}.pg-chips{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin:0 0 10px 24px;display:grid}.pg-chip{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;flex-direction:column;gap:1px;min-width:0;padding:6px 8px;display:flex}.pg-chip-name{color:var(--muted);font-size:11px}.pg-chip-value{font-variant-numeric:tabular-nums;font-size:16px;font-weight:650}.pg-chip-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.pg-chip.up .pg-chip-value{color:var(--ok)}.pg-chip.down .pg-chip-value{color:var(--warn)}.pg-sessions{gap:6px;margin:0 0 10px 24px;padding:0;font-size:12px;list-style:none;display:grid}.pg-sessions li{flex-direction:column;gap:1px;min-width:0;display:flex}.pg-sess-head{font-weight:600}.pg-sess-pair{color:var(--muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hours-track{margin-top:4px;position:relative}.hours-track .hours-bar{margin-top:0}.hours-optional{box-sizing:border-box;border:1.5px dashed color-mix(in srgb, var(--text) 60%, var(--muted));background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--text) 28%, transparent) 0 2px, transparent 2px 6px);border-left:0;border-radius:0 5px 5px 0;position:absolute;top:0;bottom:0}.hours-legend{align-items:center;gap:6px;margin:4px 0 0;display:flex}.hours-target-tick{background:var(--text);opacity:.7;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.hours-optional-swatch{box-sizing:border-box;border:1.5px dashed color-mix(in srgb, var(--text) 60%, var(--muted));background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--text) 28%, transparent) 0 2px, transparent 2px 6px);border-radius:4px;flex:none;width:18px;height:8px}.week-done{flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;display:flex}.wd-item{align-items:center;gap:5px;display:inline-flex}.wd-icon{color:var(--muted);flex:none}.pw-field{display:block;position:relative}form.card .pw-field input{box-sizing:border-box;width:100%;padding-right:40px}.pw-toggle{width:32px;height:32px;color:var(--muted,var(--text));cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-toggle:hover,.pw-toggle[aria-pressed=true]{color:var(--accent)}.pw-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-section .pw-field input{box-sizing:border-box;width:100%;padding-right:40px}.ai-section .ai-warnings{margin:4px 0 8px}.lang-switch{align-items:center;display:inline-flex}.lang-switch button{color:var(--muted);padding:2px 8px;font-size:13px;text-decoration:none}.lang-switch button+button{border-left:1px solid var(--line-strong)}.lang-switch button[aria-pressed=true]{color:var(--text);text-underline-offset:3px;font-weight:600;text-decoration:underline}.cal-nav{display:contents}@media (width<=640px){.cal-head{flex-direction:column-reverse;align-items:stretch;gap:8px;margin-bottom:0}.cal-head .spacer{display:none}.cal-head .seg{display:flex}.cal-head .seg button{flex:1;padding:8px 0}.cal-nav{align-items:center;gap:6px;display:flex}.cal-nav .btn{min-width:44px;min-height:44px;padding:0 12px}.cal-nav .cal-prev{order:1}.cal-nav h2{text-align:center;flex:1;order:2;font-size:17px}.cal-nav .cal-next{order:3}.cal-nav .cal-today{order:4;font-size:13px}.month .cell{flex-direction:column;align-items:stretch;gap:3px;min-height:64px;padding:4px 3px}.month .cell .num{width:24px;height:24px;margin:0 auto 1px;font-size:13px}.month .cell .pill{height:19px;color:var(--text);background:color-mix(in srgb, var(--c,var(--other)) 45%, var(--surface));border:0;border-radius:3px;flex:none;justify-content:center;align-items:center;gap:1px;padding:0 2px;font-size:10px;line-height:1;display:flex}.month .cell .pill .pill-text{display:none}.month .cell .pill .pill-icon{width:15px;height:15px;color:var(--c,var(--other));flex:none;display:block}.month .cell .pill:not(.planned) .pill-icon{color:var(--text)}.month .cell .pill .pill-glyph{white-space:nowrap;font-weight:600}.month .cell .pill.planned{border:1px dashed var(--c,var(--other));background:0 0}.month .cell .pill.planned.proposed{border:1px dashed var(--warn);background:var(--warn-bg);color:var(--warn)}.month .cell .pill.planned.proposed .pill-icon{color:var(--warn)}.month .cell .pill.planned.missed{border-color:var(--red);color:var(--red)}.month .cell .pill.planned.missed .pill-icon{color:var(--red)}.month .cell .pill.skipped{opacity:.55;text-decoration:none;position:relative}.month .cell .pill.skipped:after{content:"";background:var(--c,var(--other));border-radius:1px;height:1.5px;margin-top:-.75px;position:absolute;top:50%;left:3px;right:3px}.month .cell .more{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1;overflow:hidden}.month+.legend{gap:2px 10px;font-size:11px}.calendar .legend i:has(+.legend-icon){display:none}.calendar .legend .legend-icon{vertical-align:-2px;width:13px;height:13px;color:var(--c,var(--muted));margin-right:3px;display:inline-block}}.calendar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.calendar h2,.calendar .seg button[aria-pressed=true],.calendar .mini h3 button,.calendar .wk-act b,.calendar .btn{font-weight:500}.calendar .dow{font-weight:400}.calendar .key-mark{font-weight:600}.calendar .cell .num{letter-spacing:0}.calendar .pill{padding:2px 6px;line-height:1.4}.calendar .month .cell{gap:3px}@media (width<=640px){.calendar .pill{padding:0}}@media (width>=801px){.calendar .month .pill{font-size:13px}.calendar .month .cell{min-height:112px}}.t-checkin:empty{display:none}.icu-help h3{margin:16px 0 4px;font-size:14px}.icu-help p,.icu-help dd{margin:0 0 8px}.icu-help dt{margin-top:8px;font-weight:600}.icu-help dd{color:var(--muted)}.icu-help ol{margin:0 0 8px;padding-left:20px}.icu-help li{margin-bottom:6px}.icu-recommend{border-left:3px solid var(--warn);background:var(--surface-2);border-radius:6px;padding:8px 10px}.icu-help a{color:var(--accent);text-underline-offset:2px}.rp-controls{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.rp-chart{width:100%;height:auto;display:block}.rp-grid{stroke:var(--line);stroke-width:1px}.rp-axis{fill:var(--muted);font-size:14px}.rp-band80{fill:var(--accent);opacity:.14}.rp-band50{fill:var(--accent);opacity:.26}.rp-now{stroke:var(--line-strong,var(--muted));stroke-width:1px;stroke-dasharray:3 3}.rp-hist{stroke:var(--text);stroke-width:2px}.rp-gap{stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:2 4}.rp-dot{fill:var(--text)}.rp-mid{stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:6 4}.rp-end{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.rp-legend{flex-wrap:wrap;gap:4px 14px;margin:4px 0 8px;display:flex}.rp-sw{vertical-align:-1px;border-radius:2px;width:14px;height:10px;margin-right:5px;display:inline-block}.rp-sw.hist{background:var(--text);vertical-align:3px;height:3px}.rp-sw.mid{background:var(--accent);vertical-align:3px;height:3px}.rp-sw.b50{background:var(--accent);opacity:.45}.rp-sw.b80{background:var(--accent);opacity:.2}.fan-wrap{cursor:crosshair}.fan-wrap .rp-chart{display:block}.fan-wrap .fan-tip{z-index:5;background:var(--text);color:var(--surface);white-space:nowrap;pointer-events:none;border-radius:6px;justify-items:center;gap:2px;padding:5px 10px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 2px 6px #0000004d}.fan-wrap .fan-tip i{color:var(--surface);opacity:.85;font-size:11px;font-style:normal}.fan-wrap .fan-tip em{color:var(--surface);font-size:18px;font-style:normal;font-weight:650;line-height:1}.noted{flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:4px;display:flex}.noted .chip{background:var(--surface);border:1px solid var(--line)}.strength-mode{border:0;min-width:0;margin:10px 0;padding:0;font-size:13px}.strength-mode legend{color:var(--text);margin-bottom:6px;padding:0;font-weight:600}.strength-mode-opt{cursor:pointer;min-height:40px;color:var(--text);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.strength-mode-opt input{flex:none;margin:3px 0 0}.strength-mode-opt .small{margin-top:2px;display:block}.f4r-collapsed{text-align:left;width:100%}.planned-placeholder{margin:6px 0 0}.goal-list .row-actions .goal-delete{margin-left:12px}.goal-confirm{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;margin-top:8px;display:flex}.timeline.comparing .tl-week:not(.changed){opacity:.35}.tl-week{position:relative}.tl-week.changed:before{content:"";background:var(--text);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;top:-7px;left:50%}.tl-was{border:1.5px dashed var(--text);pointer-events:none;border-bottom:0;border-radius:2px 2px 0 0;position:absolute;bottom:0;left:-1px;right:-1px}.tl-compare-legend{margin:6px 0 0}.tl-legend-changed{background:var(--text)!important;vertical-align:1px!important;border-radius:50%!important;width:6px!important;height:6px!important}.tl-legend-was{border:1.5px dashed var(--text);border-bottom:0;background:0 0!important}.actions.is-dirty{z-index:4;background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);margin:12px -16px -16px;padding:10px 16px;position:sticky;bottom:0}.unsaved-note{color:var(--warn);align-items:center;gap:6px;font-size:12px;display:inline-flex}.unsaved-note:before{content:"";background:var(--warn);border-radius:50%;width:7px;height:7px}@media (width<=640px){.actions.is-dirty{bottom:calc(var(--tabbar-h) + 36px + env(safe-area-inset-bottom))}}.composer textarea{field-sizing:content;resize:none;min-height:3.2em;max-height:35vh;overflow-y:auto}@media (width<=640px){.chat-dock{min-width:0;bottom:calc(var(--tabbar-h) + 26px + env(safe-area-inset-bottom));z-index:4;background:var(--surface);border-top:1px solid var(--line);margin:0 -16px;padding:8px 16px;position:sticky}.chat-dock.is-stuck:after{content:"";background:var(--surface);height:26px;position:absolute;top:100%;left:0;right:0}.composer{bottom:calc(var(--tabbar-h) + 26px + env(safe-area-inset-bottom));z-index:4;background:var(--surface);border-top:1px solid var(--line);margin:0 -16px;padding:8px 16px;position:sticky}.chat-dock .composer{border:0;margin:0;padding:0;position:static}.brief-dock,.brief-thread+.brief-dock{border-top:1px solid var(--line);margin-top:14px}.brief-dock{bottom:calc(var(--tabbar-h) + max(26px, var(--strip-h,0px)) + env(safe-area-inset-bottom))}body:has(.brief-dock) .btn.proposal-fab{bottom:calc(var(--tabbar-h) + max(26px, var(--strip-h,0px)) + var(--dock-h,53px) + 16px + env(safe-area-inset-bottom))}.composer textarea{max-height:30vh}}.year-legend{z-index:20;background:var(--bg);border-top:1px solid var(--line);margin:0;padding:8px 0;position:sticky;bottom:0}@media (width<=640px){.year-legend{bottom:calc(var(--tabbar-h) + 28px + env(safe-area-inset-bottom))}}.mini .phase-seg{z-index:1;background:0 0;border-radius:0;align-items:flex-start;height:15px;margin-top:0;font-size:0}.mini .phase-seg.ps{margin-left:2px}.mini .phase-seg.pe{margin-right:2px}.mini .phase-tab{background:var(--pc);max-width:calc(100% - 11px);height:15px;color:var(--bg);white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;flex:0 auto;padding:0 5px;font-size:11px;font-weight:700;line-height:15px;display:block;overflow:hidden}.mini .phase-seg.ps .phase-tab{border-radius:6px 0 0 6px}.mini .phase-s{background:var(--pc);width:12px;height:15px;-webkit-mask:var(--phase-s) 0 0 / 100% 100% no-repeat;-webkit-mask:var(--phase-s) 0 0 / 100% 100% no-repeat;mask:var(--phase-s) 0 0 / 100% 100% no-repeat;flex:none;margin:0 0 0 -.5px;display:block}.mini .phase-s.flip{margin:0 -.5px 0 0;transform:scaleX(-1)}.mini .phase-s+.phase-line{margin-left:-12px}.mini .phase-line.l{margin-right:-12px}.mini .phase-line{background:var(--pc);flex:1 1 0;min-width:0;height:5px;margin-top:5px;display:block}.mini .phase-seg.pe .phase-line{border-radius:0 2px 2px 0}.mini .phase-seg.ps:not(.lab) .phase-line{border-radius:2px 0 0 2px}.mini .phase-seg.short .phase-s,.mini .phase-seg.short .phase-line{display:none}.mini .phase-seg.short .phase-tab{border-radius:0 5px 5px 0;max-width:100%}.mini .phase-seg.short.ps .phase-tab{border-radius:5px}.month .phase-seg .phase-line.l,.mini .phase-seg .phase-line.l,.month .phase-seg.mid .phase-tab,.mini .phase-seg.mid .phase-tab{border-radius:0}.month .phase-seg.ps.mid .phase-line.l{border-radius:3px 0 0 3px}.mini .phase-seg.ps.mid .phase-line.l{border-radius:2.5px 0 0 2.5px}.month .cell{border-top:2px solid var(--line-strong);padding-bottom:12px}.legend span:has(>i.legend-proposed){align-items:center;display:inline-flex}.legend i.legend-proposed{vertical-align:baseline;box-sizing:border-box;border:1px dashed var(--warn);background:var(--warn-bg);width:18px;height:12px;color:var(--warn);text-align:center;border-radius:3px;font-size:9px;font-style:normal;font-weight:700;line-height:10px}.month .cell{border-left-color:color-mix(in srgb, var(--line) 45%, var(--line-strong))}.month .cell .pill{margin-inline:2px}.month .cell.bar-row{padding-bottom:var(--rb)}.month .cell.tab-row{padding-bottom:var(--rbt)}.month .phase-seg{margin-bottom:3px}.mini .phase-seg{align-self:end;margin-bottom:2px}.mini .badge{top:2px;bottom:auto;right:2px}.focus-chip{margin:3px 0 2px}.focus-chip .chip{padding:0 8px;font-size:11px}.hx{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.hx-title{margin:0;font-size:20px}.hx-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hx-dd{position:relative}.hx-dd-btn{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;max-width:270px;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.hx-dd-btn:hover{background:var(--surface-2)}.hx-dd-btn[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.hx-dd-btn:focus-visible,.hx-plan:focus-visible,.hx-funnel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hx-dd-k{color:var(--muted)}.hx-dd-v{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hx-dd-btn svg{color:var(--muted);flex:none}.hx-menu{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:240px;max-width:calc(100vw - 32px);padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px #1015102e}.hx-dd:last-child .hx-menu{left:auto;right:0}.hx-opt{cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:6px 8px;font-size:14px;display:flex}.hx-opt:hover{background:var(--surface-2)}.hx-opt input[type=radio]{accent-color:var(--accent);flex:none;width:16px;height:16px;margin:0}.hx-opt small{color:var(--muted);margin-left:auto;padding-left:10px;font-size:12px}.hx-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.hx-menu hr,.hx-sgroup hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.hx-mtitle{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:4px 8px 2px;font-size:11px;font-weight:650}.hx-custom{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.hx-custom input[type=date]{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;border-radius:7px;min-width:0;padding:3px 7px;font-size:13px}.hx-hint{color:var(--warn);background:var(--warn-bg);border-radius:8px;margin:6px 8px 2px;padding:6px 10px;font-size:13px}.hx-plan{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:5px 10px;font-size:13px;display:inline-flex}.hx-plan:hover{background:var(--surface-2)}.hx-plan[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--text);font-weight:600}.hx-sw{background:linear-gradient(90deg, var(--accent) 0 45%, var(--surface-2) 45% 70%, transparent 70%);border:1px solid var(--line);border-radius:5px;width:24px;height:9px;position:relative}.hx-sw:before{content:"";border:1px dashed color-mix(in srgb, var(--line) 55%, var(--muted));background:var(--surface-2);border-left:0;border-radius:0 5px 5px 0;position:absolute;inset:-1px -1px -1px 70%}.hx-sw:after{content:"";background:var(--text);opacity:.7;border-radius:1px;width:2px;position:absolute;top:-4px;bottom:-4px;left:62%}.hx-plan[aria-pressed=false] .hx-sw{opacity:.35}.hx-sum{align-items:center;gap:8px;display:flex}.hx-sum-text{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.hx-funnel{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;width:40px;height:36px;color:var(--text);border-radius:8px;flex:none;place-items:center;display:inline-grid;position:relative}.hx-funnel b{background:var(--accent);color:var(--accent-ink);border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;display:grid;position:absolute;top:-7px;right:-7px}.hx-sheet-body{align-content:start;gap:12px;padding-bottom:12px;display:grid}.hx-sgroup{gap:1px;display:grid}.hx-sfoot{bottom:calc(-1 * max(16px, env(safe-area-inset-bottom)));padding:12px 16px max(12px, env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin:0 -16px;display:flex;position:sticky}.hx-summary{margin:0}.hx-log{padding:4px;display:grid;container-type:inline-size}.hx-row{border-top:1px solid var(--line)}.hx-row:first-child{border-top:0}.hx-row>summary{cursor:pointer;border-radius:8px;grid-template-columns:210px minmax(0,1fr) 18px;align-items:start;gap:6px 18px;padding:12px 14px;list-style:none;display:grid}.hx-row>summary::-webkit-details-marker{display:none}.hx-row>summary:hover{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}.hx-row>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hx-lhead{flex-direction:column;align-self:stretch;gap:3px;min-width:0;display:flex}.hx-lhead b{font-size:14px}.hx-ph{color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 5px;font-size:12px;display:inline-flex}.hx-ph i{border-radius:2px;flex:none;width:8px;height:8px;margin-right:0;display:inline-block}.hx-race{color:var(--event);font-weight:600}.hx-stripbox{touch-action:pan-y;-webkit-user-select:none;user-select:none;flex:auto;min-height:72px;margin-top:4px;position:relative}.hx-strip{display:block;position:absolute;inset:0;overflow:visible}.hx-grid{stroke:var(--line);stroke-width:1px;opacity:.7}.hx-stripsel{fill:var(--surface-2)}.hx-striptip{pointer-events:none;top:calc(100% + 2px)}.hx-striptip dl,.hx-trendtip dl,.hx-cmptip dl{grid-template-columns:minmax(0,1fr) auto}.hx-striptip dd,.hx-trendtip dd,.hx-cmptip dd{white-space:nowrap}.hx-fi{align-items:center;gap:5px;display:inline-flex}.hx-mark{fill:var(--muted);font-size:9px;font-family:var(--sans,inherit)}.hx-mark.today{fill:var(--accent);font-weight:700}.hx-mlines{grid-template-columns:4.8em minmax(0,1fr) max-content auto;align-content:start;gap:8px 14px;max-width:960px;padding-top:2px;display:grid}.hx-mline{grid-template-columns:subgrid;font-variant-numeric:tabular-nums;grid-column:1/-1;align-items:center;column-gap:14px;font-size:13px;display:grid}.hx-mline .hours-track{margin-top:0}.hx-mname{color:var(--muted);margin-block:-7px;line-height:1.15}.hx-mnum{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hx-mnum small,.hx-mfree small{color:var(--muted);font-size:12px}.hx-mfree{flex-wrap:wrap;grid-column:2/-1;gap:2px 18px;display:flex}.hx-pill{white-space:nowrap;border-radius:999px;justify-self:end;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.hx-pill.ok{background:var(--ok-bg);color:var(--ok)}.hx-pill.watch{background:var(--warn-bg);color:var(--warn)}.hx-pill.red{background:var(--red-bg);color:var(--red)}.hx-pill.n{background:var(--surface-2);color:var(--muted)}.hx-chev{color:var(--muted);margin-top:2px;transition:transform .15s}.hx-row[open] .hx-chev{transform:rotate(180deg)}.hx-detail{gap:2px;padding:2px 14px 14px;display:grid}.hx-srow{font-variant-numeric:tabular-nums;grid-template-columns:84px 16px minmax(0,1fr) 64px 64px 130px;align-items:center;gap:10px;padding:3px 0;font-size:13px;display:grid}.hx-st{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hx-srow .num{text-align:right}.hx-sc{justify-self:start;min-width:0}.hx-legend{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;display:flex}.hx-legend span{align-items:center;gap:5px;display:inline-flex}.hx-calnote{margin:4px 0 0}.hx-lg-tick{width:2px;height:12px;margin:0;display:inline-block;position:static}@container (width<=760px){.hx-row>summary{grid-template-columns:minmax(0,1fr) 18px}.hx-row>summary .hx-mlines{grid-column:1/-1}.hx-row>summary .hx-chev{grid-area:1/2}.hx-stripbox{flex:none;max-width:340px;height:104px}.hx-mlines{grid-template-columns:fit-content(4.8em) minmax(0,1fr) auto;column-gap:14px}.hx-mline{grid-template-columns:subgrid;grid-column:1/-1;gap:2px 14px}.hx-mline .hx-mname{grid-row:1/3;align-self:start;margin-block:0}.hx-mline .hours-track{grid-area:1/2}.hx-mline .hx-mnum{white-space:normal;text-overflow:clip;grid-area:2/2/auto/4;overflow:visible}.hx-mline .hx-pill{grid-area:1/3}.hx-mfree{grid-column:2/-1}.hx-srow{grid-template-columns:62px 12px minmax(0,1fr) 46px 46px}.hx-srow .hx-sc{display:none}}@media (prefers-reduced-motion:reduce){.hx-chev{transition:none}}.hx-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}@media (width<=480px){.hx-head .seg{scrollbar-width:none;gap:0;max-width:100%;padding:2px;overflow-x:auto}.hx-head .seg button{flex:none;padding:6px 5px;font-size:13px}}.hx-tview{gap:12px;min-width:0;display:grid}.hx-tiles-wrap{container-type:inline-size}.hx-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hx-tiles[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.hx-tiles[data-n="5"]{grid-template-columns:repeat(6,minmax(0,1fr))}.hx-tiles[data-n="5"] .hx-tile{grid-column:span 2}.hx-tiles[data-n="5"] .hx-tile:nth-child(n+4){grid-column:span 3}@container (width>=640px){.hx-tiles[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width>=800px){.hx-tiles[data-n="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}.hx-tiles[data-n="5"] .hx-tile,.hx-tiles[data-n="5"] .hx-tile:nth-child(n+4){grid-column:auto}}@container (width<=479px){.hx-tv{font-size:18px}.hx-tile{padding:8px 9px}}.hx-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-content:start;gap:2px;min-width:0;padding:10px 12px;display:grid}.hx-tk{color:var(--muted);font-size:12px}.hx-tv{font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere;font-size:22px;font-weight:700}.hx-ts{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:12px}.hx-ts.delta.up{color:var(--ok)}.hx-ts.delta.down{color:var(--red)}.hx-trend{min-width:0;padding:12px}.hx-chartbox{position:relative}.hx-chartbox:after{content:"";pointer-events:none;background:linear-gradient(90deg, transparent, var(--surface));opacity:0;width:32px;transition:opacity .15s;position:absolute;top:0;bottom:0;right:0}.hx-chartbox[data-more="1"]:after{opacity:1}.hx-chart{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow-x:auto}.hx-ghost{min-width:0;min-height:190px;display:grid;position:relative;overflow:hidden}.hx-ghost-art{opacity:.38;filter:grayscale();pointer-events:none;-webkit-user-select:none;user-select:none;min-width:0;overflow:hidden}.hx-ghost-msg{box-sizing:border-box;text-align:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:min(340px,100% - 24px);box-shadow:var(--shadow);justify-items:center;gap:8px;padding:12px 14px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hx-ghost-msg p{margin:0;font-size:14px}.hx-ghost-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.hx-colsel{fill:var(--surface-2)}.hx-shape{margin-bottom:8px}.hx-mk{flex:none}.hx-fit-ctl{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linejoin:round}.hx-fit-ctl.fc{stroke-dasharray:6 5}.hx-fit-atl{fill:none;stroke:var(--warn);stroke-width:1.8px;stroke-linejoin:round}.hx-fit-band{fill:var(--accent);opacity:.16}.hx-fit-pos{fill:var(--ok);opacity:.85}.hx-fit-neg{fill:var(--muted);opacity:.6}.hx-fit-today{stroke:var(--text);stroke-width:1px;stroke-dasharray:2 3;opacity:.6}.hx-chart text.hx-fit-todaytext{fill:var(--text);font-size:10px}.hx-fit-race{stroke:var(--event);stroke-width:1px;stroke-dasharray:3 3}.hx-fit-flag{fill:var(--event)}.hx-fit-dot{stroke:var(--surface);stroke-width:2px}.hx-fit-dot.ctl{fill:var(--accent)}.hx-fit-dot.atl{fill:var(--warn)}.hx-fit-sw.ctl{background:var(--accent)}.hx-fit-sw.atl{background:var(--warn)}.hx-fit-bar{width:6px;height:10px;display:inline-block}.hx-fit-bar.pos{background:var(--ok)}.hx-fit-bar.neg{background:var(--muted);opacity:.6;margin-right:4px}.hx-an,.hx-an-sw{--c:var(--muted)}.hx-an[data-k=camp],.hx-an-sw[data-k=camp]{--c:var(--accent)}.hx-an[data-k=limited],.hx-an-sw[data-k=limited]{--c:color-mix(in srgb, var(--event) 50%, var(--surface))}.hx-an[data-k=race_c],.hx-an-sw[data-k=race_c]{--c:var(--event)}.hx-an[data-k=ill],.hx-an-sw[data-k=ill]{--c:var(--warn)}.hx-an[data-k=injured],.hx-an-sw[data-k=injured]{--c:var(--red)}.hx-an{fill:var(--c)}.hx-an-sw{box-sizing:border-box;background:var(--c);vertical-align:middle;border-radius:3px;width:12px;height:5px;display:inline-block}.hx-an[data-k=social]{fill:none;stroke:var(--muted);stroke-width:1px}.hx-an-sw[data-k=social]{border:1px solid var(--muted);background:0 0;height:6px}.hx-fit-fc{border-top:2px dashed var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);width:18px;height:8px;display:inline-block}.hx-mixline .hx-mnum{white-space:normal;text-overflow:clip;overflow:visible}.hx-mixplan{display:block}.hx-mix{gap:3px;min-width:0;display:grid}.hx-mixbar{border-radius:3px;display:flex;overflow:hidden}.hx-mixbar.empty{background:var(--surface-2)}.hx-mixbar.plan{opacity:.6}.hx-mix.now .hx-mixbar:not(.plan){opacity:.65}.hx-mixsw{border-radius:2px;width:22px;height:9px;display:inline-flex;overflow:hidden}.hx-mixsw i{flex:1}.hx-mixsw i:first-child{background:var(--zB);flex:3}.hx-mixsw i:nth-child(2){background:var(--zC);flex:1}.hx-mixsw i:nth-child(3){background:var(--zE);flex:1}.hx-plan[aria-pressed=false] .hx-mixsw{opacity:.35}.hx-ilistbox{container-type:inline-size}.hx-ilist{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@container (width>=560px){.hx-ilist{grid-template-columns:repeat(2,minmax(0,1fr))}}.hx-pyr-none{min-height:80px;color:var(--muted);place-items:center;font-size:13px;display:grid}.hx-irow{grid-template-rows:subgrid;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-row:span 5;grid-template-columns:minmax(0,1fr);row-gap:6px;min-width:0;padding:12px 14px;display:grid}.hx-irow.now{border-color:var(--line-strong)}.hx-irow>.hx-lhead{grid-row:1}.hx-irow>.hx-bands,.hx-irow>.hx-i-bands{grid-row:2;align-self:start}.hx-irow>.hx-i-plan{grid-row:3}.hx-irow>.hx-i-target{grid-row:4}.hx-irow>.hx-pyr{grid-row:5;align-self:start}.hx-irow>.hx-pyr-none{grid-row:2/-1}@container (width>=1020px){.hx-irow{grid-template-columns:270px minmax(0,1fr);column-gap:24px}.hx-irow>.hx-lhead,.hx-irow>.hx-pyr-none{grid-column:1/-1}.hx-irow>.hx-pyr{grid-area:2/1/span 4;align-self:start}.hx-irow>.hx-bands,.hx-irow>.hx-i-bands,.hx-irow>.hx-i-plan,.hx-irow>.hx-i-target{grid-column:2}.hx-irow>.hx-bands{flex-direction:column;align-items:flex-start;margin-top:16px}}.hx-irow{position:relative}.hx-irow>.hx-lhead>b{padding-right:104px}.hx-actbtn{background:var(--surface-2);border:1px solid var(--line-strong);box-shadow:none;color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex;position:absolute;top:10px;right:12px}.hx-actbtn:hover{border-color:var(--accent)}.hx-actbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hx-actwrap{flex-direction:column;min-height:calc(100% - 80px);display:flex}.hx-acts{gap:8px;display:grid}.hx-acts>.planned:not(.pill)+.planned:not(.pill){margin-top:0}.hx-actlegend{--pad:max(16px, env(safe-area-inset-bottom));bottom:calc(-1 * var(--pad));margin:auto -16px calc(-1 * var(--pad));padding:10px 16px calc(10px + var(--pad));background:var(--bg);border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 0;display:flex;position:sticky}.hx-act{gap:10px;font-size:13px;display:grid}.hx-act .hx-mixbar{gap:2px}.hx-actmix{cursor:pointer;border-radius:3px;position:relative}.hx-actmix:focus{outline:none}.hx-actmix:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hx-pyrtip.hx-segtip{top:calc(100% + 4px);bottom:auto;left:0}.hx-pyrtip.hx-segtip.up{top:auto;bottom:calc(100% + 6px)}.hx-act small{margin-top:3px;display:block}.hx-zkey{align-items:center;gap:4px;margin-right:10px;display:inline-flex}.hx-zkey i{border-radius:2px;width:10px;height:10px}.hx-bands{flex-wrap:wrap;gap:4px;display:flex}.hx-band{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.hx-band.easy{background:var(--ok-bg);color:var(--ok)}.hx-band.moderate{background:var(--warn-bg);color:var(--warn)}.hx-band.hard{background:var(--red-bg);color:var(--red)}.hx-ishare{color:var(--text);font-size:12px;display:grid}.hx-ishare small{color:var(--muted);font-size:12px}.hx-pyr{width:100%;min-width:0;max-width:270px;padding-top:16px}.hx-pyr-box{border-top:1px solid var(--line-strong);background:linear-gradient(var(--line) 1px, transparent 1px) 0 50% / 100% 1px no-repeat;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;height:112px;display:grid;position:relative}.hx-pyr-grp{cursor:pointer;border-radius:3px}.hx-pyr-grp:focus{outline:none}.hx-pyr-grp:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hx-pyr-grp.sel{background:color-mix(in srgb, var(--text) 8%, transparent)}.hx-pyrtip{pointer-events:none;width:210px;top:auto;bottom:calc(100% + 6px);transform:none}.hx-pyrtip[data-at=l]{left:0}.hx-pyrtip[data-at=r]{right:0}.hx-pyrtip[data-at=m]{left:50%;transform:translate(-50%)}.hx-pyrtip dl{grid-template-columns:minmax(0,1fr) auto}.hx-pyrtip dd{white-space:nowrap}.hx-pyr-grp{justify-content:center;align-items:flex-end;gap:1px;min-width:0;display:flex}.hx-pyr-grp i{border-radius:2px 2px 0 0;width:100%;max-width:20px;display:block;position:relative}.hx-pyr-grp i.p{opacity:1}.hx-pyr-grp i b{font-variant-numeric:tabular-nums;font-size:11px;font-style:normal;font-weight:600;position:absolute;bottom:calc(100% + 1px);left:50%;transform:translate(-50%)}.hx-pyr-lab{color:var(--muted);text-align:center;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-top:3px;font-size:11px;display:grid}.hx-pyr-diff{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;font-size:11px;display:grid}.hx-int-pair{align-items:end;gap:2px;margin-right:5px;display:inline-flex}.hx-int-pair i{background:var(--zB);width:6px}.hx-int-pair i:first-child{background:color-mix(in srgb, var(--zB) 45%, var(--surface));height:8px}.hx-int-pair i:last-child{height:12px}.hx-cursor{stroke:var(--text);stroke-width:1px;opacity:.55}.hx-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.hx-mkr{stroke:var(--surface);stroke-width:1px}.hx-trendtip,.hx-cmptip{top:12px;transform:none}.hx-cmptip dd.delta.up{color:var(--ok)}.hx-cmptip dd.delta.down{color:var(--red)}.hx-guide{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:2 3}.hx-guidedot{stroke:var(--surface);stroke-width:2px}.hx-guidedot.a{fill:var(--accent)}.hx-guidedot.b{fill:var(--muted)}.hx-chart svg{width:100%;height:auto;display:block}.hx-chart text{fill:var(--muted);font-family:inherit;font-size:11px}.hx-chart text.hx-sofar{font-size:10px}.hx-chart text.hx-blocktext{fill:var(--bg);font-size:10.5px;font-weight:650}.hx-optbox{fill:var(--surface-2);stroke:color-mix(in srgb, var(--line) 55%, var(--muted));stroke-dasharray:3 2;rx:2px}.hx-ptick{stroke:var(--text);stroke-width:2px;opacity:.75}.hx-sw-pair{align-items:end;gap:2px;display:inline-flex}.hx-sw-pair i{border-radius:1px;width:6px;height:11px;display:inline-block}.hx-cmp-controls{gap:8px;display:grid}.hx-presets{flex-wrap:wrap;gap:6px;display:flex}.hx-preset{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;color:var(--muted);border-radius:8px;padding:5px 10px;font-size:13px}.hx-preset:hover{background:var(--surface-2)}.hx-preset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hx-preset[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--text);font-weight:600}.hx-cmp-custom{justify-items:start;gap:8px;display:grid}.hx-cmp-range{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.hx-cmp-custom input[type=date]{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;border-radius:7px;min-width:0;padding:3px 7px;font-size:13px}.hx-cmp-custom .hx-hint{margin:0}.hx-cmp-tag{width:14px;font-size:13px;font-weight:700}.hx-cmp-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=880px){.hx-cmp-grid{grid-template-columns:minmax(0,1fr)}}.hx-cmp-chart,.hx-cmp-side{min-width:0;padding:12px}.hx-cmp-chart .hx-chart svg{min-width:440px}.hx-line-a{stroke:var(--accent);stroke-width:2.6px;stroke-linejoin:round;stroke-linecap:round}.hx-line-b{stroke:var(--muted);stroke-width:2px;stroke-dasharray:5 4;stroke-linejoin:round}.hx-chart text.hx-endlabel{fill:var(--muted)}.hx-chart text.hx-endlabel.a{fill:var(--text);font-weight:700}.hx-sw-dash{border-top:2px dashed var(--muted);width:18px;height:0;display:inline-block}.hx-cmp-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.hx-cmp-table th{text-align:left;color:var(--muted);padding:3px 6px 6px 0;font-size:12px;font-weight:600}.hx-cmp-table td{border-top:1px solid var(--line);padding:4px 6px 4px 0}.hx-cmp-table .num{text-align:right;white-space:nowrap;padding-left:6px;padding-right:0}.hx-cmp-table .delta.up{color:var(--ok)}.hx-cmp-table .delta.down{color:var(--red)}.hx-facts{flex-wrap:wrap;gap:4px 18px;margin:10px 0 0;display:flex}.hx-pghead{border-left:4px solid var(--muted);gap:2px;padding:12px 14px;display:grid}.hx-pghead.ahead,.hx-pghead.on_track{border-left-color:var(--ok)}.hx-pghead.behind{border-left-color:var(--warn)}.hx-pgline{margin:0;font-size:17px;line-height:1.3}.hx-pgsub{margin:0}.hx-pgh{margin:0 0 8px;font-size:14px}.hx-pg-plan{fill:none;stroke:var(--text);stroke-width:2px;stroke-dasharray:6 4;opacity:.7;stroke-linejoin:round}.hx-fit-dot.plan{fill:var(--text)}.hx-fit-sw.plan{background:var(--text);opacity:.7}.hx-pg-line{border-top:2.4px solid var(--accent);width:18px;height:0;display:inline-block}.hx-pg-line.dash{border-top:2px dashed var(--text);opacity:.7}.hx-pgstrip{gap:6px;min-width:0;padding:12px;display:grid}.hx-pgweeks{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;max-width:640px;display:grid}.hx-pgcell{grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;display:grid}.hx-pgw{aspect-ratio:1;cursor:pointer;background:var(--surface-2);min-width:0;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:4px;padding:0;display:block}.hx-pgw.good{background:var(--ok);box-shadow:none}.hx-pgw.watch{background:var(--warn);box-shadow:none}.hx-pgw.red{background:var(--red);box-shadow:none}.hx-pgw.cur{opacity:.55}.hx-pgw[aria-pressed=true],.hx-pgw:focus-visible{outline:2px solid var(--text);outline-offset:1px}.hx-pgw.key{aspect-ratio:auto;cursor:default;width:10px;height:10px;display:inline-block}.hx-pgd{color:var(--muted);white-space:nowrap;min-height:12px;font-size:10px;line-height:1.2}.hx-pgtip{font-variant-numeric:tabular-nums;min-height:1.4em;margin:2px 0 0}.hx-eff{flex-direction:column;gap:10px;display:flex}.hx-eff>*{min-width:0}.hx-eff-h{margin:0;font-size:15px}.hx-eff-step{fill:none;stroke-width:2.2px;stroke-linejoin:round}.hx-eff-dot{stroke:var(--surface);stroke-width:2px}.hx-eff-grid{stroke:var(--line);opacity:.5}.hx-chart text.hx-eff-title{fill:var(--text);font-size:11.5px;font-weight:600}.feed{overflow-anchor:none}.feed-day{padding-bottom:16px}.feed-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:720px;box-shadow:var(--shadow);padding:16px}.feed-title{text-transform:none;letter-spacing:0;color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:17px;font-weight:600;display:flex}.feed-week.loading{min-height:300px}.sk{background:linear-gradient(90deg, var(--line) 25%, color-mix(in srgb, var(--line) 35%, transparent) 50%, var(--line) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite sk}@keyframes sk{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.sk-block{height:110px;margin-top:14px}.sk-line{width:60%;height:14px}.week .col .sk-block{height:90px;margin-top:4px}.feed-card.loading{min-height:264px}.feed-today{color:var(--accent);font-size:12px}.feed-hours{color:var(--muted);font-size:13px;font-weight:400}@media (width<=640px){.feed-hours{flex-basis:100%;margin-top:-4px}}.feed-title .phase-bar{max-width:100%;display:inline-block}.feed-card .grid{grid-template-columns:minmax(0,1fr);gap:0;max-width:none!important}.feed-card .card,.feed-card .card:not(.cycle-card.compact){border:0;border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin-top:14px;padding:14px 0 0}.feed-card .card:not(.cycle-card.compact)>:is(h2,.row:has(>h2)):first-child{background:0 0!important;border:0!important;border-radius:0!important;margin:0 0 10px!important;padding:0!important}.feed-card .card:not(.cycle-card.compact)>.row:has(>h2):first-child:only-child{background:0 0!important;border:0!important;border-radius:0!important;margin:0 0 10px!important;padding:0!important}.feed-card .grid>.card:first-child,.feed-card .card:not(.cycle-card.compact):first-child{border-top:0;margin-top:10px;padding-top:0}
