/* 安妥 AnTuo — 统一设计系统 */
:root {
  --jade-950: #062b27;
  --jade-900: #083c35;
  --jade-800: #0a4f45;
  --jade-700: #0b6357;
  --jade-600: #0f7d6d;
  --jade-500: #149183;
  --jade-100: #dff2ee;
  --jade-50: #f0f9f7;
  --amber-600: #c97a1c;
  --amber-500: #e89a3c;
  --amber-100: #fdf0d9;
  --coral-600: #c53c3c;
  --coral-500: #d94b4b;
  --coral-100: #fdeaea;
  --ink: #12211f;
  --ink-2: #2c3f3b;
  --muted: #5f716d;
  --muted-2: #849691;
  --line: #dfe8e5;
  --line-strong: #c9d8d3;
  --paper: #ffffff;
  --bg: #f3f7f5;
  --shadow-sm: 0 1px 2px rgba(8, 60, 53, .06), 0 4px 12px rgba(8, 60, 53, .04);
  --shadow-md: 0 6px 24px rgba(8, 60, 53, .10);
  --shadow-lg: 0 18px 50px rgba(8, 60, 53, .16);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 24px;
  --max: 1180px;
  --font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", system-ui, sans-serif;
  --font-thai: "Noto Sans Thai", "Leelawadee UI", "Tahoma", var(--font);
  --font-khmer: "Khmer UI", "Noto Sans Khmer", "Leelawadee UI", var(--font);
  --font-lao: "Lao UI", "Noto Sans Lao", "Leelawadee UI", var(--font);
  --font-myanmar: "Myanmar Text", "Noto Sans Myanmar", "Nirmala UI", var(--font);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.65;
  font-size: 15.5px;
  overflow-x: hidden;
}

html.big-text body { font-size: 18px; }
html.big-text .result-text { font-size: clamp(24px, 4.4vw, 42px); }

a { color: var(--jade-700); text-decoration: none; }
a:hover { color: var(--jade-500); }
img, svg { max-width: 100%; }
button, input, select, textarea { font-family: inherit; font-size: inherit; }
:focus-visible { outline: 3px solid rgba(20, 145, 131, .45); outline-offset: 2px; }

.container { width: min(100% - 40px, var(--max)); margin: 0 auto; }
.narrow { width: min(100% - 40px, 920px); margin: 0 auto; }

.skip-link {
  position: absolute; left: -999px; top: 0; z-index: 999;
  background: var(--jade-800); color: #fff; padding: 10px 16px; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; color: #fff; }

/* ---------------- 顶部导航 ---------------- */
.topbar {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--line);
}
.topbar-inner {
  display: flex; align-items: center; gap: 18px;
  min-height: 66px;
}
.brand { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.brand-mark {
  width: 38px; height: 38px; border-radius: 12px;
  display: block; flex: 0 0 auto; overflow: hidden;
  box-shadow: 0 6px 14px rgba(11, 99, 87, .28);
}
.brand-mark svg { width: 100%; height: 100%; display: block; }
.footer .brand-mark { box-shadow: 0 6px 16px rgba(0, 0, 0, .35); }
.brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.brand-name { font-weight: 800; font-size: 18px; letter-spacing: .5px; color: var(--jade-900); }
.brand-sub { font-size: 10.5px; letter-spacing: 1.6px; color: var(--muted-2); text-transform: uppercase; }

.nav { display: flex; align-items: center; gap: 0; margin-left: auto; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.nav::-webkit-scrollbar { display: none; }
.nav a {
  padding: 8px 9px; border-radius: 999px; color: var(--ink-2); font-size: 13px;
  white-space: nowrap; font-weight: 500;
}
.nav a:hover { background: var(--jade-50); color: var(--jade-800); }
.nav a.active { background: var(--jade-800); color: #fff; }

.topbar-tools { display: flex; align-items: center; gap: 8px; margin-left: 8px; }
.icon-btn {
  width: 38px; height: 38px; border-radius: 11px; border: 1px solid var(--line);
  background: #fff; color: var(--ink-2); display: grid; place-items: center; cursor: pointer;
}
.icon-btn:hover { border-color: var(--jade-500); color: var(--jade-700); }
.icon-btn.on { background: var(--jade-100); border-color: var(--jade-500); color: var(--jade-800); }

.mobile-nav { display: none; }

/* ---------------- 通用组件 ---------------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; border-radius: 12px; padding: 11px 20px;
  font-weight: 600; cursor: pointer; transition: .18s ease; white-space: nowrap;
  background: var(--jade-800); color: #fff;
}
.btn:hover { background: var(--jade-700); color: #fff; transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.btn:active { transform: translateY(0); }
.btn.ghost { background: #fff; color: var(--jade-800); border-color: var(--line-strong); }
.btn.ghost:hover { border-color: var(--jade-500); background: var(--jade-50); }
.btn.amber { background: var(--amber-500); color: #3a2404; }
.btn.amber:hover { background: #f0a94f; }
.btn.soft { background: var(--jade-100); color: var(--jade-800); }
.btn.soft:hover { background: #d2ebe6; }
.btn.sm { padding: 7px 13px; font-size: 13px; border-radius: 9px; }
.btn.lg { padding: 14px 26px; font-size: 16px; border-radius: 14px; }
.btn[disabled] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; }

.card {
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.card-pad { padding: 22px; }
.section { padding: 56px 0; }
.section.tight { padding: 36px 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--jade-600); font-weight: 700;
}
.eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--jade-500); border-radius: 2px; }
h1, h2, h3, h4 { line-height: 1.28; margin: 0 0 .5em; color: var(--ink); letter-spacing: .2px; }
h1 { font-size: clamp(30px, 4.2vw, 46px); font-weight: 800; }
h2 { font-size: clamp(24px, 2.8vw, 32px); font-weight: 800; }
h3 { font-size: 19px; font-weight: 700; }
p { margin: 0 0 1em; }
.lead { font-size: 17px; color: var(--ink-2); }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.tiny { font-size: 12px; }
.mono { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; }
.thai { font-family: var(--font-thai); }
.nowrap { white-space: nowrap; }
.center { text-align: center; }
.hidden { display: none !important; }

.pill {
  display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px;
  font-size: 12px; font-weight: 600; background: var(--jade-50); color: var(--jade-700);
  border: 1px solid rgba(20, 145, 131, .18);
}
.pill.amber { background: var(--amber-100); color: var(--amber-600); border-color: rgba(232, 154, 60, .3); }
.pill.coral { background: var(--coral-100); color: var(--coral-600); border-color: rgba(217, 75, 75, .25); }
.pill.gray { background: #f1f4f3; color: var(--muted); border-color: var(--line); }
.pill.outline { background: #fff; }

.tag { display: inline-block; padding: 2px 9px; border-radius: 6px; background: #f1f5f4; color: var(--muted); font-size: 12px; }

.dot { width: 7px; height: 7px; border-radius: 50%; background: var(--jade-500); display: inline-block; }
.dot.amber { background: var(--amber-500); }
.dot.coral { background: var(--coral-500); }

.grid { display: grid; gap: 18px; }
.grid.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------------- 表单 ---------------- */
.field { display: flex; flex-direction: column; gap: 6px; }
.field label { font-size: 12.5px; font-weight: 700; color: var(--muted); letter-spacing: .5px; }
.input, .select, .textarea {
  width: 100%; padding: 11px 13px; border: 1px solid var(--line-strong); border-radius: 11px;
  background: #fff; color: var(--ink); transition: .15s;
}
.input:focus, .select:focus, .textarea:focus { border-color: var(--jade-500); box-shadow: 0 0 0 3px rgba(20, 145, 131, .14); outline: none; }
.textarea { resize: vertical; min-height: 96px; line-height: 1.6; }
.select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235f716d' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px; }
.search-box { position: relative; }
.search-box .input { padding-left: 38px; }
.search-box svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted-2); }
.filters { display: flex; gap: 10px; flex-wrap: wrap; align-items: end; }
.filters .field { min-width: 130px; flex: 1 1 130px; }
.filters .search-box { flex: 2 1 240px; }

/* ---------------- 芯片选择 ---------------- */
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  border: 1px solid var(--line-strong); background: #fff; color: var(--ink-2);
  border-radius: 999px; padding: 8px 15px; cursor: pointer; transition: .15s; font-size: 14px;
  display: inline-flex; align-items: center; gap: 6px;
}
.chip:hover { border-color: var(--jade-500); color: var(--jade-700); background: var(--jade-50); }
.chip.on { background: var(--jade-800); border-color: var(--jade-800); color: #fff; }
.chip.on .chip-sub { color: rgba(255, 255, 255, .75); }
.chip-sub { font-size: 11px; color: var(--muted-2); }
.chip-group { margin-bottom: 16px; }
.chip-label { font-size: 12.5px; font-weight: 700; color: var(--muted); letter-spacing: .6px; margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.chip-label .req { color: var(--coral-500); }

/* ---------------- 顶部英雄区 ---------------- */
.hero {
  position: relative; overflow: hidden; color: #fff;
  background:
    radial-gradient(1000px 480px at 82% -10%, rgba(232, 154, 60, .30), transparent 62%),
    radial-gradient(900px 500px at 4% 110%, rgba(20, 145, 131, .55), transparent 60%),
    linear-gradient(150deg, #073a33 0%, #0a4f45 52%, #0b6357 100%);
}
.hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(255, 255, 255, .13) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: linear-gradient(180deg, transparent, #000 40%, transparent);
}
.hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; padding: 62px 0 54px; align-items: center; }
.hero h1 { color: #fff; margin-bottom: 14px; }
.hero h1 em { font-style: normal; color: #ffd48f; }
.hero .lead { color: rgba(255, 255, 255, .86); max-width: 560px; }
.hero-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 22px; }
.hero-badges span { font-size: 12px; padding: 5px 11px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .26); color: rgba(255, 255, 255, .9); background: rgba(255, 255, 255, .08); }
.hero .btn.ghost { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .38); }
.hero .btn.ghost:hover { background: rgba(255, 255, 255, .2); }
.hero-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 26px; }
.hero-stat { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; padding: 12px 14px; }
.hero-stat b { display: block; font-size: 22px; line-height: 1.2; color: #fff; }
.hero-stat span { font-size: 11.5px; color: rgba(255, 255, 255, .68); }

.hero-visual { position: relative; }
.hero-card {
  background: rgba(255, 255, 255, .97); color: var(--ink); border-radius: 22px;
  padding: 20px; box-shadow: var(--shadow-lg); transform: rotate(-1.2deg);
}
.hero-card-head { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); font-weight: 700; letter-spacing: .6px; margin-bottom: 12px; }
.hero-line { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px dashed var(--line); }
.hero-line:last-child { border-bottom: 0; }
.hero-flag { width: 30px; height: 30px; border-radius: 9px; background: var(--jade-50); display: grid; place-items: center; font-size: 15px; flex: 0 0 auto; }
.hero-line b { font-size: 13.5px; display: block; }
.hero-line small { color: var(--muted); font-size: 12px; }
.hero-card .mini-result { margin-top: 12px; background: var(--jade-50); border-radius: 12px; padding: 10px 12px; }
.hero-card .mini-result .th { font-family: var(--font-thai); font-size: 17px; font-weight: 700; color: var(--jade-800); line-height: 1.5; }
.hero-card .mini-result .zh { font-size: 11.5px; color: var(--muted); }

