
:root{
  --ink:#24272c; --muted:#6b675e; --paper:#fffdf8; --accent:#a83b2a; --accent2:#7a5a2e;
  --soft:#f6f1e6; --line:#e4dcc9;
}
*{box-sizing:border-box}
html{print-color-adjust:exact;-webkit-print-color-adjust:exact}
body{margin:0;background:#e9e4d8;color:var(--ink);
  font-family:Georgia,'Noto Serif','Noto Naskh Arabic',serif;font-size:15px;line-height:1.55}
.ar{direction:rtl;unicode-bidi:isolate;font-family:'Noto Naskh Arabic','Noto Sans Arabic','Amiri',serif;
  font-size:1.12em;line-height:1.8}
.en{color:var(--muted)}
.sep{color:#b8b0a0;padding:0 .25em}
.toolbar{position:fixed;top:12px;right:14px;z-index:5;background:#2c2a26;color:#f5f1e6;
  padding:8px 14px;border-radius:999px;font-size:13px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.toolbar button{margin-inline-start:10px;border:0;border-radius:999px;padding:4px 12px;
  background:#c8553d;color:#fff;font-weight:600;cursor:pointer}
.page,article.unit{max-width:860px;margin:20px auto;background:var(--paper);
  padding:46px 54px;box-shadow:0 1px 5px rgba(60,50,20,.18)}
/* portada */
.cover{min-height:560px;display:flex;align-items:center;justify-content:center;text-align:center}
.cover .frame{border:3px double var(--accent2);padding:56px 64px}
.cover .pre{letter-spacing:.18em;text-transform:uppercase;color:var(--accent2);font-size:13px}
.cover h1{font-size:64px;margin:10px 0 4px;color:var(--accent);letter-spacing:.02em}
.cover .sub-en{font-size:19px;margin:6px 0 2px}
.cover .sub-ar{font-size:22px;margin:0 0 18px}
.levels-strip{display:inline-block;border:1.5px solid var(--accent2);border-radius:999px;
  padding:6px 26px;letter-spacing:.35em;font-weight:700;color:var(--accent2);margin:8px 0 16px}
.cover-note{color:var(--muted);font-size:13.5px;line-height:1.9}
/* cabecera de unidad */
.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);font-size:12px;font-weight:700}
.uhead h2{margin:6px 0 0;font-size:30px;color:var(--accent)}
.uen{color:var(--muted);font-size:17px}
.uar{font-size:19px;margin:2px 0 6px}
.usub{margin:4px 0 10px;color:var(--muted)}
.cando{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin:12px 0 4px}
.cando .lab{font-weight:700;color:var(--accent2);font-size:13px}
.cando p{margin:4px 0 0}
/* secciones */
h3{font-size:19px;color:var(--accent);margin:26px 0 8px;border-bottom:1.5px solid var(--line);padding-bottom:4px}
.block{margin-bottom:8px}
.gtopic h4{margin:14px 0 4px;font-size:15.5px}
.gtopic p{margin:2px 0}
.gtopic ul{margin:6px 0 0;padding-inline-start:20px}
.gtopic li{margin:3px 0}
/* diálogo */
.dialogue{margin-top:6px}
.dl{margin:9px 0;padding-inline-start:52px;position:relative}
.dl .spk{position:absolute;left:0;top:2px;font-weight:700;color:var(--accent2);
  min-width:46px;font-size:13px}
.dl .es-t{margin:0;font-weight:600}
.dl .en{margin:1px 0 0;font-size:13.5px}
/* tablas */
table{border-collapse:collapse;width:100%}
.tbl td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.phrases td{width:50%}
.vocab td:first-child{font-weight:600;width:20%}
.vocab .pos{width:13%;color:var(--accent2);font-style:italic;font-size:12.5px}
.vocab .en{width:26%}
.vocab .note{color:var(--muted);font-size:13px}
.note{color:var(--muted);font-size:12.5px;font-weight:400;margin-top:2px}
/* tarjetas pron/cultura */
.cards{display:flex;gap:14px;flex-wrap:wrap}
.card{flex:1 1 320px;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:12px 16px}
.card h4{margin:0 0 6px;font-size:14px;color:var(--accent2)}
.ctitle{font-weight:700;margin:0 0 4px}
.card ul{margin:6px 0 0;padding-inline-start:18px}
.hint{color:var(--accent2);font-size:13px}
/* rol */
.sample{background:var(--soft);border-inline-start:3px solid var(--accent2);
  padding:6px 12px;margin:6px 0;border-radius:0 8px 8px 0}
.sample .lab{color:var(--accent2);font-size:12.5px;font-weight:700}
/* ejercicios */
.exercises{background:#fbf8f1;border:1.5px solid var(--line);border-radius:10px;padding:6px 18px 14px;margin-top:18px}
.ex h4{margin:14px 0 4px;font-size:14.5px}
.ex .hint{margin:0 0 6px}
.ex ol{margin:4px 0 8px;padding-inline-start:22px}
.ex li{margin:7px 0}
.wline{border-bottom:1.2px dotted #9a917d;height:20px;max-width:520px;margin-top:6px}
.opts,.chips{margin-top:4px}
.chip{display:inline-block;border:1px solid var(--accent2);border-radius:6px;
  padding:1px 8px;margin:2px 4px 2px 0;font-size:13.5px}
.match td{padding:5px 8px;border-bottom:1px dotted var(--line)}
.match .n{width:22px;color:var(--accent2);font-weight:700}
.match .es-t{width:38%}
.hw{margin-top:14px;background:var(--soft);border-radius:8px;padding:8px 14px;font-size:14px}
/* soluciones */
.answers{background:#f2ede0;border:1.5px dashed var(--accent2);border-radius:10px;padding:10px 18px 4px;margin-top:16px}
.answers p{margin:6px 0}
/* guía / índice / divisor */
.gblock h3{border:0;margin:20px 0 4px}
.gblock .ar,.gblock .en{font-size:14px}
.guide h2,.toc h2,.divider h2,.appendix h2{color:var(--accent);font-size:26px}
.divider{text-align:center;min-height:420px}
.lvl-badge{display:inline-block;background:var(--accent);color:#fff;border-radius:14px;
  padding:10px 30px;font-size:30px;font-weight:800;letter-spacing:.08em;margin-top:60px}
.divider h2{margin:14px 0 4px}
.divider .big{font-size:17px;max-width:520px;margin:12px auto}
.divider .goal{color:var(--muted);max-width:520px;margin:8px auto}
.divlist{list-style:none;padding:0;max-width:460px;margin:26px auto;text-align:start}
.divlist li{border-bottom:1px solid var(--line);padding:7px 4px}
.divlist a{text-decoration:none;color:inherit}
.toclist{list-style:none;padding:0}
.toclist li{padding:4px 0;border-bottom:1px dotted var(--line)}
.toc a,.divlist a{color:inherit;text-decoration:none}
.toc h3{border:0;margin:16px 0 4px;font-size:18px}
.appendix .note{font-size:13.5px}
.appendix td.hint{white-space:nowrap}
.foot{text-align:center;color:var(--muted);font-size:12.5px;margin:10px 0 30px}
@media print{
  @page{size:A4;margin:13mm 12mm 16mm;
    @bottom-center{content:counter(page);font-size:9pt;color:#8a8578}}
  body{background:#fff;font-size:10.6pt;line-height:1.42}
  .toolbar{display:none}
  .page,article.unit{max-width:none;margin:0;padding:0;box-shadow:none;background:#fff}
  .newpage,.pagebreak{break-before:page}
  .card,.cando,.gtopic,.answers,.dl,.ex,.hw{break-inside:avoid}
  .plan tr,.tbl tr,.match tr{break-inside:avoid}
  h2,h3,h4{break-after:avoid}
  .answers{page-break-inside:avoid}
  .cover{min-height:88vh}
  .divider{min-height:80vh}
  a{color:inherit;text-decoration:none}
  .uhead{break-inside:avoid}
  .uhead h2{font-size:22pt}
  h3{font-size:14.5pt;margin-top:18px}
}
