.hf-chart{width:100%;position:relative}.hf-chart-svg{border-radius:var(--radius-sm);width:100%;height:auto;display:block;overflow:visible}.hf-chart-svg:focus-visible{outline:2px solid var(--color-primary-ink);outline-offset:2px}.hf-chart-mini{width:128px}.hf-chart-grid line{stroke:var(--line);stroke-width:1px}.hf-chart-axis text,.hf-chart-cap-label{font-family:var(--font-body);fill:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.hf-chart-cap-label{fill:var(--color-text-main);font-weight:600}.hf-chart-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.hf-chart-dot{stroke:var(--color-bg);stroke-width:2px}.hf-chart-crosshair{stroke:var(--color-text-muted);stroke-width:1px;opacity:.55}.hf-chart-bar{transition:filter var(--transition-fast), opacity var(--transition-fast)}.hf-chart-bar.active{filter:brightness(.88)}.hf-chart-tooltip{background:var(--color-bg);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);pointer-events:none;z-index:5;min-width:110px;max-width:220px;padding:8px 12px;position:absolute;top:6px;transform:translate(12px)}.hf-chart-tooltip.flip{transform:translate(calc(-100% - 12px))}.hf-chart-tooltip-x{color:var(--color-text-muted);white-space:nowrap;margin-bottom:4px;font-size:12px;font-weight:600}.hf-chart-tooltip-row{color:var(--color-text-main);white-space:nowrap;align-items:center;gap:7px;font-size:13px;display:flex}.hf-chart-tooltip-row strong{color:var(--color-text-main);font-weight:700}.hf-chart-tooltip-label{color:var(--color-text-muted);font-size:12px}.hf-chart-key{border-radius:2px;flex-shrink:0;width:12px;height:3px;display:inline-block}.hf-chart-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:13px;display:flex}.hf-chart-legend-item{align-items:center;gap:7px;display:inline-flex}.hf-chart-empty{border-block:1px solid var(--line);min-height:120px;color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex}.hf-chart-empty-mini{min-height:40px;padding:4px 10px;font-size:12px}@media (prefers-reduced-motion:reduce){.hf-chart-bar{transition:none}}.prog-start{border-radius:var(--radius-xl);grid-template-columns:minmax(0,7fr) minmax(0,5fr);margin-bottom:max(16px,min(2.4vw,28px));display:grid;overflow:hidden}:root[data-theme=dark] .prog-start.on-dark{background-color:var(--ink-2)}.prog-start__copy{padding:max(24px,min(4vw,56px))}.prog-start__title{max-width:16ch;margin-top:14px}.prog-start__text{max-width:46ch;margin-top:12px}.prog-start__actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.prog-start__photo{min-height:200px;position:relative}.prog-start__photo img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.prog-jump{margin-inline:calc(var(--gutter) * -1);padding:2px var(--gutter);scrollbar-width:none;gap:8px;margin-bottom:max(16px,min(2.4vw,24px));display:flex;overflow-x:auto}.prog-jump::-webkit-scrollbar{display:none}.prog-jump .tool-chip{flex:none}.prog-section{scroll-margin-top:80px}.prog-page{padding-bottom:max(16px,min(3vw,40px))}.prog-body{padding-top:4px}.prog-body .tool-stats{margin-bottom:max(16px,min(2.4vw,24px))}.prog-spark{margin-top:6px}.prog-chart-title{align-items:baseline;gap:8px;margin-bottom:12px;font-size:1.125rem;display:flex}.prog-chart-title small{color:var(--color-text-muted);font-family:var(--font-body);letter-spacing:0;font-size:.8125rem;font-weight:600;font-stretch:100%}.prog-chart+.prog-chart{margin-top:max(24px,min(3vw,36px))}.prog-log{margin-top:8px}.prog-log__title{color:var(--color-text-muted);font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:700}.prog-scan-grid,.prog-records{grid-template-columns:repeat(6,minmax(0,1fr));gap:0 max(16px,min(2vw,32px));display:grid}.prog-records{grid-template-columns:repeat(5,minmax(0,1fr))}.prog-records__saved{margin-top:12px}.prog-details{margin-top:18px}.prog-scan__none{margin-bottom:4px}.prog-scan__none a{color:var(--color-primary-ink);text-underline-offset:3px;font-weight:700;text-decoration:underline}.prog-scan-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.prog-scan{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:14px 12px 14px 0;display:flex}.prog-scan__label{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.prog-scan__value{font-size:max(1.5rem,min(1.2rem + 1.2vw,2.25rem))}.prog-scan__date{color:var(--color-text-main);font-variant-numeric:tabular-nums;margin-bottom:12px;font-weight:700}.prog-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.prog-prs{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.prog-pr__input{position:relative}.tool-input.prog-pr__field{font-family:var(--font-heading);font-size:1.5rem;font-stretch:var(--display-stretch);min-height:60px;padding-right:46px;font-weight:800}.prog-pr__unit{color:var(--color-text-muted);pointer-events:none;font-size:.8125rem;font-weight:600;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.prog-form-foot{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.prog-challenges{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 max(28px,min(4vw,64px));display:grid}.prog-challenge{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:18px;padding-bottom:22px;display:flex}.prog-challenge__title{letter-spacing:-.008em;font-size:1.25rem}.prog-challenge__desc{color:var(--color-text-muted);margin-top:4px;font-size:.9375rem}.prog-challenge__count{font-size:2rem}.prog-challenge__count small{color:var(--color-text-muted);font-family:var(--font-body);letter-spacing:0;margin-left:6px;font-size:.9rem;font-weight:600;font-stretch:100%}.prog-challenge__done{color:var(--color-success-ink);margin-left:12px;font-size:.875rem;font-weight:700}.prog-days{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;display:grid}.prog-day{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--color-text-main);font-variant-numeric:tabular-nums;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.prog-day:hover:not(:disabled){border-color:var(--color-text-main)}.prog-day.is-ticked{background:var(--red);border-color:var(--red);color:#fff}.prog-day:disabled{cursor:not-allowed;opacity:.4}.prog-day:focus-visible{outline:2px solid var(--color-primary-ink);outline-offset:1px}.prog-badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 max(20px,min(3vw,48px));list-style:none;display:grid}.prog-badge{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding-top:14px;padding-bottom:14px;display:flex}.prog-badge__mark{border:1px solid var(--line);color:#0000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.prog-badge.is-won .prog-badge__mark{background:var(--red);border-color:var(--red);color:#fff}.prog-badge__title{letter-spacing:0;font-size:1rem}.prog-badge:not(.is-won) .prog-badge__title{color:var(--color-text-muted)}.prog-badge__desc{color:var(--color-text-muted);font-size:.875rem;line-height:1.4}.prog-badge__date{color:var(--color-primary-ink);font-variant-numeric:tabular-nums;margin-top:4px;font-size:.75rem;font-weight:700}@media (max-width:1080px){.prog-scan-grid,.prog-prs{grid-template-columns:repeat(3,minmax(0,1fr))}.prog-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.prog-start{grid-template-columns:minmax(0,1fr)}.prog-start__photo{order:-1;min-height:180px}}@media (max-width:720px){.prog-scan-grid,.prog-records,.prog-scan-fields,.prog-prs{grid-template-columns:repeat(2,minmax(0,1fr))}.prog-challenges{grid-template-columns:minmax(0,1fr)}.prog-days{grid-template-columns:repeat(6,minmax(0,1fr))}.prog-badges{grid-template-columns:minmax(0,1fr)}}
