:root{--black:#111;--ink:#242424;--muted:#575757;--line:#b9b9b9;--soft:#eee;--paper:#fff}
*{box-sizing:border-box}@page{size:A4;margin:0}body{margin:0;background:#dedede;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:10pt;line-height:1.28}.page{position:relative;width:210mm;min-height:297mm;margin:8mm auto;padding:10mm 14mm 14mm;overflow:hidden;background:var(--paper);box-shadow:0 3mm 10mm rgba(0,0,0,.16);page-break-after:always}.page:last-child{page-break-after:auto}.masthead{display:grid;grid-template-columns:35mm 1fr 32mm;gap:5mm;align-items:center;min-height:17mm;margin-bottom:4mm;padding:0 0 3mm;border-bottom:1.5pt solid var(--black)}.brand-box{display:flex;align-items:center;min-height:13mm;padding-left:3mm;border-left:4pt solid var(--black)}.logo{width:29mm;max-height:12mm;object-fit:contain;object-position:left center;filter:grayscale(1) contrast(1.2)}.header-kicker{margin:0 0 .6mm;color:var(--muted);font-size:6.7pt;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.header-title h1{margin:0;color:var(--black);font-size:15.5pt;line-height:1;letter-spacing:-.02em}.course{padding:2mm;border:1pt solid var(--black);color:var(--black);font-size:7.2pt;font-weight:800;letter-spacing:.04em;line-height:1.25;text-align:center;text-transform:uppercase}.student-fields{display:grid;grid-template-columns:1fr 28mm 35mm;gap:4mm;margin:0 0 3mm}.field{min-height:7mm;padding-top:.8mm;border-bottom:.8pt solid var(--black);color:var(--muted);font-size:8pt;font-weight:700}.exam-meta{display:grid;grid-template-columns:repeat(4,1fr);margin:3mm 0;border-top:.8pt solid var(--black);border-bottom:.8pt solid var(--black)}.meta-item{padding:2mm 2.5mm;border-right:.6pt solid var(--line)}.meta-item:last-child{border-right:0}.meta-label{display:block;color:var(--muted);font-size:6.1pt;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.meta-value{color:var(--black);font-size:8.4pt;font-weight:800}.rules{display:grid;grid-template-columns:1fr 1.15fr;gap:4mm;margin-bottom:3.5mm}.instruction,.unit-warning{margin:0;padding:2.3mm 3mm;border:.8pt solid var(--black);font-size:7.6pt;line-height:1.22}.instruction{border-left-width:3pt}.unit-warning{background:var(--soft);font-weight:700}.unit-warning strong{text-transform:uppercase}.exercise{margin:0 0 3mm;break-inside:avoid}.exercise-head{display:grid;grid-template-columns:8mm 1fr auto;gap:2mm;align-items:center;margin-bottom:1.5mm;padding-bottom:1mm;border-bottom:.7pt solid var(--line)}.exercise-number{display:grid;width:6.5mm;height:6.5mm;place-items:center;border:1pt solid var(--black);color:var(--black);font-size:7.5pt;font-weight:800}.exercise-title{color:var(--black);font-size:10.3pt;font-weight:800}.points{color:var(--black);font-size:7.8pt;font-weight:800;white-space:nowrap}.exercise p{margin:0 0 1mm 10.5mm}.subparts{margin:1mm 0 0 14mm;padding-left:5mm}.workspace{height:66mm;margin:1.5mm 0 0 10.5mm}.workspace.compact{height:43mm}.source-gap{margin:2mm 0 0 10.5mm;padding:2.5mm 3mm;border:1pt dashed var(--black);font-size:8pt}.final-check{position:absolute;right:14mm;bottom:15mm;left:14mm;margin:0;padding:2.4mm 3mm;border:1pt solid var(--black);background:var(--paper);font-size:7.8pt}.footer{position:absolute;right:14mm;bottom:6mm;left:14mm;display:flex;justify-content:space-between;padding-top:1.7mm;border-top:.55pt solid var(--line);color:var(--muted);font-size:6.5pt}.frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;line-height:1;margin:0 .12em;font-size:.92em}.frac .num{border-bottom:.7pt solid currentColor;padding:0 .16em .08em}.frac .den{padding:.08em .16em 0}.print-button{position:fixed;z-index:20;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));min-width:44px;min-height:44px;padding:9px 14px;border:1px solid #111;border-radius:6px;background:#111;color:#fff;font:700 12px Arial,sans-serif;cursor:pointer;touch-action:manipulation}.print-help{display:none;position:fixed;z-index:19;top:66px;left:12px;right:12px;padding:10px 12px;border:1px solid #a56f00;background:#fff7d6;color:#111;font:600 12px/1.35 Arial,sans-serif}.print-help.is-visible{display:block}@media print{body{background:#fff}.page{margin:0;box-shadow:none}.print-button,.print-help{display:none!important}}@media screen and (max-width:720px){body{background:#fff;font-size:11pt}.page{width:100%;min-height:auto;margin:0;padding:18px 16px 28px;box-shadow:none;overflow:visible}.masthead{grid-template-columns:48px 1fr;gap:12px;min-height:0;padding-bottom:12px;margin-bottom:14px}.brand-box{min-height:40px;padding-left:5px;border-left-width:3px}.logo{width:40px;max-height:36px}.header-title h1{font-size:18px;line-height:1.08}.header-kicker{font-size:8px}.course{grid-column:1/-1;justify-self:start;padding:6px 10px;font-size:9px}.student-fields{grid-template-columns:1fr 70px 80px;gap:10px}.exam-meta{grid-template-columns:1fr 1fr}.meta-item{padding:7px 8px}.rules{grid-template-columns:1fr;gap:8px}.exercise{margin-bottom:18px}.exercise-head{grid-template-columns:26px 1fr auto;gap:7px}.exercise-title{font-size:11pt}.exercise p{margin-left:0;font-size:10.5pt}.workspace,.workspace.compact{height:72px;margin-left:0}.final-check{position:static;margin-top:20px}.footer{position:static;margin-top:18px;font-size:8px;gap:8px;flex-wrap:wrap}.print-button{display:block}}
