#layer-rating { margin: 16px 0 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-surface); }
#layer-rating .layer-live-scoreline { display: flex; align-items: center; gap: 14px; }
#layer-rating .layer-live-dial { display: grid; align-content: center; justify-items: center; flex: 0 0 72px; height: 72px; border-radius: 50%; background: radial-gradient(circle,var(--bg-card) 59%,transparent 61%),conic-gradient(var(--accent-color) var(--rating),var(--line) 0); color: var(--ink); }
#layer-rating .layer-live-dial output { font: 2rem/1 var(--studio-serif); font-variant-numeric: tabular-nums; }
#layer-rating .layer-live-dial > span { margin-top: 3px; font-size: .62rem; color: var(--muted); }
#layer-rating .layer-live-scorecopy { min-width: 0; }
#layer-rating .layer-live-kicker { display: block; color: var(--accent-color); font-size: .56rem; letter-spacing: .1em; font-weight: 600; }
#layer-rating .layer-live-scorecopy h3 { margin: 5px 0; font: 600 .92rem/1.35 system-ui,sans-serif; color: var(--ink); }
#layer-rating .layer-live-scorecopy p { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.55; }
#layer-rating[data-state=waiting] .layer-live-dial { opacity: .6; }
#layer-rating .layer-live-insights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; padding-top: 13px; margin-top: 13px; border-top: 1px solid var(--line); }
#layer-rating .layer-live-insights > div { min-width: 0; }
#layer-rating .layer-live-insights h4 { display: flex; align-items: center; gap: 5px; color: var(--accent-color); font: 600 .68rem/1.4 system-ui,sans-serif; margin: 0 0 7px; }
#layer-rating .layer-live-insights > div:last-child h4 { color: var(--amber); }
#layer-rating .layer-live-insights svg { width: 13px; height: 13px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
#layer-rating .layer-live-insights strong { display: block; font-size: .7rem; font-weight: 500; color: var(--ink); line-height: 1.4; }
#layer-rating .layer-live-insights p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: .64rem; color: var(--muted); line-height: 1.6; margin: 4px 0 0; }
#layer-rating .layer-full-review { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 32px; padding: 10px 0 0; margin-top: 3px; text-align: start; font-size: .68rem; }
#layer-rating .layer-full-review span { font-size: 16px; }
#layer-analysis .layer-review-report { min-width: 0; }
#layer-analysis .layer-review-report-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; margin: 4px 0 16px; }
#layer-analysis .layer-review-report-heading .eyebrow { display: block; margin-bottom: 7px; }
#layer-analysis .layer-review-report-heading h3 { font-size: 1.5rem; margin: 0; }
#layer-analysis .layer-review-estimate { padding: 5px 9px; border: 1px solid var(--line); background: var(--soft); color: var(--muted); border-radius: 999px; font-size: .67rem; }
#layer-analysis .layer-review-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
#layer-analysis .layer-review-columns > section { min-width: 0; background: var(--bg-surface); border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
#layer-analysis .layer-review-columns > section > h3 { display: flex; align-items: center; gap: 8px; font: 600 .9rem/1.4 system-ui,sans-serif; margin: 0 0 15px; }
#layer-analysis .layer-review-columns > section > h3 svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
#layer-analysis .layer-review-strengths > h3 { color: var(--accent-color); }
#layer-analysis .layer-review-concerns > h3 { color: var(--amber); }
#layer-analysis .layer-review-finding { padding: 14px 0; border-top: 1px solid var(--line); }
#layer-analysis .layer-review-finding h4 { font-size: .84rem; color: var(--ink); font-weight: 600; margin: 0 0 7px; }
#layer-analysis .layer-review-finding p { font-size: .78rem; line-height: 1.8; color: var(--text); margin: 0; overflow-wrap: anywhere; }
#layer-analysis .layer-review-finding > small { display: block; margin-top: 8px; font-size: .61rem; color: var(--muted); }
#layer-analysis .layer-review-notes { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
#layer-analysis .layer-review-notes span { font-size: .65rem; border-radius: 5px; border: 1px solid var(--line); padding: 3px 6px; color: var(--ink); background: var(--bg-card); }
#layer-analysis .layer-review-adjustments { padding: 18px; border-radius: 12px; background: var(--soft); border: 1px solid var(--line); margin-top: 18px; }
#layer-analysis .layer-review-adjustments h3 { font-size: 1.2rem; margin: 0 0 10px; }
#layer-analysis .layer-review-adjustments ul { margin: 0; padding-inline-start: 18px; }
#layer-analysis .layer-review-adjustments li { font-size: .8rem; color: var(--text); line-height: 1.8; padding-block: 3px; }
#layer-analysis .layer-review-method { margin-top: 18px; border: 1px solid var(--line); border-radius: 10px; padding: 12px 15px; }
#layer-analysis .layer-review-method summary { color: var(--ink); font-size: .8rem; font-weight: 600; cursor: pointer; }
#layer-analysis .layer-review-method > p { margin: 15px 0 0; font-size: .76rem; line-height: 1.85; color: var(--muted); max-width: 100ch; }
#layer-analysis .layer-review-factors { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding-block: 20px; }
#layer-analysis .layer-review-factors > div > div { display: flex; justify-content: space-between; gap: 10px; font-size: .77rem; color: var(--ink); }
#layer-analysis .layer-review-factors strong { font-weight: 500; }
#layer-analysis .layer-review-factors progress { width: 100%; height: 6px; margin: 10px 0 5px; accent-color: var(--accent-color); }
#layer-analysis .layer-review-factors p { font-size: .7rem; color: var(--muted); margin: 0; }
#layer-analysis .layer-review-method .layer-review-total { padding: 11px 14px; border-radius: 8px; border: 1px solid var(--line); background: var(--bg-card); color: var(--ink); margin: 0 0 20px; }
#layer-analysis .layer-review-method h4 { margin: 0 0 10px; color: var(--ink); font-size: .84rem; }
#layer-analysis .layer-review-sources { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
#layer-analysis .layer-review-sources li { font-size: .78rem; }
#layer-analysis .layer-review-sources span { display: block; color: var(--muted); font-size: .67rem; margin-top: 3px; }
#layer-analysis .layer-review-unavailable { background: var(--soft); padding: 18px; border-radius: 10px; }
@media (max-width: 600px) {
  #layer-analysis .layer-review-columns, #layer-analysis .layer-review-factors { grid-template-columns: minmax(0,1fr); }
  #layer-rating { padding: 12px; }
  #layer-rating .layer-live-dial { flex-basis: 62px; height: 62px; }
  #layer-rating .layer-live-dial output { font-size: 1.7rem; }
  #layer-rating .layer-live-scoreline { gap: 10px; }
  #layer-rating .layer-live-scorecopy h3 { font-size: .84rem; }
  #layer-rating .layer-live-kicker { font-size: .5rem; }
  #layer-rating .layer-live-insights { gap: 10px; }
}

