*{box-sizing:border-box;margin:0;padding:0}
body{background:#eef1f4;font-family:'Libre Franklin',system-ui,sans-serif;color:#1a2230;min-height:100vh}
header{background:#0d2440;color:#fff;position:sticky;top:0;z-index:10}
.hwrap{max-width:1280px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hleft{display:flex;align-items:center;gap:12px}
.logo{width:32px;height:32px;border:2px solid #7fb0e8;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#7fb0e8;flex:none}
.timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:18px;background:#1d3c63;border-radius:8px;padding:6px 14px}
a.back{color:#b9c8dd;text-decoration:none;font-size:14px}
main{max-width:1280px;margin:0 auto;padding:20px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:900px){.split{grid-template-columns:1fr}}
@media(max-width:768px){
  main{padding:12px}
  .hwrap{padding:0 12px;height:54px}
  .hwrap b{font-size:14px}
  .timer{font-size:15px;padding:5px 10px}
  .panel{padding:16px 14px;max-height:none !important;overflow:visible}
  .panel h2{font-size:16px}
  .panel p.para{font-size:14.5px}
  .q{font-size:14.5px}
  .blank{width:110px}
  .opts{gap:8px}
  .opts label{min-height:36px;display:flex;align-items:center;gap:6px}
  .tabs{position:sticky;top:54px;background:#eef1f4;padding:8px 0;z-index:5;margin-bottom:8px}
  .tabs button{padding:8px 13px;font-size:12.5px}
  .submitbar{position:fixed;left:0;right:0;bottom:0;border-radius:0;z-index:9;box-shadow:0 -2px 10px rgba(13,36,64,.1)}
  body{padding-bottom:70px}
  .bigband{font-size:40px}
  .rgrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
  textarea.essay{min-height:200px;font-size:15px}
  .search{width:100%}
}
.panel{background:#fff;border-radius:12px;padding:22px 24px;box-shadow:0 1px 3px rgba(13,36,64,.08);max-height:calc(100vh - 170px);overflow-y:auto}
.panel h2{font-size:18px;margin-bottom:10px}
.panel p.para{margin-bottom:12px;line-height:1.65;font-size:15px}
.pletter{font-weight:700;color:#3f86e0;margin-right:6px}
.tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.tabs button{padding:8px 16px;border:1px solid #cfd8e3;background:#f6f8fb;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;color:#66738a;font-family:inherit}
.tabs button.on{background:#0d2440;color:#fff;border-color:#0d2440}
.qgroup{margin-bottom:20px}
.qinstr{font-weight:600;font-size:14px;background:#f6f9fd;border:1px solid #e6eef8;border-radius:8px;padding:10px 12px;margin-bottom:10px}
.headings{background:#fbf8f0;border:1px solid #efe6cf;border-radius:8px;padding:10px 14px;margin-bottom:10px;font-size:14px}
.hlist{margin:6px 0 0 22px;list-style-type:lower-roman}
.q{padding:10px 0;border-bottom:1px solid #f0f3f7;font-size:15px;line-height:1.55}
.qn{display:inline-block;min-width:26px;height:26px;background:#0d2440;color:#fff;border-radius:6px;text-align:center;line-height:26px;font-size:13px;font-weight:700;margin-right:6px}
.opts{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap}
.opts.col{flex-direction:column;gap:6px}
.opts label{font-size:14px;cursor:pointer}
.blank{border:none;border-bottom:2px solid #3f86e0;padding:2px 6px;font-size:15px;width:140px;font-family:inherit;background:#f6f9fd}
select{padding:5px 8px;border:1px solid #cfd8e3;border-radius:6px;font-size:14px;font-family:inherit}
.btn{background:#3f86e0;color:#fff;border:none;border-radius:9px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
.btn.dark{background:#0d2440}
.btn:disabled{opacity:.5;cursor:default}
.submitbar{position:sticky;bottom:0;background:#fff;border-top:1px solid #e3e8ef;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:0 0 12px 12px}
.result{background:#fff;border-radius:12px;padding:26px;box-shadow:0 1px 3px rgba(13,36,64,.08);margin-top:18px}
.bigband{font-size:52px;font-weight:700;color:#0d2440}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-top:14px}
.ritem{font-size:13px;padding:6px 8px;border-radius:6px;background:#f6f8fb}
.ritem.ok{background:#e6f4ec;color:#1e6b43}
.ritem.no{background:#fdecea;color:#9c2b23}
.notice{background:#fbf1e2;border:1px solid #f0e0bd;color:#7a5a17;border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:14px}
textarea.essay{width:100%;min-height:260px;border:1px solid #cfd8e3;border-radius:10px;padding:14px;font-size:15px;font-family:inherit;line-height:1.6;resize:vertical}
.wc{font-size:13px;color:#66738a;margin-top:6px}
.cue{background:#fbf8f0;border:1px solid #efe6cf;border-radius:10px;padding:16px 18px;font-size:15px;line-height:1.7}
@media(max-width:768px){
  .submitbar{position:fixed;left:0;right:0;bottom:0;border-radius:0;z-index:9;box-shadow:0 -2px 10px rgba(13,36,64,.1)}
}
