@page { size: A4; margin: 12mm 13mm; }
:root { --ink:#172033; --muted:#5c667a; --line:#c8cfdb; --soft:#f3f6fa; --accent:#155e75; --accent-soft:#e6f4f7; --warm:#8a4b08; --warm-soft:#fff6e8; }
* { box-sizing: border-box; }
html, body { margin:0; padding:0; color:var(--ink); background:#fff; font-family:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",sans-serif; font-size:10.2pt; line-height:1.48; }
.sheet { min-height:273mm; break-after:page; page-break-after:always; position:relative; }
.sheet:last-child { break-after:auto; page-break-after:auto; }
.topline { display:flex; align-items:flex-start; justify-content:space-between; gap:10mm; border-bottom:2.2px solid var(--accent); padding-bottom:3.5mm; margin-bottom:4mm; }
.lesson-no { color:var(--accent); font-size:9pt; font-weight:800; letter-spacing:.08em; }
h1 { margin:1mm 0 0; font-size:19pt; line-height:1.22; letter-spacing:-.025em; }
.student-fields { min-width:62mm; display:grid; grid-template-columns:auto 1fr; gap:2.5mm 3mm; align-items:end; font-size:9pt; color:var(--muted); }
.write-line { height:6mm; border-bottom:1px solid #657085; }
.objective { background:var(--accent-soft); border-left:4px solid var(--accent); border-radius:2mm; padding:3mm 4mm; margin:0 0 4mm; }
.objective strong { color:var(--accent); margin-right:2mm; }
.section-title { display:flex; align-items:center; gap:2mm; margin:4mm 0 2.5mm; font-size:12pt; font-weight:850; }
.section-title::before { content:""; width:4mm; height:4mm; border-radius:50%; background:var(--accent); }
.cloze-list { margin:0; padding:0; list-style:none; display:grid; gap:2.4mm; }
.cloze-list li { padding-left:6mm; position:relative; }
.cloze-list li::before { content:"□"; position:absolute; left:0; color:var(--accent); font-weight:800; }
.blank { display:inline-block; min-width:24mm; height:1.1em; margin:0 1mm; vertical-align:baseline; border-bottom:1.4px solid var(--ink); }
.blank.wide { min-width:43mm; }
.worked { border:1px solid var(--line); border-radius:2.5mm; padding:3.5mm 4mm; background:var(--soft); margin-top:3mm; }
.worked-head { display:flex; justify-content:space-between; color:var(--accent); font-weight:850; margin-bottom:2mm; }
.steps { display:grid; gap:2mm; margin-top:2mm; }
.step { display:grid; grid-template-columns:18mm 1fr; gap:2mm; }
.step b { color:var(--muted); }
.checkpoint { margin-top:4mm; border:1px solid #eccb98; background:var(--warm-soft); border-radius:2mm; padding:3mm 4mm; }
.checkpoint strong { color:var(--warm); }
.problem-list { margin:0; padding:0; list-style:none; display:grid; gap:3mm; }
.problem { break-inside:avoid; border-top:1px solid var(--line); padding-top:2.7mm; }
.problem:first-child { border-top:0; padding-top:0; }
.problem-head { display:flex; align-items:center; gap:2mm; margin-bottom:1.4mm; }
.problem-no { display:inline-grid; place-items:center; width:7mm; height:7mm; border-radius:50%; background:var(--accent); color:#fff; font-size:9pt; font-weight:850; }
.level { border:1px solid var(--line); border-radius:999px; padding:.4mm 2.2mm; font-size:8pt; color:var(--muted); font-weight:750; }
.problem-text { margin-left:9mm; }
.work-space { margin:1.2mm 0 0 9mm; height:10mm; background:repeating-linear-gradient(to bottom,transparent 0,transparent 5.2mm,#d8dde6 5.2mm,#d8dde6 5.45mm); }
.problem.deep .work-space { height:17mm; }
.lesson-32 .problem-list { gap:2mm; }
.lesson-32 .problem.deep .work-space { height:13mm; }
.exit-ticket { margin-top:4mm; border:1.6px solid var(--accent); border-radius:2mm; padding:3mm 4mm; break-inside:avoid; }
.exit-ticket strong { color:var(--accent); }
.self-check { margin-top:3mm; display:flex; gap:5mm; color:var(--muted); font-size:8.5pt; }
.footer { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; padding-top:2mm; border-top:1px solid var(--line); color:var(--muted); font-size:8pt; }
.katex { font-size:1em; }
.katex-display { margin:2.5mm 0 !important; }
.answers { columns:2; column-gap:10mm; }
.answer-card { break-inside:avoid; border:1px solid var(--line); border-radius:2mm; padding:3mm; margin-bottom:3mm; }
.answer-card h2 { margin:0 0 2mm; font-size:12pt; color:var(--accent); }
.answer-card ol { margin:0; padding-left:5mm; }
@media screen { body { background:#dfe4ea; padding:12mm 0; } .sheet { width:210mm; margin:0 auto 10mm; padding:12mm 13mm; background:#fff; box-shadow:0 2mm 8mm rgba(0,0,0,.12); } }
@media print { .sheet { padding:0; } }
