:root{--c-ground:#f3f5f4;--c-surface:#fff;--c-line:#dce3df;--c-field-border:#c9d3ce;--c-track:#e4eae7;--c-ink:#15201c;--c-muted:#52605a;--c-spruce:#1f6b52;--c-spruce-dark:#174f3d;--c-spruce-light:#e2efe9;--c-on-spruce:#cfe5db;--c-on-spruce-2:#e6f2ec;--c-notice-text:#9a4314;--c-notice-bg:#f8e9df;--c-error:#a12c24;--c-zone-low:#1f6b52;--c-zone-mid:#e9a15a;--c-zone-high:#6e1f18;--font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--font-body:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--radius-card:14px;--radius-bib:10px;--gutter:16px;--card-gap:14px;--card-pad:18px;--nav-height:76px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--c-ground);color:var(--c-ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;margin:0;font-size:15px;line-height:1.45}a{color:var(--c-spruce)}a:hover{color:var(--c-spruce-dark)}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:600}h1{font-size:30px;line-height:1.05}h2{font-size:24px;line-height:1.1}p{margin:0}:focus-visible{outline:3px solid var(--c-spruce);outline-offset:2px}.app{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.page-header{flex-direction:column;gap:2px;padding:22px 20px 12px;display:flex}.page-subtitle{color:var(--c-muted);font-size:13px}.page-main{gap:var(--card-gap);padding:4px var(--gutter) calc(var(--nav-height) + 28px);flex-direction:column;display:flex}.card{padding:var(--card-pad);background:var(--c-surface);border-radius:var(--radius-card);flex-direction:column;gap:12px;display:flex}.muted{color:var(--c-muted)}.notice{background:var(--c-notice-bg);color:var(--c-notice-text);border-radius:10px;padding:10px 14px}.error-text{color:var(--c-error)}.btn{border:1px solid var(--c-field-border);background:var(--c-surface);min-height:44px;color:var(--c-ink);font:inherit;cursor:pointer;border-radius:22px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:700;display:inline-flex}.btn-primary{background:var(--c-spruce);color:#fff;border:none;border-radius:24px;min-height:48px}.btn:disabled{opacity:.6;cursor:default}.bottom-nav{max-width:560px;padding:4px 6px calc(12px + env(safe-area-inset-bottom));background:var(--c-surface);border-top:1px solid var(--c-line);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{min-height:56px;color:var(--c-muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;text-decoration:none;display:flex}.nav-item:before{content:"";background:0 0;border-radius:2px;width:24px;height:3px}.nav-item.active{color:var(--c-spruce);font-weight:700}.nav-item.active:before{background:var(--c-spruce)}.auth-layout{width:100%;max-width:440px;padding:40px var(--gutter);flex-direction:column;gap:14px;margin:0 auto;display:flex}.brand{font-family:var(--font-display);color:var(--c-spruce);font-size:22px;font-weight:700}.back-link{align-self:flex-start;align-items:center;min-height:44px;margin:-12px 0 -4px;font-weight:700;text-decoration:none;display:inline-flex}.small{font-size:13px}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{font-weight:700}.field-hint{color:var(--c-muted);font-size:13px}.input{border:1px solid var(--c-field-border);background:var(--c-surface);width:100%;min-height:44px;color:var(--c-ink);font:inherit;border-radius:10px;padding:0 12px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-danger{border-color:var(--c-error);color:var(--c-error)}.card-link{color:inherit;text-decoration:none}.card-link:hover{color:inherit;outline:1px solid var(--c-line)}.facts{grid-template-columns:auto 1fr;gap:4px 16px;margin:0;display:grid}.facts dt{color:var(--c-muted)}.facts dd{overflow-wrap:anywhere;margin:0}.people{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.person{border-top:1px solid var(--c-line);flex-direction:column;gap:8px;padding:14px 0;display:flex}.person:first-child{border-top:none;padding-top:0}.person-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--c-spruce-light);color:var(--c-spruce);border-radius:12px;padding:2px 10px;font-size:13px;font-weight:700}.chip-notice{background:var(--c-notice-bg);color:var(--c-notice-text)}.invite-result{background:var(--c-spruce-light);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.copy-link{gap:8px;display:flex}.copy-link .input{flex:1;min-width:0}.checks{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.check{background:var(--c-spruce-light);overflow-wrap:anywhere;border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.check-warn{background:var(--c-notice-bg);color:var(--c-notice-text)}.notice{flex-direction:column;gap:6px;display:flex}.chip-muted{background:var(--c-track);color:var(--c-muted)}.sync-sources,.sync-source,.sync-delete{flex-direction:column;gap:4px;display:flex}.connection-state{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}select.input{appearance:auto}.recovery{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:6px 4px;display:grid}.recovery-tile{flex-direction:column;gap:2px;display:flex}.recovery-label,.recovery-note{color:var(--c-muted);font-size:12px}.recovery-value,.big-number{font-family:var(--font-display);font-size:26px;font-weight:600;line-height:1}.slider-row{grid-template-columns:7.5em 1fr 1.5em;align-items:center;gap:12px;display:grid}.slider-row input[type=range]{width:100%;min-height:44px;accent-color:var(--c-spruce)}.slider-value{text-align:right;font-weight:700}.input-short{max-width:10em}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:right;border-bottom:1px solid var(--c-line);white-space:nowrap;padding:6px 4px}.data-table th:first-child{text-align:left}.data-table thead th{color:var(--c-muted);font-size:12px;font-weight:400}.session-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-list li{border-bottom:1px solid var(--c-line);padding:10px 0}.session-list li:last-child{border-bottom:none}.history-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.history-row .chip{margin-left:8px}a.btn{text-decoration:none}.field-grid .field{justify-content:flex-end}.data-table thead th{white-space:normal}.demo-banner{padding:6px var(--gutter);background:var(--c-notice-bg);color:var(--c-notice-text);text-align:center;margin:0;font-size:13px}.demo-logins{margin-top:16px}.demo-logins ul{margin:6px 0;padding-left:20px}.pills{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--c-field-border);background:var(--c-surface);min-width:44px;min-height:44px;color:var(--c-ink);font:inherit;cursor:pointer;border-radius:22px;padding:0 14px;font-weight:700}.pill[aria-pressed=true]{border-color:var(--c-spruce);background:var(--c-spruce);color:#fff}.switch{width:100%;min-height:44px;color:var(--c-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.switch-track{background:var(--c-field-border);border-radius:14px;flex:none;width:48px;height:28px;position:relative}.switch-knob{background:#fff;border-radius:50%;width:22px;height:22px;position:absolute;top:3px;left:3px}.switch[aria-checked=true] .switch-track{background:var(--c-spruce)}.switch[aria-checked=true] .switch-knob{left:23px}.save-state{z-index:1;background:var(--c-ground);padding:6px 0;position:sticky;top:0}.choice-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.choice-list .btn{text-align:left;justify-content:flex-start;width:100%;height:auto;padding:10px 18px;font-weight:400}.budget-row{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:6px;display:flex}.plan-days{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-days>li{border-bottom:1px solid var(--c-line);padding:12px 0}.plan-days>li:last-child{border-bottom:none}.plan-day.past{opacity:.6}.plan-session+.plan-session{margin-top:8px}.btn-small{min-height:36px;padding:0 14px;font-size:14px}.session-fields{border:1px solid var(--c-line);border-radius:10px;flex-direction:column;gap:10px;margin:0;padding:12px;display:flex}.session-fields legend{padding:0 4px;font-weight:700}.experts{flex-direction:column;gap:10px;margin:10px 0 0;display:flex}.experts dt{font-weight:700}.experts dd{margin:2px 0 0}.textarea{resize:vertical;min-height:88px;padding:10px 12px;line-height:1.45}.section{gap:0}.section-head{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin:-6px 0;padding:6px 0;list-style:none;display:flex}.section-head::-webkit-details-marker{display:none}.section-head:focus-visible{outline:2px solid var(--c-spruce);outline-offset:4px;border-radius:6px}.section-title{flex-direction:column;gap:2px;min-width:0;display:flex}.section-summary{color:var(--c-muted);font-size:14px}.section-chevron{color:var(--c-muted);flex:none;transition:transform .15s;display:flex}.section[open]>.section-head .section-chevron{transform:rotate(180deg)}.section-body{flex-direction:column;gap:12px;padding-top:16px;display:flex}@media (prefers-reduced-motion:reduce){.section-chevron{transition:none}}.row-toggle>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;list-style:none;display:flex}.row-toggle>summary::-webkit-details-marker{display:none}.row-toggle>summary:focus-visible{outline:2px solid var(--c-spruce);outline-offset:2px;border-radius:6px}.row-toggle[open]>summary .section-chevron{transform:rotate(180deg)}.row-toggle-title{flex-direction:column;gap:2px;min-width:0;display:flex}.row-toggle-body{flex-direction:column;gap:8px;padding-top:8px;display:flex}.chip-inline{vertical-align:1px;margin-left:8px}.details-text{margin-top:8px}.bib{background:var(--c-spruce);color:#fff;border-radius:var(--radius-bib);flex-direction:column;gap:8px;padding:26px 22px 22px;display:flex;position:relative}.bib-hole{background:var(--c-ground);border-radius:50%;width:9px;height:9px;position:absolute}.bib-hole-tl{top:10px;left:10px}.bib-hole-tr{top:10px;right:10px}.bib-hole-bl{bottom:10px;left:10px}.bib-hole-br{bottom:10px;right:10px}.bib-label,.bib-small{color:var(--c-on-spruce);font-size:13px}.bib-number{font-family:var(--font-display);align-items:baseline;gap:8px;display:flex}.bib-digits{letter-spacing:-1px;font-size:104px;font-weight:700;line-height:.9}.bib-unit{font-size:30px;font-weight:600}.bib h2{font-size:26px;line-height:1.15}.bib-detail{color:var(--c-on-spruce-2)}.bib .btn-row{margin-top:4px}.bib .btn-row:empty{display:none}.btn-on-bib{color:var(--c-spruce);background:#fff;border:none;font-weight:700}.btn-ghost-bib{border:1px solid var(--c-on-spruce);color:#fff;background:0 0}.btn-on-bib:hover{color:var(--c-spruce-dark)}.btn-ghost-bib:hover{color:#fff}.reasons{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.reasons li{align-items:flex-start;gap:12px;display:flex}.reason-icon{background:var(--c-spruce-light);width:32px;height:32px;color:var(--c-spruce);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.effort{flex-direction:column;gap:8px;display:flex}.effort-scale{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid}.effort-value{border:1px solid var(--c-field-border);background:var(--c-surface);min-height:44px;color:var(--c-ink);font:inherit;cursor:pointer;border-radius:10px;font-weight:700}.effort-value.selected{border-color:var(--c-spruce);background:var(--c-spruce-light);color:var(--c-spruce)}.effort-value[aria-pressed=true]{background:var(--c-spruce);color:#fff}.effort-value:focus-visible{outline:2px solid var(--c-spruce);outline-offset:2px}.effort-legend{justify-content:space-between;display:flex}.zone-row{flex-direction:column;gap:4px;display:flex}.zone-bar{background:var(--c-track);border-radius:7px;width:100%;height:14px}.zone-low{fill:var(--c-zone-low)}.zone-mid{fill:var(--c-zone-mid)}.zone-high{fill:var(--c-zone-high)}.zone-legend{flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}.zone-dot{vertical-align:-1px;border-radius:5px;width:10px;height:10px;margin-right:4px;display:inline-block}.zone-dot-low{background:var(--c-zone-low)}.zone-dot-mid{background:var(--c-zone-mid)}.zone-dot-high{background:var(--c-zone-high)}.figures{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:0;display:grid}.figures div{flex-direction:column;display:flex}.figures dt{color:var(--c-muted);font-size:13px}.figures dd{margin:0;font-weight:700}.plain-list{margin:0;padding-left:18px}.session-list .session-item{border-bottom:1px solid var(--c-line);padding:10px 0}.session-list .session-item:last-child{border-bottom:none}.phase-other{fill:var(--c-on-spruce)}.phase-current{fill:var(--c-spruce)}.goal-text{margin:0}.goal-text blockquote{margin:4px 0 0;font-style:italic}.goal-check{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.own-view{flex-direction:column;gap:8px;display:flex}.nutrition-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 12px;display:grid}@media (width>=640px){.nutrition-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.nutrition-tile{border:1px solid var(--c-line);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.nutrition-tile .recovery-value{font-size:22px}.nutrition-hints,.nutrition-ideas{gap:8px;margin-top:12px;display:grid}.nutrition-hints h3,.nutrition-ideas h3{margin:0 0 2px;font-size:15px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.chat-row{display:flex}.chat-row-user{justify-content:flex-end}.chat-bubble{border-radius:var(--radius-card);background:var(--c-surface);border:1px solid var(--c-line);flex-direction:column;gap:8px;max-width:88%;padding:12px 14px;display:flex}.chat-bubble p{margin:0}.chat-bubble-user{background:var(--c-spruce);border-color:var(--c-spruce);color:#fff;white-space:pre-wrap}.chat-bubble-error{background:var(--c-notice-bg);border-color:var(--c-notice-bg);color:var(--c-notice-text)}.chat-suggestions{gap:8px}.chat-form{gap:10px}.chat-more>summary{cursor:pointer;color:var(--c-spruce);margin-bottom:8px;font-weight:700}.chat-change{border-radius:var(--radius-bib);background:var(--c-spruce-light);flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.chat-change p{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chat-change-proposal{background:var(--c-notice-bg)}
