/* 错题知识点（mp-kp.js）与练习单（basket.js）。颜色沿用 studio.css 的变量。 */
.kpsum{padding:12px 14px}
/* 数字一行：四个数 + 订正情况并排（批次 1 压低页头，第一个知识点不滚动就能看到） */
.kptop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(240px,1.6fr);gap:8px}
.kptop .stat{padding:8px 12px;min-width:0}
.kptop .stat b{font-size:24px}
.kpsum .stat b small{font-size:14px;color:var(--muted);font-weight:600}
.kptop .stat span{display:block;font-size:12px;line-height:1.45}
.kptop .kpfix.kpfixbox{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;align-content:center;gap:6px 10px;margin:0;padding:8px 12px;background:var(--soft);border-radius:var(--r-md);font-size:12px;min-width:0}
.kpfix.kpfixbox .fb{max-width:none}
.kpfix.kpfixbox .lg{grid-column:1/-1;gap:2px 10px}
.kptop .stat span .trend{display:block;width:fit-content;margin:3px 0 0}
.kpmeta{display:flex;align-items:center;flex-wrap:wrap;gap:0 16px;margin-top:4px}
.kpmeta p{margin:0;line-height:1.5;max-width:64ch;flex:1 1 320px}
.kpnote summary{min-height:44px}
.kpnote[open]{flex-basis:100%;padding-bottom:6px}
.kpnote{font-size:13px;color:var(--faint);line-height:1.6;max-width:64ch}.kpnote summary{cursor:pointer;color:var(--muted);font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:4px}.kpnote summary::-webkit-details-marker{display:none}.kpnote summary::before{content:'';width:0;height:0;border:4px solid transparent;border-left:5px solid currentColor;margin-right:2px}.kpnote[open] summary::before{transform:rotate(90deg)}
.kptabs{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:6px}   /* 页签、按章、更多：一条工具栏 */
.kpdays button{min-height:44px;padding:0 11px;font-size:14px}
.kpsplit{display:grid;grid-template-columns:var(--split-left,minmax(240px,310px)) minmax(0,1fr);gap:16px;align-items:start}
.kplist{padding:6px;max-height:calc(100vh - 330px);min-height:320px;overflow:auto;position:sticky;top:0}
.kprow{display:grid;grid-template-columns:22px minmax(0,1fr) 44px 46px;align-items:center;gap:8px;width:100%;border:0;background:none;text-align:left;padding:9px 8px;border-radius:var(--r-sm);min-height:52px}
.kprow:hover{background:var(--soft)}
.kprow.on{background:var(--pri-s)}.kprow.on .rk{color:var(--muted)}   /* --faint 在 --pri-s 上只有 4.4:1 */
.kprow .rk{font-size:12px;color:var(--faint);text-align:right;font-variant-numeric:tabular-nums}
.kprow .nm{min-width:0}
.kprow .nm b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.3;overflow:hidden}
.kprow .nm small{display:block;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kprow .bar{height:8px;background:var(--tonal);border-radius:var(--r-xs);overflow:hidden}
.kprow .bar i{display:block;height:100%;background:var(--pri-m);border-radius:var(--r-xs)}
.kprow .ct{font-size:13px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.kprow .ct small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.kpdetail{padding:16px 18px;min-width:0}
.kph{display:flex;align-items:flex-start;gap:12px}
.kph h2{margin:0 0 2px;font-size:18px;line-height:1.35}
.kph>div{flex:1;min-width:0}
.kpstus{display:flex;flex-wrap:wrap;gap:8px}
.kpstu{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:var(--tonal);border-radius:var(--r-pill);padding:3px 12px 3px 4px;min-height:38px;font-weight:600;font-size:14px}
.kpstu .mpav{width:28px;height:28px;font-size:13px}
.kpstu small{color:var(--pri-t);font-weight:600}
.kppre{display:flex;flex-wrap:wrap;gap:8px}
.kppre .kchip{cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;min-height:44px}
.kpdetail .sech{display:flex;align-items:center;gap:8px}
.kpdetail .sech small{color:var(--faint)}
.kpdetail .sech .rowlink{margin-left:auto}
.kpdetail .thumbs{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.qimg .cap{flex:1;min-width:0;font-size:12px;line-height:1.35}
.qimg .noimg{padding:12px 10px;text-align:center;color:var(--faint);margin:0}
.bk-add{border:1px solid var(--line2);background:#fff;border-radius:var(--r-sm);min-height:44px;padding:0 12px;font-size:13px;font-weight:700;color:var(--pri-t);white-space:nowrap}
.bk-add.on{background:var(--pri-s);border-color:transparent}
.kpmx{padding:0 0 10px;overflow:hidden}
.kpmx .tablewrap{max-height:calc(100vh - 360px);border-top:0}
.kpmx>p{margin:10px 16px 0}
.kpt thead th{width:78px;min-width:78px}
.kpth{border:0;background:none;padding:0;text-align:left;font-weight:700;font-size:13px;color:var(--ink);line-height:1.3}
.kpth:hover{color:var(--pri-t)}
.kpt td.name small{display:block;font-size:12px;color:var(--faint);font-weight:500}
.kpt td.name .rowlink{padding:0;font-size:14px}
.kpt td.kc{text-align:center;font-weight:700;font-variant-numeric:tabular-nums;border-radius:var(--r-sm)}
/* 练习单 */
.bk{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.bk-list,.bk-reg{padding:16px 18px;min-width:0}
.bk-empty{max-width:560px;margin:30px auto;line-height:1.7}
.bk-empty b{font-size:18px;color:var(--ink)}
.bk-title input{font-size:16px}
.bk-opts{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0 12px;font-size:14px}
.bk-opts label{display:inline-flex;align-items:center;gap:6px}
.bk-opts .seg button{min-height:44px;font-size:13px}
.bk-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bk-items li{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 10px;border:1px solid transparent;border-radius:var(--r-md);padding:10px 12px;background:var(--soft)}
.bk-no{grid-row:span 2;font-weight:700;color:var(--pri-t);font-size:16px}
.bk-items img{max-width:100%;max-height:200px;object-fit:contain;display:block;cursor:zoom-in}
.bk-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}
.bk-meta b{font-weight:600;color:var(--muted)}
.bk-acts{margin-left:auto;display:inline-flex;gap:6px}
.bk-regh h3{margin:0 0 4px;font-size:16px}
.bk-regh p{margin:0 0 12px}
.amber-t{color:var(--amber-t)}
.bk-gridwrap{overflow:auto;max-height:calc(100vh - 360px);border:1px solid var(--line);border-radius:var(--r-sm);margin-top:10px}
.bk-g{border-collapse:separate;border-spacing:0;font-size:14px}
.bk-g th,.bk-g td{padding:3px;text-align:center;border-bottom:1px solid var(--tonal)}
.bk-g thead th{position:sticky;top:0;background:#fff;z-index:2}
.bk-g .nm{position:sticky;left:0;background:#fff;text-align:left;padding:0 10px;white-space:nowrap;font-weight:600;z-index:1}
.bk-g thead .nm{z-index:3;font-size:12px;color:var(--muted)}
.bk-g thead button{border:0;background:var(--soft);border-radius:var(--r-sm);min-width:36px;min-height:32px;font-weight:700}
@media (pointer:coarse){.bk-g thead button{min-width:44px;min-height:44px}}
.bk-g thead button.nosy{color:var(--faint);text-decoration:line-through}
.bk-c{width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;font-weight:700;color:#fff}
.bk-c.on{background:var(--bad);border-color:var(--bad)}
.bk-g td.n{font-weight:700;color:var(--bad);min-width:26px}
.bk-send{display:flex;align-items:center;gap:10px;margin-top:12px}
.bk-send .btn{margin-left:auto}
#bk-res .notice{display:block;margin-top:12px;line-height:1.7}
.notice.ok{background:var(--ok-s);color:var(--ok);border-radius:var(--r-sm);padding:10px 14px}
.notice.bad{background:var(--bad-s);color:var(--bad);border-radius:var(--r-sm);padding:10px 14px}
@media (max-width:1180px){.kpsplit,.bk{grid-template-columns:1fr}.kplist{position:static;max-height:360px}}
/* 打印练习单：只让打印机看到 #print-sheet */
#print-sheet{display:none}
@media print{
  @page{size:A4;margin:14mm 14mm 16mm}
  body.printing>*:not(#print-sheet){display:none !important}
  body.printing{background:#fff}
  body.printing #print-sheet{display:block;color:#000;font-family:var(--font)}
  #print-sheet header{border-bottom:1.5px solid #000;margin-bottom:10mm;padding-bottom:3mm}
  #print-sheet h1{font-size:18pt;margin:0 0 2mm}
  #print-sheet header p{margin:0;font-size:10.5pt;display:flex;gap:10mm}
  #print-sheet .nm{margin-left:auto}
  #print-sheet .pq{display:flex;gap:3mm;break-inside:avoid;page-break-inside:avoid;margin-bottom:6mm}
  #print-sheet .pn{font-weight:700;font-size:12pt;width:7mm;flex:none}
  #print-sheet .pb{flex:1;min-width:0}
  #print-sheet .pb img{max-width:100%;max-height:120mm;display:block}
  #print-sheet .pb small{display:block;font-size:8pt;color:#555;margin-top:1mm}
  #print-sheet.sp-mid .gap{height:28mm}
  #print-sheet.sp-big .gap{height:60mm}
}
.head .right .nh{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.head .right select{border:1px solid var(--line2);border-radius:var(--r-sm);min-height:38px;padding:0 10px;background:#fff;font-size:14px;max-width:260px}
.att .kpl{display:block;color:var(--ink)}
.att .kpl a{color:var(--pri-t);font-weight:500;text-decoration:none}.att .kpl a:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:3px}   /* 行内链接统一样式（studio.css .rowlink）；这里在 12px 的 <small> 里，按「≤ 12px 最多 500」用 500；琥珀只表示「欠着」 */
.toast a{color:var(--dk-accent);font-weight:700}
.setp h2 small{font-size:13px;font-weight:500;margin-left:6px}
table.usage{border-collapse:collapse;font-size:14px;width:100%;font-variant-numeric:tabular-nums}
table.usage th,table.usage td{padding:9px 10px;border-bottom:1px solid var(--tonal);text-align:right;white-space:nowrap}
table.usage th{border-bottom-color:var(--line)}
table.usage tbody tr:hover td{background:var(--bg)}
table.usage th:first-child,table.usage td:first-child{text-align:left}
table.usage th{font-size:13px;color:var(--muted);font-weight:600}
table.usage td small{display:block;font-size:11px;color:var(--faint)}
table.usage td.warn{color:var(--bad);font-weight:700}
/* 知识网络按试卷着色（C-34） */
.head .right .nh-pq{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.head .right .nh-pq .kchip{padding:4px 4px 4px 12px;font-size:13px;max-width:420px}
.head .right .nh-pq .kchip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px;display:inline-block;vertical-align:bottom}
.head .right .nh span,.head .right .nh-pq .rowlink{white-space:nowrap}
.head .right .nh-pq .kchip b{max-width:220px}
.head .right .nh-pq .kchip{white-space:nowrap}
/* C-42 答案页：另起一页，答案截图小一些 */
@media print{
  #print-sheet .pans{break-before:page;page-break-before:always}
  #print-sheet .pans.only{break-before:auto;page-break-before:auto}
  #print-sheet .pans h2{font-size:15pt;margin:0 0 6mm;border-bottom:1px solid #000;padding-bottom:2mm}
  #print-sheet .aq{display:flex;gap:3mm;break-inside:avoid;page-break-inside:avoid;margin-bottom:4mm}
  #print-sheet .aq img{max-width:100%;max-height:90mm;display:block}
  #print-sheet .aq .al{font-size:13pt}
  #print-sheet .aq .at{margin:0;font-size:10.5pt;line-height:1.6}
  #print-sheet .aq .at small{color:#666;font-size:8pt;margin-left:2mm}
  #print-sheet .aq .none{color:#888}
}

/* C-43 时间范围：「自定义」按钮与起止日期面板（错题知识点、讲评、机构看板、知识网络着色、班级数据共用） */
.rangeseg .rs-custom{display:inline-flex;align-items:center;gap:6px}
.rangeseg .rs-custom svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.rangeseg .rs-custom.on{color:var(--pri-t)}
.md-range .rs-custom svg{width:13px;height:13px}
.rangepop{position:fixed;z-index:80;width:min(360px,calc(100vw - 16px));background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:14px}
.rp-quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.rp-quick .chip{min-height:44px;padding:0 14px;font-size:14px}
.rp-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px}
.rp-fields label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);font-weight:600;min-width:0}
.rp-fields input{min-height:44px;width:100%;border:1px solid var(--line2);border-radius:var(--r-sm);padding:0 10px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.rp-fields input:focus{outline:2px solid var(--pri);outline-offset:1px;border-color:var(--pri)}
.rp-fields i{font-style:normal;color:var(--faint);padding-bottom:12px}
.rp-hint{margin:10px 0 0;font-size:13px;color:var(--muted)}
.rp-hint.bad{color:var(--bad);font-weight:600}
.rp-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.rp-btns .btn:disabled{opacity:.45;cursor:default;box-shadow:none}

/* M-26 错题知识点扩展：订正进度（C-44）、前一段（C-45）、按章、按考法（C-46）、分组（C-48）、学生单页（C-49）、专属练习单（C-47） */
.trend{font-style:normal;font-size:11px;font-weight:500;border-radius:var(--r-xs);padding:1px 5px;margin-left:4px;background:var(--soft);color:var(--muted);white-space:nowrap}
.trend.up{background:var(--amber-s);color:var(--amber-t)}
.trend.down{background:var(--ok-s);color:var(--ok)}
.trend.new{background:var(--amber-s);color:var(--amber-t)}
.kprow .ct .trend{display:inline-block;margin:2px 0 0 0}
.stat span .trend{font-size:12px;vertical-align:1px}
.kpfix{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 10px;font-size:13px}
.kpfix .lb{color:var(--muted);font-weight:600}
.kpfix .fb{display:flex;flex:1 1 180px;max-width:320px;height:10px;border-radius:var(--r-xs);overflow:hidden;background:var(--tonal)}
.kpfix .fb i{display:block;height:100%}
.kpfix .lg{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted)}
.kpfix .lg i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px;vertical-align:0}
.kpfix .lg b{color:var(--ink);font-variant-numeric:tabular-nums}
.kpfix .ok{background:var(--ok-m)}.kpfix .rev{background:var(--pri)}.kpfix .todo{background:var(--amber-m)}
.kpdetail .kpfix{margin:8px 0 2px}
.kpchsel{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--muted);min-width:0}
.kpchsel[hidden]{display:none}
.kpchsel select{min-height:44px;max-width:260px;min-width:0;border:1px solid var(--line2);border-radius:var(--r-sm);padding:0 10px;background:var(--panel);font-size:14px;color:var(--ink);cursor:pointer}
.kpmore{margin-left:auto}
.kpmore svg{width:16px;height:16px;margin-right:-4px}
.mpmenu.kpmenu{max-width:min(320px,calc(100vw - 16px))}
.mpmenu.kpmenu button{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:6px 12px}
.mpmenu.kpmenu small{font-size:12px;color:var(--muted);white-space:normal}
@media (max-width:1060px){.kptop{grid-template-columns:repeat(4,minmax(0,1fr))}.kptop .kpfix.kpfixbox{grid-column:1/-1;display:flex;flex-wrap:wrap}.kpfix.kpfixbox .fb{flex:1 1 180px;max-width:320px}.kpfix.kpfixbox .lg{grid-column:auto}}
@media (max-width:700px){.kptop{grid-template-columns:repeat(2,minmax(0,1fr))}.kptabs .seg{flex-wrap:wrap}.kpchsel{flex:1 1 100%}.kpchsel select{flex:1;max-width:none}}
.kchip.ghost{border-style:dashed;border-color:var(--line2);background:#fff;text-decoration:none;color:var(--ink)}
.kpgrp{font-size:12px;font-weight:500;color:var(--faint);padding:10px 8px 4px}
.kptrnote{margin:0 0 10px;line-height:1.6}
.kpgroups{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;align-items:start}
.kpgroup{padding:14px 16px}
.kpgroup header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kpgroup h3{margin:0;font-size:16px}
.kpgroup h3 small{font-size:13px;color:var(--muted);font-weight:500;margin-left:4px}
.kpgroup header .r{margin-left:auto;display:flex;gap:8px}
.kpgroup .sech{margin:12px 0 6px;font-weight:700;font-size:14px}
.kpgroup.rest{grid-column:1/-1}
.kpgroup.rest h3 small{display:inline}

.kpprof header{display:flex;gap:12px;align-items:center;margin-bottom:12px;padding-right:44px}
.kpprof header .mpav{width:44px;height:44px;font-size:18px}
.kpprof h2{margin:0;font-size:20px}
.kpprof .sech{margin:16px 0 6px;font-weight:700;font-size:14px}
.kpprof .sech small{color:var(--faint);font-weight:500}
.kpplist{margin:0;padding:0 0 0 20px}
.kpplist li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.kpplist li .rowlink{padding:0;text-align:left}
.kpplist li>small{grid-row:2;color:var(--muted);font-size:12px}
.kpplist li>span{grid-row:1/3;grid-column:2;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.kpplist li>span small{display:block;font-weight:500;color:var(--faint);font-size:12px}
.kpproots{margin:0;padding:0 0 0 18px;line-height:1.9}
.kpproots .rowlink{padding:0}
.kpproots small{color:var(--muted)}
.kpptr{display:flex;flex-wrap:wrap;gap:6px}
.kppbtns{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.kpper{display:flex;align-items:center;gap:12px;margin:12px 0}
.kpper>label{min-width:120px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px}
.kpper.col{flex-direction:column;align-items:stretch}
.kpper.col>label .rowlink{font-size:13px;padding:0 4px}
.kppick{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px 10px;max-height:220px;overflow:auto;border:1px solid transparent;border-radius:var(--r-sm);padding:10px;background:var(--soft)}
.kppick label{display:flex;align-items:center;gap:6px;font-size:14px;min-height:32px}
.kppick small{color:var(--faint)}
.modal .foot #kpp-sum{margin-right:auto}
@media print{
  #print-sheet.kpprint .ppage+.ppage{break-before:page;page-break-before:always}
  #print-sheet.kpprint header p{display:block;font-size:10pt;line-height:1.5}
  #print-sheet.kpprint h3{font-size:12.5pt;margin:5mm 0 3mm;border-left:3pt solid #000;padding-left:2.5mm}
  #print-sheet.kpprint h3 small{font-size:9pt;font-weight:400;margin-left:3mm;color:#444}
}
/* M-111 C-244 复习先补：两列数字（考过几套 · 错过几人），上面一行列名；详情标题下一行写进门测考过几套、哪些学校 */
.kprow.kprf{grid-template-columns:22px minmax(0,1fr) 48px 44px}
.kprow .ct.zero{color:var(--faint);font-weight:500}
.kprfh{display:grid;grid-template-columns:22px minmax(0,1fr) 48px 44px;gap:8px;padding:4px 8px 6px;font-size:12px;color:var(--muted)}
.kprfh span:nth-child(n+3){text-align:right}
.kprfex{display:flex;flex-wrap:wrap;gap:4px 12px;margin:-4px 0 12px;color:var(--muted);line-height:1.6;max-width:64ch}
.kprfex b{color:var(--ink);font-variant-numeric:tabular-nums}
.kprfbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 12px;margin:0 0 10px}   /* C-259：「怎么排的」和「用前 5 个去组题」一行 */
.kprfbar .kptrnote{flex:1 1 320px;margin:0}

/* C-286: heat denotes registered mistakes, not mastery. */
.kpheat{padding:18px;min-width:0}
.kpheat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.kpheat h2{font-size:18px;line-height:1.4;margin:0}
.kpheat-head p{margin:4px 0}
.kpheat-legend{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}
.kpheat-legend span{border-radius:var(--r-sm);padding:5px 8px}
.kpheat .high{--heat-bg:var(--bad-s);--heat-ink:var(--bad)}
.kpheat .mid{--heat-bg:var(--amber-s);--heat-ink:var(--amber-t)}
.kpheat .low{--heat-bg:var(--pri-s);--heat-ink:var(--pri-t)}
.kpheat .unknown{--heat-bg:var(--soft);--heat-ink:var(--muted)}
.kpheat-legend span{background:var(--heat-bg);color:var(--heat-ink)}
.kpheat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:16px}
.kpheat-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:7px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(145deg,var(--heat-bg),var(--panel));color:var(--ink);font:inherit;cursor:pointer;overflow-wrap:anywhere}
.kpheat-card[hidden]{display:none}
.kpheat-card:hover{border-color:var(--heat-ink)}
.kpheat-card:focus-visible{outline:3px solid var(--pri-t);outline-offset:3px}
.kpheat-rank{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--heat-ink);font-weight:500}
.kpheat-card>b{font-size:16px;line-height:1.5}
.kpheat-chapter{color:var(--muted);font-size:12px}
.kpheat-card strong{color:var(--heat-ink);font-size:30px;font-variant-numeric:tabular-nums;line-height:1.3;margin-top:auto;padding-top:8px}
.kpheat-card strong small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.kpheat-card>span:not(.kpheat-rank){font-size:13px}
.kpheat-open{color:var(--pri-t);padding-top:6px}
.kpheat-warning{padding:10px 12px;border-left:3px solid var(--amber-t);background:var(--amber-s);font-size:13px;line-height:1.6}
.kpheat-none:not(:empty){padding:20px 0;color:var(--muted)}
@media(max-width:520px){.kpheat{padding:12px}.kpheat-grid{grid-template-columns:minmax(0,1fr)}.kpheat-card{padding:14px}}
