/* 房颤卒中与出血双评分：页面级样式（仅使用 dk-* 设计令牌，随主题切换） */

.af-copy { min-width: 0; }

.af-tool { position: sticky; top: 82px; }

/* 首屏页内导航 */
.af-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.af-jump a {
    padding: 6px 12px;
    font-size: 12.5px; color: var(--dk-ink-2); text-decoration: none;
    border: 1px solid var(--dk-line); border-radius: 99px;
    background: var(--dk-surface);
    transition: color .14s, border-color .14s, background .14s;
}
.af-jump a:hover { color: var(--dk-accent); border-color: var(--dk-accent-line); background: var(--dk-accent-soft); }

#afRisk, #afDecision, #afFaq, #afDisclaimer { scroll-margin-top: 84px; }

/* 性别选择 */
.af-sex {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 10px 12px; margin-bottom: 14px;
    background: var(--dk-surface-2);
    border: 1px solid var(--dk-line);
    border-radius: var(--dk-r);
}
.af-sex-label { font-size: 13px; font-weight: 600; color: var(--dk-ink-2); }

/* 双栏因素区 */
.af-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

.af-set {
    margin: 0; padding: 0; min-width: 0;
    border: 1px solid var(--dk-line);
    border-radius: var(--dk-r);
    overflow: hidden;
    background: var(--dk-surface);
}
.af-set-head {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 9px 12px; width: 100%;
    background: var(--dk-surface-3);
    font-size: 12.5px; font-weight: 700; color: var(--dk-ink-2);
    letter-spacing: .01em;
}
.af-set-cha .af-set-head { color: color-mix(in srgb, var(--dk-accent) 70%, var(--dk-ink)); }
.af-set-has .af-set-head { color: color-mix(in srgb, var(--dk-warn) 78%, var(--dk-ink)); }
.af-set-max { font-weight: 500; font-size: 11.5px; color: var(--dk-muted); }

/* 单个因素行 */
.af-f {
    display: flex; align-items: flex-start; gap: 9px;
    padding: 9px 12px; cursor: pointer;
    border-top: 1px solid var(--dk-line);
    transition: background .14s;
}
.af-f:hover { background: var(--dk-surface-2); }
.af-f:has(input:checked) { background: var(--dk-accent-soft); }
.af-f input {
    flex: 0 0 auto; width: 15px; height: 15px; margin: 3px 0 0;
    accent-color: var(--dk-accent); cursor: pointer;
}
.af-f-t { flex: 1 1 auto; min-width: 0; font-size: 13px; line-height: 1.55; color: var(--dk-ink-2); }
.af-pt {
    flex: 0 0 auto; min-width: 20px; height: 19px; line-height: 17px;
    font-family: var(--dk-mono); font-size: 11.5px; text-align: center;
    color: var(--dk-muted);
    border: 1px solid var(--dk-line); border-radius: 5px;
    background: var(--dk-surface-2);
    transition: color .14s, border-color .14s, background .14s;
}
.af-f:has(input:checked) .af-pt {
    color: var(--dk-accent); border-color: var(--dk-accent-line);
    background: var(--dk-surface); font-weight: 700;
}

/* 分数卡 */
.af-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.af-score {
    padding: 12px 14px 14px;
    border: 1px solid var(--dk-line);
    border-radius: var(--dk-r);
    background: var(--dk-surface-2);
}
.af-score-k { display: block; font-size: 12px; font-weight: 600; color: var(--dk-muted); letter-spacing: .02em; }
.af-score b {
    display: inline-block; margin-top: 4px;
    font-family: var(--dk-mono); font-size: 30px; line-height: 1.1;
    color: var(--dk-ink); letter-spacing: -.02em;
}
.af-score-u { margin-left: 4px; font-size: 12px; color: var(--dk-muted); }
.af-score-r { margin: 1px 0 0; font-size: 12px; color: var(--dk-ink-2); }
.af-bar { height: 5px; margin-top: 9px; border-radius: 99px; background: var(--dk-surface-3); overflow: hidden; }
.af-bar i {
    display: block; height: 100%; width: 0;
    background: var(--dk-accent); border-radius: inherit;
    transition: width .28s ease;
}
.af-score.has .af-bar i { background: var(--dk-warn); }

/* 结论条 */
.af-verdict {
    margin-top: 12px; padding: 12px 14px;
    border: 1px solid var(--dk-line); border-left-width: 3px;
    border-radius: var(--dk-r);
    background: var(--dk-surface-2);
}
.af-verdict-t { margin: 0 0 3px; font-size: 13.5px; font-weight: 700; }
.af-verdict-d { margin: 0; font-size: 13px; line-height: 1.65; color: var(--dk-ink-2); }
.af-verdict.is-low { background: var(--dk-ok-soft); border-color: color-mix(in srgb, var(--dk-ok) 32%, transparent); }
.af-verdict.is-low .af-verdict-t { color: var(--dk-ok); }
.af-verdict.is-mid { background: var(--dk-warn-soft); border-color: color-mix(in srgb, var(--dk-warn) 34%, transparent); }
.af-verdict.is-mid .af-verdict-t { color: var(--dk-warn); }
.af-verdict.is-high { background: var(--dk-err-soft); border-color: color-mix(in srgb, var(--dk-err) 34%, transparent); }
.af-verdict.is-high .af-verdict-t { color: var(--dk-err); }

/* 操作区 */
.af-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.af-presets { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.af-preset {
    border: 1px dashed var(--dk-line-strong); background: transparent;
    color: var(--dk-muted); font-size: 11.5px;
    padding: 4px 9px; border-radius: 99px; cursor: pointer;
    transition: color .14s, border-color .14s;
}
.af-preset:hover { color: var(--dk-accent); border-color: var(--dk-accent-line); }

/* 正文补充 */
.af-tip {
    margin: 14px 0 0; padding: 12px 14px;
    font-size: 13.5px; line-height: 1.75; color: var(--dk-ink-2);
    background: var(--dk-surface-2);
    border: 1px solid var(--dk-line);
    border-left: 3px solid var(--dk-accent);
    border-radius: var(--dk-r);
}
.af-rel { display: block; }
.af-rel h3 { font-size: 15.5px; margin-bottom: 6px; }
.af-rel p { margin: 0; font-size: 13px; color: var(--dk-muted); line-height: 1.65; }
.af-disclaimer { margin-top: 34px; }
.af-disclaimer p { margin: 0; font-size: 13px; line-height: 1.75; }

@media (max-width: 960px) {
    .af-board { grid-template-columns: 1fr; }
    .af-tool { position: static; }
}

@media (max-width: 560px) {
    .af-score-grid { grid-template-columns: 1fr; }
    .af-presets { margin-left: 0; }
    .af-f-t { font-size: 12.5px; }
}

@media print {
    .af-actions, .af-sex, .dk-top, .dk-foot { display: none !important; }
    .af-tool { position: static; box-shadow: none; }
}