/* ---------------- 首页模块 ---------------- */
.scene-card { padding: 22px; display: flex; flex-direction: column; gap: 10px; position: relative; overflow: hidden; }
.scene-card .scene-ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: var(--jade-100); color: var(--jade-700); font-size: 22px; }
.scene-card.amber .scene-ico { background: var(--amber-100); color: var(--amber-600); }
.scene-card.coral .scene-ico { background: var(--coral-100); color: var(--coral-600); }
.scene-card h3 { margin: 0; }
.scene-card p { color: var(--muted); font-size: 14px; margin: 0; }
.scene-card .flow { font-size: 12px; color: var(--jade-700); background: var(--jade-50); border-radius: 8px; padding: 7px 9px; }

.feature-card { padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.feature-card .num { font-size: 12px; font-weight: 800; color: var(--jade-500); letter-spacing: 1.5px; }
.feature-card h3 { margin: 0; font-size: 17px; }
.feature-card p { color: var(--muted); font-size: 13.5px; margin: 0; flex: 1; }
.feature-card a { font-size: 13px; font-weight: 700; }

.alert-mini { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.alert-mini:last-child { border-bottom: 0; }
.alert-mini .date { flex: 0 0 58px; font-size: 11.5px; color: var(--muted-2); padding-top: 2px; }
.alert-mini b { font-size: 14px; display: block; margin-bottom: 2px; }
.alert-mini p { font-size: 12.5px; color: var(--muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.emergency-strip { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 24px; border-radius: var(--radius); background: linear-gradient(100deg, #0a4f45, #0f7d6d); color: #fff; flex-wrap: wrap; }
.emergency-strip b { font-size: 18px; }
.emergency-strip .nums { display: flex; gap: 20px; flex-wrap: wrap; }
.emergency-strip .nums div { font-size: 12px; color: rgba(255, 255, 255, .72); }
.emergency-strip .nums strong { display: block; font-size: 20px; color: #ffd48f; letter-spacing: .5px; }

.crawl-list .ci { display: flex; gap: 12px; align-items: flex-start; padding: 9px 0; border-top: 1px dashed var(--line); font-size: 13px; }
.crawl-list .ci b { font-weight: 600; color: var(--ink); }

.country-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.country-cell { border: 1px solid var(--line); border-radius: 12px; padding: 12px 13px; background: #fbfdfc; display: flex; flex-direction: column; gap: 4px; }
.country-cell .cc-top { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.country-cell .cc-top b { font-size: 14px; color: var(--jade-800); }
.country-cell .cc-num { font-size: 24px; font-weight: 800; color: var(--coral-500); letter-spacing: .5px; line-height: 1.1; }
.country-cell .cc-link { font-size: 12px; color: var(--jade-700); text-decoration: none; }
.country-cell .cc-link:hover { text-decoration: underline; }
.country-cell .cc-foot { display: flex; gap: 12px; margin-top: 4px; }
@media (max-width: 1024px) { .country-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .country-cell .cc-num { font-size: 20px; } }

/* ---------------- 国家与语种页 ---------------- */
.country-hero {
  color: #fff; padding: 48px 0 42px; position: relative; overflow: hidden;
  background:
    radial-gradient(900px 420px at 88% -20%, rgba(232, 154, 60, .28), transparent 62%),
    radial-gradient(760px 460px at 0% 120%, rgba(20, 145, 131, .45), transparent 60%),
    linear-gradient(150deg, #073a33 0%, #0a4f45 55%, #0b6357 100%);
}
.country-hero h1 { color: #fff; margin-bottom: 12px; }
.country-hero h1 em { font-style: normal; color: #ffd48f; }
.country-hero .lead { color: rgba(255, 255, 255, .84); max-width: 780px; }

.lang-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.lang-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 20px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 10px;
}
.lang-head { display: flex; align-items: center; gap: 12px; }
.lang-badge {
  width: 44px; height: 44px; border-radius: 13px; flex: 0 0 auto;
  display: grid; place-items: center; font-weight: 800; letter-spacing: .6px;
  background: var(--jade-50); color: var(--jade-700); border: 1px solid rgba(20, 145, 131, .22);
}
.lang-card h3 { margin: 0; font-size: 17px; }
.lang-card h3 em { font-style: normal; font-weight: 500; font-size: 14px; color: var(--muted); margin-left: 6px; }
.lang-head p { margin: 1px 0 0; }
.lang-overview { margin: 0; font-size: 13.5px; color: var(--muted); line-height: 1.75; }
.lang-tags { display: flex; gap: 8px; flex-wrap: wrap; }

.lang-more, .cc-more { border-top: 1px dashed var(--line); padding-top: 10px; margin-top: auto; }
.lang-more > p { font-size: 13px; color: var(--ink-2); margin: 10px 0 0; }
.lang-more > summary, .cc-more > summary {
  cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between;
  gap: 8px; font-size: 13px; font-weight: 700; color: var(--jade-700);
}
.lang-more > summary::-webkit-details-marker, .cc-more > summary::-webkit-details-marker { display: none; }
.lang-more > summary::after, .cc-more > summary::after { content: "展开"; font-weight: 500; font-size: 11.5px; color: var(--muted-2); }
.lang-more[open] > summary::after, .cc-more[open] > summary::after { content: "收起"; }

.phrase-list { display: flex; flex-direction: column; gap: 8px; margin: 10px 0; }
.phrase { display: flex; gap: 10px; align-items: center; background: var(--jade-50); border-radius: 10px; padding: 9px 11px; }
.phrase-text { flex: 1; min-width: 0; font-size: 14px; color: var(--jade-900); line-height: 1.65; }
.phrase-text[lang="th"] { font-family: var(--font-thai); }
.phrase-text[lang="km"], .lang-km, #resultText[lang="km"] { font-family: var(--font-khmer); }
.phrase-text[lang="lo"], .lang-lo, #resultText[lang="lo"] { font-family: var(--font-lao); }
.phrase-text[lang="my"], .lang-my, #resultText[lang="my"] { font-family: var(--font-myanmar); }
.phrase-actions { display: flex; gap: 6px; flex: 0 0 auto; }

.cc-local { background: var(--jade-50); border: 1px dashed rgba(20, 145, 131, .3); border-radius: 12px; padding: 12px 13px; }
.cc-local-head { font-size: 12.5px; font-weight: 700; color: var(--jade-800); display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.cc-local .phrase { background: #fff; }
.mini-btn {
  border: 1px solid var(--line-strong); background: #fff; color: var(--ink-2);
  border-radius: 8px; padding: 4px 8px; font-size: 12px; cursor: pointer; line-height: 1.4;
}
.mini-btn:hover { border-color: var(--jade-500); color: var(--jade-700); background: #fff; }

.country-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.country-toolbar .search-box { flex: 1 1 280px; max-width: 380px; }
.country-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.country-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 18px 20px; box-shadow: var(--shadow-sm);
  display: flex; flex-direction: column; gap: 10px; scroll-margin-top: 92px;
}
.country-card:target { border-color: var(--jade-500); box-shadow: 0 0 0 3px rgba(20, 145, 131, .15), var(--shadow-md); }
.cc-head { display: flex; align-items: flex-start; gap: 12px; }
.cc-flag { font-size: 30px; line-height: 1.1; flex: 0 0 auto; }
.cc-title { flex: 1; min-width: 0; }
.cc-title h3 { margin: 0; font-size: 19px; }
.cc-title h3 small { font-size: 12px; font-weight: 500; color: var(--muted-2); letter-spacing: .4px; margin-left: 2px; }
.cc-title p { margin: 2px 0 0; }
.cc-em { flex: 0 0 auto; text-align: right; }
.cc-em span { display: block; font-size: 11px; letter-spacing: 1.2px; color: var(--muted-2); }
.cc-em b { font-size: clamp(20px, 2.2vw, 26px); color: var(--coral-500); line-height: 1.15; white-space: nowrap; }
.cc-sum { margin: 0; font-size: 13.5px; color: var(--muted); line-height: 1.75; }
.cc-meta { display: flex; gap: 6px; flex-wrap: wrap; }
.cc-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; margin-top: 12px; }
.cc-sec h4 { margin: 0 0 4px; font-size: 12.5px; color: var(--jade-700); letter-spacing: .4px; }
.cc-sec p { margin: 0; font-size: 13px; color: var(--ink-2); line-height: 1.75; }
.risk-list { margin: 0; padding-left: 16px; font-size: 13px; color: var(--ink-2); line-height: 1.8; }
.cc-links { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }

@media (max-width: 860px) {
  .lang-grid, .country-list { grid-template-columns: 1fr; }
  .cc-sections { grid-template-columns: 1fr; }
  .country-hero { padding: 34px 0 30px; }
}
@media (max-width: 560px) {
  .country-card { padding: 16px; }
  .cc-em b { font-size: 19px; }
  .cc-flag { font-size: 26px; }
  .country-toolbar .search-box { max-width: none; }
}

/* ---------------- 翻译页 ---------------- */
.page-head { padding: 34px 0 8px; }
.page-head h1 { font-size: clamp(26px, 3.4vw, 38px); }
.page-head p { color: var(--muted); max-width: 760px; }

.workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
.panel-head { display: flex; align-items: center; gap: 10px; padding: 13px 16px; border-bottom: 1px solid var(--line); background: #fbfdfc; flex-wrap: wrap; }
.panel-title { font-size: 13px; font-weight: 800; color: var(--jade-800); letter-spacing: .4px; }
.panel-body { padding: 16px; }
.panel-foot { padding: 10px 16px; border-top: 1px solid var(--line); background: #fbfdfc; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

.lang-bar { display: flex; align-items: center; gap: 8px; }
.lang-bar .select { padding: 8px 34px 8px 11px; font-size: 13.5px; width: auto; min-width: 104px; }
.swap-btn { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line-strong); background: #fff; cursor: pointer; display: grid; place-items: center; color: var(--jade-700); flex: 0 0 auto; }
.swap-btn:hover { background: var(--jade-50); }

.result-text {
  font-family: var(--font-thai); font-size: clamp(21px, 2.9vw, 30px); line-height: 1.55;
  font-weight: 700; color: var(--jade-900); word-break: break-word; min-height: 100px;
  white-space: pre-wrap;
}
.result-text .latin { font-family: var(--font); }
.result-text mark { background: #fff0c9; color: #7a4c00; border-bottom: 2px solid var(--amber-500); padding: 0 2px; border-radius: 3px; }
.result-text mark.inferred { background: #ffe0dc; color: #8d1f1f; border-bottom: 2px dashed var(--coral-600); font-weight: 700; }
.result-warn { display: block; margin: 0 0 12px; padding: 12px 14px; border: 2px solid var(--coral-600); border-left-width: 8px; border-radius: 10px; background: #fff2f0; color: #8d1f1f; font-size: 15px; line-height: 1.7; font-weight: 600; }
.result-warn.hidden { display: none; }
.result-warn b { display: block; margin-bottom: 4px; font-size: 16px; color: #b3261e; }
.result-warn ul { margin: 4px 0 0 18px; padding: 0; }
.result-warn li { margin: 2px 0; }
.result-warn.amber { border-color: var(--amber-500); background: #fff9e8; color: #7a4c00; }
.result-warn.amber b { color: #8a5a00; }

/* 高危症状急救卡片：译文框最顶部，红色强提示 */
.emergency-card {
  display: block; margin: 0 0 14px; border: 3px solid #b3261e; border-radius: 12px;
  background: #fff4f2; box-shadow: 0 10px 26px rgba(179, 38, 30, .18); overflow: hidden;
}
.emergency-card.hidden { display: none; }
.ec-head {
  background: #b3261e; color: #fff; font-size: 16px; font-weight: 800;
  padding: 10px 14px; letter-spacing: .5px;
}
.ec-body { padding: 12px 14px 14px; font-size: 14.5px; color: #7c1d17; line-height: 1.6; }
.ec-body b { color: #b3261e; }
.ec-advice { margin-top: 6px; font-weight: 600; }
.ec-row { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.ec-label { font-weight: 700; font-size: 13px; }
.ec-country { width: auto; min-width: 150px; padding: 7px 30px 7px 10px; font-size: 13.5px; }
.ec-actions { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.ec-call { background: #b3261e; border-color: #b3261e; color: #fff; text-decoration: none; font-weight: 800; }
.ec-call:hover { background: #971e17; }
.ec-map { text-decoration: none; font-weight: 700; border-color: #b3261e; color: #b3261e; }
.ec-note { margin-top: 10px; font-size: 12px; color: #93544d; }

/* 长尾语种英文对照：主译文下方并排，字号略小 */
.english-ref {
  display: block; margin: 14px 0 0; padding: 12px 14px; border: 1px solid #cfe0ec;
  border-left: 5px solid #2f6f9f; border-radius: 10px; background: #f5fafd;
}
.english-ref.hidden { display: none; }
.er-label { font-size: 12.5px; font-weight: 800; color: #2f6f9f; letter-spacing: .3px; }
.er-text {
  margin-top: 6px; font-family: var(--font); font-size: 16.5px; line-height: 1.6;
  color: #14384f; white-space: pre-wrap; word-break: break-word;
}
.er-text b { color: #b3261e; background: #fff2f0; border-bottom: 2px dashed var(--coral-600); padding: 0 2px; }
.er-note { margin-top: 6px; font-size: 12px; color: #5d7d92; }
.source-preview { font-size: 16px; line-height: 1.7; color: var(--ink-2); white-space: pre-wrap; word-break: break-word; }
.source-preview mark { background: #dff2ee; color: var(--jade-800); border-bottom: 2px solid var(--jade-500); border-radius: 3px; padding: 0 2px; }
.placeholder { color: var(--muted-2); font-weight: 400; font-family: var(--font); font-size: 15px; }

.big-mode .result-text { font-size: clamp(30px, 6vw, 56px); line-height: 1.45; }
.big-mode .result-text mark,
.big-mode .result-text mark.inferred { padding: 0 5px; border-radius: 5px; }
.big-mode .result-text .dose {
  font-size: 1.02em; font-weight: 900; color: #b3261e; background: #fff2f0;
  border-radius: 5px; padding: 0 4px;
}
.result-text .dose { font-weight: 900; color: #b3261e; }
.big-mode .english-ref .er-text { font-size: clamp(20px, 3vw, 30px); }
.big-mode .emergency-card .ec-body { font-size: 17px; }
.big-mode .pharmacy-banner { display: flex; }
.pharmacy-banner {
  display: none; align-items: center; gap: 10px; background: #fff8e8; border: 1px solid #f3d59a;
  color: #7a4c00; border-radius: 10px; padding: 10px 13px; font-size: 13px; font-weight: 600; margin-bottom: 12px;
}

.match-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.confidence { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.confidence .bar { width: 62px; height: 5px; border-radius: 4px; background: #e8efec; overflow: hidden; }
.confidence .bar i { display: block; height: 100%; background: var(--jade-500); }

.terms-lock { display: flex; flex-direction: column; gap: 8px; }
.lock-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; flex-wrap: wrap; }
.lock-item .zh { font-weight: 700; font-size: 13.5px; }
.lock-item .arrow { color: var(--muted-2); }
.lock-item .tgt { font-family: var(--font-thai); font-weight: 700; color: var(--jade-800); font-size: 14px; }
.lock-item .state { margin-left: auto; font-size: 11px; }
.lock-item.bad { border-color: #f0c7c7; background: #fffafa; }

.warn-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 7px; }
.warn-list li { font-size: 12.5px; color: #7a4c00; background: #fff8e8; border: 1px solid #f3d59a; border-radius: 9px; padding: 9px 11px; }

/* 语音翻译 */
.mic-btn.recording { background: var(--coral-100); border-color: var(--coral-500); color: var(--coral-600); }
.voice-status {
  display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 12.5px; font-weight: 600;
  color: var(--coral-600); background: var(--coral-100); border: 1px solid rgba(217, 75, 75, .25);
  border-radius: 9px; padding: 8px 11px;
}
.voice-status .dot { animation: pulse-dot 1.1s ease-in-out infinite; }
@keyframes pulse-dot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.72); } }
.auto-speak { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--muted); white-space: nowrap; cursor: pointer; }
.auto-speak input { accent-color: var(--jade-600); }
.asr-pick { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); white-space: nowrap; }
.asr-pick .select { width: auto; padding: 7px 28px 7px 10px; border-radius: 9px; font-size: 12.5px; }

/* 紧急语音入口 */
.voice-hero-wrap { padding: 0 0 14px; }
.voice-hero {
  position: relative; display: flex; align-items: center; gap: 22px;
  background: linear-gradient(135deg, var(--jade-900) 0%, var(--jade-700) 62%, var(--jade-600) 100%);
  border-radius: var(--radius-lg); padding: 22px 26px; color: #fff;
  box-shadow: var(--shadow-lg); overflow: hidden;
}
.voice-hero::after {
  content: ""; position: absolute; right: -70px; top: -90px; width: 300px; height: 300px;
  border-radius: 50%; background: radial-gradient(circle, rgba(232, 154, 60, .32), transparent 68%);
  pointer-events: none;
}
.mic-orb {
  position: relative; flex: 0 0 auto; width: 104px; height: 104px; border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, .38); cursor: pointer; color: #fff;
  background: linear-gradient(160deg, #f0a850 0%, #e07a3a 100%);
  display: grid; place-items: center;
  box-shadow: 0 12px 28px rgba(3, 26, 23, .38), inset 0 1px 0 rgba(255, 255, 255, .45);
  transition: transform .16s ease, box-shadow .2s ease;
}
.mic-orb:hover { transform: translateY(-2px) scale(1.04); }
.mic-orb:active { transform: scale(.96); }
.mic-orb .orb-ico { font-size: 42px; line-height: 1; }
.voice-hero.listening .mic-orb {
  background: linear-gradient(160deg, #e35c5c 0%, #b83131 100%);
  border-color: rgba(255, 255, 255, .7);
  animation: orb-pulse 1.5s ease-out infinite;
}
@keyframes orb-pulse {
  0% { box-shadow: 0 0 0 0 rgba(217, 75, 75, .55), 0 12px 28px rgba(3, 26, 23, .38); }
  100% { box-shadow: 0 0 0 28px rgba(217, 75, 75, 0), 0 12px 28px rgba(3, 26, 23, .38); }
}
.vh-copy { position: relative; flex: 1 1 auto; min-width: 0; }
.vh-title { font-size: clamp(23px, 3.2vw, 33px); font-weight: 800; letter-spacing: .5px; line-height: 1.2; }
.vh-sub { margin-top: 6px; font-size: 13.5px; color: #d3e9e4; }
.voice-hero .voice-status {
  margin-top: 10px; color: #fff; background: rgba(255, 255, 255, .15);
  border-color: rgba(255, 255, 255, .3); font-weight: 600;
}
.voice-hero .voice-status .dot { background: #ffb4b4; }
.voice-set { position: relative; z-index: 5; margin-left: auto; align-self: flex-start; }
.voice-set > summary {
  list-style: none; cursor: pointer; user-select: none;
  font-size: 12px; color: #d3e9e4; padding: 5px 12px; white-space: nowrap;
  border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px;
}
.voice-set > summary::-webkit-details-marker { display: none; }
.voice-set > summary:hover { background: rgba(255, 255, 255, .1); }
.voice-set-body {
  position: absolute; right: 0; top: calc(100% + 8px); z-index: 20; width: 290px;
  display: flex; flex-direction: column; gap: 8px;
  background: #fff; color: var(--ink); border: 1px solid var(--line);
  border-radius: 12px; padding: 12px; box-shadow: var(--shadow-md);
}
.voice-set-body .asr-pick { display: flex; justify-content: space-between; }
.voice-set-body .tiny { line-height: 1.55; }

@media (max-width: 720px) {
  .voice-hero { flex-wrap: wrap; gap: 14px; padding: 18px; }
  .mic-orb { width: 84px; height: 84px; }
  .mic-orb .orb-ico { font-size: 34px; }
  .vh-sub { font-size: 12.5px; }
  .voice-set { margin-left: 0; width: 100%; align-self: auto; }
  .voice-set-body { position: static; width: 100%; margin-top: 8px; box-shadow: none; }
}

/* 医疗安全校验 */
.safety-box { border-radius: 10px; padding: 10px 12px; border: 1px solid; font-size: 12.5px; line-height: 1.6; }
.safety-box ul { margin: 6px 0 0; padding-left: 18px; }
.safety-box li { margin: 2px 0; }
.safety-box.passed { background: var(--jade-50); border-color: var(--jade-100); color: var(--jade-800); }
.safety-box.needs_review { background: #fff8e8; border-color: #f3d59a; color: #7a4c00; }
.safety-box.blocked { background: var(--coral-100); border-color: rgba(217, 75, 75, .3); color: var(--coral-600); }

.ref-list { display: flex; flex-direction: column; gap: 8px; }
.ref-item { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: #fbfdfc; }
.ref-item .ref-top { display: flex; justify-content: space-between; gap: 8px; font-size: 11.5px; color: var(--muted); margin-bottom: 4px; }
.ref-item .zh { font-size: 13.5px; font-weight: 600; }
.ref-item .tgt { font-family: var(--font-thai); font-size: 13px; color: var(--jade-700); }

.composer-tabs { display: flex; gap: 6px; background: #eef4f2; padding: 5px; border-radius: 12px; width: fit-content; margin-bottom: 16px; }
.composer-tabs button { border: 0; background: transparent; padding: 8px 18px; border-radius: 9px; cursor: pointer; font-weight: 700; color: var(--muted); font-size: 13.5px; }
.composer-tabs button.on { background: #fff; color: var(--jade-800); box-shadow: var(--shadow-sm); }

.step-num { width: 20px; height: 20px; border-radius: 50%; background: var(--jade-800); color: #fff; display: inline-grid; place-items: center; font-size: 11px; font-weight: 800; }

/* ---------------- 预警 ---------------- */
.alert-card { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.alert-card .top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.alert-card h3 { font-size: 16.5px; margin: 0; }
.alert-card p { font-size: 13.5px; color: var(--muted); margin: 0; }
.alert-original { border-top: 1px dashed var(--line); padding-top: 10px; margin-top: 4px; display: none; }
.alert-original.open { display: block; }
.alert-original .orig-title { font-size: 13px; font-weight: 700; color: var(--ink-2); }
.alert-original .orig-text { font-size: 12.5px; color: var(--muted); font-style: italic; }
.alert-card .foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-top: auto; }

.tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.tabs button { border: 1px solid var(--line-strong); background: #fff; border-radius: 999px; padding: 7px 15px; cursor: pointer; font-size: 13.5px; color: var(--ink-2); }
.tabs button.on { background: var(--jade-800); color: #fff; border-color: var(--jade-800); }

.pager { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.pager .info { font-size: 13px; color: var(--muted); }

/* ---------------- 术语 / 语料 ---------------- */
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
table.data { width: 100%; border-collapse: collapse; min-width: 760px; }
table.data th { text-align: left; font-size: 11.5px; letter-spacing: .8px; text-transform: uppercase; color: var(--muted-2); font-weight: 700; padding: 12px 14px; border-bottom: 1px solid var(--line); background: #fbfdfc; white-space: nowrap; }
table.data td { padding: 12px 14px; border-bottom: 1px solid #eef4f1; font-size: 13.5px; vertical-align: middle; }
table.data tr:last-child td { border-bottom: 0; }
table.data tbody tr:hover { background: var(--jade-50); }
table.data .thai { font-family: var(--font-thai); }
.copy-mini { border: 0; background: transparent; color: var(--muted-2); cursor: pointer; padding: 2px 4px; border-radius: 5px; }
.copy-mini:hover { background: var(--jade-100); color: var(--jade-700); }

.term-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.term-card { border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: #fff; cursor: pointer; transition: .15s; }
.term-card:hover { border-color: var(--jade-500); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.term-card .row1 { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.term-card .zh { font-weight: 800; font-size: 15px; }
.term-card .langs { font-size: 12.5px; color: var(--muted); margin-top: 5px; display: flex; flex-direction: column; gap: 2px; }
.term-card .langs .thai { font-family: var(--font-thai); font-size: 13.5px; color: var(--ink-2); }

.corpus-card { padding: 18px 20px; display: flex; flex-direction: column; gap: 9px; }
.corpus-card .zh { font-size: 15.5px; font-weight: 700; }
.corpus-card .pair-line { display: flex; gap: 8px; align-items: flex-start; }
.corpus-card .pair-line .lang-tag { flex: 0 0 34px; font-size: 10.5px; font-weight: 800; color: #fff; background: var(--jade-600); border-radius: 5px; text-align: center; padding: 2px 0; margin-top: 2px; }
.corpus-card .pair-line .thai { font-family: var(--font-thai); font-size: 15px; color: var(--jade-800); font-weight: 600; line-height: 1.55; }
.corpus-card .meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; font-size: 12px; color: var(--muted); border-top: 1px dashed var(--line); padding-top: 9px; }

.vector-banner { display: flex; gap: 14px; align-items: center; padding: 14px 18px; border-radius: 14px; background: linear-gradient(100deg, #f0f9f7, #e6f4f0); border: 1px solid #cfe8e2; flex-wrap: wrap; }
.vector-banner b { color: var(--jade-800); }
.vector-banner .stat { font-size: 12px; color: var(--muted); }
.vector-banner .stat strong { display: block; font-size: 16px; color: var(--jade-800); }

/* 抽屉 */
.drawer-mask { position: fixed; inset: 0; background: rgba(8, 36, 32, .42); z-index: 90; opacity: 0; pointer-events: none; transition: .2s; }
.drawer-mask.open { opacity: 1; pointer-events: auto; }
.drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(440px, 94vw); background: #fff; z-index: 95;
  transform: translateX(102%); transition: transform .24s ease; box-shadow: var(--shadow-lg);
  display: flex; flex-direction: column;
}
.drawer.open { transform: translateX(0); }
.drawer-head { padding: 16px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.drawer-body { padding: 18px 20px 30px; overflow-y: auto; }
.kv { display: grid; grid-template-columns: 96px 1fr; gap: 8px 12px; font-size: 13.5px; }
.kv dt { color: var(--muted); }
.kv dd { margin: 0; word-break: break-word; }
.kv .thai { font-family: var(--font-thai); color: var(--jade-800); font-weight: 600; }

/* ---------------- 问答 ---------------- */
.ask-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: start; }
.chat { display: flex; flex-direction: column; gap: 14px; min-height: 380px; }
.msg { display: flex; gap: 10px; }
.msg .avatar { width: 34px; height: 34px; border-radius: 10px; flex: 0 0 auto; display: grid; place-items: center; font-size: 13px; font-weight: 800; }
.msg.user .avatar { background: #e9efff; color: #3452a8; }
.msg.bot .avatar { background: var(--jade-800); color: #fff; }
.bubble { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 13px 16px; max-width: 100%; box-shadow: var(--shadow-sm); }
.msg.user .bubble { background: #f5f8ff; border-color: #dbe4fb; }
.bubble .answer { white-space: pre-wrap; }
.bubble .answer p { margin: 0 0 .5em; }
.bubble .answer sup a { font-size: 10px; background: var(--jade-100); color: var(--jade-800); border-radius: 4px; padding: 0 4px; font-weight: 700; text-decoration: none; }
.bubble.refused { background: #fffafa; border-color: #f0c7c7; }
.bubble .bubble-meta { font-size: 11.5px; color: var(--muted-2); margin-top: 8px; display: flex; gap: 8px; flex-wrap: wrap; }
.source-cards { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.source-card { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: #fbfdfc; }
.source-card .sc-top { display: flex; gap: 8px; align-items: center; font-size: 11.5px; color: var(--muted); }
.source-card .sc-n { width: 20px; height: 20px; border-radius: 6px; background: var(--jade-800); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 11px; flex: 0 0 auto; }
.source-card .sc-title { font-size: 13.5px; font-weight: 700; margin-top: 4px; }
.source-card .sc-snip { font-size: 12px; color: var(--muted); margin-top: 3px; }

.composer-bar { display: flex; gap: 10px; align-items: flex-end; margin-top: 16px; }
.composer-bar .textarea { min-height: 54px; max-height: 130px; }
.suggest { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.suggest button { border: 1px solid var(--line-strong); background: #fff; border-radius: 999px; padding: 7px 13px; font-size: 12.5px; cursor: pointer; color: var(--ink-2); }
.suggest button:hover { border-color: var(--jade-500); color: var(--jade-700); background: var(--jade-50); }
.emergency-box { background: #fff4f2; border: 1px solid #f4bcb4; border-radius: 12px; padding: 12px 14px; margin-top: 10px; }
.emergency-box b { color: var(--coral-600); display: block; margin-bottom: 3px; }
.emergency-box .num { font-size: 21px; font-weight: 800; color: var(--coral-600); letter-spacing: .5px; }
.retrieval { margin-top: 10px; font-size: 11.5px; }
.retrieval summary { cursor: pointer; color: var(--muted); }
.retrieval table { width: 100%; border-collapse: collapse; margin-top: 6px; }
.retrieval td { padding: 4px 6px; border-bottom: 1px solid #eef4f1; }
.retrieval td:last-child { text-align: right; font-family: ui-monospace, monospace; }
.side-card { padding: 18px; }
.side-card h4 { font-size: 13px; letter-spacing: .6px; color: var(--muted); text-transform: uppercase; margin-bottom: 10px; }
.side-list { display: flex; flex-direction: column; gap: 9px; font-size: 12.5px; color: var(--muted); }
.side-list b { color: var(--ink-2); }

/* ---------------- 急救卡 ---------------- */
.card-layout { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 22px; align-items: start; }
#cardCanvas { width: 100%; height: auto; border-radius: 18px; box-shadow: var(--shadow-lg); display: block; }
.card-preview-wrap { position: sticky; top: 86px; }
.check-list { display: flex; flex-direction: column; gap: 7px; }
.check-item { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; background: #fff; font-size: 13.5px; }
.check-item:hover { border-color: var(--jade-500); }
.check-item input { accent-color: var(--jade-700); width: 16px; height: 16px; }
.check-item .en { color: var(--muted-2); font-size: 11.5px; }

/* ---------------- 页脚 ---------------- */
.footer { background: #072e29; color: rgba(255, 255, 255, .72); padding: 44px 0 26px; margin-top: 40px; }
.footer a { color: rgba(255, 255, 255, .86); }
.footer a:hover { color: #ffd48f; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 26px; }
.footer h4 { color: #fff; font-size: 13px; letter-spacing: 1px; margin-bottom: 12px; }
.footer p, .footer li { font-size: 12.5px; line-height: 1.9; }
.footer ul { list-style: none; margin: 0; padding: 0; }
.footer .brand-name { color: #fff; }
.footer .brand-sub { color: rgba(255, 255, 255, .5); }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 26px; padding-top: 16px; font-size: 11.5px; color: rgba(255, 255, 255, .5); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

/* ---------------- Toast ---------------- */
.toast-wrap { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%); z-index: 120; display: flex; flex-direction: column; gap: 8px; align-items: center; pointer-events: none; }.toast { background: var(--jade-950); color: #fff; padding: 10px 18px; border-radius: 10px; font-size: 13.5px; box-shadow: var(--shadow-md); animation: toastIn .2s ease; }
.toast.err { background: #8f2b2b; }
@keyframes toastIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ---------------- 首次进入《免责声明》 ---------------- */
.disclaimer-mask {
  position: fixed; inset: 0; z-index: 300; background: rgba(8, 36, 32, .58);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.disclaimer-card {
  width: min(560px, 100%); max-height: 90vh; overflow: auto; background: #fff;
  border-radius: 16px; padding: 26px 26px 22px; box-shadow: 0 24px 60px rgba(4, 26, 23, .38);
}
.disclaimer-card h2 { margin: 0 0 12px; font-size: 20px; color: var(--jade-900); }
.disclaimer-card p { margin: 0 0 12px; font-size: 15px; line-height: 1.75; color: var(--ink-2); font-weight: 600; }
.disclaimer-card ul { margin: 0 0 16px 18px; padding: 0; font-size: 13.5px; line-height: 1.8; color: var(--muted); }
.disclaimer-check {
  display: flex; align-items: flex-start; gap: 9px; font-size: 14px; font-weight: 700;
  color: var(--jade-900); background: #f2f8f6; border: 1px solid var(--line); border-radius: 10px;
  padding: 12px; margin-bottom: 14px; cursor: pointer;
}
.disclaimer-check input { margin-top: 2px; width: 17px; height: 17px; accent-color: var(--jade-700); }
.disclaimer-card .btn { width: 100%; }
.disclaimer-card .btn:disabled { opacity: .45; cursor: not-allowed; }

.spinner { width: 15px; height: 15px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; display: inline-block; }
.btn.ghost .spinner, .btn.soft .spinner { border-color: rgba(11, 99, 87, .25); border-top-color: var(--jade-700); }
@keyframes spin { to { transform: rotate(360deg); } }

.skeleton { background: linear-gradient(90deg, #eef3f1 25%, #f7faf8 37%, #eef3f1 63%); background-size: 400% 100%; animation: shimmer 1.2s infinite; border-radius: 8px; }
@keyframes shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
.empty { text-align: center; padding: 40px 20px; color: var(--muted); font-size: 13.5px; }
.empty b { display: block; color: var(--ink-2); font-size: 15px; margin-bottom: 4px; }

/* ---------------- 响应式 ---------------- */
@media (max-width: 1024px) {
  .hero-inner { grid-template-columns: 1fr; padding: 44px 0 40px; }
  .hero-visual { display: none; }
  .grid.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ask-layout { grid-template-columns: 1fr; }
  .card-layout { grid-template-columns: 1fr; }
  .card-preview-wrap { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .workspace { grid-template-columns: 1fr; }
  .nav { display: none; }
  .mobile-nav {
    display: flex; flex-wrap: wrap; gap: 6px 4px; overflow: visible; padding: 8px 0 10px;
    border-bottom: 1px solid var(--line); background: #fff;
  }
  .mobile-nav a { flex: 0 0 auto; padding: 7px 13px; border-radius: 999px; font-size: 13px; background: #f3f7f5; color: var(--ink-2); }
  .mobile-nav a.active { background: var(--jade-800); color: #fff; }
  .grid.c2, .grid.c3, .grid.c4 { grid-template-columns: 1fr; }
  .filters .field, .filters .search-box { flex: 1 1 100%; }
}
@media (max-width: 560px) {
  body { font-size: 15px; }
  .container, .narrow { width: min(100% - 28px, var(--max)); }
  .section { padding: 38px 0; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .hero-stat b { font-size: 19px; }
  .card-pad, .panel-body { padding: 16px; }
  .alert-card, .corpus-card, .scene-card, .feature-card { padding: 16px; }
  .composer-bar { flex-direction: column; align-items: stretch; }
  .composer-bar .btn { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; gap: 20px; }
  .kv { grid-template-columns: 82px 1fr; }
  .topbar-inner { min-height: 60px; gap: 10px; }
  .brand-sub { display: none; }
  .lang-bar .select { min-width: 88px; }
  .split { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ================= 情景急救引导 ================= */
.sos-hero {
  color: #fff; padding: 46px 0 40px; position: relative; overflow: hidden;
  background:
    radial-gradient(900px 420px at 88% -20%, rgba(217, 75, 75, .34), transparent 62%),
    radial-gradient(760px 460px at 0% 120%, rgba(232, 154, 60, .26), transparent 60%),
    linear-gradient(150deg, #3a1414 0%, #082f2a 55%, #0a4f45 100%);
}
.sos-hero h1 { color: #fff; margin-bottom: 12px; }
.sos-hero h1 em { font-style: normal; color: #ffd48f; }
.sos-hero .lead { color: rgba(255, 255, 255, .86); max-width: 820px; }
.sos-hero .btn.ghost { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .38); }
.sos-offline {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 16px;
  font-size: 12px; color: #d3e9e4; background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; padding: 6px 14px;
}
.sos-offline::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #7ce0c8; }

.scenario-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.scenario-card {
  text-align: left; display: flex; align-items: flex-start; gap: 10px; cursor: pointer;
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px;
  box-shadow: var(--shadow-sm); transition: .16s; color: var(--ink); font: inherit;
}
.scenario-card:hover { border-color: var(--jade-500); transform: translateY(-2px); }
.scenario-card.on { border-color: var(--jade-700); box-shadow: 0 0 0 3px rgba(20, 145, 131, .16), var(--shadow-md); }
.scenario-ico {
  width: 38px; height: 38px; border-radius: 11px; flex: 0 0 auto; display: grid; place-items: center;
  font-size: 19px; background: var(--jade-100);
}
.scenario-ico.coral { background: var(--coral-100); }
.scenario-ico.amber { background: var(--amber-100); }
.scenario-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.scenario-body b { font-size: 14px; color: var(--jade-900); }
.scenario-body small { font-size: 11.5px; color: var(--muted); line-height: 1.5; }
.scenario-go { color: var(--muted-2); align-self: center; }
.scenario-card.on .scenario-go { color: var(--jade-700); }

.sos-runner { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); overflow: hidden; }
.sos-runner-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding: 20px 24px; background: linear-gradient(120deg, #f0f9f7, #fff); border-bottom: 1px solid var(--line);
}
.sos-lang-pick { display: flex; flex-direction: column; gap: 5px; min-width: 170px; }
.sos-lang-pick label { font-size: 11.5px; font-weight: 700; color: var(--muted); letter-spacing: .5px; }
.sos-lang-pick .select { padding: 8px 32px 8px 11px; font-size: 13.5px; }
.sos-signs { padding: 14px 24px; background: #fff8e8; border-bottom: 1px solid #f3d59a; }
.sos-signs b { font-size: 12.5px; color: #7a4c00; letter-spacing: .5px; }
.sos-signs ul { margin: 6px 0 0; padding-left: 18px; font-size: 13px; color: #7a4c00; }
.sos-steps { padding: 8px 24px 4px; }
.sos-step { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px dashed var(--line); }
.sos-step:last-child { border-bottom: 0; }
.sos-step-num {
  width: 34px; height: 34px; border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center;
  background: var(--jade-800); color: #fff; font-weight: 800; font-size: 15px;
}
.sos-step.critical .sos-step-num { background: var(--coral-500); }
.sos-step-body { flex: 1; min-width: 0; }
.sos-step-body h3 { margin: 4px 0 6px; font-size: 16.5px; }
.sos-step-body p { margin: 0 0 9px; font-size: 13.5px; color: var(--ink-2); line-height: 1.75; }
.sos-phrase {
  background: var(--jade-50); border: 1px solid rgba(20, 145, 131, .18); border-radius: 10px;
  padding: 9px 12px; font-size: 15px; font-weight: 700; color: var(--jade-800); line-height: 1.6;
  margin-bottom: 9px;
}
.sos-step-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sos-step-actions .mini-btn { font-weight: 600; }
.sos-step-actions .mini-btn.on { background: var(--coral-100); border-color: var(--coral-500); color: var(--coral-600); }
.sos-timer { font-size: 18px; font-weight: 800; color: var(--coral-600); font-variant-numeric: tabular-nums; }
.sos-warn-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 6px 24px 18px; }
.sos-redflag, .sos-avoid { border-radius: 12px; padding: 12px 14px; }
.sos-redflag { background: #fff4f2; border: 1px solid #f4bcb4; }
.sos-redflag b { color: var(--coral-600); font-size: 13px; }
.sos-redflag ul { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; color: #8a3434; }
.sos-avoid { background: #f7f9f8; border: 1px solid var(--line); }
.sos-avoid b { color: var(--ink-2); font-size: 13px; }
.sos-avoid ul { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--muted); }
.sos-runner-foot { padding: 16px 24px 20px; border-top: 1px solid var(--line); background: #fbfdfc; }

.lang-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.lang-tabs button {
  border: 1px solid var(--line-strong); background: #fff; border-radius: 999px; padding: 6px 14px;
  cursor: pointer; font-size: 12.5px; color: var(--ink-2);
}
.lang-tabs button.on { background: var(--jade-800); border-color: var(--jade-800); color: #fff; }
.phrase-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.phrase-item {
  display: flex; align-items: center; gap: 10px; justify-content: space-between;
  border: 1px solid var(--line); border-radius: 11px; padding: 10px 12px; background: #fbfdfc;
}
.phrase-item-text { min-width: 0; }
.phrase-item-text b { display: block; font-size: 14.5px; color: var(--jade-800); line-height: 1.55; }
.phrase-item-text small { display: block; color: var(--muted); font-size: 11.5px; }
.phrase-item-actions { display: flex; gap: 5px; flex: 0 0 auto; }

.show-overlay {
  position: fixed; inset: 0; z-index: 200; background: #fff;
  display: grid; place-items: center; padding: 24px;
}
.show-overlay[hidden] { display: none; }
.show-card { width: min(100%, 980px); text-align: center; }
.show-lang { font-size: 13px; letter-spacing: 2px; color: var(--muted); text-transform: uppercase; font-weight: 700; }
.show-text {
  font-size: clamp(34px, 7vw, 82px); line-height: 1.28; font-weight: 800; color: var(--jade-900);
  margin: 22px 0; word-break: break-word;
}
.show-zh { font-size: 15px; color: var(--muted); }
.show-actions { display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }
.no-scroll { overflow: hidden; }

/* ================= 行前健康管家 ================= */
.tk-form-card { border-color: var(--line-strong); }
.tk-form-grid { gap: 16px; }
.tk-placeholder { text-align: center; padding: 36px 20px; color: var(--ink-2); }
.tk-placeholder b { font-size: 16px; }
.tk-report { display: flex; flex-direction: column; gap: 16px; }
.tk-report-head {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  background: linear-gradient(120deg, #0a4f45, #0f7d6d); color: #fff;
  border-radius: var(--radius); padding: 20px 24px; box-shadow: var(--shadow-md);
}
.tk-flag { font-size: 40px; line-height: 1; }
.tk-head-main { flex: 1 1 240px; min-width: 0; }
.tk-head-main h2 { color: #fff; }
.tk-head-main .muted { color: rgba(255, 255, 255, .78) !important; }
.tk-head-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.tk-em { text-align: center; }
.tk-em span { display: block; font-size: 10.5px; letter-spacing: 1.2px; color: rgba(255, 255, 255, .65); }
.tk-em b { font-size: 22px; color: #ffd48f; }
.tk-report-head .btn.ghost { background: rgba(255, 255, 255, .12); color: #fff; border-color: rgba(255, 255, 255, .38); }
.tk-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 16px; align-items: start; }
.tk-col-main { display: flex; flex-direction: column; gap: 16px; }
.tk-col-side { position: sticky; top: 86px; }
.tk-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.tk-sec-head h3 { margin: 0; font-size: 17px; }
.risk-list { display: flex; flex-direction: column; gap: 12px; }
.risk-card { border: 1px solid var(--line); border-radius: 12px; padding: 13px 15px; background: #fbfdfc; }
.risk-card.high { border-color: #f0c7c7; background: #fffafa; }
.risk-card.medium { border-color: #f3d59a; background: #fffdf6; }
.risk-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.risk-top b { font-size: 14.5px; }
.risk-level { font-size: 11.5px; font-weight: 700; padding: 2px 9px; border-radius: 999px; background: var(--jade-50); color: var(--jade-700); }
.risk-card.high .risk-level { background: var(--coral-100); color: var(--coral-600); }
.risk-card.medium .risk-level { background: var(--amber-100); color: var(--amber-600); }
.risk-bar { height: 5px; border-radius: 4px; background: #e8efec; overflow: hidden; margin: 8px 0; }
.risk-bar i { display: block; height: 100%; background: var(--jade-500); }
.risk-card.high .risk-bar i { background: var(--coral-500); }
.risk-card.medium .risk-bar i { background: var(--amber-500); }
.risk-card p { margin: 0 0 6px; font-size: 12.5px; color: var(--muted); line-height: 1.7; }
.risk-card ul { margin: 0; padding-left: 17px; font-size: 12.5px; color: var(--ink-2); line-height: 1.8; }
.tk-warnings { margin: 0; padding-left: 18px; font-size: 13px; color: var(--ink-2); line-height: 1.85; }
.tk-alert-list { display: flex; flex-direction: column; gap: 8px; }
.tk-alert {
  display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--line); border-radius: 10px;
  padding: 10px 12px; background: #fbfdfc; color: var(--ink);
}
.tk-alert:hover { border-color: var(--jade-500); }
.tk-alert b { font-size: 13.5px; }
.tk-alert small { color: var(--muted); font-size: 11.5px; }
.tk-phrase-card { position: relative; }
.tk-phrase-card .phrase-item { margin-bottom: 8px; display: block; }
.tk-phrase-card .phrase-item-actions { margin-top: 6px; justify-content: flex-end; }

/* ================= 药房与医院导航 ================= */
.fac-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fac-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px;
  box-shadow: var(--shadow-sm); scroll-margin-top: 92px;
}
.fac-card:target { border-color: var(--jade-500); box-shadow: 0 0 0 3px rgba(20, 145, 131, .15); }
.fac-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.fac-title { display: flex; gap: 12px; align-items: center; }
.fac-flag { font-size: 30px; line-height: 1; }
.fac-title h3 { margin: 0; font-size: 19px; }
.fac-em { text-align: right; }
.fac-em span { display: block; font-size: 10.5px; letter-spacing: 1.2px; color: var(--muted-2); }
.fac-em b { font-size: 24px; color: var(--coral-500); line-height: 1.1; display: block; }
.fac-em small { font-size: 11px; color: var(--muted); }
.fac-card h4 { margin: 14px 0 6px; font-size: 12px; letter-spacing: .8px; color: var(--jade-700); text-transform: uppercase; }
.fac-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.fac-item {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
  border: 1px solid var(--line); border-radius: 10px; padding: 9px 11px; background: #fbfdfc;
}
.fac-item-main { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.fac-item-main b { font-size: 13.5px; line-height: 1.5; }
.fac-item-main .pill { align-self: flex-start; }
.fac-item-main small { color: var(--muted); font-size: 11.5px; line-height: 1.55; }
.fac-item-links { display: flex; gap: 8px; flex: 0 0 auto; font-size: 12px; }
.fac-item-links a { white-space: nowrap; }
.fac-tips { margin: 12px 0 0; font-size: 12px; color: var(--muted); background: var(--jade-50); border-radius: 9px; padding: 9px 11px; line-height: 1.7; }

/* ================= 首页决策入口 ================= */
.decision-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(196px, 1fr)); gap: 12px; }
.decision-card {
  display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 16px;
  background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm);
  color: var(--ink); transition: .16s; min-height: 132px;
}
.decision-card:hover { transform: translateY(-2px); border-color: var(--jade-500); box-shadow: var(--shadow-md); color: var(--ink); }
.decision-card.urgent { background: linear-gradient(140deg, #fff4f2, #fff); border-color: #f4bcb4; }
.decision-card.quick { background: linear-gradient(140deg, #fff8e8, #fff); border-color: #f3d59a; }
.decision-ico { font-size: 24px; line-height: 1; }
.decision-card b { font-size: 16px; }
.decision-card small { color: var(--muted); font-size: 12.5px; line-height: 1.6; }
.decision-card .go { margin-top: auto; font-size: 12px; font-weight: 700; color: var(--jade-700); }

/* ================= 数据可信度面板 ================= */
.cred-card { padding: 22px; }
.cred-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.cred-top h2 { margin: 0; font-size: 22px; }
.cred-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.cred-stat { background: #fbfdfc; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; }
.cred-stat b { display: block; font-size: 22px; color: var(--jade-800); line-height: 1.2; }
.cred-stat span { font-size: 11.5px; color: var(--muted); }
.cred-bars { display: flex; flex-direction: column; gap: 8px; }
.cred-bar-row { display: grid; grid-template-columns: 190px minmax(0, 1fr) 46px; gap: 10px; align-items: center; font-size: 12.5px; }
.cred-bar-row .name { color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cred-bar { height: 8px; border-radius: 5px; background: #eef4f1; overflow: hidden; }
.cred-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--jade-500), var(--jade-700)); border-radius: 5px; }
.cred-bar-row .n { text-align: right; color: var(--muted); font-variant-numeric: tabular-nums; }
.cred-foot { margin: 16px 0 0; font-size: 11.5px; color: var(--muted); line-height: 1.7; }

/* ================= 新页面响应式 ================= */
@media (max-width: 1024px) {
  .scenario-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tk-grid { grid-template-columns: 1fr; }
  .tk-col-side { position: static; }
  .fac-grid { grid-template-columns: 1fr; }
  .decision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cred-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .scenario-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sos-runner-head, .sos-signs, .sos-steps, .sos-runner-foot { padding-left: 16px; padding-right: 16px; }
  .sos-warn-grid { grid-template-columns: 1fr; padding-left: 16px; padding-right: 16px; }
  .phrase-board { grid-template-columns: 1fr; }
  .tk-report-head { padding: 16px; }
  .tk-head-actions { width: 100%; justify-content: space-between; }
  .cred-bar-row { grid-template-columns: 120px minmax(0, 1fr) 40px; }
}
@media (max-width: 560px) {
  .scenario-grid { grid-template-columns: 1fr; }
  .decision-grid { grid-template-columns: 1fr; }
  .fac-card { padding: 16px; }
  .fac-item { flex-direction: column; }
  .show-text { font-size: clamp(28px, 9vw, 52px); }
}

/* ================= 打印：只保留可用内容 ================= */
@media print {
  .topbar, .footer, .skip-link, .mobile-nav, .sos-hero, .country-hero, .hero, #scenarioPick,
  .sos-step-actions, .lang-tabs, .btn-row, .tk-form-card, .emergency-strip,
  .show-overlay, .sos-offline, #printSos, #tkPrint, .country-toolbar, .hero-badges,
  .phrase-item-actions, .sos-lang-pick, .tk-phrase-card .field { display: none !important; }
  body { background: #fff; font-size: 11.5pt; color: #000; }
  .section { padding: 10px 0; }
  .card, .sos-runner, .fac-card, .tk-report-head { box-shadow: none !important; border: 1px solid #bbb !important; background: #fff !important; color: #000 !important; }
  .tk-head-main h2, .tk-head-main .muted { color: #000 !important; }
  .tk-col-side { position: static !important; }
  .sos-step, .fac-card, .risk-card { page-break-inside: avoid; }
  .part, .sos-phrase { border-color: #bbb !important; }
  a { color: #000 !important; text-decoration: none !important; }
}

