/* SJKC P4 历史 V2 修正版版面（与 _共用UI/v2-ui.css 一起使用） */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#19233f;background:linear-gradient(150deg,#eef1f8,#f7f4ea)}
.review-note{margin-left:8px;padding:1px 8px;border-radius:999px;background:#fff4d6;color:#7a5200;font-size:11px;font-weight:800;vertical-align:middle}
.btn{min-height:48px;padding:10px 20px;border:0;border-radius:999px;font:inherit;font-weight:900;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn.primary{color:#fff;background:linear-gradient(135deg,#17317a,#3856a9)}
.btn.secondary{color:#17317a;background:#fff;border:2px solid #a9b5d7}
.btn.audio{color:#25335b;background:#fff;border:2px solid #a9b5d7;min-height:42px;padding:6px 16px;font-size:15px;margin-top:12px;align-self:flex-start}
.v2-main .screen{display:none;flex-direction:column;max-width:1080px;margin:0 auto}
.v2-main .screen.active{display:flex}
.eyebrow{display:inline-block;align-self:flex-start;padding:5px 12px;border-radius:999px;background:#e3e8f4;color:#17317a;font-weight:900;font-size:15px}
.title{font-size:clamp(30px,4.6vw,50px);line-height:1.12;margin:10px 0 8px}
.h{font-size:clamp(24px,3.2vw,36px);line-height:1.2;margin:10px 0 12px}
.lead{font-size:clamp(17px,2vw,22px);line-height:1.6;color:#3d465e;margin:0 0 10px}
.cover{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}
.cover-pic{width:100%;max-height:360px;object-fit:contain;border-radius:18px}
.goals{margin:6px 0 0;padding-left:22px;font-size:clamp(16px,1.8vw,20px);line-height:1.6}
.teach{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
.teach.has-pic{grid-template-columns:1.2fr .8fr}
.pic{width:100%;max-height:300px;object-fit:contain;border-radius:16px;background:#fff}
.body{margin:0;padding:16px 18px;border:2px solid #ccd3e5;border-radius:18px;background:#fff;font-size:clamp(17px,2vw,22px);line-height:1.65}
.pts{margin:10px 0 0;padding:12px 16px 12px 34px;border-radius:16px;background:#f3f5fa;font-size:clamp(16px,1.8vw,20px);line-height:1.55}
.ex{margin:10px 0 0;padding:12px 16px;border-radius:16px;background:#fff8e6;border:1px solid #f0dca8;font-size:clamp(16px,1.8vw,20px);line-height:1.55}
.ex b{display:inline-block;margin-right:8px;padding:1px 9px;border-radius:8px;background:#f5c95c;color:#5a3d00;font-size:.85em}
.question{font-size:clamp(20px,2.6vw,30px);font-weight:900;line-height:1.4;margin:12px 0 6px}
.options{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.option{min-height:60px;padding:10px 16px;border:2px solid #ccd3e5;border-radius:16px;background:#fff;color:#19233f;font:inherit;font-size:clamp(18px,2.2vw,24px);font-weight:800;text-align:left;cursor:pointer}
.option.correct{border-color:#38a978;background:#e3f7ed}.option.wrong{border-color:#e58b8b;background:#fff0f0}
.feedback{min-height:28px;margin-top:10px;font-size:17px;font-weight:850}.feedback.ok{color:#177a55}.feedback.no{color:#b94747}
.prompt{font-size:clamp(17px,2vw,21px);line-height:1.55;margin:0 0 8px}
.sort{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chips{display:grid;gap:8px;align-content:start}
.chip{min-height:52px;padding:8px 12px;border:2px dashed #a9b5d7;border-radius:14px;background:#fff;font:inherit;font-size:clamp(16px,1.9vw,20px);font-weight:800;color:#19233f;cursor:pointer;text-align:left}
.chip.used{opacity:.35;cursor:default}
.slots{margin:0;padding:0 0 0 30px;display:grid;gap:8px;align-content:start}
.slots li{min-height:52px;padding:10px 12px;border-radius:14px;background:#f1f3fa;border:2px solid #ccd3e5;font-size:clamp(16px,1.9vw,20px);font-weight:800}
.sort.ok .slots li{border-color:#38a978;background:#e3f7ed}
.acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}.acts .btn{margin-top:0}.reset{min-height:42px;padding:6px 16px;font-size:15px}
.review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rv{padding:12px 14px;border:2px solid #ccd3e5;border-radius:16px;background:#fff;font-size:clamp(15px,1.7vw,19px);line-height:1.5}
.rv b{display:block;color:#17317a;margin-bottom:2px}
.done{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:60vh}
.done>b{font-size:64px;color:#177a55;line-height:1}.done .btn.audio{align-self:center}
.menu .mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}
.mcard{display:flex;flex-direction:column;gap:4px;padding:16px;border:2px solid #ccd3e5;border-radius:18px;background:#fff;text-decoration:none;color:inherit}
.mcard strong{font-size:22px}.mcard small,.mcard span{color:#17317a;font-weight:850}
.ulist{display:grid;gap:10px;margin-top:6px}
.urow{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 14px;border:2px solid #ccd3e5;border-radius:18px;background:#fff}
.urow small{color:#17317a;font-weight:850;display:block}.urow strong{font-size:20px}
.menu-page{--v2-bottom:0px}
@media(max-width:900px){.cover{grid-template-columns:1fr;gap:8px}.cover-pic{max-height:190px}}
@media(max-width:700px){
 .v2-main .screen{padding-top:8px!important}
 .title{font-size:30px;margin:8px 0 6px}.h{font-size:23px;margin:8px 0 8px}.lead{font-size:16px;line-height:1.5}
 .goals{font-size:15px;line-height:1.45}.cover-pic{max-height:150px}
 .teach.has-pic{grid-template-columns:1fr;gap:8px}.pic{max-height:120px}
 .body{padding:11px 13px;font-size:16.5px;line-height:1.55}.pts{font-size:15.5px;padding:8px 12px 8px 28px;margin-top:8px}
 .ex{font-size:15.5px;padding:9px 12px;margin-top:8px}
 .question{font-size:20px;margin:8px 0 4px}.option{min-height:56px;font-size:18px;padding:8px 12px}.options{gap:8px}
 .sort{grid-template-columns:1fr;gap:8px}.chips{grid-template-columns:1fr 1fr}.chip,.slots li{min-height:40px;font-size:15px;padding:6px 9px}
 .slots{gap:5px}.review{grid-template-columns:1fr;gap:6px}.rv{padding:8px 11px;font-size:14.5px}
 .btn.audio{min-height:40px;font-size:14px;margin-top:8px}
 .urow{grid-template-columns:1fr 1fr;padding:10px}.urow>div{grid-column:1/-1}.urow .btn{min-height:44px;padding:6px 10px}
 .mcard{padding:12px}.mcard strong{font-size:19px}
 .menu .mgrid{grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.menu .mgrid .mcard{padding:7px 9px;gap:0;border-radius:12px}.menu .mgrid .mcard strong{font-size:15px}.menu .mgrid .mcard span{display:none}.menu .mgrid .mcard small{font-size:12px}
 .menu .title{font-size:26px;margin:4px 0}.menu .lead{font-size:14px;margin-bottom:4px}
}
@media(max-width:700px){.teach .pic{display:none}}
.option{text-align:start;unicode-bidi:plaintext}
.ulist{gap:7px}.urow{padding:8px 12px}.urow strong{font-size:18px}
@media(max-width:700px){.urow{grid-template-columns:1fr auto auto;padding:6px 8px;gap:6px}.urow>div{grid-column:auto}.urow strong{font-size:15px;line-height:1.25}.urow small{font-size:11px}.urow .btn{min-height:38px;padding:4px 10px;font-size:13px}.ulist{gap:5px}.menu .title{font-size:24px;margin:4px 0}}
.ulist.dense{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
@media(min-width:1000px){.ulist.dense{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ulist.dense .urow{grid-template-columns:1fr 1fr;padding:6px 8px;gap:5px;border-radius:14px}
.ulist.dense .urow>div{grid-column:1/-1;min-width:0}
.ulist.dense .urow strong{font-size:15px;line-height:1.2;display:block}
.ulist.dense .urow small{font-size:11px}
.ulist.dense .urow .btn{min-height:34px;padding:3px 6px;font-size:13px}
@media(max-width:700px){.ulist.dense .urow strong{font-size:13px}.ulist.dense .urow .btn{min-height:32px;font-size:12px;padding:2px 4px}}
@media(max-width:700px){.ulist.dense{gap:4px}.ulist.dense .urow{padding:4px 6px;gap:4px}.ulist.dense .urow small{font-size:10px;line-height:1.1}.ulist.dense .urow strong{font-size:12.5px;line-height:1.15}.ulist.dense .urow .btn{min-height:30px}}
