/* GUARDIAN:BEGIN
   🛡️ أوراقنا | Awraqna — © 2026 Artist Altayeb Amer
   الفنان الطيب عامر  ·  https://awraqna.com
   Protected by ALTAYEB GUARDIAN v4.0
   GUARDIAN:END */
/* ════════════════════════════════════════════════════════════
   أوراقنا — الورقة والطباعة.
   هذا هو الملف الوحيد الذي يُطبع. لا تخلط قواعده بـ brand.css.
   ════════════════════════════════════════════════════════════ */

/* ---------- لوحة التحكم ---------- */
.controls{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;margin:22px auto;box-shadow:var(--shadow)}
.ctl-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 0}
.ctl-row+.ctl-row{border-top:1px solid var(--line)}
/* سمة hidden وحدها لا تكفي: `display:flex` أعلاه تتغلّب على أسلوب المتصفح
   الافتراضي لها، فتظهر كل المساطر معاً مهما كان الوضع — حدث وشوهد. */
.ctl-row[hidden]{display:none}
.ctl-label{flex:0 0 92px;font-size:13px;font-weight:800;color:var(--txt-dim)}
.chips{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.chip{border:1px solid var(--line-2);background:var(--card-2);color:var(--txt-dim);
  border-radius:999px;padding:7px 15px;font:inherit;font-size:14px;font-weight:700;
  cursor:pointer;transition:.16s;white-space:nowrap}
.chip:hover{border-color:var(--gold);color:var(--txt)}
.chip[aria-pressed="true"]{background:linear-gradient(135deg,var(--gold),var(--gold-2));
  border-color:transparent;color:#0a0b0f;box-shadow:0 4px 14px rgba(212,175,55,.28)}
.ctl-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ctl-actions .btn{flex:1 1 190px;justify-content:center;font-size:15px;padding:13px 18px}
.seed-note{font-size:12px;color:var(--txt-mute);margin-top:10px;letter-spacing:.3px}

/* ---------- الورقة على الشاشة ---------- */
#print-root{max-width:var(--maxw);margin:0 auto 40px;padding:0 22px}
.sheet{background:#fff;color:#111;border-radius:10px;padding:22px 24px;margin:18px 0;
  box-shadow:0 14px 44px rgba(0,0,0,.45)}
.sheet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;
  flex-wrap:wrap;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:16px}
.sheet-title{font-size:20px;font-weight:900;line-height:1.25}
.sheet-title small{display:block;font-size:12px;font-weight:700;color:#555;margin-top:3px}
.sheet-fields{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;font-weight:700;color:#333}
.sheet-fields span{border-bottom:1px dotted #777;padding-bottom:2px;min-width:120px}

.q-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 18px}
.q-item{break-inside:avoid;page-break-inside:avoid;display:flex;gap:8px;align-items:flex-start;
  padding-bottom:11px;border-bottom:1px solid #e2e2e2}
.q-num{flex:none;width:22px;height:22px;border-radius:50%;background:#eee;color:#333;
  font-size:11px;font-weight:800;display:grid;place-items:center;margin-top:2px}
.vform{flex:0 0 auto;width:fit-content;min-width:62px;font-variant-numeric:tabular-nums;
  font-family:'SF Mono',Menlo,Consolas,monospace;font-size:18px;font-weight:700;
  direction:ltr;text-align:right;line-height:1.15}
.vform b{display:block;font-weight:700}
.vform .op-line{display:flex;justify-content:space-between;gap:14px}
.vform .op-line i{font-style:normal}
.vform .rule{display:block;border-top:2px solid #111;margin-top:3px}
/* مستطيل الإجابة: مكان صريح للحل بدل فراغ مفتوح يختلط بالسؤال التالي. */
/* صنف مستقل لا وصفي: قُيّد سابقاً بـ .vform فاختفت صناديق الإجابة
   في كل مجال جديد لا يستخدم الصيغة العمودية (الساعة، البرمجة، العلوم). */
.ansbox{display:block;height:30px;border:1px solid #b8b8b8;border-radius:4px;
  margin-top:5px;background:#fcfcfc}

/* ---------- أسئلة سطرية: المقارنة والأنماط ---------- */
.inline-q{flex:1;min-width:0;font-variant-numeric:tabular-nums;
  font-family:'SF Mono',Menlo,Consolas,monospace;font-size:17px;font-weight:700;
  direction:ltr;text-align:left;display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  line-height:1.15}
.ansbox.inline{display:inline-block;height:26px;min-width:52px;
  vertical-align:middle;margin-top:0}
.ansbox.sm{min-width:38px}
/* الأنماط تحتاج عرضاً أكبر ⇒ عمودان بدل أربعة. */
.q-grid.wide{grid-template-columns:repeat(2,1fr)}

.a-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px 14px;
  font-family:'SF Mono',Menlo,Consolas,monospace;font-size:14px;font-weight:700;direction:ltr;text-align:left}
.a-grid div{break-inside:avoid;border-bottom:1px solid #e3e3e3;padding-bottom:3px}
.a-grid u{text-decoration:none;color:#888;margin-inline-end:5px}

/* ---------- عائلات الخط العربي ----------
   ملفات محلية بترخيص SIL OFL (النص في assets/fonts/OFL.txt) —
   مجزّأة على المحارف العربية فقط: 669KB ⇒ 146KB.
   محلية لا CDN، وتُحمَّل فقط حين يُختار الخط فعلاً.
   احتياط النظام بعدها يخدم المتصفحات القديمة التي لا تدعم woff2.

   --fs معامل تكبير **مقيس** لا مُخمَّن: ارتفاع حبر «سعكم» عند 100px قُورن
   بالخط الافتراضي (110px) ⇒ نسخ 0.78 · رقعة 0.75 · كوفي 1.77 · ثلث 1.39.
   ثم قُصَّت الأطراف إلى [0.85 , 1.12]: النسبة الخام تجعل الكوفي عريضاً
   جداً فيفيض السطر، لأن ارتفاع حبره صغير وعرضه كبير معاً. */
@font-face{font-family:"Amiri";src:url("fonts/amiri.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Aref Ruqaa";src:url("fonts/aref-ruqaa.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Reem Kufi";src:url("fonts/reem-kufi.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}

.f-naskh{--fs:0.85;font-family:"Amiri","DecoType Naskh","Traditional Arabic","Geeza Pro",serif}
.f-ruqaa{--fs:0.85;font-family:"Aref Ruqaa","Baghdad","Geeza Pro",serif}
.f-kufi{--fs:1.12;font-family:"Reem Kufi","Noto Kufi Arabic","KufiStandardGK","Geeza Pro",sans-serif}
.f-thuluth{--fs:1.08;font-family:"Diwan Thuluth","DecoType Thuluth","Amiri","Geeza Pro",serif}
@font-face{font-family:"Caveat";src:url("fonts/caveat.woff2") format("woff2");
  font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Great Vibes";src:url("fonts/great-vibes.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}

/* الخطوط الإنجليزية: حديث (نظام) · يدوي (Caveat) · خطّي (Great Vibes).
   الخطّي معامله **أصغر** من واحد رغم صغر ارتفاع حبره: زوائده (swashes)
   تمتدّ أفقياً بعيداً فتفيض الخلية عند 1.30 — جُرّب وشوهد الحرف مقصوصاً. */
.f-modern{--fs:1;font-family:"Helvetica Neue",Arial,system-ui,sans-serif}
.f-handwriting{--fs:1.05;font-family:"Caveat","Bradley Hand","Segoe Print",cursive}
.f-calligraphy{--fs:0.82;font-family:"Great Vibes","Snell Roundhand","Apple Chancery",cursive}
.f-auto{--fs:1;font-family:inherit}

/* ---------- الألغاز وأوراق المعلّم ---------- */
.puz-grid{display:grid;gap:16px}
.puz{position:relative;break-inside:avoid;page-break-inside:avoid;min-width:0}
.puz-n{position:absolute;top:-4px;inset-inline-start:0;font-size:11px;font-weight:800;
  color:#666;background:#eee;border-radius:999px;width:20px;height:20px;
  display:grid;place-items:center;z-index:2}
.puz-svg{display:block;width:100%;height:auto;max-height:245mm;margin:0 auto}
/* 2×118mm + الترويسة + الفجوة = ما يسع مساحة الطباعة (273mm) بالضبط.
   جُرّب 126mm ⇒ أربع صفحات بدل صفحتين. لا تزده بلا إعادة قياس. */
.puz-grid[data-per="2"] .puz-svg,.puz-grid[data-per="4"] .puz-svg{max-height:118mm}
.paper{display:block;width:100%;height:auto}

/* ---------- الفنون ---------- */
.art-wrap{display:flex;justify-content:center}
.art-svg{display:block;width:100%;max-width:186mm;height:auto;max-height:242mm}

/* ---------- الحروف واللغات ----------
   الحرف المجوَّف = تعبئة رمادية فاتحة + حدّ نصّي.
   التعبئة ليست زينة: لو لم يدعم المتصفح -webkit-text-stroke
   يبقى الحرف مرئياً قابلاً للتتبّع بدل أن يختفي تماماً. */
.lt-grid{display:grid;gap:14px}
.lt-grid[data-per="4"]{grid-template-columns:repeat(2,1fr)}
.lt-block{break-inside:avoid;page-break-inside:avoid;border:1px solid #ddd;
  border-radius:8px;padding:10px 12px;min-width:0}
.lt-head{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid #eee;
  padding-bottom:6px;margin-bottom:8px}
.lt-big{font-size:calc(44px * var(--fs,1));line-height:1;font-weight:700;color:#111}
.lt-name{font-size:14px;font-weight:700;color:#666}
.lt-forms{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.lt-form{flex:1 1 60px;text-align:center;border:1px dashed #ccc;border-radius:6px;padding:5px 3px;min-width:0}
.lt-fchar{display:block;font-size:calc(26px * var(--fs,1));line-height:1.25;color:#111}
.lt-flabel{display:block;font-size:10px;color:#777;margin-top:2px}
.tr-rows{display:flex;flex-direction:column;gap:7px}
/* فجوة واسعة عمداً: الحروف المتلاصقة لا تترك للطفل مكاناً
   يميّز فيه بداية حرف من نهاية سابقه. */
.tr-row{display:flex;align-items:flex-end;gap:15px;border-bottom:1px dashed #c9c9c9;
  padding-bottom:3px;overflow:hidden;flex-wrap:nowrap}
.tr-model,.tr-ghost{font-size:calc(34px * var(--fs,1));line-height:1.18;flex:none}
.tr-model{color:#111;font-weight:700}
.tr-ghost{color:#e0e0e0;-webkit-text-stroke:0.7px #b4b4b4}
.cl-grid{display:grid;gap:8px}
.cl-grid[data-per="2"]{grid-template-rows:1fr 1fr}
.cl-grid[data-per="4"]{grid-template-columns:1fr 1fr}
.cl-cell{position:relative;display:flex;align-items:center;justify-content:center;
  border:1px dashed #ddd;border-radius:8px;break-inside:avoid;page-break-inside:avoid;
  min-width:0;overflow:hidden}
/* اسم الحرف في الزاوية لا تحته: داخل مساحة التلوين يزاحم الطفل ويُلوَّن سهواً. */
.cl-name{position:absolute;top:6px;inset-inline-start:10px;font-size:15px;font-weight:800;
  color:#8a8a8a;font-family:'Segoe UI',system-ui,sans-serif;letter-spacing:.3px}
/* الحجم يتبع عدد الحروف في الورقة. جُرّب 150mm لحرف واحد فصارت صفحتين. */
.cl-big{line-height:1.05;color:#fbfbfb;-webkit-text-stroke:1.4px #111;display:block}
.cl-grid[data-per="1"] .cl-big{font-size:calc(118mm * var(--fs,1))}
.cl-grid[data-per="2"] .cl-big{font-size:calc(78mm * var(--fs,1))}
.cl-grid[data-per="4"] .cl-big{font-size:calc(52mm * var(--fs,1))}


/* ---------- البرمجة والعلوم والوقت ---------- */
.cd-line{flex:1;min-width:0;font-family:'SF Mono',Menlo,Consolas,monospace;font-size:14px;
  font-weight:700;direction:ltr;text-align:left;display:flex;align-items:center;gap:6px;
  flex-wrap:wrap;line-height:1.2}
.cd-arrow{color:#666;font-weight:400}
.cd-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cd-card{position:relative;break-inside:avoid;page-break-inside:avoid;border:1px solid #ddd;
  border-radius:8px;padding:10px 10px 8px;min-width:0}
.cd-card .q-num{position:absolute;top:6px;inset-inline-start:6px}
.cd-code{font-family:'SF Mono',Menlo,Consolas,monospace;font-size:11.5px;line-height:1.45;
  background:#f6f6f6;border-radius:5px;padding:7px 8px;margin:14px 0 8px;white-space:pre;
  overflow:hidden;color:#111;direction:rtl;text-align:start}
.cd-tbl{width:100%;border-collapse:collapse;font-size:12px}
.cd-tbl th,.cd-tbl td{border:1px solid #ccc;padding:3px 5px;text-align:center;height:19px}
.cd-tbl th{background:#f2f2f2;font-weight:800;font-size:11px}
.cd-grid{display:block;width:100%;max-width:120px;height:auto;margin:14px auto 6px}
.cd-seq{font-size:15px;letter-spacing:4px;text-align:center;direction:ltr;color:#111}
.cd-ask{font-family:'SF Mono',Menlo,monospace;font-size:13px;text-align:center;color:#333;margin-top:5px}
.sc-coord{display:flex;flex-direction:column;align-items:center;gap:12px}
/* المسطرة والمنقلة بوحدات mm صريحة في الـSVG ⇒ تخرج من الطابعة بمقاسها
   الحقيقي. لا تضع لهما width:100% وإلا تمدّدا وفقدا معناهما. */
.sc-tools{display:flex;flex-direction:column;align-items:center;gap:14px}
.sc-ruler,.sc-prot{display:block;max-width:100%;height:auto}
.sc-axes{display:block;width:100%;max-width:176mm;height:auto}
.sc-pts{width:100%}
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tm-item{position:relative;break-inside:avoid;page-break-inside:avoid;text-align:center;min-width:0}
.tm-item .q-num{position:absolute;top:0;inset-inline-start:0}
.tm-clock{display:block;width:100%;max-width:52mm;height:auto;margin:0 auto}
.tm-ans{margin-top:5px}
.tm-cal{display:flex;justify-content:center}
.cal{border-collapse:collapse;width:100%;table-layout:fixed}
.cal caption{font-size:19px;font-weight:900;padding-bottom:9px;color:#111}
.cal th{border:1px solid #999;background:#f2f2f2;font-size:12px;font-weight:800;padding:5px 2px}
.cal td{border:1px solid #999;height:31mm;vertical-align:top;padding:3px}
.cal-n{font-size:12px;font-weight:700;color:#444}

/* ---------- تعلّم الرسم خطوة بخطوة ---------- */
.dw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dw-cell{position:relative;border:1px solid #e3e3e3;border-radius:9px;padding:6px;
  break-inside:avoid;page-break-inside:avoid;min-width:0;background:#fff}
.dw-cell.dw-try{border-style:dashed;border-color:#bbb}
.dw-n{position:absolute;top:5px;inset-inline-start:8px;font-size:12px;font-weight:800;
  color:#777;font-family:'Segoe UI',system-ui,sans-serif}
.dw-svg{display:block;width:100%;height:auto}
.dw-solo{display:flex;justify-content:center;align-items:center}
.dw-solo .dw-svg{max-width:170mm;max-height:225mm}
/* الخطوة الجديدة داكنة والسابقة رمادية — هكذا يعرف الطفل ما يرسمه الآن. */
.dw-old{fill:none;stroke:#c2c2c2;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dw-new{fill:none;stroke:#111;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dw-solo .dw-new{stroke-width:1.4}

/* ---------- الحنّة ---------- */
.hn-wrap{display:flex;justify-content:center;align-items:center}
.hn-svg{display:block;width:100%;max-width:180mm;height:auto;max-height:235mm}
/* كل الرسم بخطوط بلا تعبئة — الحنّة خطّ لا كتلة. */
.hn-ink{fill:none;stroke:#111;stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round}
/* النقاط وحدها ممتلئة. تعبئة كل الدوائر حوّلت الزهرة والدائرة إلى قرص
   أسود وملأت راحة الكفّ — الحنّة خطّ لا كتلة. */
.hn-ink circle{fill:none}
.hn-ink .hn-dot{fill:#111;stroke:none}
.hn-ink .hn-thin{stroke-width:.5;fill:none}
.hn-fill line{stroke-width:.5;stroke:#111}
.hn-fill circle,.hn-fill .hn-dot{fill:#111;stroke:none}
.hn-outline{stroke-width:1.6}
.hn-guide{stroke:#c8c8c8;stroke-width:.6;stroke-dasharray:3 3;fill:none}
.hn-hand{max-width:150mm}

/* ---------- المسطرة الرقمية ---------- */
.rangebox{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.rng{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:5px;border-radius:99px;
  background:var(--line-2);outline:none;cursor:pointer}
.rng::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));cursor:grab;
  box-shadow:0 2px 8px rgba(212,175,55,.45);border:none}
.rng::-webkit-slider-thumb:active{cursor:grabbing}
.rng::-moz-range-thumb{width:19px;height:19px;border-radius:50%;border:none;
  background:var(--gold);cursor:grab}
.rngval{flex:none;min-width:52px;text-align:center;font-family:'SF Mono',Menlo,monospace;
  font-size:13px;font-weight:800;color:var(--gold-2);background:var(--card-2);
  border:1px solid var(--line-2);border-radius:8px;padding:4px 8px;direction:ltr}

/* ---------- ورقة الزخرفة ---------- */
.rp-wrap{display:flex;justify-content:center;align-items:center}
/* اللوحة صارت بنسبة الورقة ⇒ العرض الكامل يعطي ارتفاع 253mm تلقائياً. */
.rp-svg{display:block;width:100%;max-width:186mm;height:auto;max-height:253mm}
.rp-grid{display:grid;gap:6px}
.rp-grid[data-per="4"]{grid-template-columns:1fr 1fr}
.rp-grid[data-per="8"]{grid-template-columns:1fr 1fr}
.rp-cell{border:1px dashed #ddd;border-radius:6px;padding:3px;min-width:0;
  break-inside:avoid;page-break-inside:avoid}
.rp-cell .rp-svg{max-width:none;max-height:none}

/* ---------- الشفافية ----------
   الشفافية على المحتوى وحده. `opacity` تُطبع في Chrome كما تُعرض،
   والحدّ الأدنى مضبوط في core.js فلا تخرج ورقة بيضاء تماماً. */
.sheet-body{display:block}

/* ---------- سطر النسبة على الورق ---------- */
.sheet-credit{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  margin-top:9px;padding-top:4px;border-top:1px solid #e8e8e8;
  font-size:8.5px;letter-spacing:.2px;color:#9a9a9a}
.sheet-credit .cr-site{font-family:'SF Mono',Menlo,Consolas,monospace;direction:ltr}

/* ---------- الموبايل ---------- */
@media (max-width:640px){
  .ctl-label{flex-basis:100%}
  .rangebox{width:100%}
  #print-root{padding:0 14px}
  .sheet{padding:16px 14px}
  .q-grid{grid-template-columns:repeat(2,1fr)}
  .q-grid.wide{grid-template-columns:1fr}
  .inline-q{font-size:15px}
  .lt-grid[data-per="4"]{grid-template-columns:1fr}
  .lt-big{font-size:calc(34px * var(--fs,1))}
  .tr-model,.tr-ghost{font-size:calc(26px * var(--fs,1))}
  .cl-grid[data-per="4"]{grid-template-columns:1fr}
  .dw-grid{grid-template-columns:repeat(2,1fr)}
  .cl-grid[data-per="1"] .cl-big{font-size:calc(52vw * var(--fs,1))}
  .cl-grid[data-per="2"] .cl-big{font-size:calc(38vw * var(--fs,1))}
  .cl-grid[data-per="4"] .cl-big{font-size:calc(30vw * var(--fs,1))}
  .a-grid{grid-template-columns:repeat(3,1fr)}
  .cd-grid-3,.tm-grid{grid-template-columns:repeat(2,1fr)}
  .cal td{height:16mm}
  .cal caption{font-size:16px}
  .cd-line{font-size:13px}
  .vform{font-size:16px}
}

/* ════════════════════════════════════════════════════════════
   الطباعة — هنا تُكسب المعركة.
   الإخفاء بالإقصاء لا بقائمة يدوية: أي إعلان أو عنصر يُضاف لاحقاً
   خارج #print-root يختفي تلقائياً بلا صيانة.
   ════════════════════════════════════════════════════════════ */
@page{size:A4 portrait;margin:12mm}
@media print{
  html,body{background:#fff!important;height:auto!important;overflow:visible!important}
  body>*:not(#print-root){display:none!important}
  #print-root{max-width:none!important;margin:0!important;padding:0!important}
  .sheet{box-shadow:none!important;border-radius:0!important;margin:0!important;padding:0!important;
    background:#fff!important;color:#000!important}
  /* صفحة الإجابات تبدأ في صفحة مستقلة دائماً. */
  #answers{break-before:page;page-break-before:always}
  /* آخر عنصر بلا هامش سفلي — السبب الأول للصفحة الفارغة الزائدة. */
  #print-root>.sheet:last-child{margin-bottom:0!important;padding-bottom:0!important}
  .q-grid{gap:9px 16px}
  .q-item{break-inside:avoid;page-break-inside:avoid}
  .q-num{background:none;border:1px solid #999;color:#000}
  .vform{font-size:15px}
  .vform .rule{border-top-color:#000}
  .ansbox{height:30px;border-color:#9a9a9a;background:none}
  .inline-q{font-size:15px}
  .ansbox.inline{height:24px}
  .q-item{padding-bottom:8px;border-bottom-color:#d0d0d0}
  .sheet-head{border-bottom-color:#000}
  .a-grid div{border-bottom-color:#bbb}
  /* على الورق يُطبع بالرمادي الداكن ليُقرأ بعد التصوير والنسخ. */
  .sheet-credit{color:#6f6f6f;border-top-color:#d5d5d5;font-size:7.5pt;
    margin-top:6px;padding-top:3px}
  /* الورقة الكاملة (ورق المعلّم) تملأ مساحة الطباعة بلا حشو. */
  .paper{width:186mm;height:auto}
  .puz-grid{gap:12px}
  .puz-n{background:none;border:1px solid #999;color:#000}
  /* الشكل مربّع فلا يملأ ارتفاع A4 — يُتوسَّط رأسياً فيبدو مقصوداً لا ناقصاً. */
  .art-wrap,.rp-wrap,.dw-solo,.hn-wrap{min-height:232mm;align-items:center}
  .hn-svg{max-height:232mm}
  .hn-guide{stroke:#d5d5d5}
  /* الارتفاع يُثبَّت رقمياً لكل تخطيط: `1fr` وحدها لا تكفي لأن الـSVG
     يحتفظ بنسبته المربّعة فيتمدّد خارج الصف — ثماني زخارف صارت صفحتين. */
  .rp-grid{grid-auto-rows:auto}
  .rp-cell{border-color:#e5e5e5;display:flex;align-items:center;justify-content:center}
  .rp-cell .rp-svg{width:auto;max-width:100%}
  .rp-grid[data-per="4"] .rp-svg{height:110mm}
  .rp-grid[data-per="8"] .rp-svg{height:54mm}
  .dw-old{stroke:#b5b5b5}
  .dw-cell{border-color:#d8d8d8}
  /* تُمَطّ الشبكة لتملأ الورقة: بدونها بقي ثلث الصفحة فارغاً والرسم صغيراً. */
  .dw-grid{height:224mm;grid-auto-rows:1fr}
  .dw-cell{display:flex;align-items:center;justify-content:center}
  .dw-svg{max-height:100%;width:auto;max-width:100%}
  .rp-svg{max-height:232mm}
  .art-svg{max-height:236mm}
  .lt-block{border-color:#ccc}
  /* على الورق تُمَطّ الشبكة لتملأ مساحة الطباعة بعد الترويسة وسطر النسبة،
     وإلا بقي ثلثا الورقة فارغاً — وهو ما حدث قبل الضبط. */
  .cl-grid{height:228mm}
  .cl-grid[data-per="4"]{grid-template-rows:1fr 1fr}
  .cl-cell{border-color:#e2e2e2}
  .cl-grid[data-per="1"] .cl-big{font-size:calc(120mm * var(--fs,1))}
  .cl-grid[data-per="2"] .cl-big{font-size:calc(82mm * var(--fs,1))}
  .cl-grid[data-per="4"] .cl-big{font-size:calc(58mm * var(--fs,1))}
  .cl-name{font-size:11pt;color:#777}
  .cd-code{background:none;border:1px solid #ddd}
  .cd-tbl th{background:none}
  .cal th{background:none}
  /* شبكة الإحداثيات تُطبع مع قائمة النقاط تحتها ⇒ سقف أقلّ.
     راسم الدوال وحده يأخذ الارتفاع الكامل. */
  .sc-axes{max-width:176mm;max-height:225mm}
  .sc-coord .sc-axes{max-height:188mm}
  .tm-clock{max-width:50mm}
}

/* شاشات ضيّقة جداً: ٣ أعمدة في صفحة الإجابات تقصّ إجابات مثل «1101₂».
   الطباعة غير متأثرة (عرض A4 ثابت) لكن القراءة على الجوال كانت تفقد محتوى. */
@media (max-width:420px){
  .a-grid{grid-template-columns:repeat(2,1fr);font-size:12px}
  .a-grid div{overflow-wrap:anywhere}
  .cd-grid-3,.tm-grid{grid-template-columns:1fr}
  .q-grid.wide{grid-template-columns:1fr}
}
