/* styles.css */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/inter-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:optional;src:url('/fonts/instrument-serif-latin-400-normal.woff2') format('woff2')}

:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#30373c;background:#f7f5f2;line-height:1.45;--ink:#30373c;--coral:#a5363b;--coral-dark:#a5363b;--paper:#fff;--canvas:#f7f5f2;--muted:#59666b;--line:#e7e3df;--control-line:#7f8a87;--green:#205e4c;--feature:#30373c;--feature-ink:#fff;--feature-muted:#d4dddc;--action:#a5363b;--action-ink:#fff;--strip:#30373c;--strip-ink:#fff;--shadow:0 8px 28px rgba(48,55,60,.06);--pill-h:clamp(62px,calc(3.5rem + 6px),112px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(24px + 2rem);scroll-padding-bottom:calc(var(--pill-h) + 24px + env(safe-area-inset-bottom))}
body{margin:0}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
img{max-width:100%}
.display,.app-main h1:not(.guidance-emergency h1){font-family:'Instrument Serif',Georgia,'Times New Roman',serif;letter-spacing:-.01em}
.guidance-emergency,.guidance-emergency *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

.app-frame{min-height:100vh;max-width:520px;margin:auto;background:var(--canvas);box-shadow:0 0 36px rgba(48,55,60,.04)}
.demo-banner{position:sticky;top:0;z-index:40;background:#ffe9c7;color:#5a4220;font-size:.78rem;font-weight:700;padding:8px 16px;text-align:center;border-bottom:1px solid #e5cf9f}
.app-header{min-height:70px;padding:8px 21px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}
.brand-lockup{display:flex;align-items:center;gap:7px;color:var(--ink);font-weight:800;font-size:1.45rem;letter-spacing:-.065em}
.brand-lockup img{width:138px;height:auto;object-fit:contain}
.header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0}
.language-toggle{display:flex;align-items:center;gap:4px;margin-left:12px;font-size:.72rem;font-weight:800;color:var(--ink)}
.language-toggle button{border:0;background:transparent;color:inherit;padding:6px 3px;cursor:pointer;font:inherit;opacity:.55}
.language-toggle button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:3px}
.top-strip{display:flex;justify-content:space-between;padding:10px 22px;background:var(--strip);color:var(--strip-ink);font-size:.59rem;letter-spacing:.15em;font-weight:800}
.screen{padding:25px 21px 195px;min-height:calc(100vh - 104px)}
.app-main{view-transition-name:main;padding-bottom:calc(var(--pill-h) + 32px + env(safe-area-inset-bottom))}
html:has(.guidance-emergency){scroll-padding-top:0}

