/* pi-context-management 专属样式：水位模拟器 + 判定小游戏 + 终极测验 */
/* 公共部分见 ../assets/handbook.css */

/* ===== 第02章 · 压缩水位模拟器 ===== */
  .tank{
    width:100%;max-width:var(--content-rail);border:1.5px solid var(--ink);border-radius:10px;
    background:#fffdf8;margin:20px 0 10px;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);overflow:hidden;
  }
  .tank-vis{padding:18px;border-right:1px solid var(--line);display:flex;gap:16px;align-items:stretch;background:var(--paper)}
  .tank-body{position:relative;width:110px;flex:none;border:1.5px solid var(--ink);border-radius:8px;overflow:hidden;background:#fffdf8}
  .tank-fill{position:absolute;left:0;right:0;bottom:0;height:0%;background:linear-gradient(180deg,#e8b48f,#c2491d);transition:height .45s ease-out}
  .tank-fill.over{background:linear-gradient(180deg,#d98a68,#a83232)}
  .tank-thresh{position:absolute;left:-6px;right:-6px;border-top:2px dashed var(--bad);z-index:2}
  .tank-thresh span{position:absolute;right:4px;top:-18px;font:10px var(--mono);color:var(--bad);white-space:nowrap}
  .tank-scale{display:flex;flex-direction:column;justify-content:space-between;font:10.5px var(--mono);color:var(--ink-faint);text-align:left}
  .tank-readout{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;font-family:var(--mono);font-size:11.5px;color:var(--ink-soft)}
  .tank-readout b{font-size:15px;color:var(--ink)}
  .tank-log{max-height:210px;overflow-y:auto;padding:14px 20px;font-family:var(--mono);font-size:11.5px;line-height:2;background:var(--code-bg);color:var(--code-ink)}
  .tank-log .lg{opacity:0;animation:simIn .35s ease-out forwards}
  .tank-log .lg.cm{color:#8a8065}
  .tank-log .lg.warn{color:#e0915a}
  .tank-log .lg.act{color:#b5c98a}
  @keyframes simIn{to{opacity:1}}
  .tank-ctrl{grid-column:1/-1;display:flex;gap:10px;align-items:center;border-top:1.5px solid var(--ink);padding:13px 18px;background:var(--paper-deep);flex-wrap:wrap}

/* ===== 通用按钮（本主题内复用） ===== */
  .sim-btn{
    font-family:var(--mono);font-size:13px;font-weight:600;cursor:pointer;
    background:var(--ink);color:var(--paper);border:none;border-radius:6px;padding:8px 18px;transition:.15s;
  }
  .sim-btn:hover{background:var(--accent-deep)}
  .sim-btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink-soft)}
  .sim-btn.ghost:hover{color:var(--accent);border-color:var(--accent)}
  .sim-count{font-family:var(--mono);font-size:12px;color:var(--ink-faint);margin-left:auto}

/* ===== 第06章 · 工具判定小游戏 ===== */
  .verdict{width:100%;max-width:var(--content-rail);border:1.5px solid var(--ink);border-radius:10px;background:#fffdf8;margin:20px 0;overflow:hidden}
  .vd-intent{padding:15px 20px;background:var(--paper-deep);border-bottom:1.5px solid var(--ink)}
  .vd-intent .lbl{font:10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:5px}
  .vd-intent p{margin:0;font-family:var(--serif);font-size:15.5px;line-height:1.7;max-width:none}
  .vd-cards{padding:16px 20px;display:grid;gap:10px}
  .vd-card{border:1.5px solid var(--line);border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:12px;transition:.15s}
  .vd-call{font-family:var(--mono);font-size:12.5px;color:var(--ink);flex:1;min-width:0;overflow-wrap:anywhere}
  .vd-btns{display:flex;gap:6px;flex:none}
  .vd-btn{font:600 11px var(--mono);cursor:pointer;border:1.5px solid var(--line);background:var(--paper);border-radius:99px;padding:5px 13px;color:var(--ink-soft);transition:.13s}
  .vd-btn:hover{border-color:var(--ink)}
  .vd-card.keep .vd-btn.k,.vd-card.drop .vd-btn.d{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .vd-card.right{border-color:var(--ok);background:#eef3ea}
  .vd-card.wrong{border-color:var(--bad);background:#f8ecec}
  .vd-card.locked .vd-btn{pointer-events:none;opacity:.75}
  .vd-why{font-size:12.5px;color:var(--ink-soft);width:100%;margin-top:2px;display:none}
  .vd-card.right .vd-why,.vd-card.wrong .vd-why{display:block}
  .vd-foot{display:flex;gap:10px;align-items:center;padding:13px 20px;border-top:1.5px solid var(--ink);background:var(--paper-deep)}
  .vd-score{font-family:var(--mono);font-weight:700;color:var(--accent-deep)}

/* ===== 终极测验 ===== */
  .quizbox{width:100%;max-width:var(--content-rail);border:1.5px solid var(--ink);border-radius:10px;background:#fffdf8;margin:20px 0;overflow:hidden}
  .quiz-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1.5px solid var(--ink);background:var(--paper-deep)}
  .quiz-head .qt{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
  .quiz-score{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--accent-deep)}
  .quiz-body{padding:20px 24px}
  .q-no{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.1em;margin-bottom:6px}
  .q-text{font-size:17px;font-weight:650;margin-bottom:16px;max-width:64ch}
  .q-opt{display:block;border:1.5px solid var(--line);border-radius:8px;padding:11px 16px;margin-bottom:9px;cursor:pointer;transition:.13s;font-size:15px;max-width:100%}
  .q-opt:hover{border-color:var(--ink);background:var(--paper-deep)}
  .q-opt.picked{border-color:var(--accent);background:#f7e3d8}
  .q-opt.right{border-color:var(--ok);background:#e2ecdd}
  .q-opt.wrong{border-color:var(--bad);background:#f6dede}
  .q-opt.locked{pointer-events:none}
  .q-exp{display:none;border-top:1px dashed var(--line);margin-top:12px;padding-top:12px;font-size:14.5px;color:var(--ink-soft)}
  .q-exp.show{display:block}
  .quiz-foot{display:flex;gap:10px;padding:14px 24px;border-top:1.5px solid var(--ink);background:var(--paper-deep)}
  .q-verdict{font-size:14.5px;font-weight:700;margin-left:6px;align-self:center}
  .q-verdict.ok{color:var(--ok)} .q-verdict.bad{color:var(--bad)}

@media (max-width:920px){
  .tank{grid-template-columns:1fr}
  .tank-vis{border-right:none;border-bottom:1px solid var(--line)}
}
