/* Larger type, visual actions and progressive detail for the patient app. */
@media screen {
 :root #app {font-size:16px;line-height:1.55}
 :root .main {line-height:1.6}
 :root .main :where(p,.tiny,.field,.select,.checkline,.context-label,.settings-item,.table,.exam-meta p,.exam-title-btn,.trend-label,.diary-entry p,.plan-card li,.meal-verdict ul,.care-context,.map-placeholder p,.plan-description,.plan-frequency,.plan-features,.cs-grid label,.cs-grid textarea,.cs-ticket-row,.cs-reply) {font-size:16px!important;line-height:1.6}
 :root .main :where(h2,.section-title h2) {font-size:21px!important;line-height:1.35}
 :root .main h3 {font-size:18px!important;line-height:1.4}
 :root .main .heading h1 {font-size:32px;line-height:1.2;letter-spacing:-.8px}
 :root .main :where(.btn,.text-btn,.page-back,.select,.search input,.field input,.field textarea,.field .select,.segmented button,.food-row input) {font-size:16px!important}
 :root .main :where(.btn,.text-btn,.page-back,.segmented button,.select,.icon-btn,.cs-tabs button) {min-height:48px}
 :root .main :where(.pill,.eyebrow,.range-labels,.reference-legend,.chart-foot,.motion-toggle,.result-summary-count,.marker-value small,.anatomy-marker-more,.anatomy-marker .tiny,.anatomy-demo-note,.anatomy-scenarios>span,.body-legend,.body-stage>p,.feature-tile-meta,.tile-plan,.report-card p,.food-row small,.food-row label,.nutrition-macros span,.nutrition-macros strong small,.diary-entry small,.cs-meta,.cs-status) {font-size:14px!important;line-height:1.5}
 :root .main .eyebrow {letter-spacing:.9px}
 :root .greeting-sun {font-size:25px;font-weight:400;color:var(--amber)}
 :root .plan-ribbon {margin-bottom:20px;padding:4px 12px;min-height:48px;font-size:14px}
 :root .plan-ribbon>span {gap:7px;white-space:nowrap}
 :root .plan-ribbon button {min-height:44px;font-size:14px;gap:5px}
 :root .plan-ribbon .icon {width:19px;height:19px}
 :root .ribbon-demo {color:var(--muted)}
 :root .hero {min-height:190px;padding:26px}
 :root .hero .hero-content {max-width:75%;position:relative;z-index:1}
 :root .hero h2 {font-size:32px!important;line-height:1.15;letter-spacing:-.6px}
 :root .hero p {font-size:16px!important;margin:12px 0 18px;max-width:230px}
 :root .hero-art {display:block;width:170px;height:170px;top:20px;right:2px}
 :root .hero .btn {padding:12px 16px;min-height:50px;margin-top:20px}
 :root .overview {margin-top:16px;gap:10px}
 :root .stat {padding:14px 12px;min-width:0}
 :root .stat .row {font-size:14px;line-height:1.35;gap:6px;min-height:38px;align-items:center}
 :root .stat .icon {width:20px;height:20px;flex-shrink:0}
 :root .stat strong {font-size:32px;line-height:1.2;margin-top:10px}
 :root .stat-total {font-size:15px;font-weight:400;color:var(--muted)}
 :root .quick-actions>.section-title {margin-bottom:14px}
 :root .feature-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 :root .feature-tile {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;min-width:0;min-height:172px;padding:20px 12px 16px;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:20px;color:var(--navy);box-shadow:0 4px 18px #24365006;transition:transform .15s ease,box-shadow .15s ease}
 :root .feature-tile:hover {transform:translateY(-2px);box-shadow:0 6px 18px #24365012}
 :root .feature-tile:active {transform:scale(.98)}
 :root .feature-glyph {display:flex;align-items:center;justify-content:center;position:relative;width:64px;height:64px;border-radius:19px;margin-bottom:8px;background:var(--surface);color:var(--blue)}
 :root .feature-glyph>.icon {width:37px;height:37px;stroke-width:1.6}
 :root .feature-glyph>.icon+ .icon {position:absolute;width:23px;height:23px;right:-5px;bottom:1px;padding:2px;background:var(--surface);border-radius:50%;color:var(--green)}
 :root .feature-tile-label {font-size:18px;font-weight:650;line-height:1.3}
 :root .feature-tile-meta {color:var(--muted);font-weight:400}
 :root .tile-plan {position:absolute;right:10px;top:9px;border-radius:6px;background:var(--surface);padding:2px 6px;font-size:12px!important;color:var(--muted)}
 :root .result-tile {background:var(--tint-blue)}
 :root .care-tile {background:var(--tint-teal)}
 :root .care-tile .feature-glyph {color:var(--accent-teal)}
 :root .profile-tile {background:var(--surface-muted)}
 :root .profile-tile .feature-glyph {color:var(--accent-violet)}
 :root .feature-tile.anatomy-preview {background:var(--tint-violet);padding:10px 10px 16px;gap:5px;overflow:hidden}
 :root .feature-tile.anatomy-preview .preview-visual {width:94px;height:90px;min-height:0;margin:-4px 0 0;flex:none}
 :root .feature-tile.anatomy-preview .body-diagram {width:100%;height:100%;max-height:none}
 :root .feature-tile.anatomy-preview .body-view-label,:root .feature-tile.anatomy-preview .body-callout {display:none}
 :root .feature-tile.anatomy-preview .feature-tile-label {color:var(--navy)}
 :root .visual-shortcut {display:flex;gap:12px;align-items:center;padding:14px}
 :root .visual-shortcut .shortcut-art {width:100px;flex-shrink:0}
 :root .visual-shortcut .plate-art {width:100%;height:auto;display:block}
 :root .visual-shortcut .text-btn {text-align:left;line-height:1.45}
 :root .main .attention {padding:20px}
 :root .attention p {margin:8px 0}
 :root .compact-notice {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;padding:14px 16px;font-size:14px;line-height:1.5}
 :root .compact-notice>.icon {flex-shrink:0;width:20px;height:20px}
 :root .compact-notice>span {flex:1;min-width:180px}
 :root .compact-notice .text-btn {font-size:14px!important;min-height:36px;white-space:nowrap}
 :root .learn-more {border:1px solid var(--line);border-radius:14px;padding:0;background:var(--surface);margin:16px 0;color:var(--navy)}
 :root .learn-more>summary {display:flex;align-items:center;gap:10px;list-style:none;min-height:54px;padding:14px 16px;font-size:16px;font-weight:600;cursor:pointer;text-align:left;line-height:1.4}
 :root .learn-more>summary::-webkit-details-marker {display:none}
 :root .learn-more>summary .icon {flex-shrink:0;width:21px;height:21px;color:var(--blue)}
 :root .learn-more>summary .icon:last-child {margin-left:auto;transition:transform .15s ease}
 :root .learn-more[open]>summary .icon:last-child {transform:rotate(90deg)}
 :root .learn-more>summary:focus-visible {outline:3px solid var(--blue);outline-offset:3px;border-radius:14px}
 :root .disclosure-content {padding:0 16px 16px}
 :root .disclosure-content>p {margin:8px 0 14px}
 :root .plan-resources {margin:20px 0 0;background:transparent}
 :root .plan-resources .plan-features {margin:0;padding:0 16px 16px}
 :root .upload-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 12px}
 :root .upload-choice {min-width:0;min-height:155px;border:1px solid var(--field-line);border-radius:18px;background:var(--tint-blue);color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 10px;font-size:16px}
 :root .upload-choice:nth-child(2) {background:var(--tint-violet)}
 :root .upload-choice>.icon {width:37px;height:37px;color:var(--blue)}
 :root .upload-choice:nth-child(2)>.icon {color:var(--accent-violet)}
 :root .upload-choice strong {font-size:17px;line-height:1.4}
 :root .upload-choice>span {font-size:14px;color:var(--muted)}
 :root .upload-formats {font-size:14px!important;text-align:center;color:var(--muted)}
 :root .upload-privacy {font-size:14px;text-align:left;line-height:1.55}
 :root .upload-privacy>.icon {flex-shrink:0;width:21px;height:21px}
 :root .upload-card .checkline {align-items:flex-start;text-align:left;gap:12px;margin:20px 0}
 :root .upload-card .checkline input {width:22px;height:22px;min-width:22px;margin-top:2px;accent-color:var(--primary-bg)}
 :root .example-options .text-btn {white-space:normal;line-height:1.5;text-align:left}
 :root .sample-divider {font-size:13px;letter-spacing:.7px}
 :root .sample-file {gap:12px}
 :root .sample-file .exam-meta {min-width:0;overflow-wrap:anywhere}
 :root .exam-row .exam-title-btn {width:100%;height:auto;min-height:44px;display:block;color:var(--navy);text-align:left;overflow-wrap:anywhere;line-height:1.5}
 :root .exam-row>.exam-meta {min-width:0}
 :root .exam-row>button {flex-shrink:0}
 :root .main .marker-top h3 {font-size:19px!important}
 :root .marker-top {flex-wrap:wrap;gap:8px}
 :root .marker .pill {max-width:100%;font-size:14px}
 :root .marker-value {font-size:36px}
 :root .marker-link {font-size:16px;min-height:44px}
 :root .anatomy-marker>.row {flex-wrap:wrap;gap:8px}
 :root .anatomy-marker>.row>strong {font-size:18px}
 :root .body-context-select label {font-size:16px}
 :root .body-context-select>span {font-size:14px}
 :root .organ-tabs button {font-size:16px;min-height:48px}
 :root .organ-link-buttons {display:grid;grid-template-columns:1fr;gap:8px}
 :root .organ-link-buttons>.btn,:root .organ-link-buttons>.text-btn {justify-content:flex-start;gap:12px;min-height:52px}
 :root .organ-link-buttons .icon {width:28px;height:28px;color:var(--accent-violet)}
 :root .body-stage {min-width:0}
 :root .main .anatomy-demo-note {margin-top:16px}
 :root .anatomy-context {border-left:1px solid var(--line);padding-left:0}
 :root .anatomy-content .eyebrow {font-size:13px!important}
 :root .chart-selection {gap:12px}
 :root .chart-selection strong {font-size:17px}
 :root .main .chart-selection .eyebrow {font-size:13px!important}
 :root .main .chart-selection .pill {font-size:14px}
 :root .reference-chart .axis-value {font-size:11px}
 :root .reference-chart .chart-tooltip text {font-size:12px}
 :root .main .specialist-item strong {font-size:17px}
 :root .main .specialist-item small,:root .main .specialist-item b {font-size:15px;line-height:1.5}
 :root .main .food-row strong {font-size:16px}
 :root .food-row {flex-wrap:wrap}
 :root .food-row input {width:72px}
 :root .main .meal-tabs button {display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
 :root .meal-types button {font-size:14px;min-height:88px;line-height:1.35}
 :root .main .meal-types .icon {width:26px;height:26px}
 :root .main .feature-gate small,:root .main .plan-faq-grid p {font-size:16px;line-height:1.6}
 :root .topbar .icon-btn {min-width:42px;min-height:44px}
 :root .login-sub,:root .login-helper,:root .demo-note,:root .login-legal {font-size:15px;line-height:1.6}
 :root .login-form-inner .field {font-size:16px}
 :root .login-form-inner .field input {font-size:16px;min-height:52px}
 :root .login-form-inner :where(.btn,.text-btn) {font-size:16px;min-height:48px}
 :root .sheet-body>:where(p,.tiny,.info-box,.referral-box),:root .sheet-body .field,:root .sheet-body .settings-item {font-size:16px;line-height:1.65}
 :root .sheet-body :where(.btn,.text-btn,.select) {font-size:16px;min-height:48px}
 :root .sheet-head h2 {font-size:23px;line-height:1.35}
 :root .sheet-body .account-shortcuts {grid-template-columns:1fr}
 :root .sheet-body .account-shortcuts .btn {justify-content:flex-start;gap:12px}
 :root .sheet-detail-value {font-size:38px}
 :root .footer-line {font-size:13px}
}
@media screen and (max-width:760px) {
 :root .main {padding:22px 18px 30px}
 :root .main .heading {margin-bottom:20px;gap:12px}
 :root .main .heading h1 {font-size:29px}
 :root .main .heading p {margin-top:8px}
 :root .main .card {padding:20px}
 :root .hero {padding:24px;min-height:202px}
 :root .hero-art {width:132px;height:150px;right:-3px;top:30px;opacity:.9}
 :root .hero .hero-content {max-width:77%}
 :root .hero p {max-width:200px;padding-right:16px}
 :root .hero .btn {gap:7px;padding:12px 14px}
 :root .dashboard-grid {gap:22px}
 :root .feature-grid {gap:12px}
 :root .feature-tile {min-height:178px;padding:20px 9px 16px}
 :root .feature-tile-label {font-size:18px}
 :root .main .stat .row {font-size:13px;flex-direction:column;align-items:flex-start;gap:6px;min-height:43px}
 :root .stat {padding:13px 12px}
 :root .stat strong {font-size:30px}
 :root .stat-total {font-size:14px}
 :root .overview {gap:8px}
 :root .plan-ribbon {flex-wrap:nowrap;gap:6px;margin-bottom:18px}
 :root .ribbon-demo {display:none}
 :root .mg-ribbon-links {gap:8px}
 :root .demo-banner {font-size:13px;margin-bottom:12px}
 :root .topbar {padding:0 16px;gap:5px;min-height:76px}
 :root .topbar>.brand {gap:8px;flex:1;min-width:0}
 :root .topbar .brandname {font-size:14px;max-width:148px}
 :root .topbar .brandname span {display:none}
 :root .topbar .brandmark {width:31px;height:34px}
 :root .topright {gap:2px}
 :root .topbar .icon-btn {width:42px;height:44px}
 :root .bottom-nav {padding:8px 4px max(10px,env(safe-area-inset-bottom));gap:0;min-height:76px}
 :root .bottom-nav button {min-width:0;flex:1;min-height:56px;padding:5px 2px;gap:6px;font-size:12px!important;line-height:1.3}
 :root .bottom-nav .icon {width:24px;height:24px}
 :root .workspace {padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 :root .main .result-top {flex-direction:column;align-items:flex-start;gap:20px}
 :root .result-ring {width:100px;height:100px;flex-shrink:0}
 :root .result-summary-count {display:grid;grid-template-columns:1fr;gap:8px;margin-top:15px}
 :root .main .result-toolbar .segmented {gap:6px}
 :root .main .result-toolbar .segmented button {font-size:15px!important;padding:9px 10px}
 :root .main .result-actions {grid-template-columns:1fr 1fr}
 :root .main .result-actions .btn {font-size:15px!important;padding:10px 8px;gap:7px}
 :root .main .organ-links {gap:14px}
 :root .main .learn-more.card {padding:0}
 :root .upload-card {padding:22px 18px}
 :root .upload-choices {gap:10px}
 :root .upload-choice {min-height:155px}
 :root .main .upload-choice strong {font-size:16px!important}
 :root .steps {gap:6px}
 :root .step {font-size:14px;gap:6px}
 :root .step-line {min-width:8px}
 :root .main .meal-tabs {gap:4px;flex-wrap:wrap}
 :root .main .meal-tabs button {font-size:15px!important;padding:12px 7px;flex:1 1 95px;line-height:1.4}
 :root .meal-types {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 :root .meal-types button {min-height:80px;font-size:16px;flex-direction:row;gap:8px}
 :root .main .toolbar {flex-wrap:wrap;gap:12px}
 :root .main .toolbar>.row {flex-wrap:wrap;width:100%}
 :root .main .toolbar>.row .select {flex:1;min-width:0;max-width:100%}
 :root .main .profile-submit .btn {width:100%}
 :root .main .cs-grid {grid-template-columns:1fr}
 :root .main .cs-tabs {flex-wrap:wrap}
 :root .main .cs-tabs button {font-size:16px}
 :root .main .anatomy-content {padding:20px}
 :root .main .organ-tabs {display:flex;flex-wrap:wrap;gap:8px}
 :root .main .organ-tabs button {font-size:16px;flex:1;min-width:80px}
 :root .anatomy-tools {flex-wrap:wrap}
 :root .main .motion-toggle {font-size:14px;min-height:44px}
 :root .main .anatomy-status {font-size:14px;white-space:normal}
 :root .body-legend {gap:12px;flex-wrap:wrap}
 :root .login-form-wrap {padding:30px 22px}
 :root .login-form-inner>.brand {margin-bottom:28px}
 :root .login-form-inner h2 {font-size:30px}
 :root .login-form-inner .compact-notice {font-size:14px}
 :root .login-legal {font-size:14px}
 :root .compact-notice {padding:14px}
 :root .compact-notice .text-btn {margin-left:30px}
 :root .chart-selection {flex-direction:column;align-items:flex-start}
 :root .chart-card .chart {width:100%;max-width:100%;min-width:0}
 :root .footer-line {flex-wrap:wrap;gap:4px}
}
@media screen and (max-width:359px) {
 :root .main {padding-left:14px;padding-right:14px}
 :root .topbar {padding-left:12px;padding-right:12px}
 :root .topbar .brandname {font-size:13px;max-width:125px}
 :root .topbar .brandmark {display:none}
 :root .topbar .icon-btn {min-width:38px;width:38px}
 :root .hero {padding:22px 18px}
 :root .hero-art {width:110px;right:-8px;top:24px}
 :root .hero .hero-content {max-width:90%}
 :root .hero p {max-width:185px;padding-right:10px}
 :root .feature-tile-label {font-size:17px}
 :root .feature-tile-meta {font-size:14px!important}
 :root .plan-ribbon {padding-left:9px;padding-right:9px}
 :root .bottom-nav button {font-size:11px!important}
 :root .main .result-actions {grid-template-columns:1fr}
 :root .main .stat .row {font-size:12px}
 :root .visual-shortcut .shortcut-art {width:82px}
 :root .step {font-size:13px}
}
@media screen and (min-width:761px) {
 :root .main .marker-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 :root .feature-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 :root .main .learn-more.card {padding:0}
 :root .plan-ribbon .mg-ribbon-links {gap:18px}
}
@media (prefers-reduced-motion:reduce) {
 :root .feature-tile,:root .learn-more>summary .icon {transition:none}
 :root .feature-tile:hover {transform:none}
}
