﻿/* 底部導覽保留原始字級與樣式，不套用內文字級覆寫。 */
/* 使用既有色票；所有文字由兩個 rem 尺寸控制，保留閱讀設定。 */
body.gandau-app { --gd-text-size: 1rem; --gd-title-size: 1.25rem; font-size: var(--gd-text-size) !important; }
.gandau-app :where(p, a, button, input, select, textarea, label, legend, small, strong, b, em, time, dt, dd, li, th, td, summary, div, section, article, header, footer, nav, main, aside, form, fieldset, output, option, blockquote, pre, code, span:not([class*="icon"]):not(.gandau-brand-mark):not(.gandau-avatar)):not(.mobile-bottom-bar):not(.mobile-bottom-bar *) {
    font-size: var(--gd-text-size) !important;
}
.gandau-app :where(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--gd-title-size) !important; font-weight: 600; line-height: 1.5;
}
.gandau-app :where(h1, h2, h3, h4, h5, h6) :where(span, a, strong, small) { font-size: inherit !important; }
.gandau-app :where(input, button, select, textarea) { font-family: inherit; }
.gandau-app :where(p, label, h1, h2, h3, a, button, summary):not(.mobile-bottom-bar *) { overflow-wrap: anywhere; }
.gandau-app .home-overview { gap: 26px; max-width: 760px; }
.gandau-app .home-overview > * { min-width: 0; }
.gandau-app .home-overview h2 { margin: 0; }
.gandau-app .home-overview .gandau-section-title { margin-bottom: 14px; gap: 12px; }
.gandau-app .home-overview .gandau-section-title > a { min-height: 44px; display: inline-flex; align-items: center; color: var(--gd-teal-dark); }
.gandau-app .home-greeting { color: var(--gd-muted); margin: 0; }
/* 單行公告保留完整內容於展開清單，手動左右滑動。 */
.gandau-app .home-overview .app-announcements { position: relative; display: block; border: 0; background: var(--gd-mint); border-radius: 14px; padding: 8px 12px; margin: 0; }
.gandau-app .home-news-strip { display: flex; align-items: center; gap: 8px; min-height: 44px; padding-right: 6.5rem; }
.gandau-app .home-news-strip > .ph { flex: 0 0 20px; font-size: 20px; color: var(--gd-teal-dark); }
.gandau-app .home-news-rail { display: flex; flex: 1; min-width: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gandau-app .home-news-rail::-webkit-scrollbar { display: none; }
.gandau-app .home-overview .home-news-preview { display: flex; flex: 0 0 100%; min-width: 0; min-height: 44px; align-items: center; scroll-snap-align: start; color: var(--gd-ink); text-decoration: none; }
.gandau-app .home-news-preview > span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gandau-app .home-news-empty { margin: 0; color: var(--gd-muted); }
.gandau-app .app-announcements:not(:has(.home-news-more)) .home-news-strip { padding-right: 0; }
.gandau-app .home-news-more > summary { position: absolute; top: 8px; right: 12px; display: flex; align-items: center; gap: 4px; min-height: 44px; list-style: none; cursor: pointer; color: var(--gd-teal-dark); }
.gandau-app .home-news-more > summary::-webkit-details-marker { display: none; }
.gandau-app .home-news-more .home-news-hide, .gandau-app .home-news-more[open] .home-news-show { display: none; }
.gandau-app .home-news-more[open] .home-news-hide { display: inline; }
.gandau-app .home-news-more[open] > summary > .ph { transform: rotate(180deg); }
.gandau-app .home-news-item { padding: 14px 0; border-top: 1px solid var(--gd-line); scroll-margin-top: calc(var(--gd-topbar) + 20px); }
.gandau-app .home-news-item p { margin: 0; white-space: pre-line; }
.gandau-app .home-news-item a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--gd-teal-dark); }
.gandau-app .home-news-preview:focus-visible, .gandau-app .home-news-more > summary:focus-visible, .gandau-app .home-news-item:focus-visible { outline: 2px solid var(--gd-teal); outline-offset: -2px; border-radius: 4px; }
.gandau-app .home-readings { padding: 4px 20px; background: #fff; border-radius: var(--gd-radius); box-shadow: var(--gd-shadow); }
.gandau-app .home-reading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 16px 0; color: var(--gd-ink); }
.gandau-app .home-reading + .home-reading { border-top: 1px solid var(--gd-line); }
.gandau-app .home-reading strong { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.gandau-app .home-reading small { grid-column: 1 / -1; color: var(--gd-muted); }
.gandau-app .home-reading:hover strong { color: var(--gd-teal-dark); }
.gandau-app .home-food-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; color: var(--gd-muted); margin: 12px 0; }
.gandau-app .home-food-next { border: 0; background: transparent; color: var(--gd-teal-dark); min-height: 44px; padding: 6px 0 6px 12px; }
.gandau-app .home-food-rail { display: flex; align-items: flex-start; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; padding: 4px 4px 16px; scrollbar-width: thin; scrollbar-color: var(--gd-line) transparent; }
.gandau-app .home-food { flex: 0 0 42%; min-width: 0; border-radius: 20px; background: #fff; box-shadow: var(--gd-shadow); scroll-snap-align: start; overflow: hidden; }
.gandau-app .home-food > summary { display: block; padding: 0; color: var(--gd-ink); list-style: none; }
.gandau-app .home-food > summary::-webkit-details-marker { display: none; }
.gandau-app .home-food > summary:focus-visible { outline: 3px solid var(--gd-teal); outline-offset: -3px; }
.gandau-app .home-food-art { display: grid; place-items: center; height: 100px; background: var(--gd-mint); color: var(--gd-teal-dark); }
.gandau-app .home-food:nth-child(2n) .home-food-art { background: var(--gd-blue); }
.gandau-app .home-food:nth-child(3n) .home-food-art { background: var(--gd-yellow); }
.gandau-app .home-food-art .ph { font-size: 42px; }
.gandau-app .home-food-name { display: block; padding: 14px 16px 4px; font-weight: 600; overflow-wrap: anywhere; }
.gandau-app .home-food-hint { display: flex; align-items: center; justify-content: space-between; padding: 0 16px 16px; color: var(--gd-muted); }
.gandau-app .home-food[open] .home-food-hint .ph { transform: rotate(180deg); }
.gandau-app .home-food-detail { padding: 0 16px 16px; overflow-wrap: anywhere; }
.gandau-app .home-food-detail dl { margin: 0; }
.gandau-app .home-food-detail dl > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 6px 0; border-bottom: 1px solid var(--gd-line); }
.gandau-app .home-food-detail dt { font-weight: 400; }.gandau-app .home-food-detail dd { margin: 0; }
.gandau-app .home-pending { display: flex; align-items: center; gap: 14px; background: var(--gd-mint); border-radius: 18px; padding: 18px; }
.gandau-app .home-pending > span { flex: 1; min-width: 0; }
.gandau-app .home-pending strong, .gandau-app .home-pending > span > span { display: block; }
.gandau-app .home-pending > span > span { color: var(--gd-muted); }
.gandau-app .home-pending > .ph { color: var(--gd-teal-dark); font-size: 24px; }
.gandau-app .home-overview .health-activity { padding: 14px 0; border-color: var(--gd-line); }
.gandau-app .home-profile-links { display: grid; gap: 4px; }
.gandau-app .home-profile-links a { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 10px 0; color: var(--gd-teal-dark); }
.gandau-app .home-profile-links a span { flex: 1; }
.gandau-app .home-activity-section:has(.activity-history[open]) .activity-preview { display: none; }
.gandau-app .activity-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.gandau-app .activity-pagination > span { color: var(--gd-muted); }
.gandau-app #recent-activity { scroll-margin-top: calc(var(--gd-topbar) + 20px); }
.gandau-app .home-weekly { padding: 20px; background: var(--gd-mint); border-radius: 18px; }
.gandau-app .weekly-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; padding: 0; margin: 16px 0; list-style: none; text-align: center; }
.gandau-app .weekly-days li { display: grid; justify-items: center; gap: 6px; color: var(--gd-muted); }
.gandau-app .weekly-day-mark { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; }
.gandau-app .weekly-days .is-recorded .weekly-day-mark { color: #fff; background: var(--gd-teal); }
.gandau-app .weekly-days .is-future .weekly-day-mark { background: transparent; }
.gandau-app .weekly-change { display: grid; gap: 4px; padding: 12px 0; border-top: 1px solid var(--gd-line); }
.gandau-app .weekly-change small { color: var(--gd-muted); }
.gandau-app .home-weekly a { color: var(--gd-teal-dark); }
.gandau-app .home-weekly a.overview-button.primary { color: #fff; }
.gandau-app .measurement-switch, .gandau-app .measurement-options { margin: 16px 0; }
.gandau-app .measurement-switch summary, .gandau-app .measurement-options summary { min-height: 44px; padding: 8px 0; color: var(--gd-teal-dark); cursor: pointer; }
.gandau-app #measurementTimeLabel { display: inline-block; color: var(--gd-muted); margin-left: 8px; }
.gandau-app .measurement-now { min-height: 44px; border: 0; background: transparent; color: var(--gd-teal-dark); padding: 8px 0; }
.gandau-app .measurement-saved { background: var(--gd-mint); padding: 20px; border-radius: 18px; }
.gandau-app .measurement-saved h2 { margin: 0 0 10px; }
.gandau-app .measurement-saved-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gandau-app .measurement-saved-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; background: #fff; border-radius: 12px; color: var(--gd-teal-dark); }
.gandau-app #weekly-progress { scroll-margin-top: calc(var(--gd-topbar) + 20px); }
.gandau-app .measure-stepper { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 8px; }
.gandau-app .measure-stepper > button { min-height: 52px; border: 0; border-radius: 14px; background: var(--gd-mint); color: var(--gd-teal-dark); font-weight: 600; }
.gandau-app .measure-stepper > input { min-width: 0; text-align: center; padding: 0 6px; font-variant-numeric: tabular-nums; }
.gandau-app .measure-number button:disabled { opacity: .45; cursor: default; }
.gandau-app .measure-input-help { margin: 10px 0 2px; color: var(--gd-muted); }
.gandau-app .measure-slider { display: block; width: 100%; min-height: 44px; margin: 0; accent-color: var(--gd-teal); cursor: pointer; }
.gandau-app .measure-slider:disabled { opacity: .45; cursor: default; }
.gandau-app .measure-range-scale { display: flex; justify-content: space-between; gap: 12px; color: var(--gd-muted); }
.gandau-app .measure-number-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; color: var(--gd-muted); }
.gandau-app .measure-number-footer button { border: 0; background: transparent; color: var(--gd-teal-dark); min-height: 44px; padding: 6px 8px; }
.gandau-app #measurementForm .radio-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.gandau-app #measurementForm .radio-row label { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px; border: 1px solid var(--gd-line); border-radius: 14px; }
.gandau-app #measurementForm .radio-row label:has(input:checked) { background: var(--gd-mint); border-color: var(--gd-teal); color: var(--gd-teal-dark); }
.gandau-app #measurementForm .radio-row input { accent-color: var(--gd-teal); }
@media(max-width: 640px) {
    .gandau-app .home-food { flex-basis: 76%; }
    .gandau-app .home-overview { gap: 24px; }
    .gandau-app .home-reading { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
    .gandau-app .gandau-main :where(.btn, .overview-button) { white-space: normal; }
}
@media(prefers-reduced-motion: reduce) { .gandau-app .home-food-rail { scroll-behavior: auto; } }
