/* 4ツール共通の結果表示。計算値と判定ラベルは各ツールが渡す。 */
.result-panel { border-top: 4px solid var(--accent); }
.result-label { color: var(--muted); font-size: 1rem; margin: 0 0 12px; scroll-margin-top: 16px; }
.result-summary { background: #f0f8f6; border: 1px solid #c6dfd9; border-radius: 10px; padding: 16px; margin: 12px 0; }
.result-summary h3, .result-summary .card-label { font-size: .875rem; margin: 0 0 4px; }
.result-value { font-size: clamp(1.65rem, 4vw, 2.15rem); line-height: 1.4; font-weight: 800; color: var(--accent); margin: 6px 0 12px; overflow-wrap: anywhere; }
.result-summary .result-value { font-size: clamp(1.65rem, 4vw, 2.15rem); margin: 6px 0 12px; }
.result-metric { margin: 10px 0 0; font-size: .9375rem; }
.result-metric strong { font-size: 1.5rem; color: var(--accent); }
.result-status, .result-panel .bed-status { display: inline-block; border: 0; border-radius: 6px; padding: 6px 10px; font-size: .875rem; line-height: 1.6; font-weight: 700; background: #e5f4ef; color: #075b4d; }
.result-status[data-tone=check], .result-panel .bed-status[data-status=narrow], .result-panel .bed-status[data-status=tight] { background: #fff0d4; color: #77450b; }
.result-status[data-tone=no], .result-panel .bed-status[data-status=overflow] { background: #fce8e6; color: #922924; }
.result-reason { margin: 16px 0; font-size: .9375rem; line-height: 1.8; }
.result-reason h3 { margin: 0 0 4px; font-size: 1rem; }
.result-reason p { margin: 4px 0; }
.result-details { border: 1px solid var(--border); border-radius: 8px; margin: 16px 0; padding: 0 12px; }
.result-details > summary { padding: 14px 0; color: var(--accent); font-size: .9375rem; }
.result-next { margin: 18px 0 0; }
.result-next h3 { font-size: 1rem; margin: 0 0 8px; }
.result-next p { font-size: .875rem; margin: 8px 0; }
.explanation-divider { border-top: 2px solid var(--border); padding-top: 24px; margin-top: 36px; }
.result-panel .result-measure, .result-panel .bed-plan { background: white; }
.result-panel .bed-plan { margin: 12px 0; }
.result-panel .bed-plan figcaption { font-size: .8125rem; }
.result-panel .bed-result, .result-panel.bed-result { position: static; }
.result-panel .curtain-size span { display: block; }
.result-panel .curtain-result-card + .curtain-result-card { border-top: 1px solid var(--border); padding-top: 18px; }
.result-panel .curtain-result-card > h3 { margin-top: 16px; }
.result-panel .arrangement { margin: 8px 0; overflow-wrap: anywhere; }
.result-panel .total { font-size: clamp(2.5rem, 7vw, 3.5rem); }
.result-panel .tv-size-range { font-size: clamp(1.65rem, 4vw, 2.15rem); }
.result-panel .bed-summary { font-size: .875rem; }
.result-panel .section-block { margin-block: 20px; }
.result-panel .result-heading { margin-bottom: 8px; }
.result-panel .result-details .muted { font-size: .8125rem; }
.result-panel .result-next a.secondary-button { min-height: 48px; }
@media(max-width:375px) {
  .result-summary { padding: 12px; }
  .result-panel .result-metric strong { font-size: 1.375rem; }
  .result-panel .result-details { padding-inline: 10px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
.commerce-block { margin: 18px 0; padding: 16px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.commerce-block h3 { font-size: 1rem; margin: 0 0 8px; }
.commerce-block p { margin: 8px 0; font-size: .9375rem; overflow-wrap: anywhere; }
.commerce-block .muted, .commerce-disclosure { font-size: .8125rem; }
.commerce-block .commerce-cta { display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 48px; width: 100%; padding: 12px; margin: 10px 0; background: #edf7f4; border: 1px solid var(--accent); border-radius: 8px; color: var(--accent); font-weight: 700; text-decoration: none; line-height: 1.6; overflow-wrap: anywhere; }
.commerce-cta:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
