/* v37: three visible graphical surfaces, with compact mobile typography. */
.analysis-v37 {
 --analysis-accent:var(--accent,#527565);
 --analysis-soft:color-mix(in srgb,var(--analysis-accent) 8%,var(--surface,#fff));
 display:grid;gap:20px;min-width:0;color:var(--ink);font-size:14px;line-height:1.5;letter-spacing:0;
}
.analysis-v37 * {box-sizing:border-box;letter-spacing:0;}
.analysis-v37 h2,.analysis-v37 h3,.analysis-v37 p,.analysis-v37 dl,.analysis-v37 dd {margin:0;}
.analysis-v37 h2 {font-size:17px;font-weight:620;line-height:1.5;}
.analysis-v37 h3 {font-size:14px;font-weight:550;line-height:1.5;}
.analysis-v37 button,.analysis-v37 select {font:inherit;cursor:pointer;}
.analysis-v37 button:focus-visible,.analysis-v37 select:focus-visible {outline:2px solid var(--analysis-accent);outline-offset:3px;}
.analysis-v37 .analysis-surface {padding:25px 28px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:18px;box-shadow:0 3px 16px rgba(28,50,40,.025);min-width:0;}
.analysis-v37 .analysis-section-title {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.analysis-v37 .analysis-caption,.analysis-v37 .analysis-footnote {font-size:12px;line-height:1.65;color:var(--muted);font-weight:400;}
.analysis-v37 .analysis-text-button {flex-shrink:0;padding:9px 4px;border:0;background:transparent;box-shadow:none;color:var(--analysis-accent);font-size:13px;line-height:1.5;font-weight:550;border-radius:5px;min-height:40px;}
.analysis-v37 .analysis-text-button:hover {background:var(--analysis-soft);}
.analysis-v37 .analysis-month-body {display:grid;grid-template-columns:210px minmax(0,1fr);gap:40px;align-items:center;margin-top:15px;}
.analysis-v37 .analysis-ring-figure {display:flex;flex-direction:column;align-items:center;min-width:0;}
.analysis-v37 .analysis-goal-ring {position:relative;width:184px;height:184px;flex:none;}
.analysis-v37 .analysis-goal-ring svg {display:block;width:100%;height:100%;overflow:visible;transform:rotate(-90deg);}
.analysis-v37 .analysis-goal-ring circle {fill:none;stroke-width:10;}
.analysis-v37 .analysis-ring-track {stroke:var(--analysis-soft);}
.analysis-v37 .analysis-ring-fill {stroke:var(--analysis-accent);stroke-linecap:round;transition:stroke-dashoffset 240ms ease;}
.analysis-v37 .analysis-ring-copy {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:27px;}
.analysis-v37 .analysis-ring-copy>span {font-size:12px;color:var(--muted);}
.analysis-v37 .analysis-ring-value {display:block;font-size:32px;font-weight:620;line-height:1.3;font-variant-numeric:tabular-nums;}
.analysis-v37 .has-large-value .analysis-ring-value {font-size:24px;}
.analysis-v37 .analysis-ring-value small {font-size:16px;margin-left:2px;font-weight:500;}
.analysis-v37 .analysis-ring-unset {font-size:18px;font-weight:550;}
.analysis-v37 .analysis-ring-caption {font-size:12px;color:var(--muted);text-align:center;margin-top:5px;}
.analysis-v37 .analysis-month-copy {min-width:0;}
.analysis-v37 .analysis-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 24px;}
.analysis-v37 .analysis-metric {min-width:0;}
.analysis-v37 .analysis-metric dt {font-size:12px;color:var(--muted);}
.analysis-v37 .analysis-metric dd {font-size:19px;line-height:1.4;font-weight:550;margin-top:5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.analysis-v37 .analysis-metric.is-primary dd {font-size:25px;font-weight:600;}
.analysis-v37 .analysis-pace {font-size:13px;color:var(--muted);margin-top:22px;line-height:1.7;}
.analysis-v37 .analysis-pace strong {font-weight:550;color:var(--ink-soft);white-space:nowrap;}
.analysis-v37 .analysis-planner {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line);}
.analysis-v37 .analysis-planner-control {display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;color:var(--muted);}
.analysis-v37 .analysis-planner-control>span {white-space:nowrap;}
.analysis-v37 .analysis-session-select {width:auto;min-width:112px;min-height:40px;border:1px solid var(--line);border-radius:9px;background-color:var(--surface,#fff);color:var(--ink-soft);padding:7px 29px 7px 11px;font-size:13px;box-shadow:none;}
.analysis-v37 .analysis-plan-result {display:flex;align-items:baseline;justify-content:flex-end;flex-wrap:wrap;gap:3px 10px;text-align:right;}
.analysis-v37 .analysis-plan-result strong {font-size:14px;font-weight:550;color:var(--ink);}
.analysis-v37 .analysis-plan-result span {font-size:12px;color:var(--muted);}
.analysis-v37 .analysis-overview>.analysis-footnote {margin-top:16px;}
.analysis-v37 .analysis-segmented {display:inline-flex;align-items:center;gap:3px;border:0;border-radius:10px;padding:3px;background:var(--surface-soft,#f3f6f4);max-width:100%;}
.analysis-v37 .analysis-segmented button {display:block;min-height:36px;padding:7px 13px;border:0;border-radius:7px;background:transparent;box-shadow:none;font-size:13px;line-height:1.5;color:var(--muted);white-space:nowrap;font-weight:500;}
.analysis-v37 .analysis-segmented button[aria-pressed="true"] {background:var(--surface,#fff);color:var(--ink);box-shadow:0 1px 4px rgba(30,50,42,.09);}
.analysis-v37 .analysis-trend-range {margin-top:10px;}
.analysis-v37 .analysis-chart {display:grid;grid-template-columns:43px minmax(0,1fr);gap:8px;margin-top:26px;min-width:0;}
.analysis-v37 .analysis-chart-axis {display:flex;flex-direction:column;justify-content:space-between;height:156px;color:var(--muted);font-size:11px;line-height:1;text-align:left;font-variant-numeric:tabular-nums;}
.analysis-v37 .analysis-chart-axis span {position:relative;transform:translateY(-50%);}
.analysis-v37 .analysis-chart-bars {position:relative;display:grid;grid-template-columns:repeat(var(--period-count),minmax(0,1fr));gap:9px;min-width:0;background:linear-gradient(var(--line),var(--line)) 0 0/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 78px/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 156px/100% 1px no-repeat;}
.analysis-v37 .analysis-bar {display:flex;flex-direction:column;align-items:center;min-width:0;margin:0;border:0;padding:0 4px;background:transparent;border-radius:5px;color:var(--ink);box-shadow:none;}
.analysis-v37 .analysis-bar-plot {display:flex;align-items:flex-end;justify-content:center;width:100%;height:156px;position:relative;}
.analysis-v37 .analysis-bar-fill {display:block;width:100%;max-width:35px;border-radius:5px 5px 0 0;background:color-mix(in srgb,var(--analysis-accent) 32%,var(--surface,#fff));transition:background-color 160ms ease;}
.analysis-v37 .analysis-bar-fill[data-empty="true"] {height:2px!important;background:var(--line-strong);}
.analysis-v37 .analysis-bar[aria-pressed="true"] .analysis-bar-fill,.analysis-v37 .analysis-bar.is-current .analysis-bar-fill {background:var(--analysis-accent);}
.analysis-v37 .analysis-bar.is-future .analysis-bar-fill {background:var(--line);}
.analysis-v37 .analysis-bar-label {font-size:11px;line-height:1.5;min-height:32px;padding-top:9px;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;}
.analysis-v37 .analysis-bar[aria-pressed="true"] .analysis-bar-label {font-weight:600;color:var(--analysis-accent);}
.analysis-v37 .analysis-bar:hover .analysis-bar-plot {background:var(--analysis-soft);}
.analysis-v37 .analysis-trend-detail {display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:48px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.analysis-v37 .analysis-trend-detail-copy {display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 15px;font-size:12px;color:var(--muted);}
.analysis-v37 .analysis-trend-detail-copy strong {font-size:16px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;}
.analysis-v37 .analysis-partial {font-size:11px;}
.analysis-v37 .analysis-trend-goal {flex-basis:100%;font-size:12px;}
.analysis-v37 .analysis-distributions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;padding-top:22px;}
.analysis-v37 .analysis-distributions h3 {margin-bottom:18px;}
.analysis-v37 .analysis-distribution-rows {display:grid;gap:15px;}
.analysis-v37 .analysis-distribution-row {display:grid;grid-template-columns:32px minmax(0,1fr) 70px;align-items:center;gap:10px;font-size:12px;color:var(--muted);}
.analysis-v37 .analysis-distribution-row strong {font-size:12px;font-weight:500;text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.analysis-v37 .analysis-distribution-track {height:7px;border-radius:5px;background:var(--surface-soft);overflow:hidden;}
.analysis-v37 .analysis-distribution-track span {display:block;height:100%;border-radius:5px;background:var(--analysis-accent);}
.analysis-v37 .analysis-period-stack {display:flex;height:15px;border-radius:6px;overflow:hidden;gap:3px;margin-bottom:20px;}
.analysis-v37 .analysis-period-stack>span {flex-basis:0;min-width:2px;}
.analysis-v37 .analysis-period-morning {background:#648e77;}
.analysis-v37 .analysis-period-afternoon {background:#a2bea5;}
.analysis-v37 .analysis-period-evening {background:#8ba6c0;}
.analysis-v37 .analysis-period-unknown {background:#d9dddf;}
.analysis-v37 .analysis-period-list {display:grid;gap:15px;}
.analysis-v37 .analysis-period-list>div {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;}
.analysis-v37 .analysis-period-list dt {display:flex;align-items:center;gap:9px;color:var(--muted);}
.analysis-v37 .analysis-period-list dd {display:flex;align-items:baseline;justify-content:flex-end;gap:14px;font-variant-numeric:tabular-nums;}
.analysis-v37 .analysis-period-list dd strong {font-weight:500;}
.analysis-v37 .analysis-period-list dd span {min-width:28px;text-align:right;font-size:11px;color:var(--muted);}
.analysis-v37 .analysis-period-dot {display:block;width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.analysis-v37 .analysis-periods>.analysis-footnote {margin-top:20px;}
.analysis-v37 .analysis-period-empty {min-height:90px;display:flex;align-items:center;justify-content:center;background:var(--surface-soft);border-radius:10px;color:var(--muted);font-size:13px;}
.analysis-v37 .analysis-data-notes {padding:0 4px;color:var(--muted);font-size:12px;line-height:1.65;}
.analysis-v37 .analysis-data-notes p+p {margin-top:5px;}
#analysisView>.analysis-layout {margin-top:20px;}
#analysisView .analysis-main .ai-panel {padding:23px 28px;border:1px solid var(--line);border-radius:18px;background:var(--surface,#fff);box-shadow:0 3px 16px rgba(28,50,40,.025);}
#analysisView .ai-title-wrap {display:flex;gap:10px;margin-right:auto;}
#analysisView .ai-panel-header {gap:16px;margin:0;}
#analysisView .ai-panel-header h2 {font-size:16px;line-height:1.5;letter-spacing:0;}
#analysisView .ai-icon {width:30px;height:30px;flex-basis:30px;}
#analysisView .ai-status-button {min-height:40px;font-size:12px;}
#analysisView .ai-content {min-height:0;margin-top:15px;padding-top:15px;font-size:13px;line-height:1.8;}
#analysisView .ai-updated {min-height:0;padding-top:12px;margin-top:16px;font-size:11px;}
#analysisView .ai-updated:empty {display:none;}
@media(min-width:1000px) {
 .analysis-v37 {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
 .analysis-v37 .analysis-rhythm,.analysis-v37 .analysis-data-notes {grid-column:1/-1;}
 .analysis-v37 .analysis-surface {padding:23px 25px;}
 .analysis-v37 .analysis-month-body {grid-template-columns:160px minmax(0,1fr);gap:22px;margin-top:17px;}
 .analysis-v37 .analysis-goal-ring {width:152px;height:152px;}
 .analysis-v37 .analysis-ring-value {font-size:29px;}
 .analysis-v37 .analysis-metrics {gap:17px 12px;}
 .analysis-v37 .analysis-metric.is-primary dd {font-size:23px;}
 .analysis-v37 .analysis-metric dd {font-size:17px;}
 .analysis-v37 .analysis-pace {margin-top:17px;}
 .analysis-v37 .analysis-planner {gap:12px;margin-top:22px;}
 .analysis-v37 .analysis-planner-control {font-size:12px;gap:8px;}
 .analysis-v37 .analysis-plan-result {display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
 .analysis-v37 .analysis-trend {display:flex;flex-direction:column;}
 .analysis-v37 .analysis-chart {margin-top:28px;}
 .analysis-v37 .analysis-trend-detail {margin-top:auto;}
 .analysis-v37 .analysis-trend-detail-copy {gap:5px 12px;}
}
@media(max-width:780px) {
 .analysis-v37 .analysis-surface {padding:23px;}
 .analysis-v37 .analysis-month-body {grid-template-columns:180px minmax(0,1fr);gap:26px;}
 .analysis-v37 .analysis-goal-ring {width:164px;height:164px;}
 .analysis-v37 .analysis-ring-value {font-size:29px;}
 .analysis-v37 .analysis-metric.is-primary dd {font-size:22px;}
 .analysis-v37 .analysis-metrics {gap:20px 18px;}
 .analysis-v37 .analysis-distributions {gap:26px;}
 .analysis-v37 .analysis-chart-bars {gap:5px;}
 .analysis-v37 .analysis-bar {padding-inline:2px;}
}
@media(max-width:560px) {
 .analysis-v37 {gap:16px;font-size:13px;}
 .analysis-v37 h2 {font-size:15px;}
 .analysis-v37 h3 {font-size:13px;}
 .analysis-v37 .analysis-surface {padding:18px 17px;border-radius:15px;}
 .analysis-v37 .analysis-section-title {gap:10px;}
 .analysis-v37 .analysis-section-title>.analysis-caption {font-size:11px;}
 .analysis-v37 .analysis-text-button {font-size:12px;min-height:40px;}
 .analysis-v37 .analysis-month-body {grid-template-columns:124px minmax(0,1fr);gap:16px;align-items:start;margin-top:17px;}
 .analysis-v37 .analysis-goal-ring {width:124px;height:124px;}
 .analysis-v37 .analysis-goal-ring circle {stroke-width:10;}
 .analysis-v37 .analysis-ring-copy {padding:19px;gap:3px;}
 .analysis-v37 .analysis-ring-copy>span {font-size:10px;}
 .analysis-v37 .analysis-ring-value {font-size:25px;line-height:1.4;}
 .analysis-v37 .has-large-value .analysis-ring-value {font-size:18px;}
 .analysis-v37 .analysis-ring-value small {font-size:13px;margin-left:1px;}
 .analysis-v37 .analysis-ring-unset {font-size:14px;}
 .analysis-v37 .analysis-ring-caption {font-size:11px;margin-top:7px;line-height:1.6;}
 .analysis-v37 .analysis-metrics {grid-template-columns:1fr;gap:12px;}
 .analysis-v37 .analysis-metric {display:flex;justify-content:space-between;align-items:baseline;gap:6px;flex-wrap:wrap;}
 .analysis-v37 .analysis-metric dt {font-size:11px;}
 .analysis-v37 .analysis-metric dd {font-size:15px;margin-top:0;}
 .analysis-v37 .analysis-metric.is-primary {display:block;}
 .analysis-v37 .analysis-metric.is-primary dd {font-size:20px;margin-top:3px;}
 .analysis-v37 .analysis-pace {font-size:12px;margin-top:16px;}
 .analysis-v37 .analysis-planner {gap:10px;margin-top:19px;padding-top:15px;align-items:center;}
 .analysis-v37 .analysis-planner-control {font-size:12px;gap:7px;flex-wrap:wrap;}
 .analysis-v37 .analysis-session-select {font-size:16px;min-width:102px;min-height:40px;padding-left:9px;}
 .analysis-v37 .analysis-plan-result {display:flex;flex-direction:column;gap:2px;align-items:flex-end;flex:1;}
 .analysis-v37 .analysis-plan-result strong {font-size:13px;}
 .analysis-v37 .analysis-plan-result span {font-size:11px;}
 .analysis-v37 .analysis-overview>.analysis-footnote {margin-top:14px;font-size:11px;}
 .analysis-v37 .analysis-trend>.analysis-section-title {flex-wrap:wrap;}
 .analysis-v37 .analysis-trend-toggle {margin-left:auto;}
 .analysis-v37 .analysis-segmented button {font-size:12px;padding:6px 9px;min-height:34px;}
 .analysis-v37 .analysis-trend-range {font-size:11px;}
 .analysis-v37 .analysis-chart {grid-template-columns:32px minmax(0,1fr);gap:5px;margin-top:24px;}
 .analysis-v37 .analysis-chart-axis {font-size:10px;}
 .analysis-v37 .analysis-chart-bars {gap:3px;}
 .analysis-v37 .analysis-bar {padding-inline:1px;}
 .analysis-v37 .analysis-bar-label {font-size:10px;}
 .analysis-v37 .analysis-trend-detail {gap:10px;align-items:center;}
 .analysis-v37 .analysis-trend-detail-copy {gap:4px 10px;font-size:12px;}
 .analysis-v37 .analysis-trend-detail-copy>span:first-child {flex-basis:100%;}
 .analysis-v37 .analysis-trend-detail-copy strong {font-size:15px;}
 .analysis-v37 .analysis-distributions {grid-template-columns:1fr;gap:23px;padding-top:20px;}
 .analysis-v37 .analysis-distributions h3 {margin-bottom:14px;}
 .analysis-v37 .analysis-distribution-rows {gap:13px;}
 .analysis-v37 .analysis-distribution-row {grid-template-columns:28px minmax(0,1fr) 68px;}
 .analysis-v37 .analysis-periods {padding-top:20px;border-top:1px solid var(--line);}
 .analysis-v37 .analysis-periods>.analysis-footnote {font-size:11px;margin-top:17px;}
 .analysis-v37 .analysis-data-notes {font-size:11px;}
 #analysisView>.analysis-layout {margin-top:16px;}
 #analysisView .analysis-main .ai-panel {padding:18px 17px;border-radius:15px;}
 #analysisView .ai-panel-header {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;}
 #analysisView .ai-title-wrap {grid-column:1;grid-row:1;gap:7px;}
 #analysisView .ai-panel-header h2 {font-size:14px;}
 #analysisView .ai-icon {width:25px;height:25px;flex-basis:25px;}
 #analysisView .ai-panel-header .ai-status-button {grid-row:2;grid-column:1/-1;justify-self:start;padding:0;min-height:30px;font-size:11px;}
 #analysisView .ai-panel-header #generateAiButton {grid-row:1;grid-column:2;width:auto;min-height:38px;padding:7px 10px;font-size:12px;gap:6px;}
 #analysisView #generateAiButton span {position:static;overflow:visible;width:auto;height:auto;clip:auto;white-space:normal;}
 #analysisView #generateAiButton svg {width:14px;height:14px;flex-shrink:0;}
 #analysisView .ai-content {font-size:13px;margin-top:10px;padding-top:13px;}
}
@media(max-width:350px) {
 .analysis-v37 .analysis-surface {padding:17px 13px;}
 .analysis-v37 .analysis-month-body {grid-template-columns:110px minmax(0,1fr);gap:11px;}
 .analysis-v37 .analysis-goal-ring {width:110px;height:110px;}
 .analysis-v37 .analysis-ring-value {font-size:23px;}
 .analysis-v37 .analysis-metric.is-primary dd {font-size:18px;}
 .analysis-v37 .analysis-metric dd {font-size:14px;}
 .analysis-v37 .analysis-trend-toggle {margin-left:0;}
 .analysis-v37 .analysis-section-title>.analysis-caption {text-align:right;}
}
@media(prefers-reduced-motion:reduce) {.analysis-v37 * {transition:none!important;animation:none!important;}}
@media print {.analysis-v37 .analysis-surface {box-shadow:none;break-inside:avoid;}.analysis-v37 .analysis-goal-edit,.analysis-v37 .analysis-month-link {display:none;}}
