/* Progression uses the existing theme, no external fonts or chart library. */
.pg-section{margin-top:20px}.pg-cap{display:flex;gap:22px;justify-content:space-between;align-items:center;margin-top:20px;border-left:5px solid var(--green)}.pg-cap h2{font-size:24px}.pg-cap>div:first-child{flex:1}.pg-cap>div:last-child{flex:0 0 auto;max-width:240px}.pg-cap p:last-child{margin-bottom:0}.pg-hero-number{font-size:clamp(38px,6vw,62px);font-weight:750;letter-spacing:-.04em;line-height:1.2;margin:14px 0}.stats.pg-four{grid-template-columns:repeat(4,minmax(0,1fr))}.pg-four .stat b{font-size:clamp(21px,2.6vw,28px);overflow-wrap:anywhere}.pg-year-label{margin:0;max-width:290px;min-width:200px}.pg-anchor{border:1px solid var(--line);padding:13px 16px;border-radius:15px;background:var(--soft);font-size:13px}.pg-tabs{max-width:480px;margin:20px 0 0}.pg-tabs button{min-height:44px}.pg-chart-scroll{overflow-x:auto;padding:0 2px 8px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.pg-chart{width:100%;min-width:0;height:auto;display:block;color:var(--green)}.pg-chart-cost{color:var(--warn)}.pg-chart text{font-family:inherit;font-size:12px;fill:var(--muted)}.pg-gridline{stroke:var(--line);stroke-width:1}.pg-line{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round}.pg-point{fill:currentColor;stroke:var(--card);stroke-width:1;cursor:pointer}.pg-point:focus-visible{stroke:var(--text);stroke-width:4;outline:none}.pg-provisional{fill:var(--card);stroke:currentColor;stroke-width:2}.pg-reference{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:7 5}.pg-future{fill:var(--soft);opacity:.4}.pg-chart .pg-future-label{font-size:13px}.pg-table-scroll{overflow:auto;max-width:100%;margin-top:14px}.pg-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;min-width:540px}.pg-table caption{text-align:left;margin:8px 0;color:var(--muted)}.pg-table th,.pg-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.pg-table thead th{background:var(--soft);color:var(--green)}.pg-table small{display:block;font-weight:400;white-space:normal}.pg-table th[scope=row]{white-space:nowrap}.pg-history-item{border-bottom:1px solid var(--line);padding:18px 0}.pg-history-item h3{font-size:20px;margin:9px 0}.pg-review{padding:13px 16px;border-radius:13px;background:var(--soft)}.pg-safety{margin:24px 0 10px;padding:17px 20px;background:var(--peach);border-left:4px solid var(--warn);border-radius:13px;font-size:13px}.pg-safety a{white-space:normal}.pg-warning{padding:12px;background:var(--peach);border-radius:12px;color:var(--warn)}.pg-form-error{color:var(--warn);padding:12px;border:1px solid currentColor;border-radius:12px;background:var(--peach)}.pg-check-extra fieldset{border:1px solid var(--line);border-radius:15px;padding:12px;margin:17px 0}.pg-check-extra legend{font-size:14px;font-weight:750}.pg-drink-row{padding:12px;background:var(--bg);border-radius:12px;margin:12px 0}.pg-drink-row label{margin:6px 0}.pg-drink-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pg-drink-fields input{min-width:0;padding:10px}.pg-drink-fields label{font-size:12px}.pg-check-extra input,.pg-check-extra select,#pgGoalForm input,#pgGoalForm select,#pgSettingsForm input{min-height:44px}.pg-check-extra .small{margin:12px 0 0}details.pg-section>summary{cursor:pointer;font-weight:700;line-height:1.5;min-height:28px}details.pg-section[open]>summary{margin-bottom:15px}
@media(max-width:1100px){.stats.pg-four{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-cap{flex-direction:column;align-items:stretch}.pg-cap>div:last-child{max-width:none}}
@media(max-width:700px){nav#nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}nav#nav button{flex:0 0 76px;min-width:76px;min-height:55px}nav#nav button span{font-size:11px}.pg-cap{gap:12px}.pg-cap h2{font-size:23px}.pg-four .stat{padding:15px 12px}.pg-four .stat span{font-size:12px}.pg-four .stat b{font-size:23px}.pg-year-label{width:100%;max-width:none}.pg-safety{padding:15px;font-size:12px}.pg-drink-fields label{font-size:11px}.pg-hero-number{font-size:46px}.pg-chart-scroll{margin-left:-5px;margin-right:-5px}.pg-anchor{font-size:12px}#pgGoalForm .two-fields,#pgSettingsForm .two-fields{grid-template-columns:1fr}.pg-tabs button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.pg-chart *{transition:none!important;animation:none!important}}

.pg-section .stats{min-width:0}.pg-section .stat{min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){.pg-section .stats:not(.pg-four){grid-template-columns:repeat(2,minmax(0,1fr))}.pg-section .stats:not(.pg-four) .stat:last-child:nth-child(odd){grid-column:1/-1}}

/* Short daily flow and touch-friendly period explorer. */
.tr-tracker{padding:24px;max-width:1100px;margin-inline:auto}.tr-greeting .eyebrow{display:none}.tr-page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.tr-page-heading h1{margin-bottom:8px}.tr-cap-label{color:var(--muted);font-size:14px}.tr-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;border-radius:16px;background:var(--soft);padding:5px;max-width:500px;margin:0 auto 22px}.tr-periods button{min-height:46px;font-size:16px;font-weight:700;transition:background .15s,color .15s}.tr-periods .is-selected{background:var(--green);color:var(--card);box-shadow:var(--shadow)}.tr-period-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;text-align:center}.tr-period-heading h2{font-size:clamp(16px,2.4vw,23px);margin:0 0 5px;letter-spacing:-.02em;text-transform:none}.tr-period-heading span{color:var(--muted);font-size:13px}.tr-arrow{height:44px;padding:0;font-size:30px;border:1px solid var(--line);background:var(--card)}.tr-arrow:disabled{cursor:default;opacity:.3}.tr-current{text-align:center;margin-top:5px}.tr-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 8px}.tr-metric{padding:19px 21px;text-align:left;border:1px solid var(--line);border-bottom:4px solid var(--line);border-radius:17px;background:var(--card);font-weight:400;min-width:0;transition:background .15s,border-color .15s}.tr-metric.is-selected{background:var(--soft);border-color:var(--green)}.tr-metric-cost.is-selected{background:var(--peach);border-color:var(--warn)}.tr-metric-label{display:flex;justify-content:space-between;font-size:15px;font-weight:650;gap:8px}.tr-metric-label>span{color:var(--muted)}.tr-metric strong{display:block;font-size:clamp(24px,4vw,38px);font-weight:750;line-height:1.3;letter-spacing:-.04em;margin:8px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tr-metric-unit{font-size:13px;color:var(--muted);display:block}.tr-delta{display:block;font-size:14px;margin-top:14px;font-weight:650}.tr-delta>span{font-size:12px;font-weight:400;color:var(--muted)}.tr-down{color:var(--green)}.tr-coverage{display:block;font-size:12px;color:var(--muted);margin-top:7px}.tr-chart{position:relative;color:var(--green);min-width:0}.tr-chart-cost{color:var(--warn)}.tr-chart svg{display:block;width:100%;height:auto;overflow:visible}.tr-chart text{font-family:inherit;font-size:12px;fill:var(--muted)}.tr-line{stroke:currentColor;fill:none;stroke-width:2.7;stroke-linejoin:round;stroke-linecap:round}.tr-dot{fill:currentColor;stroke:var(--card);stroke-width:1.5}.tr-partial{fill:var(--card);stroke:currentColor;stroke-width:2;stroke-dasharray:3 2}.tr-selected-dot{stroke-width:3}.tr-hit{fill:transparent}.tr-point-group{cursor:pointer;outline:none}.tr-point-group:focus-visible .tr-hit{stroke:var(--text);stroke-width:2;stroke-dasharray:3 2}.tr-readout{display:flex;gap:14px;align-items:center;justify-content:space-between;min-height:65px;padding:11px 15px;border-radius:13px;background:var(--bg);font-size:14px}.tr-readout>div{min-width:0}.tr-readout span{display:block;color:var(--muted);font-size:13px}.tr-readout .text{flex-shrink:0;min-height:44px}.tr-legend{font-size:12px;color:var(--muted);margin:10px 0 17px;text-align:center}.tr-empty{position:absolute;inset:18% 5% 15% 12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--card);color:var(--text);padding:8px;border-radius:15px}.tr-empty strong{font-size:18px}.tr-empty p{font-size:14px;margin:5px 0 12px}.tr-extras{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.tr-extras>div{display:flex;gap:12px;align-items:center;min-width:0}.tr-extras b{font-size:25px;letter-spacing:-.04em;overflow-wrap:anywhere;max-width:60%;font-variant-numeric:tabular-nums}.tr-extras span{font-size:14px}.tr-extras small{display:block;font-size:12px}.tr-details{margin-top:6px}.tr-details>summary,.check-feelings>summary{cursor:pointer;min-height:44px;padding:13px 0;font-size:14px;font-weight:650}.tr-details[open]>.row{margin:16px 0}.tr-details .small{font-size:13px;line-height:1.6;margin:14px 0}.tr-table{min-width:0;font-size:14px}.tr-table th,.tr-table td{padding:12px 7px}.tr-table th[scope=row]{white-space:normal}.tr-table small{font-size:12px}.tr-table .text{min-height:44px}.tr-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tr-achievements h2{font-size:21px;margin:0}.tr-achievements .stats{margin-bottom:12px}.tr-achievements>.small{margin:0;font-size:13px}.tr-cap h2{font-size:21px;margin-bottom:8px}.tr-cap .entry-body{font-size:15px;margin:0}.tr-cap .small{margin-top:8px;font-size:13px}.tr-today-status{display:block;text-align:center;margin-top:12px;font-size:13px;opacity:.85}.tr-today .pg-hero-number{font-size:55px;margin:12px 0 3px}.tr-today p{min-height:24px}.tr-home-progress{display:flex;flex-direction:column;justify-content:space-between}.tr-home-progress h2{font-size:28px}.tr-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:9px 0 13px}.tr-mini-stats b{font-size:30px;display:block;letter-spacing:-.04em}.tr-mini-stats span{display:block;color:var(--muted);font-size:13px}.tr-home-progress>.small{font-size:13px}.tr-home-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tr-home-periods button{font-size:14px;min-height:46px;padding:9px 4px}.tr-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.tr-quick-actions button{border:1px solid var(--line);background:var(--card);font-size:14px;min-height:64px}.tr-quick-actions span{display:inline-block;font-size:23px;margin-right:10px;color:var(--green);vertical-align:middle}.tr-why{margin-top:18px}.check-feelings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0}.check-feelings summary span{font-weight:400;color:var(--muted);font-size:13px}.check-feelings[open]{padding-bottom:12px}.pg-check-extra label,#checkForm>label{font-size:14px}.pg-check-extra .small{font-size:13px}.pg-check-extra fieldset{margin:13px 0;padding:12px 14px}.pg-check-extra fieldset label:first-of-type{margin-top:0}#checkForm button.primary{min-height:48px}.tr-tracker button:active,.tr-quick-actions button:active{transform:translateY(1px)}.tr-chart svg{animation:tr-appear .2s ease-out}@keyframes tr-appear{from{opacity:.6}to{opacity:1}}
@media(min-width:1051px){.tr-home-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.tr-tracker{padding:16px 14px}.tr-periods{margin-bottom:17px}.tr-periods button{font-size:15px}.tr-page-heading{align-items:flex-start}.tr-page-heading>.primary{font-size:14px;padding:10px 12px;min-height:44px}.tr-page-heading h1{font-size:28px}.tr-cap-label{font-size:13px;display:block;max-width:190px}.tr-period-heading{gap:5px}.tr-period-heading h2{font-size:16px;line-height:1.35}.tr-period-heading span{font-size:12px}.tr-metrics{gap:8px;margin-top:18px}.tr-metric{padding:13px 11px}.tr-metric-label{font-size:14px}.tr-metric strong{font-size:27px}.tr-metric-unit{font-size:12px}.tr-delta{font-size:13px;margin-top:12px;line-height:1.5}.tr-delta>span{display:block}.tr-coverage{line-height:1.4}.tr-readout{padding:10px;gap:8px;align-items:flex-start}.tr-readout .text{max-width:95px;font-size:13px}.tr-extras{gap:10px}.tr-extras>div{flex-direction:column;align-items:flex-start;gap:2px}.tr-extras b{max-width:100%;font-size:25px}.tr-extras span{font-size:13px}.tr-quick-actions{gap:7px}.tr-quick-actions button{font-size:13px;padding:10px 5px}.tr-quick-actions span{display:block;margin:0 0 3px}.tr-achievements .stat span{font-size:13px}.tr-achievements .stat b{font-size:24px}.tr-table th,.tr-table td{padding:10px 4px;font-size:12px}.tr-table small{font-size:12px}.tr-table .text{font-size:12px}.tr-home-progress h2{font-size:25px}.tr-mini-stats b{font-size:28px}.check-feelings .two-fields{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.tr-tracker *,.tr-quick-actions *{animation:none!important;transition:none!important}}

/* A visible, editable date without changing recorded progress. */
.journey-date{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);gap:12px}.journey-date>div{min-width:0}.journey-date .small{font-size:14px}.journey-date p{margin:4px 0 0;font-size:16px;overflow-wrap:anywhere}.journey-date button{min-height:44px;flex-shrink:0}.pg-cap>div:first-child{flex:1;min-width:0}#journeyDateForm input{min-height:48px}#journeyDateForm .row{justify-content:flex-end;gap:10px}#journeyDateForm .row button{min-height:44px}#journeyDateError{color:var(--warn);font-size:14px;line-height:1.5}

.tr-reference-savings{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line)}.tr-reference-savings>b{font-size:24px;color:var(--green);font-variant-numeric:tabular-nums}.tr-reference-savings>span{font-size:14px}.tr-reference-savings>small{grid-column:1/-1;font-size:13px;color:var(--muted)}.tr-reference-before{margin:8px 0 12px}.tr-reference-change{color:var(--green);font-weight:650}.tr-reference-overview>.small{margin-top:4px}#journeyDateForm h3{margin-top:20px;margin-bottom:4px}#journeyDateForm h3+.small{margin-top:0}#journeyDateForm .two-fields label{font-size:14px}@media(max-width:500px){#journeyDateForm .two-fields{grid-template-columns:1fr;gap:0}.tr-reference-savings{grid-template-columns:1fr}.tr-reference-savings>small{grid-column:1}}

.tr-reference-savings.is-warning>b,.tr-reference-change.is-warning{color:var(--warn)}