.icon{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

.page-heading{margin:9px 0 27px}
.page-heading.compact{margin-top:0}
.eyebrow,.section-label{color:var(--coral-dark);font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.page-heading h1{font-size:clamp(2.25rem,10vw,3.7rem);letter-spacing:-.01em;line-height:.99;margin:10px 0 14px;font-weight:800}
.page-heading h1 em{font-style:normal;color:var(--coral)}
.page-heading p:last-child{max-width:320px;color:var(--muted);margin:0;font-size:.94rem}
.coral-period{color:var(--coral)}
.section-label{display:flex;justify-content:space-between;margin:25px 1px 10px;color:#59666b}
.section-label span:first-child{color:var(--ink)}
.section-label span:last-child{color:var(--muted)}
.card,.form-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);margin:14px 0}
.card h2,.form-card h2{font-size:1.32rem;letter-spacing:-.035em;line-height:1.15;margin:14px 0 8px}
.card h3{font-size:1.14rem;letter-spacing:-.03em;margin:10px 0 5px}
.card p,.form-card p{color:var(--muted);font-size:.88rem;line-height:1.5}
.card-top{display:flex;justify-content:space-between;align-items:center}
.round-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff0ef;color:var(--coral-dark);font-size:1.3rem;font-weight:700}
.feature-card{background:var(--feature);color:var(--feature-ink);padding:22px}
.feature-card p{color:var(--feature-muted)}
.feature-card .round-icon{background:#ffffff1d;color:#fff}
.feature-card h2{font-size:1.43rem;margin-top:25px}
.feature-card .button{margin-top:16px}
.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:.62rem;line-height:1.2;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.badge-neutral{background:#f2f2f0;color:#596267}
.badge-coral{background:#ffe9e5;color:#9c3438}
.badge-demo{background:#fff0df;color:#875126}
.badge-soft{background:#e6f1ed;color:#1e5949}
.badge-coming{background:#f3f0ec;color:#515f64;border:1px solid #ded8d1}
.button{min-height:48px;width:100%;border:1px solid transparent;border-radius:11px;padding:12px 15px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;font-size:.88rem;font-weight:800;text-align:left}
.button-primary{background:var(--action);color:var(--action-ink)}
.feature-card .button-primary{background:var(--action);color:var(--action-ink)}
.button-secondary{background:var(--paper);border-color:var(--control-line);color:var(--ink)}
.button:hover{filter:brightness(.96)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-card{display:flex;min-height:112px;flex-direction:column;justify-content:flex-start;background:var(--paper);border:1px solid var(--control-line);border-radius:17px;padding:16px;box-shadow:var(--shadow)}
.quick-icon{color:var(--coral-dark);font-size:1.35rem;margin-bottom:auto}
.quick-card strong{font-size:.87rem}
.quick-card small{font-size:.73rem;color:var(--muted);margin-top:5px}
.quiet-card{background:var(--soft)}

.floating-pill{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(calc(100% - 24px),496px);z-index:70;display:flex;align-items:center;justify-content:space-around;gap:0;height:var(--pill-h);padding:6px 5px;margin-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--paper);border:1px solid var(--control-line);border-radius:999px;box-shadow:0 8px 30px rgba(48,55,60,.18)}
.floating-pill a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:44px;min-height:max(44px,2.75rem);padding:2px 4px;border-radius:999px;color:#59666b;font-size:.62rem;font-weight:750}
.floating-pill a[aria-current="page"]{color:var(--coral-dark)}
.floating-pill .pill-label{white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.1}
.pill-icon{display:grid;place-items:center}
.pill-icon .icon{width:22px;height:22px}
.pill-sos{flex:0 0 auto;width:50px;height:50px;min-width:50px;min-height:50px;display:grid;place-items:center;border-radius:50%;background:#b33130;color:#fff!important;font-weight:900;font-size:.68rem;letter-spacing:.04em;box-shadow:0 2px 8px rgba(120,35,33,.4)}

.inline-status:not(:empty){background:#fff1da;border:1px solid #e9cba7;border-radius:10px;padding:10px 12px;margin:12px 0;color:#593f24;font-size:.84rem}
label{display:block;font-size:.78rem;font-weight:750;margin:14px 0 4px}
input:not([type=checkbox]){display:block;width:100%;height:46px;border:1px solid var(--control-line);border-radius:10px;background:#fff;padding:10px 12px;margin-top:6px;color:var(--ink)}
fieldset{border:0;padding:0;margin:19px 0}
legend{font-size:.92rem;font-weight:800;margin-bottom:8px}
.consent-row{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--line);border-radius:13px;padding:12px;margin:8px 0;background:#fff;font-weight:400}
.consent-row input{flex:0 0 24px;width:24px;height:24px;margin:1px 0;accent-color:var(--coral-dark)}
.consent-row input:disabled{opacity:1}
.consent-row strong{display:block;font-size:.78rem;color:var(--ink);line-height:1.25}
.consent-row small{display:block;color:var(--muted);font-size:.68rem;line-height:1.35;margin-top:3px}
.fine-print{font-size:.72rem!important}
.form-card .button{margin-top:13px}
.household-title{display:flex;justify-content:space-between;align-items:center;margin:15px 1px}
.household-title{flex-wrap:wrap;gap:8px}
.household-title .badge{white-space:normal}
.household-title h2{font-size:1.16rem;margin:3px 0;letter-spacing:-.035em}
.member-list{background:#fff;border:1px solid var(--control-line);border-radius:18px;overflow:hidden;margin:12px 0}
.list-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:15px}
.list-row:last-child{border-bottom:0}
.avatar{display:grid;place-items:center;flex:0 0 41px;height:41px;background:#dceae3;border-radius:50%;font-weight:800;color:#255740}
.avatar-coral{background:#ffe8e3;color:#9c3438}
.row-copy{display:flex;flex-direction:column;min-width:0}
.row-copy strong{font-size:.85rem}
.row-copy small{font-size:.7rem;color:var(--muted);line-height:1.35}
.row-arrow{margin-left:auto;color:#6b7779;font-size:1.3rem}
.partner-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#f0eeea}
.partner-card h3{margin:8px 0 2px}
.partner-card p{font-size:.76rem;margin:0}
.partner-card .badge{margin-top:2px}

.sheet-backdrop{display:none;position:fixed;inset:0;z-index:60;background:rgba(28,35,39,.54)}
.sheet-backdrop.is-open{display:block}
.app-main:has(.sheet-backdrop.is-open){position:relative;z-index:60}
.bottom-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,520px);max-height:90vh;overflow:auto;scroll-padding-block:24px;background:#fff;border-radius:22px 22px 0 0;padding:10px 21px calc(var(--pill-h) + 24px + env(safe-area-inset-bottom));box-shadow:0 -12px 42px #1d292b44}
.sheet-handle{width:36px;height:4px;margin:0 auto 17px;border-radius:9px;background:#bdc4c3}
.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between}
.sheet-heading h2{margin:3px 0 0;font-size:1.45rem;letter-spacing:-.04em}
.sheet-heading .eyebrow{margin:0}
.icon-button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;background:#f0f0ee;color:var(--ink);font-size:1.25rem}
.bottom-sheet>.muted{font-size:.8rem;margin:9px 0}
.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.guardian-row{margin-top:18px}
.record-summary:not(:empty){white-space:pre-line;background:#e8f3ef;border-radius:10px;padding:13px;margin-top:12px;font-weight:700}
.clinic-frame{max-width:none}
.clinic-frame .app-header{padding-inline:30px}
.clinic-frame .screen{max-width:1280px;margin:auto;padding:32px}
.clinic-grid{display:grid;grid-template-columns:240px minmax(0,1fr) 250px;gap:15px}
.clinic-grid .card{min-height:430px}
.safety-note{background:#fff1da;padding:13px;border-radius:10px;color:#543f28;font-size:.85rem}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible,[role="tab"]:focus-visible,[role="switch"]:focus-visible{outline:3px solid #a5363b;outline-offset:2px;scroll-margin-block:calc(24px + 2rem) calc(var(--pill-h) + 24px + env(safe-area-inset-bottom))}
@media(max-width:720px){.clinic-grid{grid-template-columns:1fr}.clinic-grid .card{min-height:120px}}
@media(max-width:340px){.screen{padding-inline:15px}.badge{font-size:.58rem}.partner-card{flex-direction:column}}

/* Bottom sheet spring animation */
@supports (transition-timing-function: linear(0, 1)) {
  .sheet-backdrop.is-open{animation:sheet-fade 200ms linear(0,1)}
  .sheet-backdrop .bottom-sheet{animation:sheet-up 420ms linear(0,0.6,1.05,1)}
}
@supports not (transition-timing-function: linear(0, 1)) {
  .sheet-backdrop.is-open{animation:sheet-fade 200ms cubic-bezier(.4,0,.2,1)}
  .sheet-backdrop .bottom-sheet{animation:sheet-up 420ms cubic-bezier(.22,1,.36,1)}
}
@keyframes sheet-fade{from{opacity:0}to{opacity:1}}
@keyframes sheet-up{0%{transform:translate(-50%,100%)}60%{transform:translate(-50%,-2.5%)}100%{transform:translate(-50%,0)}}

/* View transitions */
::view-transition-old(root){animation:vt-out 220ms ease both}
::view-transition-new(root){animation:vt-in 220ms ease both}
@keyframes vt-out{to{opacity:0;transform:translateY(8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(-8px)}}

.onboarding-screen{padding-top:17px}
.onboarding-screen .page-heading{margin:0 0 14px}
.onboarding-screen .page-heading h1{font-size:2.25rem;line-height:.96;margin:5px 0 8px}
.onboarding-screen .page-heading p:last-child{font-size:.78rem;line-height:1.3}
.onboarding-screen .form-card{padding:14px 15px;margin-top:0}
.onboarding-screen .form-card h2{font-size:1rem;margin:0 0 6px}
.onboarding-screen label:not(.consent-row){margin:7px 0 3px;font-size:.72rem}
.onboarding-screen input:not([type=checkbox]){height:37px;margin-top:3px;padding:6px 9px}
.onboarding-screen fieldset{margin:10px 0 4px}
.onboarding-screen legend{font-size:.76rem;margin-bottom:3px}
.onboarding-screen .consent-row{padding:7px 9px;gap:8px;margin:5px 0}
.onboarding-screen .consent-row strong{font-size:.72rem}
.onboarding-screen .consent-row small{font-size:.59rem;margin-top:1px}
.onboarding-screen .fine-print{font-size:.62rem!important;line-height:1.25;margin:7px 0!important}
.onboarding-screen .button{min-height:41px;margin-top:3px;padding:8px 12px}
.family-screen{padding-top:17px}
.family-screen .page-heading{margin-bottom:17px}
.family-screen .page-heading h1{font-size:2.65rem;margin:5px 0 10px}
.family-screen .page-heading p:last-child{font-size:.82rem}
.family-screen .household-title{margin:10px 1px}
.family-screen .list-row{padding:10px 13px}
.family-screen .avatar{height:36px;flex-basis:36px}
.family-screen .partner-card{padding:14px}
.family-screen .partner-card h3{font-size:1rem}
.family-screen .partner-card p{font-size:.7rem}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid #cfd7d5;border-radius:999px;background:#fff;color:var(--ink);font-size:.72rem;font-weight:750}
.chip[aria-pressed="true"],.chip.is-selected{background:var(--ink);border-color:var(--ink);color:#fff}
.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;background:#e6f1ed;color:#1e5949;font-size:.68rem;font-weight:800}
.emergency-banner{display:flex;align-items:center;gap:12px;border:1px solid #bf5c4b;border-radius:14px;background:#fff0e8;color:#7f302c;padding:14px;font-size:.83rem;font-weight:750}
.onboarding-screen .page-heading h1{font-size:1.98rem;line-height:.94;margin:3px 0 6px}
.onboarding-screen .form-card{padding:11px 14px}
.onboarding-screen label:not(.consent-row){margin:5px 0 2px}
.onboarding-screen .consent-row{padding:5px 8px;margin:4px 0}
.onboarding-screen fieldset{margin:8px 0 2px}
.onboarding-screen .fine-print{margin:5px 0!important}
.feature-card .button-primary{background:var(--action)}
.sheet-emergency{display:flex;align-items:center;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;min-height:44px;padding:5px 9px;margin-top:9px;border-radius:8px;background:#fff4e9;color:#723f21;font-size:.7rem}
.sheet-emergency strong{font-weight:800}

/* Keep the focus ring visible on controls with a larger associated label. */
label:focus-within{outline:3px solid var(--coral-dark);outline-offset:2px;border-radius:6px}
.floating-pill a:focus-visible{outline-color:var(--coral-dark);outline-offset:0}
.sheet-backdrop:focus-within{z-index:60}
@media(max-width:360px){.floating-pill a{min-width:44px;padding-inline:1px}}

/* Reduced motion: all animation becomes instant */
@media (prefers-reduced-motion: no-preference) {
  html{scroll-behavior:smooth}
}
@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}
  .sheet-backdrop.is-open,.sheet-backdrop .bottom-sheet{animation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
/* v3-20260927.css */
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/source-serif-4-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/source-serif-4-latin-600-normal.woff2') format('woff2')}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)){--canvas:#ede8dd;--paper:#f9f7f2;--ink:#17181a;--muted:#5b5f63;--line:#d9d4c8;--control-line:#d9d4c8;--green:#1f6a50;--coral:#1f6a50;--coral-dark:#1f6a50;color:var(--ink)}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .card,.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .form-card,.v3-data-card{border-radius:0;background:#f9f7f2;box-shadow:none}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .app-main h1{font-family:'Source Serif 4',Georgia,serif;font-weight:400}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .pill-sos{background:#b3261e}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .floating-pill{border-radius:0;box-shadow:none;background:#f9f7f2}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .floating-pill a:not(.pill-sos){border-radius:0}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .floating-pill a[aria-current="page"]{color:#1f6a50;border-bottom:2px solid #1f6a50}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .button,.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .chip,.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .badge{border-radius:0}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) a:focus-visible,.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) button:focus-visible,.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) input:focus-visible{outline-color:#1f6a50}
.viewing-switch,.tour-launch{border:0;background:transparent;color:#17181a;font-size:.74rem;font-weight:600;padding:8px}
.tour-launch{border:1px solid #d9d4c8;border-radius:999px}
.viewing-rows{display:grid;gap:0;margin-top:16px}.viewing-rows button{background:#f9f7f2;text-align:left;border:0;border-top:1px solid #d9d4c8;padding:16px;color:#17181a}
.v3-today h1,.v3-placeholder h1{font-size:2rem;margin:8px 0 16px}
.v3-return{display:grid;gap:4px;border-block:1px solid #d9d4c8;padding:12px 0;margin-bottom:24px;color:#5b5f63;font-size:.75rem}.v3-return strong{color:#17181a;font-size:.78rem}
.v3-verdict{font:400 22px/28px 'Source Serif 4',Georgia,serif;letter-spacing:-.01em;max-width:32ch;margin:0 0 24px;white-space:normal;overflow:visible}
.v3-bp-link{display:block;color:inherit;text-decoration:none}.v3-bp-link .v3-data-card{margin:16px 0}.v3-bp-link-label{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-top:1px solid #d9d4c8;color:#1f6a50;font-size:13px;font-weight:600}.v3-bp-link-label span{font-size:24px;line-height:1}
.v3-data-card{border:1px solid #d9d4c8;padding:18px;margin:16px 0}.v3-data-card h2,.v3-ledger h2{font-size:.8rem;font-weight:600;margin:0 0 12px}.v3-data-card p{color:#5b5f63;font-size:.78rem}.v3-reading{font:600 32px/1.1 Inter,sans-serif!important;font-variant-numeric:tabular-nums;color:#17181a!important}.v3-reading span{font-size:13px;font-weight:400;color:#5b5f63}
.v3-ledger{border-block:1px solid #d9d4c8;padding:18px 0}.v3-ledger p,.v3-appointment,.v3-preview-note{color:#5b5f63;font-size:.78rem}.v3-appointment{border-bottom:1px solid #d9d4c8;padding:14px 0}
.v3-preview-button,.v3-data-card button{border:1px solid #1f6a50;background:#1f6a50;color:#fff;padding:12px 16px;font-size:.82rem}.v3-preview-button{margin-top:12px}
.v3-reply button,.bottom-sheet [data-reply]{border:1px solid #1f6a50;background:#f9f7f2;color:#1f6a50;padding:12px;margin:8px 0}
.pill-took-all{border-radius:999px}
@media(prefers-reduced-motion:no-preference){.v3-band{transform-origin:left;animation:v3-range 320ms cubic-bezier(.2,0,0,1) both}.v3-point{animation:v3-point 240ms cubic-bezier(.2,0,0,1) 80ms both}}
@keyframes v3-range{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes v3-point{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
.v3-track{position:relative;height:22px;margin:22px 4px 10px;border-bottom:1px solid #d9d4c8}.v3-band{position:absolute;bottom:0;height:16px;background:rgba(31,106,80,.12)}.v3-point{position:absolute;bottom:5px;width:8px;height:8px;border:2px solid #ede8dd;border-radius:50%;background:#17181a;transform:translateX(-50%)}.v3-point.is-outside{outline:1.5px solid #17181a;outline-offset:2px}
.v3-ledger-row{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid #d9d4c8;font-size:.78rem}.v3-ledger-row strong{font-variant-numeric:tabular-nums}.v3-checklist,.v3-ritual{font-size:.78rem;color:#5b5f63}.v3-ritual{border-top:1px solid #d9d4c8;padding-top:14px}
.v3-data-card,.v3-ledger,.v3-return,.v3-appointment,.v3-ritual{font-variant-numeric:tabular-nums}
.v3-simulated{display:inline-block;margin:0 0 4px;color:#5b5f63;font:600 12px/1.4 Inter,sans-serif}.v3-replay{border:0;background:transparent;color:#5b5f63;text-decoration:underline;padding:10px 0;font-size:.72rem}.v3-capture-actions{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid #d9d4c8;padding-top:14px}.v3-capture-actions a,.v3-photo-prompt a{color:#1f6a50}.v3-nudge{border:1px solid #d9d4c8;padding:16px;margin:16px 0;background:#f9f7f2}.v3-nudge p{margin:0 0 8px}.v3-ledger small{display:block;color:#5b5f63;margin-top:8px}.pill-took-all{margin-top:10px;padding:8px 18px;border:1px solid #d9d4c8;background:#f9f7f2;color:#5b5f63}.v3-capture{max-width:600px;margin:auto;padding:16px;background:#f9f7f2}.v3-capture h1{font:400 30px/1.2 'Source Serif 4',Georgia,serif}.v3-capture p{color:#5b5f63;line-height:1.5}.v3-capture label{display:block;margin:12px 0}.v3-capture button{margin:8px 8px 8px 0;border:1px solid #1f6a50;padding:10px 16px;background:#f9f7f2;color:#1f6a50}.v3-capture [role="status"]{min-height:1.5em}.v3-cuff-image{display:block;width:min(100%,480px);height:auto}.v3-photo-draft{font:600 26px/1.4 Inter,sans-serif}.v3-photo-draft .digit{display:inline-block}.trends-simulated{font:10px Inter,sans-serif;fill:#5b5f63}
.app-frame:has(.demo-banner) .demo-banner{background:#e3ddd0;color:#17181a;border-bottom:1px solid #d9d4c8}
.v3-wordmark{color:#17181a;font:400 29px/1 Inter,sans-serif;letter-spacing:-.08em}
.app-frame:has(.demo-banner) .brand-lockup img{width:138px;max-width:100%;height:auto}
.v3-journey-entry{margin:28px 0 16px;padding:21px;background:#30373c;color:#fff}.v3-journey-entry p{margin:0 0 10px;color:#ff858a;font:800 10px/1.3 Inter,sans-serif;letter-spacing:.12em}.v3-journey-entry h2{margin:0 0 10px;font:600 22px/1.15 Inter,sans-serif;letter-spacing:-.04em}.v3-journey-entry>span{display:block;color:#e3e6e7;font-size:12px;line-height:1.5}.v3-journey-entry a{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding:12px 0 0;border-top:1px solid #626b70;color:#fff;font-size:12px;font-weight:700;text-decoration:none}
.v3-today .v3-verdict{margin:12px 0 8px;color:#17181a}
.v3-today .v3-demo-scenario{margin:0 0 8px;color:#5b5f63;font:400 12px/18px Inter,sans-serif}
.v3-today h1{font:600 12px/18px Inter,sans-serif!important;color:#5b5f63;margin:0 0 18px}
.v3-today .v3-reading{display:flex;align-items:baseline;gap:8px;margin:22px 0 8px}
.v3-today .v3-simulated{font-weight:400;margin:0}
.v3-today .v3-crisis-demo{display:block;margin:18px 0 0;padding:10px 0;border:0;background:transparent;color:#5b5f63;text-align:left;text-decoration:underline;font:400 12px/1.4 Inter,sans-serif;cursor:pointer}
.v3-week-chart{display:block;width:100%;height:144px;margin:12px 0 8px;overflow:visible}
.v3-chart-band{fill:rgba(31,106,80,.12)}
.v3-chart-point{fill:#17181a;stroke:#f9f7f2;stroke-width:2}
.v3-chart-point.is-outside{fill:#f9f7f2;stroke:#17181a;stroke-width:1.5}
.v3-week-chart text{font:11px Inter,sans-serif;fill:#5b5f63}
.v3-ledger-row{gap:12px;align-items:baseline}
.v3-ledger-row strong{font-weight:400;color:#5b5f63;text-align:right}
@media(prefers-reduced-motion:no-preference){.v3-data-card.is-arrived{animation:v3-arrive 240ms cubic-bezier(.2,0,0,1) both}.v3-photo-draft .digit{animation:v3-digit 200ms ease-out both}.v3-photo-draft .digit:nth-child(2){animation-delay:90ms}.v3-photo-draft .digit:nth-child(3){animation-delay:180ms}.v3-photo-draft .digit:nth-child(4){animation-delay:270ms}.v3-photo-draft .digit:nth-child(5){animation-delay:360ms}}
@keyframes v3-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes v3-digit{from{opacity:0}to{opacity:1}}
.v3-capture-primary,.trends-capture-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;box-sizing:border-box;background:#1f6a50;color:#fff!important;text-decoration:none;font:600 15px/1 Inter,sans-serif;border:0;border-radius:0}
.v3-today .v3-capture-primary{margin:12px 0 20px}
.v3-nudge .v3-call-button{display:block;width:100%;min-height:48px;border:0;background:#1f6a50;color:#fff;font-weight:600}
.v3-nudge .v3-preview-button{display:block;margin:8px 0 0;padding:8px 0;background:transparent;color:#1f6a50;border:0;text-decoration:underline;text-align:left}
.v3-week-chart .v3-chart-point{fill:#17181a;stroke:#f9f7f2;stroke-width:2}
.v3-week-chart .v3-chart-point.is-outside{fill:#17181a;stroke:#17181a;stroke-width:1.5;paint-order:stroke;filter:drop-shadow(0 0 1px #f9f7f2)}
.v3-week-chart .v3-chart-value,.v3-week-chart .v3-band-label{font:11px Inter,sans-serif;fill:#5b5f63;font-variant-numeric:tabular-nums}
.v3-capture #photo-confirm{display:block;width:100%;min-height:48px;background:#1f6a50;color:#fff;font-weight:600}
.v3-capture #photo-retake{border:0;background:transparent;color:#1f6a50;text-decoration:underline;padding-left:0}
.v3-capture .v3-photo-context{color:#5b5f63;font-size:13px}
.v3-capture .v3-manual{margin-top:12px;color:#1f6a50;font-size:13px}
.v3-capture .v3-manual summary{cursor:pointer;text-decoration:underline}
.v3-capture .v3-manual input{display:block;width:100%;min-height:44px;margin-top:4px;border:1px solid #d9d4c8}
.v3-capture .v3-photo-last{margin:26px 0 18px;padding:18px 0;border-top:1px solid #d9d4c8;border-bottom:1px solid #d9d4c8}.v3-photo-last h2{margin:0;font:600 13px Inter,sans-serif;color:#5b5f63}.v3-photo-last p{margin:8px 0 0;font:600 20px Inter,sans-serif;font-variant-numeric:tabular-nums;color:#17181a}.v3-capture .v3-back-link{display:inline-block;color:#1f6a50;text-decoration:underline;font:14px Inter,sans-serif;padding:10px 0}
/* polish-20261001.css */
/* Synthetic walkthrough: one type scale, an eight pixel rhythm, and data-led hierarchy. */
.app-frame:has(.demo-banner){
  --canvas:#f3f1eb;--paper:#fffefa;--ink:#202924;--muted:#52615a;
  --line:#d8dfd7;--control-line:#b6c4b9;--green:#205f46;
  --coral:#205f46;--coral-dark:#205f46;--shadow:none;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  color:var(--ink);background:var(--canvas);
}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .app-main h1,
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .app-main h2,
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .app-main h3,
.app-frame:has(.demo-banner) .v3-verdict{
  font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;
  letter-spacing:-.035em;
}
.app-frame:has(.demo-banner) .demo-banner{
  position:sticky;padding:6px 16px;background:#e9eee7;border-color:#d8dfd7;
  color:#304d3b;font-size:11px;line-height:16px;font-weight:600;letter-spacing:0;
}
.app-frame:has(.demo-banner) .app-header{
  min-height:72px;padding:12px 24px;background:#fffefa;border-color:#d8dfd7;
}
.app-frame:has(.demo-banner) .viewing-switch{
  min-height:40px;padding:8px 12px;border:1px solid #b6c4b9;border-radius:8px;
  background:#f5f8f3;color:#205f46;font-size:13px;font-weight:700;
}
.app-frame:has(.demo-banner) .tour-launch{
  min-height:40px;padding:8px 12px;margin-left:8px;border-radius:8px;
  border-color:#d8dfd7;color:#52615a;background:transparent;font-size:12px;
}
.app-frame:has(.demo-banner) .language-toggle{margin-left:8px;font-size:11px}
.app-frame:has(.demo-banner) .viewing-rows button small{display:block;margin-top:4px;color:#52615a;font-size:12px;font-weight:400}
.app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .screen{
  padding:32px 24px calc(var(--pill-h) + 80px + env(safe-area-inset-bottom));
}
.app-frame:has(.demo-banner) .page-heading{margin:0 0 32px}
.app-frame:has(.demo-banner) .page-heading h1{font-size:clamp(32px,4vw,48px)!important;line-height:1.08;font-weight:600;margin:8px 0 12px}
.app-frame:has(.demo-banner) .page-heading p:last-child{font-size:15px;line-height:1.5;max-width:56ch}
.app-frame:has(.demo-banner) .eyebrow{font-size:11px;letter-spacing:.1em}
.app-frame:has(.demo-banner) .card,
.app-frame:has(.demo-banner) .form-card,
.app-frame:has(.demo-banner) .v3-data-card,
.app-frame:has(.demo-banner) .trends-card{
  border:1px solid #d8dfd7;border-radius:12px;background:#fffefa;
  box-shadow:none;padding:24px;margin-block:16px;
}
.app-frame:has(.demo-banner) .card p,
.app-frame:has(.demo-banner) .form-card p{font-size:14px;line-height:1.55;color:#52615a}
.app-frame:has(.demo-banner) .badge{border-radius:6px}
.app-frame:has(.demo-banner) .button,
.app-frame:has(.demo-banner) .v3-capture-primary,
.app-frame:has(.demo-banner) .trends-capture-primary{border-radius:8px}
.app-frame:has(.demo-banner) .floating-pill{
  width:min(calc(100% - 32px),600px);height:64px;padding:4px 8px;
  margin-bottom:calc(12px + env(safe-area-inset-bottom));border:1px solid #cdd8ce;
  border-radius:12px;background:#fffefa;box-shadow:0 12px 32px #2135261c;
}
.app-frame:has(.demo-banner) .floating-pill a:not(.pill-sos){
  min-height:48px;min-width:48px;padding:8px 6px;color:#52615a;font-size:11px;
  border-radius:6px;font-weight:600;
}
.app-frame:has(.demo-banner) .floating-pill a[aria-current="page"]{
  color:#205f46;background:#e9f2e9;border:0;border-radius:6px;
}
.app-frame:has(.demo-banner) .floating-pill .pill-sos{
  width:44px;height:44px;min-width:44px;min-height:44px;
  border-radius:8px;box-shadow:none;background:#a12f2f;
}
.app-frame:has(.demo-banner) :is(a,button,input,summary):focus-visible{
  outline:3px solid #174e3a;outline-offset:3px;
}
.app-frame:has(.demo-banner) .v3-today{display:flex;flex-direction:column;gap:0}
.app-frame:has(.demo-banner) .v3-today h1{
  font-size:clamp(30px,4vw,42px)!important;font-weight:600!important;
  line-height:1.1!important;color:#202924!important;margin:0 0 16px!important;
}
.app-frame:has(.demo-banner) .v3-today .v3-verdict{
  max-width:62ch;margin:0 0 24px!important;
  font-size:16px;line-height:1.5;font-weight:400;color:#34483a!important;
}
.app-frame:has(.demo-banner) .v3-return{
  padding:12px 16px;margin:0 0 8px;border:0;border-left:3px solid #7ca88b;
  border-radius:0 8px 8px 0;background:#e9f2e9;color:#304d3b;font-size:13px;line-height:1.5;
}
.app-frame:has(.demo-banner) .v3-bp-link .v3-data-card{
  margin:16px 0 24px;padding:24px;background:#fffefa;
  border:1px solid #c6d8ca;border-radius:12px;
}
.app-frame:has(.demo-banner) .v3-data-card h2,
.app-frame:has(.demo-banner) .v3-ledger h2{font-size:16px;font-weight:700;margin-bottom:16px}
.app-frame:has(.demo-banner) .v3-today .v3-reading{
  margin:8px 0 16px;font-size:clamp(34px,5vw,48px)!important;
  line-height:1.1;letter-spacing:-.045em;color:#202924!important;
}
.app-frame:has(.demo-banner) .v3-today .v3-reading>span:first-child{
  font-size:17px;color:#52615a;line-height:1.4;letter-spacing:0;
}
.app-frame:has(.demo-banner) :is(.v3-simulated,.trends-simulated-tag){display:none}
.app-frame:has(.demo-banner) .v3-week-chart{height:auto;aspect-ratio:300/144;margin:0 0 16px}
.app-frame:has(.demo-banner) .v3-chart-band{fill:#dfe4de}
.app-frame:has(.demo-banner) .v3-chart-point{fill:#1d6247;stroke:#fffefa}
.app-frame:has(.demo-banner) .v3-week-chart text{fill:#42564a;font-size:12px}
.app-frame:has(.demo-banner) .v3-data-card p{font-size:13px;line-height:1.5}
.app-frame:has(.demo-banner) .v3-data-card .v3-ritual{
  margin:16px 0 0;padding-top:16px;border-color:#d8dfd7;
}
.app-frame:has(.demo-banner) .v3-bp-link-label{
  margin-top:16px;border-color:#d8dfd7;font-size:14px;font-weight:700;
}
.app-frame:has(.demo-banner) .v3-ledger{
  padding:24px;background:#fffefa;border:1px solid #d8dfd7;border-radius:12px;
}
.app-frame:has(.demo-banner) .v3-ledger-row{padding:12px 0;gap:16px;font-size:13px;line-height:1.4}
.app-frame:has(.demo-banner) .v3-ledger-row strong{font-weight:600;color:#34483a}
.app-frame:has(.demo-banner) .v3-ledger small{font-size:12px;line-height:1.5;margin-top:16px}
.app-frame:has(.demo-banner) .v3-appointment{
  padding:20px 24px 4px;margin:16px 0 0;border:1px solid #d8dfd7;border-bottom:0;
  border-radius:12px 12px 0 0;background:#fffefa;color:#202924;font-size:14px;font-weight:700;
}
.app-frame:has(.demo-banner) .v3-checklist{
  padding:4px 24px 20px;margin:0 0 16px;border:1px solid #d8dfd7;border-top:0;
  border-radius:0 0 12px 12px;background:#fffefa;color:#52615a;font-size:13px;
}
.app-frame:has(.demo-banner) .v3-visit{
  display:grid;grid-template-columns:1fr auto;gap:8px 16px;
  padding:24px;margin:16px 0;background:#fffefa;border:1px solid #d8dfd7;border-radius:12px;
}
.app-frame:has(.demo-banner) .v3-visit-label{
  grid-column:1/-1;color:#205f46;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
.app-frame:has(.demo-banner) .v3-visit strong{font-size:20px;line-height:1.25;letter-spacing:-.03em}
.app-frame:has(.demo-banner) .v3-visit>p{grid-column:1;margin:0;color:#52615a;font-size:13px;line-height:1.5}
.app-frame:has(.demo-banner) .v3-visit-status{
  grid-column:2;grid-row:2;align-self:center;color:#205f46;background:#e9f2e9;
  border-radius:6px;padding:6px 8px;font-size:11px;font-weight:700;
}
.app-frame:has(.demo-banner) .v3-visit .v3-checklist{
  grid-column:1/-1;padding:16px 0 0;margin:8px 0 0;border:0;border-top:1px solid #d8dfd7;
  border-radius:0;background:transparent;font-size:13px;
}
.app-frame:has(.demo-banner) .v3-journey-entry{
  margin:24px 0 0;padding:24px;background:#e9eee7;border:1px solid #d8dfd7;
  border-radius:12px;color:#202924;
}
.app-frame:has(.demo-banner) .v3-journey-entry p{color:#205f46}
.app-frame:has(.demo-banner) .v3-journey-entry h2{font-size:20px;line-height:1.3;color:#202924}
.app-frame:has(.demo-banner) .v3-journey-entry>span{color:#52615a;font-size:13px}
.app-frame:has(.demo-banner) .v3-journey-entry a{
  border-color:#cbd9cc;color:#205f46;font-size:14px;
}
.app-frame:has(.demo-banner) .trends-heading h1{font-size:clamp(30px,4vw,42px);font-weight:600}
.app-frame:has(.demo-banner) .trends-screen{background:transparent}
.app-frame:has(.demo-banner) .trends-heading p{font-size:15px;line-height:1.5}
.app-frame:has(.demo-banner) .trends-period{border-radius:8px;overflow:hidden}
.app-frame:has(.demo-banner) .trends-period button{min-height:44px;font-size:13px}
.app-frame:has(.demo-banner) .trends-card h2{font-size:18px}
.app-frame:has(.demo-banner) .trends-card-head p{font-size:13px}
.app-frame:has(.demo-banner) .trends-reading strong{font-size:clamp(36px,5vw,48px);letter-spacing:-.045em}
.app-frame:has(.demo-banner) .trends-reading-time{display:block;margin-top:4px;color:#52615a;font-size:12px;line-height:1.4}
.app-frame:has(.demo-banner) .trends-card svg text{font-size:13px;fill:#42564a}
.app-frame:has(.demo-banner) .trends-bp-svg .trends-band,
.app-frame:has(.demo-banner) .trends-glucose-svg .trends-band,
.app-frame:has(.demo-banner) .labs-v3__band{fill:#dfe4de;fill-opacity:1}
.app-frame:has(.demo-banner) .trends-legend-band{background:#dfe4de}
.app-frame:has(.demo-banner) .trends-card svg{margin-top:24px}
.app-frame:has(.demo-banner) .trends-legend{font-size:12px;line-height:1.4;gap:8px 16px}
.app-frame:has(.demo-banner) .trends-note{font-size:13px;line-height:1.5}
.app-frame:has(.demo-banner) .trends-share-preview{
  margin:0 0 24px;padding:12px 0;font-size:14px;font-weight:700;
}
.app-frame:has(.demo-banner) .trends-glucose-count{font-size:13px}
.app-frame:has(.demo-banner) .labs-v3__title{font-size:clamp(30px,4vw,42px)}
.app-frame:has(.demo-banner) .labs-v3__analyte{border-radius:12px}
.app-frame:has(.demo-banner) .records-lab-card{border-radius:12px}
.app-frame:has(.demo-banner) :is(.trends-empty,.labs-v3__empty,.records-empty){
  padding:24px;border:1px dashed #b6c4b9;border-radius:12px;background:#f7f9f4;
  color:#52615a;font-size:14px;line-height:1.5;
}
.app-frame:has(.demo-banner) :is(.trends-empty,.labs-v3__empty,.records-empty) h2{
  margin:0 0 8px;color:#202924;font-size:18px;
}
.app-frame:has(.demo-banner) .inline-status:not(:empty){
  padding:12px 16px;border:1px solid #b6c4b9;border-left:3px solid #205f46;
  border-radius:8px;background:#f7f9f4;color:#304d3b;font-size:13px;
}
@media(min-width:800px){
  .app-frame:has(.demo-banner){max-width:1120px;min-height:100vh;box-shadow:none}
  .app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .screen{max-width:1040px;margin:auto;padding:48px 40px 144px}
  .app-frame:has(.demo-banner) .v3-today{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:0 24px}
  .app-frame:has(.demo-banner) .v3-today>:not(.v3-bp-link):not(.v3-ledger){grid-column:1/-1}
  .app-frame:has(.demo-banner) .v3-today .v3-bp-link{grid-column:1}
  .app-frame:has(.demo-banner) .v3-today .v3-ledger{grid-column:2;align-self:start;margin-top:16px}
  .app-frame:has(.demo-banner) .trends-page{max-width:900px}
  .app-frame:has(.demo-banner) .floating-pill{position:relative;left:auto;bottom:auto;transform:none;margin:0 auto 24px}
}
@media(max-width:480px){
  .app-frame:has(.demo-banner) .app-header{padding:8px 16px;align-items:flex-start}
  .app-frame:has(.demo-banner) .brand-lockup{align-self:center}
  .app-frame:has(.demo-banner) .brand-lockup img{width:118px}
  .app-frame:has(.demo-banner) .header-actions{gap:2px}
  .app-frame:has(.demo-banner) .viewing-switch{font-size:12px;padding:7px 9px}
  .app-frame:has(.demo-banner) .tour-launch{font-size:11px;margin-left:2px}
  .app-frame:has(.demo-banner):not(:has(.guidance-emergency)) .screen{padding:24px 16px calc(var(--pill-h) + 80px)}
  .app-frame:has(.demo-banner) .v3-data-card,
  .app-frame:has(.demo-banner) .trends-card{padding:20px}
  .app-frame:has(.demo-banner) .floating-pill{width:calc(100% - 24px)}
  .app-frame:has(.demo-banner) .floating-pill a:not(.pill-sos){font-size:10px;padding-inline:3px}
}
@media(prefers-reduced-motion:no-preference){
  .app-frame:has(.demo-banner) .v3-data-card.is-arrived{animation:polish-appear .32s ease-out both}
  .app-frame:has(.demo-banner) .floating-pill a,
  .app-frame:has(.demo-banner) .viewing-switch{transition:background-color .18s ease,color .18s ease}
}
@keyframes polish-appear{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.app-frame:has(.guidance-emergency) .guidance-emergency,
.app-frame:has(.guidance-emergency) .guidance-emergency *{font-family:Inter,ui-sans-serif,system-ui,sans-serif!important}
/* theme-20261002.css */
:root{color-scheme:light;--soft:#e9f2e9}
:root[data-theme=night]{color-scheme:dark;--canvas:#101a18;--paper:#1b2925;--ink:#edf4ed;--muted:#c1d2c7;--line:#40594b;--control-line:#60836a;--green:#a8dfaf;--soft:#243b2e;--coral:#a8dfaf;--coral-dark:#a8dfaf;--feature:#1b2925;--feature-ink:#edf4ed;--feature-muted:#c1d2c7;--action:#a8dfaf;--action-ink:#13251a;--strip:#243b2e;--strip-ink:#edf4ed}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:7px 10px;border:1px solid #b6c4b9;border-radius:8px;background:#f5f8f3;color:#205f46;font:700 12px Inter,sans-serif;cursor:pointer;white-space:nowrap}.theme-toggle span:first-child{font-size:19px;line-height:1}
@media(max-width:480px){.theme-toggle{width:40px;padding:4px}.theme-toggle span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
html[data-theme=night],html[data-theme=night] body{background:#101a18;color:#edf4ed}
html[data-theme=night] .app-frame:has(.demo-banner){--canvas:#101a18;--paper:#1b2925;--ink:#edf4ed;--muted:#c1d2c7;--line:#40594b;--control-line:#60836a;--green:#a8dfaf;--soft:#243b2e;--coral:#a8dfaf;--coral-dark:#a8dfaf;background:#101a18;color:#edf4ed}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.app-header,.floating-pill,.card,.form-card,.v3-data-card,.trends-card,.v3-ledger,.v3-visit,.v3-appointment,.v3-checklist,.records-lab-card,.labs-v3__status,.labs-v3__analyte,.labs-v3__older,.cc-card,.trends-share-preview){background:#1b2925;color:#edf4ed;border-color:#40594b}
html[data-theme=night] .app-frame:has(.demo-banner) .demo-banner{background:#23382b;color:#d1e8d4;border-color:#40594b}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.viewing-switch,.tour-launch,.theme-toggle,.language-toggle button,.trends-period button){background:#243b2e;color:#d8efdc;border-color:#60836a}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-return,.v3-journey-entry,.inline-status,.trends-empty,.labs-v3__empty,.records-empty){background:#243b2e;color:#d8efdc;border-color:#40594b}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.page-heading h1,.v3-today h1,.v3-reading,.v3-journey-entry h2,.trends-heading h1,.trends-reading strong,.labs-v3__title,.labs-v3__latest,.cc-title,.cc-card-title,.v3-visit strong,.trends-card h2){color:#edf4ed!important}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.page-heading p,.v3-verdict,.v3-ledger-row strong,.v3-journey-entry>span,.trends-heading p,.trends-note,.trends-card-head p,.labs-v3__note,.labs-v3__change,.labs-v3__band-label,.labs-v3__spark-dates,.labs-v3__latest span,.cc-subtitle,.cc-card-desc,.cc-row p){color:#c1d2c7!important}
html[data-theme=night] .app-frame:has(.demo-banner) .floating-pill a:not(.pill-sos){color:#c1d2c7}
html[data-theme=night] .app-frame:has(.demo-banner) .floating-pill a[aria-current=page]{background:#31533a;color:#e4f9e8}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.journey-status,.v3-visit-status){background:#31533a;color:#e4f9e8}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.journey-time-item.current .journey-status,.journey-filter[aria-pressed=true]){background:#a8dfaf;color:#13251a}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.labs-v3,.care-v3,.trends-screen){background:transparent;color:#edf4ed}
html[data-theme=night] .app-frame:has(.demo-banner) .care-v3{--cc-ink:#edf4ed;--cc-secondary:#c1d2c7;--cc-accent:#a8dfaf;--cc-rule:#40594b;--cc-card:#1b2925;--cc-page:#101a18}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.labs-v3__step,.labs-v3__status-heading,.labs-v3__analyte h2,.cc-row strong){color:#edf4ed}
html[data-theme=night] .app-frame:has(.demo-banner) .labs-v3__step.is-later{color:#c1d2c7}
html[data-theme=night] .app-frame:has(.demo-banner) .labs-v3__band{fill:#385943;fill-opacity:1}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-bp-svg .trends-band,.trends-glucose-svg .trends-band,.v3-chart-band){fill:#4b4b4b;fill-opacity:1}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-legend-band){background:#4b4b4b}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.labs-v3__spark-svg polyline,.labs-v3__spark-svg circle){stroke:#b8e3bc;fill:#b8e3bc}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-card svg text,.v3-week-chart text){fill:#cde2d0}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-chart-point,.trends-point){fill:#dedede;stroke:#1b2925}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.journey,.journey-timeline-card,.journey-suggestion,.journey-provider-section,.journey-cover,.journey-note,.journey-provider,.journey-record-grid a){color:#edf4ed}
html[data-theme=night] .app-frame:has(.demo-banner) .journey-room{background:#0c1714;border:1px solid #40594b}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.journey-time-item.current .journey-time-body,.journey-action){background:#243b2e}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.journey-provider button,.journey-filter,.journey-cover button,.journey-note button){background:#243b2e;color:#d8efdc;border-color:#60836a}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.journey-source,.journey-disclaimer,.journey-safety,.journey-lead,.journey-time-body p,.journey-time-body small,.journey-time-top time,.journey-provider p,.journey-cover p:not(.journey-eyebrow),.journey-note p){color:#c1d2c7}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.journey-next,.journey-record-grid a,.journey-eyebrow,.journey-kicker){color:#a8dfaf}
html[data-theme=night] .app-frame:has(.demo-banner) .journey-time-item.current .journey-status{color:#13251a}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.cc-toggle,.labs-v3__older summary){color:#a8dfaf}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.journey a,.labs-v3__explainer summary,.cc-row button):focus-visible{outline:3px solid #d3f2d4;outline-offset:2px}
@media(prefers-reduced-motion:reduce){html[data-theme=night] *,html[data-theme=day] *{animation:none!important;transition:none!important}}
.labs-v3__marker-head{display:flex;align-items:start;justify-content:space-between;gap:8px}.labs-v3__marker-chip{background:var(--soft,#e9f2e9);color:var(--green,#205f46);padding:5px 8px;border-radius:5px;font-size:11px;font-weight:700}.labs-v3__explainer{margin-top:14px;border-top:1px solid var(--line,#d8dfd7);padding-top:12px;font-size:12px}.labs-v3__explainer summary{color:var(--green,#205f46);cursor:pointer;font-weight:700}.labs-v3__explainer p{color:var(--muted,#52615a);line-height:1.5}
.brand-night{display:none}.brand-night b{color:#fb706b;font-weight:400}
html[data-theme=night] .brand-lockup img{display:none}
html[data-theme=night] .brand-lockup .brand-night{display:inline;font:400 27px/1 Inter,sans-serif;letter-spacing:-.08em;color:#edf4ed}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-data-card p,.v3-ritual,.v3-ledger small,.v3-visit p,.v3-replay,.v3-crisis-demo,.v3-today .v3-demo-scenario,.v3-today .v3-reading span,.v3-checklist,.v3-journey-entry a,.v3-journey-entry p,.v3-bp-link-label){color:#c1d2c7!important}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-journey-entry a,.v3-bp-link-label){color:#a8dfaf!important}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-ledger-row,.v3-checklist,.v3-ritual){border-color:#40594b}
html[data-theme=night] .app-frame:has(.demo-banner) .v3-journey-entry{background:#243b2e}
html[data-theme=night] .app-frame:has(.demo-banner) .v3-visit-label{color:#a8dfaf}
html[data-theme=night] .app-frame:has(.demo-banner) .v3-visit-status{background:#31533a;color:#e4f9e8}
html[data-theme=night] .app-frame:has(.demo-banner) .v3-reading span{color:#c1d2c7!important}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-legend,.trends-glucose-count,.trends-reading-time,.trends-reading small,.trends-card p,.labs-v3__analyte p,.labs-v3__older-row,.cc-consent,.cc-notshared){color:#c1d2c7!important}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-legend-dot,.trends-legend-ring){background:#dedede;outline-color:#dedede}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-a1c-svg path){stroke:#dedede}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-a1c-svg circle){fill:#dedede;stroke:#1b2925}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-a1c-svg .trends-a1c-value){fill:#e4f9e8}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.trends-period button[aria-pressed=true]){background:#a8dfaf;color:#13251a}
.cc-stop{min-height:44px;margin:16px 0 0;padding:9px 14px;border:1px solid #9b4141;border-radius:7px;background:transparent;color:#8a3030;font-weight:700;cursor:pointer}
html[data-theme=night] .cc-stop{border-color:#e6aaaa;color:#ffd1d1}
/* Lab progress and personal-range exceptions use distinct, readable states. */
.app-frame:has(.demo-banner) .labs-v3__step.is-done .labs-v3__step-dot{background:#246448;border:1px solid #174e37}
.app-frame:has(.demo-banner) .labs-v3__step.is-current .labs-v3__step-dot{background:#fffefa;border:2px solid #246448;box-shadow:0 0 0 3px #d7e8d8}
.app-frame:has(.demo-banner) .labs-v3__step.is-later .labs-v3__step-dot{background:transparent;border:2px solid #87968c}
html[data-theme=night] .app-frame:has(.demo-banner) .labs-v3__step.is-done .labs-v3__step-dot{background:#a8dfaf;border:1px solid #a8dfaf}
html[data-theme=night] .app-frame:has(.demo-banner) .labs-v3__step.is-current .labs-v3__step-dot{background:#1b2925;border:2px solid #a8dfaf;box-shadow:0 0 0 3px #476f52}
html[data-theme=night] .app-frame:has(.demo-banner) .labs-v3__step.is-later .labs-v3__step-dot{background:transparent;border:2px solid #a1b6a5}
.app-frame:has(.demo-banner) .labs-v3__marker-chip.is-outside{background:#f7ecd7;color:#654718;border:1px solid #c9a35f}
html[data-theme=night] .app-frame:has(.demo-banner) .labs-v3__marker-chip.is-outside{background:#514021;color:#ffdfa4;border-color:#ba9659}
.app-frame:has(.demo-banner) .labs-v3__band[data-outside]:not([data-outside=""]){fill:#e5c996;fill-opacity:.55;stroke:#a67c38;stroke-width:1}
html[data-theme=night] .app-frame:has(.demo-banner) .labs-v3__band[data-outside]:not([data-outside=""]){fill:#66512d;fill-opacity:1;stroke:#e7c57e;stroke-width:1}
/* Preserve the always reachable SOS control over open sheets. */
.app-frame:has(.demo-banner) .floating-pill{z-index:80}
/* Keep EN/SW available after the v2 header rules. */
.app-frame:has(.demo-banner) .language-toggle{display:flex}
.app-frame:has(.demo-banner) .language-toggle{display:flex!important}
.app-frame:has(.demo-banner) .floating-pill{z-index:80!important}
.app-frame:has(.demo-banner) .demo-banner{position:sticky!important;top:0;z-index:90}

/* Live and demo screens share the same surface palette. Keep each surface with its text. */
html[data-theme=night] :is(.quick-card,.up-next-button,.sheet-member-row,.member-list,.list-row,.bottom-sheet,.consent-row,.chip,.input,.partner-card){background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-theme=night] :is(.form-card,.card,.records-lab-card,.journey-timeline-card,.journey-suggestion,.journey-provider,.journey-cover,.journey-note){background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-theme=night] :is(.badge-neutral,.badge-soft,.badge-coming,.status-badge,.up-next-avatar,.avatar,.icon-button,.record-summary){background:var(--soft);color:var(--ink)}
html[data-theme=night] :is(.floating-pill a,.up-next-chevron,.quick-card small,.row-copy small){color:var(--muted)}
html[data-theme=night] :is(.feature-card,.feature-card h2){background:var(--feature);color:var(--feature-ink)}
html[data-theme=night] .feature-card p{color:var(--feature-muted)}
html[data-theme=night] .feature-card .button-primary{background:var(--action);color:var(--action-ink)}
html[data-theme=night] :is(input:not([type=checkbox]),textarea,select){background:var(--paper);color:var(--ink);border-color:var(--control-line)}
/* screens/trends.css */
.trends-screen{background:#ede8dd;color:#17181a;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.trends-page{max-width:650px;margin:0 auto}
.trends-page h1,.trends-page h2,.trends-page h3,.trends-page p{margin:0}
.trends-heading{margin:4px 0 25px}
.trends-heading h1{font-family:'Source Serif 4',Georgia,serif;font-size:2.35rem;font-weight:400;line-height:1.1;letter-spacing:-.01em}
.trends-heading p{color:#5b5f63;font-size:.86rem;margin-top:7px}
.trends-period{display:flex;gap:0;margin-bottom:17px;border:1px solid #d9d4c8;width:max-content}
.trends-period button{border:0;background:#f9f7f2;color:#5b5f63;padding:9px 16px;font-size:.8rem;font-weight:600}
.trends-period button+button{border-left:1px solid #d9d4c8}
.trends-period button[aria-pressed=true]{background:#17181a;color:#f9f7f2}
.trends-card{background:#f9f7f2;border:1px solid #d9d4c8;border-radius:0;padding:20px 18px;margin:0 0 12px;box-shadow:none}
.trends-card h2{font-size:1.05rem;line-height:1.3;letter-spacing:-.015em;font-weight:600}
.trends-card h3{font-size:.77rem;font-weight:600;margin:0 0 4px}
.trends-card p{color:#5b5f63;font-size:.76rem;line-height:1.45;margin-top:4px}
.trends-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.trends-card-head strong{white-space:nowrap;font-size:1.5rem;line-height:1.2;font-weight:600}
.trends-card-head small{font-size:.68rem;font-weight:400;color:#5b5f63}
.trends-card svg{display:block;width:100%;height:auto;margin-top:19px;overflow:visible}
.trends-card svg text{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10px;fill:#5b5f63;font-weight:400}
.trends-bp-svg line{stroke:#d9d4c8;stroke-width:.7}
.trends-bp-svg .trends-band{fill:#1f6a50;fill-opacity:.12;transform-box:fill-box;transform-origin:left center}
.trends-bp-svg .trends-point{fill:#17181a;stroke:#f9f7f2;stroke-width:2;transform-box:fill-box;transform-origin:center}
.trends-bp-svg .trends-point-outside{fill:#f9f7f2;stroke:#17181a;stroke-width:1.5}
.trends-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:11px;color:#5b5f63;font-size:.67rem}
.trends-legend span{display:inline-flex;align-items:center;gap:5px}
.trends-legend i{display:inline-block;flex:none;width:12px;height:12px}
.trends-legend-band{background:rgb(31 106 80 / 12%)}
.trends-legend-dot{width:8px!important;height:8px!important;border-radius:50%;background:#17181a}
.trends-legend-ring{width:8px!important;height:8px!important;border-radius:50%;background:#17181a;outline:1.5px solid #17181a;outline-offset:2px;margin:0 3px}
.trends-note{margin-top:13px!important}
.trends-glucose-row{margin-top:20px;border-top:1px solid #d9d4c8;padding-top:11px}
.trends-glucose-row svg{margin-top:0}
.trends-glucose-below{fill:#d5d2cb}
.trends-glucose-inside{fill:#1f6a50;fill-opacity:.4}
.trends-glucose-above{fill:#6f736e}
.trends-glucose-empty{fill:#e8e5de}
.trends-a1c-svg path{fill:none;stroke:#17181a;stroke-width:1.5}
.trends-a1c-svg circle{fill:#17181a;stroke:#f9f7f2;stroke-width:2}
.trends-a1c-svg .trends-a1c-value{fill:#17181a;font-size:11px;font-weight:600}
.trends-empty{padding:20px 0}
.trends-add .trends-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.trends-add label{margin:18px 0 0;color:#17181a;font-size:.75rem;font-weight:600}
.trends-add input:not([type=checkbox]){border-radius:0;border:1px solid #a8a49b;background:#fff;height:43px;color:#17181a}
.trends-add button[type=submit]{margin-top:16px;border:0;border-radius:0;background:#1f6a50;color:#fff;min-height:44px;padding:10px 16px;font-weight:600}
.trends-add .trends-form-status{min-height:1.1em;margin-top:9px}
.trends-screen :is(button,input):focus-visible{outline:2px solid #1f6a50;outline-offset:2px}
@media (prefers-reduced-motion:no-preference){
  .trends-bp-svg .trends-band{animation:trends-band-settle 320ms cubic-bezier(.2,0,0,1) both}
  .trends-bp-svg .trends-point{animation:trends-point-settle 240ms cubic-bezier(.2,0,0,1) 80ms both}
}
@keyframes trends-band-settle{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes trends-point-settle{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
.trends-capture-primary{margin:0 0 18px}
.trends-card-head{display:flex;align-items:flex-start;justify-content:space-between}
.trends-card-head h2{font-size:22px;line-height:1.2}
.trends-card-head p{font-size:14px;margin-top:4px}
.trends-card-head .trends-simulated-tag{color:#5b5f63;font:400 12px/1.4 Inter,sans-serif}
.trends-reading{margin-top:16px}
.trends-reading strong{font-size:40px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums}
.trends-reading small{font-size:13px;font-weight:400;color:#5b5f63}
.trends-bp-svg .trends-point,.trends-glucose-svg .trends-point{fill:#17181a;stroke:#f9f7f2;stroke-width:2}
.trends-bp-svg .trends-point-outside,.trends-glucose-svg .trends-point-outside{fill:#17181a;stroke:#17181a;stroke-width:1.5;paint-order:stroke;filter:drop-shadow(0 0 1px #f9f7f2)}
.trends-glucose-svg .trends-band{fill:#1f6a50;fill-opacity:.12}
.trends-card .trends-glucose-count{font-size:14px;margin-top:8px}
.trends-bp-svg .trends-point-value,.trends-bp-svg .trends-band-label{font:11px Inter,sans-serif;fill:#5b5f63;font-variant-numeric:tabular-nums}
.trends-type-link{border:0;background:transparent;color:#1f6a50;text-decoration:underline;padding:0;font-size:14px;cursor:pointer}
.trends-add form[hidden]{display:none}
.trends-share-preview{display:block;width:100%;min-height:44px;margin:0 0 16px;padding:10px 0;border:0;background:transparent;color:#1f6a50;text-align:left;text-decoration:underline;font-size:14px}.trends-share-list{white-space:pre-wrap;font:13px/1.6 Inter,sans-serif;color:#17181a}.trends-copy{min-height:44px;padding:10px 16px;border:1px solid #1f6a50;background:#f9f7f2;color:#1f6a50}
/* daily-v2.css */
/* Personal health, presented as a daily picture. References: Noom, Oura, Future Pro, Tolan. */
body:has(.demo-banner){background:#eef0ea}
.app-frame:has(.demo-banner){--canvas:#f4f5ef;--paper:#fff;--ink:#203e35;--muted:#5d6a62;max-width:none;background:var(--canvas)}
.app-frame:has(.demo-banner) .app-header{padding:18px max(24px,calc((100vw - 1120px)/2));background:#f4f5ef;border-bottom:1px solid #dce1d7}
.app-frame:has(.demo-banner) .demo-banner{position:static;background:#e6eadf;font-size:11px;padding:5px 20px;color:#4b5c4f;letter-spacing:.02em}
.app-frame:has(.demo-banner) .tour-launch{background:#214e3f;color:white;border-color:#214e3f;min-height:44px;font-size:13px;padding-inline:18px}
.app-frame:has(.demo-banner) .viewing-switch{min-height:44px;background:white;border-color:#d1d9cc;font-size:13px}
.app-frame:has(.demo-banner) .screen{max-width:1200px!important}
.app-frame:has(.demo-banner) .v3-today .daily-eyebrow{margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:.1em;color:#52695b;text-transform:uppercase}
.app-frame:has(.demo-banner) .v3-today h1{font-size:clamp(36px,4vw,54px)!important;font-weight:400!important;letter-spacing:-.055em!important;margin-bottom:12px!important;color:#214737!important}
.app-frame:has(.demo-banner) .v3-today .v3-verdict{font-size:17px;max-width:65ch;color:#4b6053!important;margin-bottom:20px!important}
.app-frame:has(.demo-banner) .v3-return{background:transparent;border:0;border-top:1px solid #d6ddd1;border-radius:0;padding:16px 0;margin:0;color:#536154;font-size:13px}
.app-frame:has(.demo-banner) .v3-bp-link .v3-data-card{background:#fff;border:1px solid #d8e0d4;border-radius:20px;padding:28px;margin:0;height:100%;box-sizing:border-box}
.reading-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.reading-heading>span{font-size:10px;letter-spacing:.08em;color:#607362}
.app-frame:has(.demo-banner) .reading-heading h2{font-size:17px;margin:0}
.app-frame:has(.demo-banner) .v3-today .v3-reading{font-size:clamp(48px,5vw,68px)!important;font-weight:400!important;letter-spacing:-.06em;line-height:1.1;margin:24px 0 8px;color:#203e35!important}
.app-frame:has(.demo-banner) .v3-today .range-verdict{display:inline-block;margin:0 0 20px;padding:6px 10px;border-radius:6px;background:#f4e9d4;color:#745016;font-size:12px}
.app-frame:has(.demo-banner) .v3-chart-band{fill:url(#personal-range-hatch)}
.app-frame:has(.demo-banner) .v3-chart-point.is-outside{fill:#bd663c}
.app-frame:has(.demo-banner) .v3-week-chart{max-height:245px;margin-bottom:10px;overflow:visible}
.app-frame:has(.demo-banner) .v3-data-card .v3-ritual{font-size:12px;margin-top:12px;padding-top:12px}
.app-frame:has(.demo-banner) .v3-bp-link-label{margin-top:12px;padding-top:12px}
.daily-vitals{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vital-tile{display:flex;flex-direction:column;padding:24px 22px;border:1px solid #d7dfd2;border-radius:18px;background:#e6eee1;color:#264d3d;text-decoration:none;min-width:0}
.vital-tile>span{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.vital-tile>span b{font-weight:400}
.vital-tile>strong{font-size:42px;font-weight:400;letter-spacing:-.06em;white-space:nowrap;line-height:1.2;margin:20px 0 12px}.vital-tile strong small{font-size:12px;letter-spacing:0;font-weight:400}
.vital-tile svg{width:100%;height:42px;margin-top:auto}.vital-tile p{font-size:12px;line-height:1.5;margin:12px 0 4px}.vital-tile>small{font-size:11px;color:#506951}.lab-tile{background:#ece9e0;border-color:#dfdbce}.lab-tile p{margin-top:auto}
.app-frame:has(.demo-banner) .v3-ledger{background:#fff;border-radius:18px;padding:24px;margin:0}
.app-frame:has(.demo-banner) .v3-ledger-row{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:12px}
.app-frame:has(.demo-banner) .v3-ledger-row strong{font-size:11px;text-align:right}
.app-frame:has(.demo-banner) .v3-visit{border-radius:18px;background:#e4ead9;border-color:#d7dfcc;margin:0;padding:24px;align-content:start}
.app-frame:has(.demo-banner) .v3-visit-status{background:#f5f7f0;color:#41582e}
.visit-prepare{grid-column:1/-1;display:flex;justify-content:space-between;padding:13px 16px;margin-top:12px;border-radius:9px;background:#294e3d;color:white;font-size:13px;font-weight:600;text-decoration:none;min-height:44px;box-sizing:border-box}
.app-frame:has(.demo-banner) .v3-journey-entry{background:transparent;border:0;border-top:1px solid #d6ddd1;border-radius:0;padding:24px 0;margin:0}
.app-frame:has(.demo-banner) .floating-pill{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);margin:0;border-radius:18px;background:#fff;box-shadow:0 6px 30px #283e2520;z-index:15}
.app-frame:has(.demo-banner) .viewing-rows button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:20px;margin-top:12px;min-height:76px;background:#f2f5ee;border:1px solid #d4ddcf;border-radius:12px;color:#234837;font-size:17px}
@media(min-width:900px){
.app-frame:has(.demo-banner) .v3-today{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px 24px;padding-top:40px!important}
.app-frame:has(.demo-banner) .v3-today>.daily-heading,.app-frame:has(.demo-banner) .v3-today>.v3-verdict,.app-frame:has(.demo-banner) .v3-today>.v3-return{grid-column:1/-1;margin-bottom:0!important}
.app-frame:has(.demo-banner) .v3-today>.v3-bp-link{grid-column:1;grid-row:4 / span 2}
.app-frame:has(.demo-banner) .v3-today>.daily-vitals{grid-column:2;grid-row:4}
.app-frame:has(.demo-banner) .v3-today>.v3-ledger{grid-column:2;grid-row:5;margin:0}
.app-frame:has(.demo-banner) .v3-today>.v3-visit{grid-column:1;grid-row:6}
.app-frame:has(.demo-banner) .v3-today>.v3-journey-entry{grid-column:2;grid-row:6}
}
@media(max-width:899px){
.app-frame:has(.demo-banner) .v3-today{display:flex;gap:18px}.app-frame:has(.demo-banner) .v3-today .v3-verdict{margin:0!important}
.app-frame:has(.demo-banner) .app-header{padding:12px 16px;align-items:center;flex-wrap:wrap;gap:12px}.app-frame:has(.demo-banner) .brand-lockup img{width:120px}
.app-frame:has(.demo-banner) .header-actions{flex:1;justify-content:flex-end;flex-wrap:wrap;gap:8px}.app-frame:has(.demo-banner) .language-toggle{display:none}
.app-frame:has(.demo-banner) .tour-launch{font-size:12px;padding-inline:12px;margin:0}.app-frame:has(.demo-banner) .viewing-switch{font-size:12px;padding:8px 10px}
.app-frame:has(.demo-banner) .v3-bp-link .v3-data-card{padding:22px}.reading-heading>span{font-size:9px}.vital-tile{padding:20px 16px}.vital-tile>strong{font-size:38px}
.app-frame:has(.demo-banner) .v3-visit{grid-template-columns:1fr}.app-frame:has(.demo-banner) .v3-visit-status{grid-column:1;grid-row:auto;justify-self:start}
.app-frame:has(.demo-banner) .v3-today h1{font-size:38px!important}.app-frame:has(.demo-banner) .v3-today .daily-eyebrow{font-size:10px}
}
@media(min-width:900px){
.app-frame:has(.demo-banner) .v3-today>.daily-vitals{grid-column:2!important}
.app-frame:has(.demo-banner) .v3-today>.v3-visit{grid-column:1!important}
.app-frame:has(.demo-banner) .v3-today>.v3-journey-entry{grid-column:2!important}
}
.app-frame:has(.demo-banner) .floating-pill{border-radius:18px!important}
.personal-pressure-map{border-top:1px solid #d8dfd7;margin-top:20px;padding-top:12px}.personal-pressure-map summary{min-height:44px;display:list-item;padding-top:10px;font-size:14px;font-weight:600;cursor:pointer}.personal-pressure-map p,.personal-pressure-map small{font-size:13px;color:#52615a}.personal-pressure-map svg{display:block;width:min(100%,420px);margin:12px auto!important}
.daily-review-action{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;color:#244b3b;font-size:14px;font-weight:600;text-underline-offset:4px}
@media(min-width:900px){
.app-frame:has(.demo-banner) .v3-today>.v3-bp-link{grid-row:auto / span 2}
.app-frame:has(.demo-banner) .v3-today>.v3-ledger{grid-row:auto}
.app-frame:has(.demo-banner) .v3-today>.daily-vitals{grid-row:auto}
.app-frame:has(.demo-banner) .v3-today>.v3-visit,.app-frame:has(.demo-banner) .v3-today>.v3-journey-entry{grid-row:auto}
}
/* tour-v2.css */
.tour-card{position:sticky;top:0;z-index:100;box-sizing:border-box;width:100%;margin:0;padding:16px max(20px,calc((100vw - 1120px)/2));background:#183f36;color:#fff;font:14px/1.5 Inter,system-ui,sans-serif;box-shadow:0 3px 12px #15352c22}
.tour-row{display:flex;align-items:center;gap:12px}.tour-row h2{flex:1;margin:0;font-size:18px;font-weight:600;line-height:1.3}.tour-progress{color:#c9dfb7;font-size:12px;white-space:nowrap}.tour-card button{min-height:44px;min-width:44px;padding:8px 14px;border:1px solid #779b8b;border-radius:9px;background:transparent;color:white;font:600 13px Inter,system-ui,sans-serif;cursor:pointer}.tour-card .tour-next{background:#dfedbd;color:#193e35;border-color:#dfedbd}.tour-card button:disabled{opacity:.4}.tour-caption{margin:8px 0 0;max-width:800px;color:#deebe4;font-size:13px}.tour-card :focus-visible{outline:3px solid #fff;outline-offset:3px}.tour-row h2:focus{outline:none}
@media(max-width:600px){.tour-card{padding:12px 16px}.tour-row{gap:6px;flex-wrap:wrap}.tour-row h2{font-size:15px;flex-basis:calc(100% - 45px)}.tour-progress{order:0}.tour-row h2{order:1}.tour-row button{order:2}.tour-card .tour-exit{margin-left:auto}.tour-caption{font-size:12px}}
/* During the guided walkthrough, keep navigation after the content so it cannot cover an active care step. */
body:has(.tour-card) .app-frame .floating-pill{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;margin:20px auto 16px!important}
/* v5-polish.css */
/* Daily care: one type scale and an 8px spacing rhythm across the five first-open surfaces. */
.app-frame:has(.demo-banner) .v3-today h1{font-size:clamp(36px,5vw,52px)!important;letter-spacing:-.045em;margin-bottom:14px!important}
.app-frame:has(.demo-banner) .v3-today .v3-verdict{font-size:clamp(16px,1.5vw,18px);line-height:1.5;margin-bottom:20px!important}
.app-frame:has(.demo-banner) .v3-return{font-size:14px;line-height:1.5;padding:14px 16px;margin-bottom:12px}
.app-frame:has(.demo-banner) .v3-bp-link .v3-data-card{margin:12px 0 20px;padding:clamp(20px,3vw,30px);border-radius:16px}
.app-frame:has(.demo-banner) :is(.v3-data-card h2,.v3-ledger h2){font-size:18px;letter-spacing:-.02em;margin-bottom:18px}
.app-frame:has(.demo-banner) .v3-today .v3-reading{font-size:clamp(48px,7vw,64px)!important;letter-spacing:-.055em;margin:8px 0 20px}
.app-frame:has(.demo-banner) .v3-data-card .v3-verdict{font-size:14px!important;line-height:1.45!important;margin:0 0 12px!important;color:#34483a!important;max-width:58ch}
.app-frame:has(.demo-banner) :is(.v3-simulated,.trends-simulated-tag){display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#52615a}
.app-frame:has(.demo-banner) .v3-data-card p{font-size:14px;line-height:1.55}
.app-frame:has(.demo-banner) .v3-bp-link-label{font-size:15px;min-height:48px;align-items:center}
.app-frame:has(.demo-banner) .v3-ledger{padding:clamp(20px,3vw,28px);border-radius:16px}
.app-frame:has(.demo-banner) .v3-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:58px;padding:12px 0;font-size:14px;line-height:1.45}
.app-frame:has(.demo-banner) .v3-ledger-row strong{font-size:13px;max-width:12ch;line-height:1.35}
.app-frame:has(.demo-banner) .v3-ledger small{font-size:13px;line-height:1.5}
.app-frame:has(.demo-banner) .pill-took-all{min-height:44px;border-radius:8px;font-weight:700;color:#205f46;border-color:#a7c6b4}
.app-frame:has(.demo-banner) .trends-page{max-width:760px}
.app-frame:has(.demo-banner) .trends-heading h1{font-size:clamp(36px,4vw,48px);letter-spacing:-.035em}
.app-frame:has(.demo-banner) .trends-heading p{font-size:15px;line-height:1.5;margin-top:8px}
.app-frame:has(.demo-banner) .trends-period{border-radius:9px;overflow:hidden;margin-bottom:20px}
.app-frame:has(.demo-banner) .trends-period button{min-height:44px;padding:10px 20px;font-size:14px}
.app-frame:has(.demo-banner) .trends-card{border-radius:16px;padding:clamp(20px,3vw,30px);margin-bottom:16px}
.app-frame:has(.demo-banner) .trends-card-head h2{font-size:20px}
.app-frame:has(.demo-banner) .trends-card-head p,.app-frame:has(.demo-banner) .trends-card p{font-size:14px;line-height:1.5}
.app-frame:has(.demo-banner) .trends-reading strong{font-size:clamp(44px,6vw,56px);letter-spacing:-.045em}
.app-frame:has(.demo-banner) .trends-legend{font-size:12px;line-height:1.4;gap:8px 18px}
.app-frame:has(.demo-banner) .trends-add input:not([type=checkbox]){min-height:48px;border-radius:8px}
.app-frame:has(.demo-banner) .trends-add button[type=submit]{min-height:48px;border-radius:8px}
.app-frame:has(.demo-banner) .v3-capture{padding:clamp(20px,3vw,30px);border:1px solid var(--line);border-radius:16px;max-width:640px}
.app-frame:has(.demo-banner) .v3-capture h1{font:600 clamp(28px,4vw,38px)/1.12 Inter,sans-serif;letter-spacing:-.04em;margin:0 0 16px}
.app-frame:has(.demo-banner) .v3-capture p{font-size:14px;line-height:1.5}
.app-frame:has(.demo-banner) .v3-capture .v3-photo-draft{font-size:clamp(36px,5vw,48px);font-weight:700;line-height:1.12;color:var(--ink);letter-spacing:-.045em;margin:20px 0 8px}
.app-frame:has(.demo-banner) .v3-capture .v3-photo-draft small{font-size:14px;font-weight:500;letter-spacing:0}
.app-frame:has(.demo-banner) .v3-photo-context{font-size:14px;line-height:1.5;margin-bottom:20px}
.app-frame:has(.demo-banner) .v3-cuff-image{width:min(100%,210px);margin:8px auto 0}
.app-frame:has(.demo-banner) .v3-capture .v3-manual{margin:0;padding:6px 0 8px;font-size:14px}
.app-frame:has(.demo-banner) .v3-capture .v3-manual summary{min-height:44px;display:flex;align-items:center;font-weight:700}
.app-frame:has(.demo-banner) .v3-capture .v5-sample-ack{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:13px;line-height:1.4}
.app-frame:has(.demo-banner) .v3-capture .v5-sample-ack input{width:22px;height:22px;flex:none;accent-color:#1f6a50}
.app-frame:has(.demo-banner) .v3-capture #photo-confirm:disabled{opacity:.45;cursor:not-allowed}
.app-frame:has(.demo-banner) .v3-capture #photo-confirm{min-height:52px;border-radius:8px;font-size:16px}
.app-frame:has(.demo-banner) .v3-capture #photo-retake{min-height:44px;font-size:14px}
.app-frame:has(.demo-banner) .onboarding-screen{max-width:660px;margin:auto;padding-top:24px}
.app-frame:has(.demo-banner) .onboarding-screen .page-heading{margin-bottom:24px}
.app-frame:has(.demo-banner) .onboarding-screen .page-heading h1{font-size:clamp(38px,5vw,54px);line-height:1.02;letter-spacing:-.045em;margin:8px 0 12px}
.app-frame:has(.demo-banner) .onboarding-screen .page-heading p:last-child{font-size:15px;line-height:1.5;max-width:48ch}
.app-frame:has(.demo-banner) .onboarding-screen .form-card{padding:clamp(20px,3vw,30px);border-radius:16px}
.app-frame:has(.demo-banner) .onboarding-screen .form-card h2{font-size:22px;margin-bottom:18px}
.app-frame:has(.demo-banner) .onboarding-screen label:not(.consent-row){font-size:14px;font-weight:650;margin:14px 0 6px}
.app-frame:has(.demo-banner) .onboarding-screen input:not([type=checkbox]){height:48px;margin-top:6px;padding:10px 12px;font-size:15px}
.app-frame:has(.demo-banner) .onboarding-screen fieldset{margin:22px 0 8px}
.app-frame:has(.demo-banner) .onboarding-screen legend{font-size:16px;font-weight:700;margin-bottom:10px}
.app-frame:has(.demo-banner) .onboarding-screen .consent-row{padding:14px;gap:12px;margin:8px 0;border-radius:10px}
.app-frame:has(.demo-banner) .onboarding-screen .consent-row strong{font-size:14px;line-height:1.35}
.app-frame:has(.demo-banner) .onboarding-screen .consent-row small{font-size:12px;line-height:1.4;margin-top:3px}
.app-frame:has(.demo-banner) .onboarding-screen .fine-print{font-size:12px!important;line-height:1.45;margin:14px 0!important}
.app-frame:has(.demo-banner) .onboarding-screen .button{min-height:52px;margin-top:14px;font-size:16px}
.app-frame:has(.demo-banner) .onboarding-screen .button:disabled{opacity:1;background:#d8e6dc!important;color:#496557!important;box-shadow:none!important;cursor:not-allowed}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-capture,.onboarding-screen .consent-row,.onboarding-screen input:not([type=checkbox]),.trends-add input:not([type=checkbox])){background:#1b2925;color:#edf4ed;border-color:#60836a}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-capture h1,.v3-photo-draft,.onboarding-screen .consent-row strong){color:#edf4ed}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-capture p,.v3-photo-context,.onboarding-screen .consent-row small,.onboarding-screen .fine-print){color:#c1d2c7!important}
html[data-theme=night] .app-frame:has(.demo-banner) :is(.v3-simulated,.trends-simulated-tag){color:#c1d2c7}
html[data-theme=night] .app-frame:has(.demo-banner) .pill-took-all{background:#243b2e;color:#d8efdc;border-color:#60836a}
@media(max-width:600px){
  .app-frame:has(.onboarding-screen) .floating-pill{width:64px;left:auto;right:16px;transform:none;justify-content:center}
  .app-frame:has(.onboarding-screen) .floating-pill a:not(.pill-sos){display:none}
  .app-frame:has(.demo-banner) .v3-today h1{order:-2}
  .app-frame:has(.demo-banner) .v3-today .v3-bp-link{order:-1}
  .app-frame:has(.demo-banner) .v3-today .v3-capture-primary{order:-1}
  .app-frame:has(.demo-banner) .v3-today h1{margin-bottom:6px!important}
  .app-frame:has(.demo-banner) .v3-today .v3-verdict{margin-bottom:14px!important}
  .app-frame:has(.demo-banner) .v3-return{padding:10px 12px;margin-bottom:4px}
  .app-frame:has(.demo-banner) .v3-bp-link .v3-data-card{margin:0 0 16px;padding:16px 20px}
  .app-frame:has(.demo-banner) .v3-today .v3-reading{font-size:48px!important}
  .app-frame:has(.demo-banner) .v3-ledger-row{grid-template-columns:minmax(0,1fr) minmax(92px,auto)}
  .app-frame:has(.demo-banner) .trends-card{padding:20px}
  .app-frame:has(.demo-banner) .onboarding-screen{padding-top:12px}
  .app-frame:has(.demo-banner) .onboarding-screen .page-heading{margin-bottom:16px}
  .app-frame:has(.demo-banner) .onboarding-screen .page-heading h1{font-size:36px;margin:5px 0 8px}
  .app-frame:has(.demo-banner) .onboarding-screen .form-card h2{margin-bottom:12px}
  .app-frame:has(.demo-banner) .onboarding-screen label:not(.consent-row){margin-top:10px}
  .app-frame:has(.demo-banner) .onboarding-screen fieldset{margin-top:14px}
  .app-frame:has(.demo-banner) .onboarding-screen .form-card{padding-bottom:96px}
  .app-frame:has(.demo-banner) .onboarding-screen .form-card>.button{position:fixed;z-index:30;bottom:calc(88px + env(safe-area-inset-bottom));left:16px;right:16px;width:auto;margin:0;background:#1f6a50;color:#fff;box-shadow:0 8px 24px #17291f33}
  html[data-theme=night] .app-frame:has(.demo-banner) .onboarding-screen .form-card>.button{background:#a8dfaf;color:#13251a}
}
/* screens/journey-v3.css */
.journey{max-width:980px;margin:auto;padding:12px 0 60px;color:var(--ink,#202924);font-family:Inter,system-ui,sans-serif}
.journey-kicker,.journey-eyebrow{margin:0 0 10px;color:var(--green,#205f46);font-size:11px;font-weight:800;letter-spacing:.11em}
.journey h1{max-width:18ch;margin:0 0 10px;font:600 clamp(34px,5vw,56px)/1.05 Inter,sans-serif!important;letter-spacing:-.055em}
.journey-lead{max-width:60ch;margin:0 0 28px;color:var(--muted,#52615a);font-size:16px;line-height:1.55}
.journey-modules{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 28px}
.journey-modules a{display:flex;gap:10px;align-items:center;min-height:54px;padding:10px;border-top:2px solid var(--line,#d8dfd7);color:var(--muted,#52615a);font-size:12px;font-weight:700;text-decoration:none}
.journey-modules a span{color:var(--green,#205f46);font-variant-numeric:tabular-nums}
.journey-modules a[aria-current=step]{border-color:var(--green,#205f46);background:var(--soft,#e9f2e9);color:var(--ink,#202924)}
.journey-timeline-card,.journey-suggestion,.journey-provider-section,.journey-cover,.journey-note{padding:28px;background:var(--paper,#fffefa);border:1px solid var(--line,#d8dfd7);border-radius:12px;margin:16px 0}
.journey-section-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.journey-section-head h2,.journey-suggestion h2,.journey-provider-section h2{margin:0 0 22px;font-size:24px;line-height:1.2;letter-spacing:-.04em}.journey-count{color:var(--muted,#52615a);font-size:12px;white-space:nowrap}
.journey-timeline{list-style:none;margin:4px 0 0;padding:0 0 0 9px}.journey-time-item{position:relative;padding:0 0 24px 27px;border-left:1px solid var(--line,#d8dfd7)}.journey-time-item:last-child{border-left-color:transparent;padding-bottom:0}
.journey-node{position:absolute;top:4px;left:-7px;width:13px;height:13px;border:2px solid var(--muted,#52615a);border-radius:50%;background:var(--paper,#fffefa)}.journey-time-item.done .journey-node{background:var(--green,#205f46);border-color:var(--green,#205f46)}.journey-time-item.current .journey-node{background:var(--paper,#fffefa);border:4px solid var(--green,#205f46);box-shadow:0 0 0 4px var(--soft,#e9f2e9)}
.journey-time-item.current .journey-time-body{padding:16px;background:var(--soft,#e9f2e9);border:1px solid var(--line,#d8dfd7);border-radius:8px}.journey-time-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.journey-time-top time,.journey-time-body small{font-size:12px;color:var(--muted,#52615a)}.journey-time-body h3{font-size:17px;line-height:1.3;margin:0 0 5px}.journey-time-body p{margin:0 0 8px;color:var(--muted,#52615a);font-size:13px;line-height:1.5}.journey-status{display:inline-block;background:var(--soft,#e9f2e9);color:var(--green,#205f46);padding:5px 9px;border-radius:5px;font-size:11px;font-weight:700;white-space:nowrap}.journey-time-item.current .journey-status{background:var(--green,#205f46);color:var(--paper,#fffefa)}
.journey-suggestion{border-left:4px solid var(--green,#205f46)}.journey-suggestion-number{margin:16px 0 10px;font-size:clamp(42px,6vw,62px);font-weight:700;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.journey-suggestion-number span{font-size:16px;font-weight:500;letter-spacing:0}.journey-suggestion-copy{max-width:68ch;font-size:16px;line-height:1.5}.journey-action{padding:16px;margin:20px 0;background:var(--soft,#e9f2e9);border-radius:8px}.journey-action strong{font-size:13px}.journey-action p{margin:6px 0 0;font-size:14px;line-height:1.5}.journey-source,.journey-disclaimer,.journey-safety{color:var(--muted,#52615a);font-size:12px;line-height:1.5}.journey-disclaimer{margin:6px 0 0}
.journey-provider-section>p{font-size:14px;color:var(--muted,#52615a)}.journey-filter,.journey-provider button,.journey-cover button,.journey-room button,.journey-note button{min-height:42px;padding:9px 14px;border:1px solid var(--control-line,#b6c4b9);border-radius:7px;background:var(--paper,#fffefa);color:var(--green,#205f46);font-size:13px;font-weight:700;cursor:pointer}.journey-filter[aria-pressed=true]{background:var(--green,#205f46);color:var(--paper,#fffefa)}.journey-providers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.journey-provider{display:flex;align-items:start;gap:12px;padding:16px;border:1px solid var(--line,#d8dfd7);border-radius:8px}.journey-provider.selected{border-color:var(--green,#205f46)}.journey-provider h3{font-size:15px;margin:0 0 4px}.journey-provider p{font-size:12px;color:var(--muted,#52615a);margin:0 0 8px}.journey-provider button{margin-left:auto}.journey-avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--soft,#e9f2e9);color:var(--green,#205f46);font-weight:700}
.journey-cover h2{margin:8px 0 12px}.journey-cover p:not(.journey-eyebrow),.journey-note p{max-width:65ch;color:var(--muted,#52615a);font-size:14px;line-height:1.5}.journey-record-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.journey-record-grid a{padding:18px;background:var(--paper,#fffefa);border:1px solid var(--line,#d8dfd7);border-radius:8px;color:var(--green,#205f46);font-size:14px;font-weight:700;text-decoration:none}
.journey-room{min-height:290px;padding:22px;background:#182822;color:#f6f9f3;border-radius:12px;text-align:center}.journey-room-top{display:flex;justify-content:space-between;color:#c9dccd;font-size:11px;font-weight:700}.journey-room-person{display:grid;place-items:center;width:76px;height:76px;margin:34px auto 12px;border:2px solid #8cbb9b;border-radius:50%;font-size:26px}.journey-room h2{margin:0}.journey-room p{font-size:13px;color:#d4e3d6}.journey-room button{background:#dff2e3;color:#123326}
.journey-next{display:flex;justify-content:space-between;align-items:center;min-height:54px;margin:22px 0;color:var(--green,#205f46);font-weight:700;text-decoration:none;border-top:1px solid var(--line,#d8dfd7)}.journey-safety{margin:18px 0}
@media(max-width:640px){.journey{padding:4px 0 80px}.journey-modules{grid-template-columns:repeat(2,1fr)}.journey-modules a{min-height:44px}.journey-timeline-card,.journey-suggestion,.journey-provider-section,.journey-cover,.journey-note{padding:20px}.journey-providers,.journey-record-grid{grid-template-columns:1fr}.journey-provider{flex-wrap:wrap}.journey-provider button{margin-left:48px}.journey h1{font-size:34px!important}.journey-lead{font-size:14px}}

.journey-booking{display:inline-block;margin:4px 0 8px;color:var(--green,#205f46);font-size:14px;font-weight:700}

/* The guided preview opens with the complete, scripted exchange on the first tap. */
.journey-suggestion{border-left:1px solid var(--line,#d8dfd7);background:linear-gradient(155deg,var(--soft,#e9f2e9),var(--paper,#fffefa) 58%)}
.journey-suggestion .journey-section-head h2{margin-bottom:18px}
.journey-suggestion-mark{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--green,#205f46);color:var(--paper,#fffefa);font-size:19px}
.journey-conversation{display:flex;flex-direction:column;gap:12px;margin:2px 0 18px}
.journey-bubble{width:fit-content;max-width:min(88%,560px);padding:15px 17px;border-radius:17px 17px 17px 4px;background:var(--paper,#fffefa);border:1px solid var(--line,#d8dfd7);box-shadow:0 5px 20px #173d2412}
.journey-bubble.is-user{align-self:flex-end;border-radius:17px 17px 4px 17px;background:var(--green,#205f46);border-color:var(--green,#205f46);color:var(--paper,#fffefa)}
.journey-bubble small{display:block;margin-bottom:7px;font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--green,#205f46)}
.journey-bubble.is-user small{color:var(--paper,#fffefa);opacity:.8}
.journey-bubble p{margin:0;font-size:14px;line-height:1.5}
.journey-action{display:flex;gap:12px;align-items:start;margin:0 0 18px;padding:17px;background:var(--green,#205f46);color:var(--paper,#fffefa);border-radius:11px}
.journey-action-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-size:18px}
.journey-action strong{display:block;font-size:13px}.journey-action p{margin:5px 0 0;font-size:14px;line-height:1.5}
.journey-evidence{display:flex;align-items:center;gap:17px;padding:14px 0;border-top:1px solid var(--line,#d8dfd7);border-bottom:1px solid var(--line,#d8dfd7)}
.journey-evidence-number{flex:none;font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.journey-evidence-number small{font-size:11px;font-weight:600;letter-spacing:0}
.journey-evidence p{margin:0;color:var(--muted,#52615a);font-size:12px;line-height:1.4}.journey-disclaimer{margin:12px 0 0}
@media(max-width:640px){.journey:has(.journey-suggestion) .journey-lead{margin-bottom:17px}.journey:has(.journey-suggestion) .journey-modules{margin-bottom:17px}.journey-bubble{max-width:94%;padding:12px 14px}.journey-conversation{gap:9px}.journey-evidence{align-items:start;flex-direction:column;gap:7px}}
