main { max-width: 1200px; }
.step { max-width: 800px; margin-inline: auto; }
.result-step { max-width: 1200px; }
@media (max-width: 1000px) { .result-step { max-width: 800px; } }
.feedback-section { margin-top: 42px; padding: 28px; border: 1px solid #d9dee4; border-radius: 14px; background: #fff; }
.feedback-section h2 { margin: 0 0 12px; font-size: 24px; }
.feedback-section > p { margin: 7px 0; color: #59636d; line-height: 1.65; }
.feedback-section .feedback-time { margin: 17px 0 20px; color: #365d7a; font-size: 13px; font-weight: 700; }
#feedback-form { display: block; width: 100%; max-width: 100%; min-height: 1500px; border: 0; }
.feedback-fallback { margin-bottom: 0!important; font-size: 13px; }
.feedback-fallback a { color: #365d7a; font-weight: 800; }
@media (max-width: 640px) { .feedback-section { margin-top: 32px; padding: 22px 16px; } .feedback-section h2 { font-size: 21px; } #feedback-form { min-height: 1750px; } }
.status.partially_supported { background: #eaf1f7; color: #365d7a; }
.status.unsupported { background: #fff4d8; color: #815d13; }
.status.conflicting { background: #fff0e5; color: #87502b; }
.status.insufficient_evidence { background: #eef0f2; color: #59636d; }
.document-status { display: flex; justify-content: space-between; gap: 12px; padding: 14px; border-radius: 9px; background: #f5f6f7; color: #59636d; font-size: 13px; }
.document-status strong { color: #18324a; }
.upload-notice { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid #4f7396; background: #eaf1f7; color: #365d7a; font-size: 12px; line-height: 1.6; }
.next-actions { display: grid; gap: 12px; }
.next-actions .next-action small { display: block; margin-bottom: 8px; color: #b9cfdf; font-weight: 700; }
@media (max-width: 640px) { .document-status { flex-direction: column; } }

.app-header span { max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.value-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0 0 28px; padding: 0; list-style: none; }
.value-flow li { display: flex; align-items: center; gap: 8px; padding: 13px 12px; border-radius: 10px; background: #eaf1f7; color: #365d7a; font-size: 12px; font-weight: 700; }
.value-flow strong { display: grid; flex: none; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #4f7396; color: #fff; }
.perception-comparison { margin: 28px 0; }
.section-heading.compact { margin: 0 0 15px; }
.section-heading.compact p:last-child { margin: 7px 0 0; color: #59636d; line-height: 1.6; }
.comparison-grid { display: grid; gap: 12px; }
.comparison-card { display: grid; grid-template-columns: 140px 1fr 1fr 1.2fr; gap: 0; overflow: hidden; background: #fff; border: 1px solid #d9dee4; border-radius: 14px; }
.comparison-card h3, .comparison-card > div { margin: 0; padding: 16px; border-right: 1px solid #e6eaee; }
.comparison-card > div:last-child { border: 0; }
.comparison-card h3 { font-size: 14px; }
.comparison-card small { display: block; margin-bottom: 6px; font-weight: 700; }
.comparison-card p { margin: 0; color: #344d61; font-size: 13px; line-height: 1.55; }
.comparison-card .hypothesis { background: #f5f6f7; }
.evidence-card.has-error { border-color: #d9a7a7; }
.diagnosis-banner { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 22px; padding: 16px 18px; border-radius: 10px; background: #eaf1f7; color: #365d7a; }
.diagnosis-banner span { font-size: 12px; font-weight: 700; }
.analysis-list li::before { content: "○"; color: #7b8792; }
.hypothesis-engine { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; margin:18px 0; padding:16px; border-radius:10px; background:#eef4f8; }
.hypothesis-engine strong { font-size:12px; color:#365d7a; }
.hypothesis-engine p { margin:6px 0 0!important; font-size:13px; }
@media(max-width:720px){.hypothesis-engine{grid-template-columns:1fr}}
.analysis-list.is-running li::before { content: "…"; color: #4f7396; }
.analysis-list.is-complete li::before { content: "✓"; color: #24623b; }
.primary-action { margin-top: 12px; padding: 22px; border-radius: 14px; background: #eaf1f7; color: #18324a; }
.primary-action small { font-weight: 800; }
.primary-action h3 { margin: 7px 0; }
.primary-action p { margin: 0; color: #365d7a; line-height: 1.65; }
.evidence-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.evidence-links strong { width: 100%; font-size: 11px; color: #6b7680; }
.evidence-links a { padding: 5px 7px; border-radius: 7px; background: #eaf1f7; color: #365d7a; font-size: 10px; font-weight: 700; text-decoration: none; }
.evidence-role { display: inline-block; margin: 0 7px 4px 0; padding: 3px 6px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.evidence-role.field_evidence { background: #e7f3ec; color: #24623b; }
.evidence-role.external_signal { background: #eaf1f7; color: #365d7a; }
.evidence-role.planning_hypothesis { background: #fff4d8; color: #815d13; }
.negotiation-detail { margin-top: 16px; padding: 14px; border-top: 1px solid #e6eaee; background: #fafbfc; border-radius: 9px; }
.negotiation-detail strong { display: block; margin-top: 12px; font-size: 12px; }
.negotiation-detail strong:first-child { margin-top: 0; }
.negotiation-detail ul { margin: 6px 0 0; padding-left: 18px; }
.negotiation-detail li, .negotiation-detail p { margin: 5px 0 0; color: #59636d; font-size: 12px; line-height: 1.55; }
.hero-question { margin: 22px 0 0; padding: 20px; border-radius: 12px; background: #18324a; color: #fff; }
.hero-question strong, .hero-reason strong { font-size: 12px; }
.hero-question p { margin: 7px 0 0; color: #fff; font-size: 18px; font-weight: 750; line-height: 1.55; }
.hero-reason { margin-top: 18px; }
.hero-reason p { margin: 6px 0 0; }
.primary-detail { margin-top: 18px; border-top: 1px solid #e6eaee; padding-top: 14px; }
.primary-detail summary, .dimension-card summary, .result-section > summary, .result-aside summary { cursor: pointer; color: #18324a; font-weight: 800; }
.dimension-grid { grid-template-columns: 1fr; }
.dimension-card { padding: 0; overflow: hidden; }
.dimension-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; list-style: none; }
.dimension-card > summary::-webkit-details-marker { display: none; }
.dimension-card > summary::after { content: "펼치기"; color: #6b7680; font-size: 11px; font-weight: 600; }
.dimension-card[open] > summary::after { content: "접기"; }
.dimension-card > summary .status { margin-left: auto; }
.dimension-summary { margin: 0; padding: 0 20px 18px; color: #59636d; font-size: 13px; line-height: 1.6; }
.dimension-detail { padding: 0 20px 20px; border-top: 1px solid #e6eaee; }
.dimension-card[open] .dimension-summary { display: none; }
.next-action { background: #f7f9fb; color: #18324a; border: 1px solid #d9dee4; }
.next-action p { color: #59636d; opacity: 1; }
.next-actions .next-action small { color: #4f7396; }
.next-action.is-primary { border: 2px solid #18324a; }
.result-section { margin-top: 38px; padding: 20px; border: 1px solid #d9dee4; border-radius: 14px; background: #fff; }
.result-section > summary, .result-aside summary { list-style: none; }
.result-section > summary::-webkit-details-marker, .result-aside summary::-webkit-details-marker { display: none; }
.result-section > summary::after, .result-aside summary::after { content: " +"; color: #4f7396; }
.result-section[open] > summary::after, .result-aside details[open] summary::after { content: " −"; }
.result-aside .evidence-panel, .result-aside .limitations-panel { display: block; }
.result-aside summary { font-size: 16px; }
.result-aside details[open] summary { margin-bottom: 16px; }

@media (max-width: 1000px) {
  .comparison-card { grid-template-columns: 120px 1fr 1fr; }
  .comparison-card .hypothesis { grid-column: 1 / -1; border-top: 1px solid #e6eaee; }
}
@media (max-width: 640px) {
  .app-header { padding: 0 16px; }
  .app-header span { max-width: 58%; }
  main { padding: 32px 16px 72px; }
  .page-heading h1 br { display: none; }
  .value-flow { grid-template-columns: 1fr 1fr; }
  .comparison-card { grid-template-columns: 1fr; }
  .comparison-card h3, .comparison-card > div { border-right: 0; border-bottom: 1px solid #e6eaee; }
  .comparison-card > div:last-child { border-bottom: 0; }
  .actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .actions button { width: 100%; padding: 0 12px; }
  .actions .save-note { grid-column: 1 / -1; width: 100%; }
  .diagnosis-banner { flex-direction: column; }
  .progress { min-height: 58px; padding: 0 4px; }
  .progress button { min-height: 58px; padding: 0 2px; font-size: 10px; }
  .primary-issue { padding: 22px; }
  .primary-issue h2 { font-size: 21px; }
}
@media (max-width: 380px) {
  .progress button { font-size: 9px; }
  .actions { grid-template-columns: 1fr; }
  .value-flow { grid-template-columns: 1fr; }
}
