
:root{--ink:#183249;--muted:#536576;--line:#bccedb;--blue:#315b83;--paper:#fff}
.sem-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.sem-head .stamp{font-weight:700;color:#71461b;background:#fff2d6;border:1px solid #e2c490;border-radius:8px;padding:8px;font-size:.85rem}
.sem-note{padding:14px 16px;border-left:5px solid #4b789e;background:#eef5fc;border-radius:5px;margin:16px 0}
.sem-chapter{margin-top:36px;break-before:page}
.sem-chapter:first-of-type{break-before:auto}
.sem-question{border:1px solid var(--line);border-radius:9px;background:white;padding:16px;margin:16px 0;break-inside:avoid-page}
.sem-qheader{display:flex;gap:10px;align-items:start;justify-content:space-between;flex-wrap:wrap}
.sem-tag{font-size:.81rem;letter-spacing:.01em;color:var(--muted)}
.sem-prompt{font-size:1rem;line-height:1.55;margin:10px 0}
.sem-space{border-bottom:1px solid #d6e0e8;min-height:72px;margin-top:16px;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 31px,#d5dfe7 32px,#d5dfe7 33px);}
.sem-figure{max-width:100%;overflow-x:auto;border:1px solid #bfcfe0;border-radius:7px;padding:8px;margin:12px 0}
.sem-figure svg{display:block;min-width:480px;max-width:650px;width:100%;height:auto}
.sem-sol{border-top:1px solid #d0dae5;margin-top:16px;padding:12px;background:#f2f7fc;border-radius:5px}
.sem-sol summary{cursor:pointer;font-weight:bold}
.sem-key{margin:14px 0;padding:18px;border:1px solid #dae4ec;border-radius:8px;break-inside:avoid}
.sem-key h3{margin:0 0 8px}
.sem-small{font-size:.86rem;color:var(--muted)}
.sem-choice{display:flex;gap:16px;flex-wrap:wrap}
.sem-choice a{background:#e8f2fd;color:#184f77;border-radius:7px;padding:12px 18px}
.sem-sitting{border:2px solid #b5cadd;border-radius:8px;padding:14px;margin:18px 0}
.sem-table{border-collapse:collapse;width:100%;margin:12px 0}
.sem-table td,.sem-table th{border-bottom:1px solid #d9e1e9;text-align:left;padding:9px}
.sem-qheader strong{font-size:1rem}
.sem-score{font-weight:600;color:var(--muted)}
.sem-teacher{background:#fff}
@media print{
 .sem-noprint,nav,.skip-to-main{display:none!important}
 .sem-question{padding:12px;margin:12px 0;box-shadow:none}
 .sem-chapter{break-before:page}
 .sem-figure svg{min-width:0;width:100%;max-height:210px}
 .sem-space{min-height:110px}
 .sem-review-student details.sem-sol{display:none!important}
 details.sem-sol{display:block!important}
 details.sem-sol > summary{display:none!important}
 details.sem-sol > .sem-solution{display:block!important}
 body{font-size:10.5pt}
 h1{font-size:22pt}
 h2{font-size:17pt}
 }
