/* 33 · 猫尿闭急救 —— 视觉母题「急诊分诊台」
   独立布局：顶部红色警报带 + 深色分诊面板 / 浅色出发清单；结果是三色分级横幅 + 竖向时间线。 */
.b29.ub-wrap {
    --b29-bg: #f8f4f2;
    --b29-surface: #fffdfc;
    --b29-surface-2: #f9f1ef;
    --b29-ink: #262022;
    --b29-sub: #5d5154;
    --b29-muted: #94888b;
    --b29-line: #ecdfdf;
    --b29-line-strong: #dec9c9;
    --b29-accent: #bb3b3e;
    --b29-accent-2: #3b6b78;
    --b29-tint: #fbe9e9;
    --b29-radius: 13px;
    --b29-radius-sm: 8px;
    --ub-dark: #241e21;
    --ub-dark-2: #32282c;
    --ub-dark-line: #4c3c40;
}
:root[data-theme="dark"] .b29.ub-wrap {
    --b29-bg: #131012;
    --b29-surface: #1e191c;
    --b29-surface-2: #271f22;
    --b29-ink: #f3eaec;
    --b29-sub: #cbb9bd;
    --b29-muted: #9b898e;
    --b29-line: #35282c;
    --b29-line-strong: #483438;
    --b29-accent: #f38689;
    --b29-accent-2: #8bc3cf;
    --b29-tint: #3a2226;
    --ub-dark: #191316;
    --ub-dark-2: #251b1f;
    --ub-dark-line: #403034;
}
.ub-hero h1 em { font-style: normal; color: var(--b29-accent); display: block; font-size: .58em; margin-top: 10px; }
.ub-wrap .b29-alert { font-size: var(--b29-base); font-weight: 600; }

.ub-triage { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(0, .58fr); gap: 0;
    border-radius: var(--b29-radius); overflow: hidden; border: 1px solid var(--b29-line); box-shadow: var(--b29-shadow); }
.ub-triage-main { background: var(--ub-dark); color: #f6f0f1; padding: 28px; }
.ub-tag { font-family: var(--b29-mono); font-size: 11.5px; letter-spacing: .18em; color: #f19b9b; margin-bottom: 12px; }
.ub-triage-main h2 { font-size: var(--b29-xl); color: #fff; margin-bottom: 6px; }
.ub-sub { font-size: var(--b29-sm); color: #c2b2b6; margin-bottom: 18px; }
.ub-sub b { color: #ff8f8f; }
.ub-signs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.ub-sign { position: relative; display: flex; align-items: center; gap: 9px; cursor: pointer; padding: 11px 13px;
    border: 1.5px solid var(--ub-dark-line); border-radius: 8px; background: var(--ub-dark-2); font-size: var(--b29-sm); transition: all .16s; }
.ub-sign:hover { border-color: #b99ea2; }
.ub-sign input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ub-sign:has(input:checked) { border-color: #ef7b7b; background: #45282c; font-weight: 750; }
.ub-sign--red .ub-sign-txt::before { content: "●"; color: #f0736f; font-size: 10px; margin-right: 6px; }
.ub-sign-txt { color: #e0d3d6; }
.ub-sign input:focus-visible + .ub-sign-txt { outline: 2px solid #f0736f; outline-offset: 3px; }
.ub-triage-main .b29-label { color: #cbb9bd; }
.ub-triage-main .b29-input { background: var(--ub-dark-2); color: #f6f0f1; border-color: var(--ub-dark-line); }
.ub-triage-main .b29-btn--soft { color: #f0e4e6; background: var(--ub-dark-2); border-color: var(--ub-dark-line); }
.ub-btn-go { background: #c33c40; border-color: #c33c40; }
.ub-triage-main .b29-err { color: #ff9c9c; }
.ub-triage-side { background: var(--b29-surface); padding: 28px 22px; border-left: 1px solid var(--b29-line); }
.ub-side-title { font-size: var(--b29-sm); font-weight: 800; letter-spacing: .1em; color: var(--b29-accent); margin-bottom: 18px; }
.ub-side-list { list-style: none; margin: 0; padding: 0; }
.ub-side-list li { position: relative; padding: 0 0 18px 26px; margin: 0; }
.ub-side-list li:not(:last-child)::before { content: ""; position: absolute; left: 8px; top: 20px; bottom: 0; width: 2px; background: var(--b29-line-strong); }
.ub-side-list li::after { content: ""; position: absolute; left: 2px; top: 5px; width: 14px; height: 14px; border-radius: 50%;
    background: var(--b29-tint); border: 3px solid var(--b29-accent); }
.ub-side-list b { display: block; font-size: var(--b29-sm); }
.ub-side-list span { display: block; font-size: var(--b29-xs); color: var(--b29-muted); line-height: 1.7; margin-top: 3px; }
.ub-side-foot { padding-top: 14px; border-top: 1px dashed var(--b29-line-strong); font-size: var(--b29-xs); color: var(--b29-danger); line-height: 1.8; }

.ub-level { border-radius: var(--b29-radius); padding: 22px 24px; margin-bottom: 20px; border: 2px solid var(--b29-danger); background: var(--b29-danger-tint); }
.ub-level--2 { border-color: var(--b29-warn); background: var(--b29-warn-tint); }
.ub-level--1 { border-color: var(--b29-ok); background: var(--b29-ok-tint); }
.ub-level-code { font-family: var(--b29-mono); font-size: var(--b29-xs); font-weight: 800; letter-spacing: .12em; color: var(--b29-danger); }
.ub-level--2 .ub-level-code { color: var(--b29-warn); }
.ub-level--1 .ub-level-code { color: var(--b29-ok); }
.ub-level h3 { font-size: var(--b29-xl); margin: 8px 0; }
.ub-level p { font-size: var(--b29-sm); line-height: 1.8; margin: 0; }
.ub-col { padding: 20px 22px; border-radius: var(--b29-radius); background: var(--b29-surface); border: 1px solid var(--b29-line); }
.ub-col h3 { font-size: var(--b29-md); margin-bottom: 13px; }
.ub-col--no { border-top: 4px solid var(--b29-danger); }
.ub-col--no h3 { color: var(--b29-danger); }
.ub-col--yes { border-top: 4px solid var(--b29-accent-2); }
.ub-col--yes h3 { color: var(--b29-accent-2); }
.ub-col ul { list-style: none; margin: 0; padding: 0; }
.ub-col li { position: relative; padding-left: 21px; font-size: var(--b29-sm); line-height: 1.8; margin-bottom: 9px; color: var(--b29-sub); }
.ub-col li::before { content: "×"; position: absolute; left: 0; color: var(--b29-danger); font-weight: 800; }
.ub-tl { list-style: none; margin: 0; padding: 0; }
.ub-tl li { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--b29-line); font-size: var(--b29-sm); }
.ub-tl li:last-child { border-bottom: 0; }
.ub-tl b { color: var(--b29-muted); font-size: var(--b29-xs); font-weight: 700; }
.ub-tl span { color: var(--b29-ink); overflow-wrap: anywhere; }

@media (max-width: 900px) {
    .ub-triage { grid-template-columns: minmax(0, 1fr); }
    .ub-triage-side { border-left: 0; border-top: 1px solid var(--b29-line); }
}
@media (max-width: 560px) {
    .ub-triage-main, .ub-triage-side { padding: 18px 16px; }
    .ub-signs { grid-template-columns: minmax(0, 1fr); }
    .ub-tl li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
