:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface-1:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--wash:#0b0b0b0a;--point:#86b6ef;--trend:#1c5cab;--hr:#eb6834;--series-1:#2a78d6;--series-3:#1baf7a;--series-4:#eda100;--div-neg:#e34948;--int-1:#86b6ef;--int-2:#2a78d6;--int-3:#104281;--good:#0ca30c;--good-text:#006300;--serious:#ec835a;--critical:#d03b3b;--font:system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--wash:#ffffff0d;--point:#256abf;--trend:#86b6ef;--hr:#d95926;--series-1:#3987e5;--series-3:#199e70;--series-4:#c98500;--div-neg:#e66767;--int-1:#184f95;--int-2:#3987e5;--int-3:#9ec5f4;--good-text:#0ca30c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--wash:#ffffff0d;--point:#256abf;--trend:#86b6ef;--hr:#d95926;--series-1:#3987e5;--series-3:#199e70;--series-4:#c98500;--div-neg:#e66767;--int-1:#184f95;--int-2:#3987e5;--int-3:#9ec5f4;--good-text:#0ca30c}*{box-sizing:border-box}body{background:var(--page);color:var(--text-primary);font:14px/1.45 var(--font);margin:0}.app{max-width:1200px;margin:0 auto;padding:24px 16px 64px}header{flex-wrap:wrap;align-items:baseline;gap:24px;margin-bottom:16px;display:flex}header h1{margin:0;font-size:22px;font-weight:650}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tabs button,.tabs a{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:6px;padding:6px 10px}.tabs a{text-decoration:none;display:inline-block}.tabs button:hover,.tabs a:hover{background:var(--wash)}.tabs button[aria-current=page],.tabs a[aria-current=page]{color:var(--text-primary);border-bottom-color:var(--trend);border-radius:6px 6px 0 0;font-weight:600}.intro{color:var(--text-secondary);max-width:820px;margin:0 0 16px}.filters{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.seg{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 12px}.seg button+button{border-left:1px solid var(--border)}.seg button:hover{background:var(--wash)}.seg button[aria-pressed=true]{color:var(--text-primary);background:var(--wash);font-weight:600}.filters label.lbl{color:var(--text-muted);margin-right:6px;font-size:12px}.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px;display:grid}.tile,.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px}.tile{padding:14px 16px}.tile .label{color:var(--text-secondary);font-size:13px}.tile .value{margin:2px 0;font-size:26px;font-weight:600}.tile .sub{color:var(--text-muted);font-size:12px}.delta-good{color:var(--good-text)}.delta-bad{color:var(--critical)}.card{margin-bottom:16px;padding:16px 16px 8px}.card h2{margin:0;font-size:15px;font-weight:600}.card .subtitle{color:var(--text-secondary);margin:2px 0 8px;font-size:13px}.grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}@media (width<=860px){.grid2{grid-template-columns:minmax(0,1fr)}}.tooltip{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;max-width:260px;padding:8px 10px;font-size:12px;box-shadow:0 4px 16px #0000001f}.tooltip .v{font-size:14px;font-weight:600}.tooltip .muted{color:var(--text-muted)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap;padding:6px 8px}th{color:var(--text-muted);font-weight:500}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr{cursor:pointer}tbody tr:hover{background:var(--wash)}tbody tr[aria-selected=true]{background:var(--wash);font-weight:600}.table-wrap{overflow-x:auto}td.name{text-overflow:ellipsis;max-width:280px;overflow:hidden}.badge{align-items:center;gap:4px;font-size:12px;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.badge.good{color:var(--good-text)}.badge.warn{color:var(--serious)}.badge.bad{color:var(--critical)}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.detail-head button{font:inherit;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px}.kv{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin:6px 0 4px;font-size:13px;display:flex}.kv b{color:var(--text-primary);font-weight:600}.legend{color:var(--text-secondary);gap:16px;margin:0 0 6px;font-size:12px;display:flex}.legend .dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.legend .line{vertical-align:middle;width:14px;height:2px;margin-right:6px;display:inline-block}.empty{color:var(--text-muted);text-align:center;padding:24px 0}.loading{opacity:.55;transition:opacity .2s}.error{color:var(--critical)}.syncbar{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px;margin:-6px 0 14px;font-size:13px;display:flex;position:relative}.syncbar b{color:var(--text-primary);font-weight:600}.syncbar>button{font:inherit;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:3px 10px}.syncpanel{z-index:5;width:min(560px,100%);position:absolute;top:30px;left:0;box-shadow:0 8px 28px #00000040}.syncpanel ol{color:var(--text-primary);margin:8px 0;padding-left:20px}.syncpanel li{margin:6px 0}.syncpanel a{color:var(--trend)}.bookmarklet{border:1px dashed var(--trend);cursor:grab;border-radius:6px;padding:2px 10px;font-weight:600;text-decoration:none;display:inline-block}.synclog{background:var(--wash);color:var(--text-secondary);border-radius:6px;padding:8px;font-size:11px;overflow-x:auto}.simform .filters{align-items:flex-end;margin-bottom:12px}.field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.field.wide{min-width:min(520px,100%)}.field input,.field select{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:14px}.field input[type=file]{padding:4px}button.primary{font:inherit;cursor:pointer;background:var(--series-1);color:#fff;border:0;border-radius:8px;padding:7px 16px;font-weight:600}button.primary:disabled{opacity:.6;cursor:default}.warnbox{flex-direction:column;gap:6px;padding:12px 16px;display:flex}button.link{font:inherit;color:var(--trend);cursor:pointer;background:0 0;border:0;padding:0}button.link:disabled{color:var(--text-muted);cursor:default}.dbars{flex-direction:column;gap:6px;margin:6px 0 4px;display:flex}.dbar-row{grid-template-columns:110px minmax(120px,1fr) 80px auto;align-items:center;gap:10px;font-size:13px;display:grid}.dbar-label{color:var(--text-secondary)}.dbar-track{height:12px;position:relative}.dbar-axis{background:var(--axis);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.dbar{border-radius:4px;height:8px;position:absolute;top:2px}.dbar.good{background:var(--trend)}.dbar.bad{background:var(--div-neg)}.dbar-value{font-variant-numeric:tabular-nums;text-align:right}.dbar-note{color:var(--text-muted);font-size:12px}@media (width<=640px){.dbar-row{grid-template-columns:80px 1fr 70px}.dbar-note{grid-column:1/-1}}.insight{margin:4px 0 8px;font-size:14px}.insight b{font-weight:650}.alerts{flex-direction:column;gap:6px;margin-top:8px;display:flex}.verdict{font-size:15px;font-weight:600}.week-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.week-head .lbl{display:none}.days{flex-direction:column;margin:4px 0 8px;display:flex}.dayrow{border-top:1px solid var(--grid);grid-template-columns:190px minmax(0,1fr) 210px;gap:16px;padding:12px 8px;display:grid}.dayrow.today{background:var(--wash);border-top-color:#0000;border-radius:8px}.dayrow.past{color:var(--text-secondary)}.day-name{font-weight:600}.day-name .wd{text-transform:capitalize}.muted{color:var(--text-muted)}.day-avail{flex-direction:column;gap:6px;margin-top:6px;font-size:13px;display:flex}.day-avail select{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:6px;max-width:160px;padding:3px 6px;font-size:13px}.check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.done{margin-bottom:4px;font-size:13px}.done .tick{color:var(--good-text);font-weight:700}.plan-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plan ul{margin:4px 0;padding-left:18px;font-size:13px}.plan .target{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.chip{color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.chip:before{content:"";background:var(--text-muted);border-radius:50%;width:7px;height:7px}.chip.easy:before{background:var(--series-3)}.chip.long:before{background:var(--series-1)}.chip.hard:before{background:var(--hr)}.chip.key:before{background:var(--series-4)}.chip.now{margin-top:4px}.chip.now:before{background:var(--trend)}.day-state{font-variant-numeric:tabular-nums;flex-direction:column;gap:6px;font-size:13px;display:flex}.night{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.reminders{margin:6px 0 10px;padding-left:18px}.reminders li{margin:4px 0}table.paces tbody tr{cursor:default}table.paces tbody tr:hover{background:0 0}table.paces td{white-space:normal}@media (width<=860px){.dayrow{grid-template-columns:1fr;gap:8px}.day-avail{flex-flow:wrap;align-items:center}}.gauges{flex-direction:column;margin:8px 0 4px;display:flex}.gauge{border-top:1px solid var(--grid);grid-template-columns:220px minmax(0,1fr) 240px;align-items:center;gap:20px;padding:12px 0;display:grid}.gauge:first-child{border-top:0}.gauge-head .label{color:var(--text-secondary);font-size:13px}.gauge-head .value{font-size:22px;font-weight:600}.gauge-head .zone{margin-left:8px;font-size:12px}.gauge-note{color:var(--text-secondary);font-size:12px}.rangebar{padding-top:6px;position:relative}.rb-track{height:12px;position:relative}.rb-zone{border-right:2px solid var(--surface-1);position:absolute;top:0;bottom:0}.rb-zone:first-child{border-radius:6px 0 0 6px}.rb-zone.last{border-right:0;border-radius:0 6px 6px 0}.rb-zone.good{background:color-mix(in srgb, var(--good) 55%, transparent)}.rb-zone.warning{background:#fab21973}.rb-zone.serious{background:color-mix(in srgb, var(--serious) 55%, transparent)}.rb-zone.critical{background:color-mix(in srgb, var(--critical) 55%, transparent)}.rb-zone.neutral{background:var(--grid)}.rb-mark,.rb-ghost{border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%)}.rb-mark{background:var(--text-primary);box-shadow:0 0 0 2px var(--surface-1)}.rb-ghost{border:2px solid var(--text-primary);background:var(--surface-1);opacity:.85}.rb-ticks,.rb-labels{font-variant-numeric:tabular-nums;height:15px;font-size:11px;position:relative}.rb-ticks span{color:var(--text-muted);position:absolute;top:2px;transform:translate(-50%)}.rb-labels{height:16px}.rb-labels span{text-align:center;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;padding:0 2px;position:absolute;overflow:hidden}.rb-labels span.narrow{visibility:hidden}.gauge-legend{color:var(--text-secondary);gap:16px;margin:4px 0 0;font-size:12px;display:flex}.gauge-legend i{vertical-align:-1px;border-radius:50%;width:11px;height:11px;margin-right:6px;display:inline-block}.gauge-legend i.now{background:var(--text-primary)}.gauge-legend i.ghost{border:2px solid var(--text-primary)}@media (width<=860px){.gauge{grid-template-columns:1fr;gap:6px}}.goalform{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:8px 0 12px;display:flex}.seasonbar{padding:12px 16px}.seasonbar .kv{margin-bottom:0}.loadcols{grid-auto-rows:auto;gap:3px;margin:8px 0 4px;display:grid}.loadcol{cursor:default;flex-direction:column;grid-row:1;align-items:stretch;display:flex}.loadcol .bars{height:140px;position:relative}.loadcol .bars span{border-radius:4px 4px 0 0;position:absolute;bottom:0;left:12%;right:12%}.loadcol .target{border:1.5px solid var(--point);background:var(--wash);border-bottom:0}.loadcol .actual{background:var(--trend);left:24%!important;right:24%!important}.loadcol.current .bars:after{content:"";background:var(--wash);z-index:-1;border-radius:6px;position:absolute;inset:-4px -1px 0}.loadcol .wk{color:var(--text-muted);text-align:center;white-space:nowrap;height:14px;font-size:10px;overflow:visible}.ribbon{color:var(--text-secondary);text-align:center;border-top:2px solid var(--axis);white-space:nowrap;text-overflow:ellipsis;grid-row:2;margin-top:4px;padding-top:3px;font-size:11px;overflow:hidden}.ribbon.current{border-top-color:var(--trend);color:var(--text-primary);font-weight:600}table.season tbody tr,table.painruns tbody tr{cursor:default}table.season tbody tr[aria-selected=true]{background:var(--wash);font-weight:600}.pain{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:12px;display:inline-flex}.pain label{align-items:center;gap:4px;display:inline-flex}.pain select{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:1px 4px;font-size:12px}.pain.compact{margin-top:2px}table.painruns td{vertical-align:middle}b.strong{text-underline-offset:3px;text-decoration:underline}.authpage{max-width:420px;margin:8vh auto;padding:0 16px}.authpage h1{margin:0 0 4px;font-size:24px}.authcard{flex-direction:column;gap:12px;padding:18px;display:flex}.authcard .seg{align-self:flex-start}.authcard input{width:100%}.account{margin-left:auto;position:relative}.account>button{font:inherit;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:3px 10px}.accountpanel{z-index:6;width:min(640px,100vw - 32px);position:absolute;top:34px;right:0;box-shadow:0 8px 28px #00000040}.accountpanel .row,.adminpanel .row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.accountpanel input,.adminpanel input{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:6px;flex:160px;padding:4px 8px;font-size:13px}.accountpanel form button{font:inherit;border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px}.adminpanel h3{margin:14px 0 4px;font-size:13px}.adminpanel table td{white-space:normal}.adminpanel tbody tr{cursor:default}code.copyable{word-break:break-all;background:var(--wash);border-radius:4px;padding:1px 4px;font-size:12px}.grid2>*,.tiles>*,.gauge>*,.dayrow>*{min-width:0}@media (width<=640px){.app{padding:12px 16px 48px}header{align-items:center;gap:6px 12px;margin-bottom:10px}header h1{font-size:19px}.account{order:2}.tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--grid);flex-wrap:nowrap;order:3;width:calc(100% + 32px);margin:0 -16px;padding:0 16px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button,.tabs a{white-space:nowrap;flex:none;padding:8px 10px}.syncbar{gap:4px 10px;margin:0 0 12px;font-size:12px}.syncpanel,.accountpanel{z-index:20;width:auto;max-height:calc(100vh - 72px);position:fixed;top:56px;left:8px;right:8px;overflow:auto}.intro{font-size:13px}.card{padding:14px 12px 6px}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.tile{padding:10px 12px}.tile .value{font-size:21px}.filters{gap:10px;margin-bottom:14px}.seg button{padding:6px 9px}.gauge{padding:10px 0}.gauge-head .value{font-size:20px}.rb-labels span{font-size:10px}.dayrow{gap:6px;padding:10px 4px}.day-avail select{flex:1;max-width:none}.loadcol .wk{visibility:hidden}.loadcol.current .wk{visibility:visible}.loadcol .bars{height:110px}.goalform{flex-direction:column;align-items:stretch}.field.wide{min-width:0}.pain{gap:6px}.verdict{font-size:14px}.kv{gap:6px 14px}table.cards thead{display:none}table.cards tr{border-bottom:1px solid var(--grid);flex-wrap:wrap;gap:2px 14px;padding:8px 0;display:flex}table.cards td{border:0;padding:0}table.cards td.name{white-space:normal;flex:100%;max-width:none;font-weight:600}table.cards td[data-label]:before{content:attr(data-label) " ";color:var(--text-muted)}table.cards td.painin{flex:100%}}.steps{margin:6px 0 10px;padding-left:20px}.steps li{margin:8px 0}.copyfield{flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;margin:4px 0;display:inline-flex}.authcard .row{align-items:center;gap:14px;display:flex}.keyweek{border-top:1px solid var(--border);padding:10px 0 4px}.keyweek:first-of-type{border-top:0}.keyweek>.plan-title .muted{font-size:13px}.keysessions{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px 18px;margin-top:6px;display:grid}.keysessions .why{margin-top:2px;font-size:12px}.card h3{margin:12px 0 2px;font-size:14px}.review{border-left:3px solid var(--border);margin:2px 0 6px;padding-left:8px;font-size:13px}.review.good{border-left-color:var(--good-text)}.review.warn{border-left-color:var(--serious)}.review.bad{border-left-color:var(--critical)}
