/* 帽子判断：沿用 zz.css 的配色变量 */
.mz-subj{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.mz-subj button{font-size:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink2);border-radius:99px;padding:5px 13px;cursor:pointer;line-height:1.5}
.mz-subj button small{color:var(--ink3);margin-left:4px}
.mz-subj button.on{background:var(--deep);border-color:var(--deep);color:#fff}
.mz-subj button.on small{color:#cfe0e8}
.mz-bar{display:flex;flex-wrap:wrap;gap:6px 16px;font:13px/1.6 var(--sans);color:var(--ink2);margin:0 0 12px}
.mz-bar b{color:var(--deep);font-weight:600}
.mz-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px;box-shadow:0 1px 0 var(--line2)}
.mz-meta{font:12.5px/1.6 var(--sans);color:var(--ink3);margin-bottom:10px;display:flex;justify-content:space-between;gap:10px}
.mz-stem{font-size:20px;line-height:1.85;color:var(--ink);margin:2px 0 18px;min-height:3.6em}
.mz-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mz-btns button{font:600 18px/1 var(--sans);padding:15px 0;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink)}
.mz-btns button.yes:hover,.mz-btns button.yes:focus-visible{border-color:var(--good);background:var(--goodbg);color:var(--good)}
.mz-btns button.no:hover,.mz-btns button.no:focus-visible{border-color:var(--bad);background:var(--badbg);color:var(--bad)}
.mz-btns button[disabled]{opacity:.55;cursor:default}
.mz-btns button.pick.yes{border-color:var(--good);background:var(--goodbg);color:var(--good);opacity:1}
.mz-btns button.pick.no{border-color:var(--bad);background:var(--badbg);color:var(--bad);opacity:1}
.mz-fb{margin-top:16px;border-radius:12px;padding:12px 14px;font-size:16px;line-height:1.85}
.mz-fb.ok{background:var(--goodbg);border-left:4px solid var(--good)}
.mz-fb.ng{background:var(--badbg);border-left:4px solid var(--bad)}
.mz-fb .v{font:700 15px/1.6 var(--sans);margin-bottom:4px}
.mz-fb.ok .v{color:var(--good)} .mz-fb.ng .v{color:var(--bad)}
.mz-fb .r{margin:4px 0}
.mz-fb .w{color:var(--ink2);font-size:15px;margin-top:6px}
.mz-fb .tw{font:13px/1.6 var(--sans);color:var(--warn);margin-top:8px}
mark.del{background:var(--badbg);color:var(--bad);text-decoration:line-through;text-decoration-thickness:1.5px;padding:0 1px;border-radius:3px}
mark.add{background:var(--mark);color:var(--ink);padding:0 1px;border-radius:3px}
.mz-next{margin-top:14px;width:100%;font:600 16px/1 var(--sans);padding:14px 0;border-radius:12px;border:0;background:var(--brand);color:#fff;cursor:pointer}
.mz-keys{font:12px/1.6 var(--sans);color:var(--ink3);text-align:center;margin-top:8px}
.mz-sec{margin-top:22px}
.mz-sec>summary{cursor:pointer;font:600 15px/1.8 var(--sans);color:var(--deep)}
.mz-sec>summary small{font-weight:400;color:var(--ink3);margin-left:6px}
.mz-tags{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.mz-tags li{display:flex;align-items:center;gap:10px;font:14px/1.6 var(--sans)}
.mz-tags .nm{width:6.5em;flex:none;color:var(--ink)}
.mz-tags .bar{flex:1;height:8px;background:var(--line2);border-radius:99px;overflow:hidden}
.mz-tags .bar i{display:block;height:100%;background:var(--good)}
.mz-tags .bar i.lo{background:var(--bad)} .mz-tags .bar i.mid{background:var(--warn)}
.mz-tags .ct{width:5.2em;flex:none;text-align:right;color:var(--ink3);font-size:12.5px}
.mz-wr{margin:8px 0 0;padding:0;list-style:none}
.mz-wr li{border-top:1px solid var(--line2);padding:8px 0;font-size:15px;line-height:1.8}
.mz-wr li .s{color:var(--ink3);font-size:14px}
.mz-reset{margin-top:20px;font:12.5px var(--sans);color:var(--ink3);text-align:center}
.mz-reset button{border:0;background:none;color:var(--ink3);text-decoration:underline;cursor:pointer;font:inherit}
@media (max-width:480px){.mz-stem{font-size:19px}.mz-card{padding:16px 14px 14px}}
.mz-fb .v .tg{margin-left:10px;font-weight:400;font-size:13px;color:var(--ink3)}
/* 一组：先复习再做题 */
.mz-rvh{margin:2px 0 12px}
.mz-rvt{font:700 19px/1.6 var(--sans);color:var(--deep)}
.mz-rvs{font:14px/1.7 var(--sans);color:var(--ink2);margin-top:2px}
.mz-rv{list-style:none;counter-reset:rv;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.mz-rv li{counter-increment:rv;position:relative;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px 12px 46px}
.mz-rv li::before{content:counter(rv);position:absolute;left:13px;top:12px;width:24px;height:24px;border-radius:50%;background:var(--tint);color:var(--brand);font:600 13px/24px var(--sans);text-align:center}
.mz-rv .rs{font-size:17.5px;line-height:1.8;color:var(--ink)}
.mz-rv .rw{font-size:14.5px;line-height:1.75;color:var(--ink2);margin-top:3px}
mark.hat{background:var(--mark);color:var(--ink);padding:0 2px;border-radius:3px}
.mz-go{position:sticky;bottom:0;padding:12px 0 calc(10px + env(safe-area-inset-bottom));margin-top:6px;background:linear-gradient(to top,var(--bg) 70%,transparent)}
.mz-go .mz-next{margin-top:0}
.mz-prog{height:5px;background:var(--line2);border-radius:99px;overflow:hidden;margin:-2px 0 12px}
.mz-prog i{display:block;height:100%;background:var(--brand);border-radius:99px;transition:width .25s}
.mz-sum{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px 18px 18px;text-align:center}
.mz-sum .big{font-family:var(--sans);color:var(--deep)} .mz-sum .big b{font-size:56px;line-height:1.1;font-weight:700} .mz-sum .big span{font-size:22px;color:var(--ink3);margin-left:6px}
.mz-sum .msg{font:15px/1.7 var(--sans);color:var(--ink2);margin-top:4px}
.mz-sum .mz-sh{font:600 14px/1.7 var(--sans);color:var(--bad);text-align:left;margin:16px 0 0}
.mz-sum .mz-wr{text-align:left}
.mz-two{display:grid;gap:10px;margin-top:16px}
.mz-next.alt{background:var(--paper);color:var(--brand);border:1.5px solid var(--brand)}

/* 查阅：全部条目、检索、全部展开 */
.mz-tabs{display:flex;gap:0;margin:2px 0 14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}
.mz-tabs button{flex:1;border:0;background:none;padding:11px 0;font:600 15px/1.3 var(--sans);color:var(--ink2);cursor:pointer}
.mz-tabs button small{font-weight:400;font-size:12px;color:var(--ink3);margin-left:6px}
.mz-tabs button.on{background:var(--deep);color:#fff}
.mz-tabs button.on small{color:#cfe0e8}
.mz-rtool{margin-bottom:6px}
.mz-rstick{position:sticky;top:52px;z-index:5;background:var(--bg);padding:6px 0 8px;border-bottom:1px solid var(--line2)}
.mz-rtool input[type=search]{width:100%;font:16px/1.4 var(--sans);padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);outline:none;-webkit-appearance:none;appearance:none}
.mz-rtool input[type=search]:focus{border-color:var(--brand)}
.mz-rtool .mz-subj{margin:4px 0 10px}
.mz-rbar{display:flex;align-items:center;gap:8px;font:13px/1.6 var(--sans);color:var(--ink2)}
.mz-rbar .sp{flex:1}
.mz-rbar button{font:13px/1 var(--sans);border:1px solid var(--line);background:var(--paper);color:var(--brand);border-radius:99px;padding:6px 12px;cursor:pointer}
.mz-g>summary{cursor:pointer;list-style:none}
.mz-g>summary::-webkit-details-marker{display:none}
.mz-g>summary::before{content:"▸";display:inline-block;width:1.1em;color:var(--ink3);transition:transform .15s}
.mz-g[open]>summary::before{transform:rotate(90deg)}
.mz-sj{margin:14px 0 4px}
.mz-sj>summary{font:700 17px/1.8 var(--sans);color:var(--deep)}
.mz-sj>summary small,.mz-ch>summary small{font-weight:400;font-size:12.5px;color:var(--ink3);margin-left:8px}
.mz-ch{margin:2px 0 2px 1.1em;border-left:2px solid var(--line2);padding-left:10px}
.mz-ch>summary{font:600 15px/1.9 var(--sans);color:var(--ink)}
.mz-rf{list-style:none;margin:2px 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}
.mz-rf li{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px 10px 12px}
.mz-rf .rs{font-size:16.5px;line-height:1.8;color:var(--ink)}
.mz-rf .rw{font-size:14px;line-height:1.7;color:var(--ink2);margin-top:2px}
.mz-rf .rx{font-size:13.5px;line-height:1.7;color:var(--bad);margin-top:3px}
.mz-rf .tg{display:inline-block;margin-top:5px;font:12px/1.6 var(--sans);color:var(--brand);background:var(--tint);border-radius:99px;padding:0 9px}
mark.hit{background:#ffd966;color:var(--ink);padding:0 1px;border-radius:3px}
