.sparkline{display:block;overflow:visible}.sparkline-line{fill:none;stroke:var(--chart-spark);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:draw .9s var(--ease) both}.sparkline-dot{fill:var(--ink);stroke:var(--surface);stroke-width:2px;animation:pop .4s .7s var(--ease) both;transform-box:fill-box;transform-origin:50%}@keyframes draw{0%{stroke-dashoffset:1px}}@keyframes pop{0%{transform:scale(0)}}.chart{min-width:0;margin:0}.chart-head{justify-content:space-between;align-items:center;gap:var(--sp-8) var(--sp-16);margin-bottom:var(--sp-10);flex-wrap:wrap;display:flex}.chart-head .chart-legend{margin:0}.chart-aside{margin-left:auto}.chart-legend{gap:var(--sp-6) var(--sp-16);font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--sp-10);flex-wrap:wrap;display:flex}.chart-legend span{align-items:center;gap:var(--sp-6);display:inline-flex}.chart-key{border-radius:var(--radius-xs);background:var(--key,var(--bar,var(--part,var(--sport,var(--chart-fill)))));flex:none;width:10px;height:10px;display:inline-block}.chart-key.is-line{border-radius:0;width:14px;height:2px}.chart-key.is-dash{border-top:2px dashed var(--key,var(--ink));opacity:.7;background:0 0;border-radius:0;width:14px;height:0}.chart-key.is-faded{background:var(--muted);opacity:.45}.chart-key.is-hatch{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--shade) 45%, transparent) 0 2px, transparent 2px 4px);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--shade) 45%, transparent)}.chart-key.is-pin,.bar-pin{border-radius:var(--radius-pill);background:var(--ink);width:7px;height:7px;box-shadow:0 0 0 2px var(--surface)}.chart-key.is-track{background:var(--chart-track);box-shadow:inset 0 0 0 1px var(--line-strong)}.chart-tip{z-index:var(--z-sticky);pointer-events:none;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);min-width:150px;box-shadow:var(--shadow-lg);font-size:var(--text-sm);white-space:nowrap;animation:tip-in .15s var(--ease) both;max-width:min(360px, calc(100vw - 2 * var(--sp-16)));gap:3px;padding:9px 11px;display:grid;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.chart-tip .chart-tip-note{white-space:normal;text-align:start;display:block}.chart-tip:has(.chart-tip-note){width:max-content;min-width:min(260px, calc(100vw - 2 * var(--sp-16)))}.chart-tip span{align-items:center;gap:var(--sp-6);display:flex}.chart-tip b{font-variant-numeric:tabular-nums;margin-left:auto}.chart-tip.at-start{animation-name:tip-fade;left:0;transform:none}.chart-tip.at-end{animation-name:tip-fade;left:auto;right:0;transform:none}.chart-tip-title{font-weight:var(--weight-semibold);color:var(--ink)}.chart-tip .chart-tip-row{align-items:center;gap:var(--sp-6);grid-template-columns:14px auto minmax(0,1fr);display:grid}.chart-tip .chart-tip-row b{font-weight:var(--weight-semibold);color:var(--ink);margin-left:0}.chart-tip-label,.chart-tip .chart-tip-note{color:var(--muted)}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,4px)}}@keyframes tip-fade{0%{opacity:0}}.bar-chart{--bar-surface:var(--surface)}.bar-plot{height:var(--bar-h,var(--bar-h-default));padding-bottom:22px;padding-left:44px;position:relative}.bar-grid{position:absolute;inset:0 0 22px 44px}.bar-chart.has-bands .bar-plot{padding-bottom:40px}.bar-chart.has-bands .bar-grid{inset:0 0 40px 44px}.bar-gridline{border-top:1px solid var(--chart-grid);position:absolute;left:0;right:0}.bar-gridline span{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;position:absolute;top:-8px;right:calc(100% + 8px)}.bar-cols{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;height:100%;display:grid;position:relative}.bar-col{border-radius:var(--radius-control);height:100%;font:inherit;color:inherit;background:0 0;border:0;outline:none;flex-direction:column;align-items:center;padding:0;display:flex;position:relative}button.bar-col{cursor:pointer}.bar-chart:not(.is-compact) .bar-col:hover,.bar-col:focus-visible,.bar-col.is-active{background:color-mix(in srgb, var(--surface-2) 67%, transparent)}.bar-col:focus-visible{box-shadow:0 0 0 2px var(--focus)}.bar-col.is-selected{background:var(--accent-soft)}.bar-slot{flex:1;width:min(24px,60%);position:relative}.bar-track{border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:var(--chart-track);position:absolute;bottom:0;left:0;right:0}.bar-stack{flex-direction:column-reverse;display:flex;position:absolute;inset:0}.bar-seg{box-sizing:border-box;background:var(--bar,var(--sport,var(--chart-fill)));transform-origin:bottom;width:100%;animation:grow .6s var(--ease) both;animation-delay:calc(min(var(--i,0), 20) * 30ms);flex:none;display:block}.bar-seg+.bar-seg{border-bottom:2px solid var(--bar-surface)}.bar-seg.is-top{border-radius:var(--radius-xs) var(--radius-xs) 0 0}.bar-col.is-faded .bar-seg{opacity:.45}.bar-shade{border-radius:var(--radius-xs);pointer-events:none;background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--shade) 22%, transparent) 0 3px, transparent 3px 7px);box-shadow:inset 0 2px 0 color-mix(in srgb, var(--shade) 55%, transparent);position:absolute;inset:0 1px}.bar-pin{pointer-events:none;z-index:var(--z-raised);position:absolute;top:2px;left:50%;transform:translate(-50%)}.shade-info{--shade:var(--tone-info)}.shade-warn{--shade:var(--tone-warn)}.shade-neutral{--shade:var(--tone-neutral)}.bar-ceiling{border-top:2px dashed var(--ink);opacity:.55;position:absolute;left:-4px;right:-4px}.bar-marker{font-size:var(--text-xs);border-radius:var(--radius-xs);background:var(--ink-bg);color:var(--surface);white-space:nowrap;z-index:var(--z-raised);padding:2px 4px;font-weight:700;line-height:1;position:absolute;left:50%;transform:translate(-50%,-4px)}.bar-x{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;position:absolute;bottom:-20px}.bar-col.is-current .bar-x{color:var(--ink);font-weight:var(--weight-bold)}.bar-band{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;position:absolute;bottom:-38px;overflow:hidden}.bar-chart.thins-labels .bar-plot{container:bar-plot/inline-size}@container bar-plot (width<=520px){.bar-col:nth-child(2n):not(.is-current):not(.is-selected) .bar-x{display:none}.bar-col:has(+.is-current) .bar-x{display:none}}.bar-chart.is-compact{height:var(--bar-h,var(--bar-h-default))}.bar-chart.is-compact .bar-cols{gap:3px}.bar-chart.is-compact .bar-slot{width:min(24px,100%)}@keyframes grow{0%{transform:scaleY(0)}}.bar-list{--bar-list-track:var(--surface-3);align-items:center;column-gap:var(--sp-12);row-gap:var(--sp-8);grid-template-columns:minmax(0, max-content) minmax(48px, 1fr) repeat(var(--bar-figures,1), auto);margin:0;padding:0;list-style:none;display:grid}.bar-list li{grid-column:1/-1;grid-template-columns:subgrid;font-size:var(--text-md);align-items:center;display:grid}.bar-list-name{min-width:0;font-weight:var(--weight-medium);color:var(--ink);display:grid}.bar-list-sub{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--muted)}.bar-list-track{border-radius:var(--radius-pill);background:var(--bar-list-track);height:10px;position:relative;overflow:hidden}.bar-list-fill{border-radius:inherit;background:var(--bar,var(--sport,var(--chart-fill)));transform-origin:0;animation:widen .6s var(--ease) both;animation-delay:calc(min(var(--i,0), 12) * 40ms);position:absolute;inset:0 auto 0 0}.bar-list-figure{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.bar-list-figure+.bar-list-figure{color:var(--muted)}@media (width<=480px){.bar-list{column-gap:var(--sp-8)}}.ring{--ring:var(--chart-fill);--ring-track:var(--chart-track);flex-shrink:0;place-items:center;display:grid;position:relative}.ring.tone-ok{--ring:var(--tone-ok-dot)}.ring.tone-warn{--ring:var(--tone-warn-dot)}.ring.tone-danger{--ring:var(--tone-danger-dot)}.ring.tone-neutral{--ring:var(--tone-neutral-dot)}.ring.tone-ink{--ring:var(--ink-bg)}.ring:not(.tone-chart){--ring-track:color-mix(in srgb, var(--ring) 18%, transparent)}.ring svg{position:absolute;inset:0}.ring-track{fill:none;stroke:var(--ring-track)}.ring-fill{fill:none;stroke:var(--ring);stroke-linecap:round;transition:stroke-dashoffset 1s var(--ease)}.ring-fill.is-butt{stroke-linecap:butt}.ring-center{text-align:center;gap:1px;padding:0 12px;display:grid;position:relative}.ratio-bar{--ratio:var(--chart-fill);align-items:center;width:72px;display:inline-flex}.ratio-bar.is-fill{width:100%;min-width:0;display:flex}.ratio-bar.tone-ok{--ratio:var(--tone-ok-dot)}.ratio-bar.tone-warn{--ratio:var(--tone-warn-dot)}.ratio-bar.tone-danger{--ratio:var(--tone-danger-dot)}.ratio-bar.tone-neutral{--ratio:var(--muted)}.ratio-track{border-radius:var(--radius-pill);background:var(--chart-track);width:100%;height:6px;display:block;position:relative}.ratio-bar:not(.tone-chart) .ratio-track{background:var(--surface-3)}.ratio-bar.size-md .ratio-track{height:10px}.ratio-fill{border-radius:inherit;background:var(--ratio);animation:widen .7s var(--ease) both;transform-origin:0;transition:width var(--dur-slow) var(--ease);position:absolute;inset:0 auto 0 0}.ratio-marker{background:var(--ink);opacity:.6;border-radius:0;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}@keyframes widen{0%{transform:scaleX(0)}}.share{gap:var(--sp-12);min-width:0;display:grid}.share-bar{border-radius:var(--radius-sm);gap:2px;min-width:0;display:flex;overflow:hidden}.share.size-thin .share-bar{border-radius:var(--radius-pill);height:12px}.share.size-md .share-bar{min-height:30px}.share.size-lg .share-bar{min-height:44px}.share-part{min-width:4px;padding:2px var(--sp-8);background:var(--part,var(--phase,var(--sport,var(--chart-fill))));color:var(--ink);font:inherit;text-align:left;transform-origin:0;animation:widen .6s var(--ease) both;animation-delay:calc(min(var(--i,0), 12) * 60ms);border:0;flex-direction:column;flex-basis:0;justify-content:center;text-decoration:none;display:flex;container-type:inline-size}.share.size-thin .share-part{padding:0}.share-text{min-width:0;display:grid}.share-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.share-detail{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@container (width<=52px){.share-text{display:none}}.share-bar.is-interactive .share-part{cursor:pointer}.share-bar.is-interactive .share-part:hover{filter:brightness(.95)}.share-bar.is-interactive .share-part:hover .share-name{text-decoration:underline}.share-part:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.share-legend{gap:var(--sp-6);margin:0;padding:0;list-style:none;display:grid}.share-legend li{gap:var(--sp-8);font-size:var(--text-md);grid-template-columns:10px minmax(0,1fr) auto 38px;align-items:center;display:grid}.share-legend i{background:var(--part,var(--phase,var(--sport,var(--chart-fill))));border-radius:50%;width:10px;height:10px}.share-legend b{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.share-pct{text-align:right;font-size:var(--text-sm);color:var(--muted)}.line-plot{min-width:0;position:relative}.line-plot svg,.line-chart.is-compact svg{display:block;overflow:visible}.line-plot svg{border-radius:var(--radius-sm);touch-action:pan-y;outline:none}.line-plot svg:focus-visible{box-shadow:0 0 0 2px var(--focus)}.line-grid line{stroke:var(--chart-grid);stroke-width:1px}.line-grid.is-zero line{stroke:var(--line-strong)}.line-grid text,.line-x{font-size:var(--text-xs);fill:var(--muted);font-variant-numeric:tabular-nums}.line-path{fill:none;stroke:var(--series);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line-path.is-dashed{stroke-dasharray:5 4}.line-area{fill:var(--series);opacity:.12;stroke:none}.line-dot{fill:var(--series);stroke:var(--surface);stroke-width:2px}.line-end{font-size:var(--text-sm);fill:var(--ink-2);font-weight:600}.line-cursor line{stroke:var(--ink);stroke-width:1px;opacity:.35}.line-cursor circle{fill:var(--series);stroke:var(--surface);stroke-width:2px}.chart-tip.line-tip{animation-name:tip-fade;top:6px;bottom:auto;transform:translate(12px)}.chart-tip.line-tip.at-end{right:auto;transform:translate(calc(-100% - 12px))}.chart-tip.line-tip.at-start{transform:translate(12px)}.stream-chart{width:100%;min-width:0;position:relative}.stream-chart svg{touch-action:pan-y;border-radius:var(--radius-sm);outline:none;max-width:100%;display:block}.stream-chart svg:focus-visible{box-shadow:0 0 0 2px var(--focus)}.stream-readout{align-items:center;gap:2px var(--sp-12);min-height:20px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.stream-readout span{align-items:center;gap:var(--sp-4);display:inline-flex}.stream-panel-label{font-size:var(--text-sm);fill:var(--ink);font-weight:600}.stream-panel-unit{fill:var(--muted);font-weight:400}.stream-axis text,.stream-x{font-size:var(--text-xs);fill:var(--muted);font-variant-numeric:tabular-nums}.stream-axis-key text{font-size:var(--text-xs);fill:var(--ink-2);font-weight:600}.stream-axis-key line{stroke-width:2px;stroke-linecap:round}.stream-baseline,.stream-grid{stroke:var(--chart-grid);stroke-width:1px}.stream-baseline{stroke:var(--line)}.stream-line{fill:none;stroke:var(--series);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.stream-area{fill:color-mix(in srgb, var(--series) 22%, transparent);stroke:none}.stream-backdrop{fill:color-mix(in srgb, var(--series) 38%, var(--surface));stroke:none}.stream-band rect{stroke:none;fill:color-mix(in srgb, var(--series) 9%, transparent)}.stream-band.is-even rect{fill:color-mix(in srgb, var(--series) 16%, transparent)}.stream-band-label{font-size:var(--text-xs);fill:var(--ink);opacity:.8;font-weight:600}.stream-selection rect{fill:var(--selection-bg)}.stream-selection line{stroke:var(--selection-accent);stroke-width:1.5px}.stream-cursor line{stroke:var(--ink);stroke-width:1px;stroke-dasharray:3 3}.stream-cursor circle{fill:var(--series);stroke:var(--surface);stroke-width:2px}.stream-hit{fill:#0000;cursor:crosshair}.stream-hit.is-selectable{touch-action:none}.step-chart{--step-work:var(--sport,var(--green));--step-easy:var(--line-strong);--step-rest:var(--line);margin:0}.step-frame,.step-plot{position:relative}.step-chart.has-axis .step-scroll{margin-left:52px}.step-axis-labels{pointer-events:none;width:52px;position:absolute;top:0;left:0}.step-axis-labels span{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;position:absolute;right:8px;transform:translateY(50%)}.step-axis-labels span.is-reference{color:var(--ink);font-weight:650}.step-grid{pointer-events:none;position:absolute;inset:0}.step-gridline{border-top:1px solid var(--chart-grid);position:absolute;left:0;right:0}.step-reference{border-top:1.5px dashed var(--ink-2);z-index:var(--z-raised);opacity:.55;position:absolute;left:0;right:0}.step-chart.is-zoomed .step-scroll{margin-top:-72px;padding-top:72px;overflow-x:auto}.step-chart.is-zoomed .step-inner{min-width:100%}button.step-block{cursor:pointer;font:inherit;border:0;padding:0}.step-block.is-selected{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink);opacity:1!important}.step-blocks{border-bottom:1px solid var(--line-strong);align-items:flex-end;gap:3px;height:100%;display:flex;position:relative}.step-block{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-xs) var(--radius-xs);background:var(--step-easy);transform-origin:bottom;min-width:3px;animation:grow .6s var(--ease) both;animation-delay:calc(min(var(--i,0), 20) * 20ms);outline:none;transition:opacity .15s,box-shadow .15s}.step-block.is-work{background:var(--step-work)}.step-block.is-rest{background:var(--step-rest)}.step-blocks:hover .step-block:not(.is-active){opacity:.55}.step-block:focus-visible{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--focus)}.step-tip{bottom:calc(100% + 6px)}.step-time{height:18px;margin-top:5px;position:relative}.step-time span{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;position:absolute;transform:translate(-50%)}.step-time span:first-child{transform:none}.step-time span.is-end{transform:translate(-100%)}.step-axis-title{font-size:var(--text-sm);color:var(--muted);margin-top:2px}.step-chart.is-compact .step-blocks{gap:2px}.step-chart.is-compact .step-block{border-radius:var(--radius-xs) var(--radius-xs) 0 0;animation:none}@media (width<=760px){.step-time span.is-minor{display:none}.step-chart.has-axis .step-scroll{margin-left:46px}.step-axis-labels{width:46px}}
