:root {
  font-family: Inter, Pretendard, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;
  background: #0b0d10;
  color: #f4f4f2;
}
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at top, #1a1f26 0%, #0b0d10 45%); min-height: 100vh; }
.shell { width: min(980px, calc(100% - 36px)); margin: 0 auto; padding: 64px 0 40px; }
.hero { padding: 36px 0 28px; }
.eyebrow { font-size: 12px; letter-spacing: .18em; opacity: .65; margin-bottom: 18px; }
h1 { font-size: clamp(42px, 7vw, 76px); line-height: .98; margin: 0; letter-spacing: -.04em; }
h1 .muted { opacity: .62; }
.lang-switch { display: flex; justify-content: flex-end; gap: 6px; }
.lang-btn { padding: 8px 14px; border-radius: 999px; text-align: center; font-size: 13px; opacity: .7; }
.lang-btn.active { background: #f4f4f2; color: #0b0d10; border-color: #f4f4f2; font-weight: 700; opacity: 1; }
.lead { max-width: 760px; font-size: 20px; line-height: 1.55; color: #c5c9cf; }
.status-row { display: flex; gap: 8px; margin-top: 18px; }
.status { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 10px; font-size: 11px; font-weight: 700; letter-spacing: .08em; border: 1px solid #454b54; }
.verified { background: #152219; }
.inferred { background: #242016; }
.unknown { background: #211719; }
.not_applicable { background: #16202a; }
.panel, .result { border: 1px solid #2a2f36; border-radius: 20px; background: rgba(17,20,24,.88); padding: 24px; box-shadow: 0 18px 60px rgba(0,0,0,.25); }
.panel label { display: block; font-size: 13px; opacity: .7; margin-bottom: 8px; }
select, textarea { width: 100%; background: #0e1115; color: #f5f5f5; border: 1px solid #343a43; border-radius: 12px; padding: 13px 14px; font: inherit; }
.quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 18px 0; }
button { background: #171b20; color: #f4f4f2; border: 1px solid #343a43; border-radius: 12px; padding: 13px 14px; text-align: left; cursor: pointer; }
button:hover { border-color: #777f89; }
.ask-row { display: grid; grid-template-columns: 1fr 120px; gap: 10px; align-items: stretch; }
.primary { text-align: center; font-weight: 700; background: #f4f4f2; color: #0b0d10; }
.hint { margin: 10px 2px 0; font-size: 12px; opacity: .45; }
.result-head h2 { margin: 0; font-size: 17px; flex: 1; }
.fit-note { margin-top: 12px; opacity: .6; }
.fit-rows { display: grid; gap: 10px; margin-top: 14px; }
.fit-row { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: start; border: 1px solid #2c323a; border-radius: 14px; padding: 14px; background: #0e1115; }
.level { display: inline-flex; justify-content: center; border-radius: 999px; padding: 6px 8px; font-size: 11px; font-weight: 700; letter-spacing: .06em; border: 1px solid #454b54; }
.lvl-strong { background: #152219; }
.lvl-partial { background: #242016; }
.lvl-gap { background: #211719; }
.cov-high_coverage { background: #152219; }
.cov-moderate_coverage { background: #242016; }
.cov-low_coverage { background: #211719; }
.fit-reason { margin-top: 6px; font-size: 13px; color: #b9bec6; }
.fit-ids { margin-top: 4px; font-size: 12px; opacity: .5; }
@media (max-width: 700px) { .fit-row { grid-template-columns: 1fr; } }
.result { margin-top: 18px; }
.hidden { display: none; }
.result-head { display: flex; gap: 10px; align-items: center; }
.confidence { font-size: 13px; opacity: .7; }
.answer { font-size: 19px; line-height: 1.65; color: #e1e3e6; }
.evidence-list { display: grid; gap: 10px; }
.evidence-card { border: 1px solid #2c323a; border-radius: 14px; padding: 14px; background: #0e1115; }
.evidence-card strong { display: block; margin-bottom: 6px; }
.evidence-card small { opacity: .58; }
.level-badge { display: inline-flex; align-items: center; margin: 0 6px 0 0; border-radius: 999px; padding: 5px 9px; font-size: 11px; letter-spacing: .03em; border: 1px solid #454b54; }
.lv-owner_verified { background: #1a1d22; }
.lv-externally_verified { background: #152219; }
.lv-public_evidence { background: #16202a; }
.signals { margin: 14px 0 4px; font-size: 13px; color: #c5c9cf; }
.signals ul { margin: 6px 0 0; padding-left: 18px; }
.fit-signals { margin-top: 6px; }
.source-link { display: inline-block; margin: 8px 8px 0 0; font-size: 12px; color: #a9c7ff; }
.withheld { display: inline-block; margin-top: 8px; font-size: 12px; opacity: .5; }
.strength { display: inline-flex; align-items: center; margin-left: 6px; border-radius: 999px; padding: 6px 10px; font-size: 11px; letter-spacing: .04em; border: 1px dashed #454b54; opacity: .72; }
.cautions { margin: 12px 0 22px; color: #c9c0aa; }
.cautions ul { margin-top: 8px; }
footer { padding: 26px 2px; opacity: .5; font-size: 12px; }
/* Korean sets wider than English at the same size and must break on word units. */
html[lang="ko"] { word-break: keep-all; }
html[lang="ko"] h1 { font-size: clamp(30px, 5vw, 54px); line-height: 1.2; letter-spacing: -.02em; }
html[lang="ko"] .lead { font-size: 18px; }
html[lang="ko"] .answer { font-size: 17px; }
html[lang="ko"] .status { letter-spacing: .02em; }
@media (max-width: 700px) {
  .quick-grid { grid-template-columns: 1fr; }
  .ask-row { grid-template-columns: 1fr; }
  .shell { padding-top: 32px; }
}
