/* 第 12 章特有样式 */

/* 宽表格在窄屏只横向滚动，不撑宽正文（同第 10、11 章） */
.philo .tp-main .tbl-w{width:0;min-width:100%}

/* 计划单（TPC12.plan） */
.philo .pl12{display:grid;gap:6px}
.philo .pl12 .pr{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start;padding:9px 12px;border-radius:10px;background:var(--raise);box-shadow:inset 0 0 0 1px var(--line2);transition:background .2s,box-shadow .2s}
.philo .pl12 .ph12{font-size:12.5px;font-weight:700;color:var(--mute);padding-top:2px}
.philo .pl12 .pv{font-size:14.5px;line-height:1.6;color:var(--prose);padding-right:34px}
.philo .pl12 .tg{display:inline-block;font-size:12px;font-weight:600;padding:0 7px;border-radius:99px;background:var(--raise2);color:var(--sub);white-space:nowrap}
.philo .pl12 .pr.bad{background:var(--err-soft);box-shadow:inset 0 0 0 1.5px var(--err)}
.philo .pl12 .pr.bad .pv{color:var(--text)}
.philo .pl12 .pr.warn{background:var(--warn-soft);box-shadow:inset 0 0 0 1.5px var(--warn)}
.philo .pl12 .pr.ok{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent-line)}
.philo .pl12 .bd{position:absolute;top:7px;right:8px;display:flex;gap:3px}
.philo .pl12 .bd i{font-style:normal;font-size:11.5px;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:99px;background:var(--err);color:var(--bg)}
.philo .pl12 .pr.warn .bd i{background:var(--warn)}
.philo .pl12 .pr.ok .bd i{background:var(--accent)}
@media(max-width:560px){.philo .pl12 .pr{grid-template-columns:1fr;gap:2px}}

/* 章首页：矛盾高亮 */
.philo .hl12{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:760px){.philo .hl12{grid-template-columns:1fr}}
.philo .ck12{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.philo .ck12 li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:start;padding:8px 10px;border-radius:10px;background:var(--raise);box-shadow:inset 0 0 0 1px var(--line2);font-size:14px;line-height:1.6;color:var(--sub)}
.philo .ck12 li .n{width:22px;height:22px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--raise2);color:var(--mute)}
.philo .ck12 li b{color:var(--text);font-weight:700}
.philo .ck12 li .say{display:block;margin-top:2px;color:var(--prose)}
.philo .ck12 li.bad{box-shadow:inset 0 0 0 1.5px var(--err)}
.philo .ck12 li.bad .n{background:var(--err);color:var(--bg)}
.philo .ck12 li.warn{box-shadow:inset 0 0 0 1.5px var(--warn)}
.philo .ck12 li.warn .n{background:var(--warn);color:var(--bg)}
.philo .ck12 li.ok .n{background:var(--accent);color:var(--bg)}
.philo .ck12 li.cur{background:var(--accent-soft2)}
.philo .ck12 li.todo{opacity:.55}
.philo .tally12{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0;font-size:14px}
.philo .tally12 span{padding:4px 10px;border-radius:99px;background:var(--raise);box-shadow:inset 0 0 0 1px var(--line2);color:var(--sub)}
.philo .tally12 b{font-family:var(--font-mono)}
.philo .tally12 .r b{color:var(--err)}
.philo .tally12 .y b{color:var(--warn)}
.philo .tally12 .g b{color:var(--accent)}

/* 卡片里的小链条（三个人的写法） */
.philo .who12{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0}
.philo .who12 .card h4{justify-content:space-between}
.philo .who12 .tag12{font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--raise2);color:var(--sub)}
.philo .kv12{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.philo .kv12 li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;font-size:14px;line-height:1.6;color:var(--sub)}
.philo .kv12 li b{color:var(--accent);font-size:12.5px;font-weight:700;white-space:nowrap}
.philo .kv12 li.x b,.philo .kv12 li.x span{color:var(--err)}

/* 小统计格 */
.philo .st12{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0}
.philo .st12 .card{padding:10px 12px}
.philo .st12 .k{font-size:12.5px;color:var(--mute)}
.philo .st12 .v{font-size:19px;font-weight:700;color:var(--text);font-family:var(--font-mono)}
.philo .st12 .s{font-size:12.5px;color:var(--sub);line-height:1.5}

/* 勾选清单（验尸、红队） */
.philo .tick12{display:grid;gap:6px;margin:10px 0}
.philo .tick12 label{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:10px;background:var(--raise);box-shadow:inset 0 0 0 1px var(--line2);font-size:14.5px;line-height:1.6;cursor:pointer}
.philo .tick12 input{margin-top:5px;flex:0 0 auto;accent-color:var(--accent)}
.philo .tick12 label.on{box-shadow:inset 0 0 0 1.5px var(--accent-line);background:var(--accent-soft)}
.philo .tick12 label.hit{box-shadow:inset 0 0 0 1.5px var(--err)}
.philo .tick12 .sm12{display:block;font-size:12.5px;color:var(--mute)}

/* 数字小表 */
.philo .tb12 td,.philo .tb12 th{font-size:13.5px}
.philo .tb12 td:first-child{white-space:nowrap}
.philo .neg12{color:var(--err);font-weight:700}
.philo .pos12{color:var(--ok);font-weight:700}

/* 本章产物：逻辑自洽检查表 */
.philo .rs12{display:grid;gap:10px}
.philo .rs12 .rb{padding:12px 14px;border-radius:12px;background:var(--raise);box-shadow:inset 0 0 0 1px var(--line2)}
.philo .rs12 .rb h4{margin:0 0 6px;font-size:14.5px;color:var(--text)}
.philo .rs12 .rb > label,.philo .rs12 .rb .two label{font-size:13px;color:var(--sub);display:block;margin:8px 0 4px}
.philo .fld .three12{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.philo .fld .three12 label{font-size:13px;color:var(--sub);display:block;margin-bottom:4px}
@media(max-width:600px){.philo .fld .three12{grid-template-columns:1fr}}
.philo .fld select{font:inherit;font-size:15px;color:var(--text);background:var(--bg);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;min-width:0;max-width:100%;width:100%}
.philo .fld input[type=date]{font:inherit;font-size:15px;color:var(--text);background:var(--bg);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;min-width:0;max-width:100%}
.philo .vk12{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:5px}
.philo .vk12 li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;font-size:13.5px;line-height:1.55;color:var(--sub)}
.philo .vk12 li .n{width:20px;height:20px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;background:var(--raise2);color:var(--mute)}
.philo .vk12 li.ok .n{background:var(--accent);color:var(--bg)}
.philo .vk12 li.warn .n{background:var(--warn);color:var(--bg)}
.philo .vk12 li.bad .n{background:var(--err);color:var(--bg)}
.philo .vk12 li b{color:var(--text)}
.philo .ov12 td,.philo .ov12 th{font-size:13.5px;vertical-align:top}
.philo .ov12{min-width:560px}
@media print{.philo .ov12{min-width:0}}
.philo .calc12{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--raise2);font-size:13.5px;line-height:1.7;color:var(--sub)}
.philo .calc12 b{color:var(--text)}