#layer-coach { margin-top: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
#layer-coach[hidden] { display: none !important; }
#layer-coach .layer-coach-invitation { display: flex; gap: 10px; align-items: center; }
#layer-coach .layer-coach-icon { display: grid; place-items: center; flex: 0 0 31px; height: 31px; border-radius: 9px; background: var(--tint); color: var(--accent-color); }
#layer-coach svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
#layer-coach h4 { font: 600 .8rem/1.4 system-ui,sans-serif; color: var(--ink); margin: 0; }
#layer-coach .layer-coach-invitation p, #layer-coach .layer-coach-intro { font-size: .68rem; color: var(--muted); margin: 4px 0 0; line-height: 1.6; }
#layer-coach .layer-coach-actions { display: flex; align-items: center; gap: 15px; margin-top: 11px; }
#layer-coach .layer-coach-actions button { min-height: 34px; font-size: .7rem; }
#layer-coach .layer-coach-actions .secondary { padding: 7px 11px; }
#layer-coach[data-mode=dismissed] { background: transparent; border: 0; padding: 0; }
#layer-coach .layer-coach-reopen { display: inline-flex; align-items: center; gap: 6px; min-height: 33px; font-size: .7rem; }
#layer-coach .layer-coach-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#layer-coach .layer-coach-heading .eyebrow { display: block; font-size: .55rem; letter-spacing: .1em; margin: 0 0 5px; }
#layer-coach .layer-coach-heading button { font-size: .65rem; }
#layer-coach .layer-coach-simpler { display: flex; align-items: start; gap: 7px; font-size: .68rem; color: var(--ink); line-height: 1.6; margin: 11px 0; }
#layer-coach .layer-coach-simpler input { width: 13px; height: 13px; min-height: 0; padding: 0; margin-top: 2px; flex-shrink: 0; }
#layer-coach .layer-coach-option { min-width: 0; border: 1px solid var(--line); border-radius: 10px; padding: 13px; background: var(--bg-card); margin-top: 11px; }
#layer-coach .layer-coach-option-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 11px; }
#layer-coach .layer-coach-option-top > span { font-size: .7rem; color: var(--ink); font-weight: 600; }
#layer-coach .layer-coach-option-top > strong { display: inline-flex; align-items: baseline; gap: 3px; color: var(--accent-color); font: 1.7rem/1 var(--studio-serif); white-space: nowrap; }
#layer-coach .layer-coach-option-top small { font: .63rem/1 system-ui,sans-serif; color: var(--muted); }
#layer-coach .layer-coach-option-top em { font: 600 .66rem/1.2 system-ui,sans-serif; background: var(--tint); border-radius: 5px; padding: 3px 5px; margin-inline-start: 4px; }
#layer-coach .layer-coach-ingredients { display: grid; gap: 7px; }
#layer-coach .layer-coach-ingredient { display: flex; align-items: center; min-width: 0; gap: 8px; }
#layer-coach .layer-coach-photo { display: grid; place-items: center; width: 30px; height: 38px; flex-shrink: 0; background: var(--photo-bg); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; }
#layer-coach .layer-coach-photo img { width: 100%; height: 100%; padding: 2px; object-fit: contain; }
#layer-coach .layer-coach-photo svg { color: var(--muted); }
#layer-coach .layer-coach-name { display: grid; flex: 1; min-width: 0; gap: 2px; }
#layer-coach .layer-coach-name strong { font-size: .7rem; line-height: 1.4; color: var(--ink); font-weight: 500; overflow-wrap: anywhere; }
#layer-coach .layer-coach-name small { font-size: .6rem; color: var(--muted); }
#layer-coach .layer-coach-part-change { color: var(--muted); font-size: .65rem; white-space: nowrap; }
#layer-coach .layer-coach-part-change strong { color: var(--ink); font-weight: 600; }
#layer-coach .layer-coach-ingredient[data-removed=true] .layer-coach-name strong { text-decoration: line-through; color: var(--muted); }
#layer-coach .layer-coach-reasons { border-top: 1px solid var(--line); padding-top: 10px; margin-top: 11px; }
#layer-coach h5 { color: var(--ink); font-size: .68rem; font-weight: 600; margin: 0 0 5px; }
#layer-coach .layer-coach-reasons p { font-size: .65rem; color: var(--muted); margin: 3px 0; line-height: 1.6; }
#layer-coach .layer-coach-reasons .layer-coach-tradeoff { color: var(--amber); }
#layer-coach .layer-coach-option > button { width: 100%; min-height: 36px; padding: 8px 10px; margin-top: 11px; font-size: .72rem; }
#layer-coach .layer-coach-no-gain { padding: 13px; border: 1px dashed var(--line); border-radius: 9px; margin-top: 12px; background: var(--bg-card); }
#layer-coach .layer-coach-no-gain p { color: var(--muted); font-size: .7rem; line-height: 1.75; margin: 6px 0 0; }
#layer-coach .layer-coach-footnote { margin: 11px 0 0; font-size: .62rem; color: var(--muted); line-height: 1.7; }
#layer-coach .layer-coach-applied { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line); background: var(--tint); padding: 9px 11px; border-radius: 8px; margin-top: 12px; }
#layer-coach .layer-coach-applied p { color: var(--ink); font-size: .7rem; margin: 0; line-height: 1.6; }
#layer-coach .layer-coach-applied span { color: var(--accent-color); font-size: .65rem; }
#layer-coach .layer-coach-applied button { font-size: .7rem; flex-shrink: 0; }
@media (max-width: 500px) {
  #layer-coach { padding: 12px; }
  #layer-coach .layer-coach-option { padding: 11px; }
  #layer-coach .layer-coach-option-top { align-items: start; }
  #layer-coach .layer-coach-part-change { font-size: .61rem; }
}
