/* UI review 2 — presentation-only repair for the supplied screenshot feedback.
   Calculation, question bank, eligibility policy, exports and recommendation routing unchanged. */
:root {
  --review-soft: light-dark(#eef2e6, #314238);
  --review-soft-border: light-dark(#c7d3bd, #728675);
  --review-emphasis: light-dark(#233c32, #edf1e8);
  --review-notice-ink: light-dark(#514326, #f5e5c9);
  --review-notice-bg: light-dark(#fbf0d9, #433c2e);
  --review-nav-active: light-dark(#315f53, #aacbb9);
  --review-nav-active-ink: light-dark(#f4f7ef, #183c32);
}
/* Explicit surface/foreground pairs, including the box that looked blank in dark mode. */
.beta-completion { background:var(--review-soft); color:var(--ink); border-color:var(--review-soft-border); padding:20px 24px; }
.beta-completion strong { display:block; color:var(--ink); font-size:1rem; }
.beta-completion p { color:var(--ink); }
.beta-policy-note { color:var(--muted); opacity:1; }
.beta-storage { background:var(--tile); color:var(--ink); border-color:var(--line); }
.beta-storage p { color:var(--muted); }
.beta-review-warning { background:var(--review-notice-bg); color:var(--review-notice-ink); border-color:var(--review-soft-border); }
.beta-dialog pre,.beta-dialog textarea { background:var(--tile); color:var(--ink); border-color:var(--review-soft-border); }
.beta-status { background:var(--review-soft); color:var(--ink); border-color:var(--review-soft-border); }
.beta-next-grid>* { min-width:0; }
/* Question art is a compact visual guide. Copy keeps the flexible column. */
.question-heading { display:grid; grid-template-columns:clamp(64px,9vw,88px) minmax(0,1fr); gap:clamp(14px,2.4vw,22px); align-items:start; margin-bottom:26px; }
.question-heading>* { min-width:0; }
.question-domain-visual { box-sizing:border-box; display:grid; place-items:center; justify-self:start; width:clamp(64px,9vw,88px); aspect-ratio:1; padding:clamp(10px,1.5vw,15px); overflow:hidden; border:1px solid var(--review-soft-border); border-radius:18px; background:var(--tile); color:var(--clay); }
.question-domain-visual>img,.question-domain-visual>svg { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
.question-heading-copy h2,.question-heading-copy .question-help{margin-top:0}
.question-heading-copy .question-help{margin-bottom:0}
/* Do not let a lone copy column fall into the original 110px illustration track. */
#agniFollowup { margin-top:30px; }
#agniFollowup .agni-followup-card { display:block; width:100%; padding:clamp(20px,3vw,32px); background:var(--tile); border:1px solid var(--line); }
#agniFollowup .agni-followup-card>div { width:100%; min-width:0; max-width:760px; }
#agniFollowup .agni-followup-card h2 { max-width:26ch; margin:8px 0 14px; font-size:clamp(1.65rem,3vw,2.25rem); line-height:1.2; text-wrap:pretty; }
#agniFollowup .agni-followup-card p { max-width:66ch; }
#startAgniButton { display:inline-flex; align-items:center; justify-content:center; min-height:48px; width:auto; max-width:100%; padding:12px 20px; margin:6px 0 0; border-radius:12px; line-height:1.4; white-space:normal; }
/* Utility actions remain available, but the report itself has visual priority. */
.results-heading { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.results-heading>* { min-width:0; }
.results-heading-actions { display:flex; flex-wrap:wrap; gap:4px 8px; width:100%; max-width:none; justify-content:flex-start; align-items:flex-start; }
.results-heading-actions button { flex:0 1 auto; min-width:44px; width:auto; max-width:100%; min-height:44px; height:auto; padding:9px 10px; border-radius:8px; margin:0; border:1px solid transparent; background:transparent; color:var(--muted); font-size:.8125rem; font-weight:600; line-height:1.4; box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
.results-heading-actions svg { flex:none; width:16px; height:16px; }
.results-heading-actions button:hover { background:var(--tile); border-color:var(--line); color:var(--ink); }
.results-heading-actions button:focus-visible { color:var(--ink); border-color:var(--review-soft-border); }
/* Section links stay ordinary document-navigation links, not mislabelled ARIA tabs. */
.report-nav { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr)); gap:8px; padding:8px; background:var(--paper); border-color:var(--review-soft-border); scroll-margin-top:10px; overflow:visible; }
.report-nav a { box-sizing:border-box; min-width:0; padding:12px 10px; border:1px solid var(--review-soft-border); background:var(--surface); color:var(--ink); border-radius:10px; min-height:52px; line-height:1.4; display:flex; gap:8px; align-items:center; justify-content:center; white-space:normal; overflow-wrap:anywhere; }
.report-nav a>span { min-width:0; }
.report-nav .report-nav-icon { flex:0 0 24px; display:block; width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:var(--nav-icon-stroke,1.6); stroke-linecap:round; stroke-linejoin:round; }
.report-nav a[aria-current="location"] { color:var(--review-nav-active-ink); background:var(--review-nav-active); border-color:var(--review-nav-active); font-weight:800; box-shadow:none; }
.report-nav a:hover:not([aria-current="location"]) { background:var(--review-soft); border-color:var(--review-nav-active); }
.report-chapter { scroll-margin-top:var(--review-nav-offset,100px); }
.report-chapter>.chapter-heading { flex-wrap:wrap; }
.report-chapter>.chapter-heading>div { flex:1 1 26rem; min-width:0; }
.report-chapter>.chapter-heading .chapter-art { flex:0 0 144px; max-width:100%; object-fit:contain; }
.chapter-heading h2,.chapter-heading p { overflow-wrap:anywhere; }
/* Every disclosure has a consistent visible cue. Native summary gives keyboard and expanded semantics. */
.report-disclosure>summary { padding:18px 4px; gap:16px; }
.report-disclosure>summary>.disclosure-chevron { display:none; }
.report-disclosure>summary::after { content:'+'; display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--review-soft-border); border-radius:8px; color:var(--clay); font:600 22px/1 system-ui,sans-serif; flex:none; margin-left:auto; }
.report-disclosure[open]>summary::after { content:'−'; }
.report-disclosure>summary:hover { color:var(--clay); }
/* Baseline/recent use the same doṣa symbol and colour, with a different time-frame container. */
.signal-panel[data-result-layer="baseline"] .signal-heading-mark>.dosha-mark,
.relationship-mark>div:first-child>.dosha-mark { background:var(--review-soft); border:2px solid var(--review-soft-border); border-radius:16px; }
.signal-panel[data-result-layer="current"] .signal-heading-mark>.dosha-mark,
.relationship-mark>div:last-child>.dosha-mark { background:var(--surface); border:2px dashed var(--review-soft-border); border-radius:16px; }
.relationship-mark { align-items:center; }
.relationship-mark>div>.layer-timeframe { display:block; color:var(--muted); font:500 .7rem/1.35 system-ui,sans-serif; text-transform:none; letter-spacing:0; margin-top:8px; max-width:100px; }
.signal-panel header>span { color:var(--muted); line-height:1.5; }
/* A zero score must not display a fake minimum-width colored sliver. */
.signal-fill,.agni-signal-track>span { min-width:0; }
/* Agni heading, evidence badge and bars are separate, breathing blocks. */
#agniResultVisual .agni-result-card { overflow:visible; }
#agniResultVisual .agni-result-card>header { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:clamp(20px,3vw,30px); margin:0 0 28px; border-radius:16px; border:1px solid var(--line); background:var(--tile); }
#agniResultVisual .agni-result-card>header h2 { margin:8px 0 14px; font-size:clamp(1.7rem,3.2vw,2.5rem); line-height:1.2; }
#agniResultVisual .agni-result-card>header p { margin:0; max-width:72ch; color:var(--ink); }
#agniResultVisual .completion-seal { flex:none; margin:0; }
#agniResultVisual .agni-signal-bars { gap:18px; margin:0; padding:4px 2px 12px; }
#agniResultVisual .agni-signal-row { grid-template-columns:140px minmax(40px,1fr) 86px; gap:14px; }
#agniResultVisual .agni-signal-rank { grid-column:auto; min-width:0; }
#agniResultVisual .agni-result-card>p { margin:16px 0 0; }
/* Reused CC0 anatomy symbols are grouped as one accessible, image-only visual. */
.gi-visual { box-sizing:border-box; width:170px; flex:0 0 170px; margin:0; padding:16px 14px; background:var(--tile); border:1px solid var(--review-soft-border); border-radius:18px; text-align:center; }
.gi-organs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:12px; }
.gi-organ { min-width:0; }
.gi-organ svg { display:block; width:62px; height:62px; max-width:100%; margin:0 auto; }
.gi-organ:first-child svg { color:var(--clay); }
.gi-organ:last-child svg { color:light-dark(#476b61,#a9c8ba); }
.gi-organ span,.gi-visual figcaption { display:none; }
@media(max-width:820px) { .gi-visual{width:156px;flex-basis:156px;} }
@media(max-width:640px) {
  .question-heading { grid-template-columns:minmax(0,1fr); gap:14px; }
  .question-domain-visual { order:-1; justify-self:start; width:64px; padding:10px; border-radius:16px; }
}
@media(max-width:560px) {
  .results-heading-actions { gap:4px; }
  .results-heading-actions button { min-height:44px; padding:9px 8px; }
  .report-nav { grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr)); gap:6px; }
  .report-nav a { font-size:.875rem; padding:10px 7px; gap:6px; }
  .report-nav .report-nav-icon { flex-basis:22px; width:22px; height:22px; }
  #reportDigestion>.chapter-heading { flex-wrap:wrap; }
  #reportDigestion>.chapter-heading>div { width:100%; }
  .gi-visual { width:100%; flex:0 0 100%; padding:12px 16px; }
  .gi-organs { width:min(150px,100%); margin-inline:auto; }
  .gi-organ { text-align:center; }
  .gi-organ svg { width:48px;height:48px; }
  #agniResultVisual .agni-signal-row { grid-template-columns:102px minmax(20px,1fr) 66px; gap:8px; }
  #agniResultVisual .agni-signal-name { gap:6px; }
  #agniResultVisual .agni-signal-name .agni-glyph { width:25px;height:25px;flex:none; }
  #agniResultVisual .agni-signal-name strong,#agniResultVisual .agni-signal-rank { font-size:.75rem; }
  #agniResultVisual .agni-result-card>header { padding:18px; }
  #agniFollowup .agni-followup-card { padding:20px; }
  #startAgniButton { width:100%; }
  .beta-completion { padding:18px; }
}
@media(prefers-reduced-motion:reduce){.signal-fill,.agni-signal-track>span{transition:none!important}}
/* Toasts remain readable confirmations, not circular visual elements on narrow screens. */
.toast { border-radius:12px; padding:12px 16px; }
