/* ============================================================
   יצירת ערך ואסטרטגיה שיווקית — שפה עיצובית "עריכתית"
   Frank Ruhl (serif) לכותרות · Assistant לגוף · אקצנט פטרול
   מוטיב מרקר · פלטת נייר חמה · מצב כהה
   ============================================================ */
:root{
  --paper:#f2ecdf; --paper-2:#efe7d7;
  --card:#fdfbf6; --card-2:#f8f3e9;
  --ink:#201c15; --ink-2:#6d6454;
  --line:#e5dcc9; --line-2:#d8cdb5;
  --brand:#0f6f66; --brand-ink:#0a544d; --brand-soft:#e0efec;
  --ok:#2f7d4c; --ok-soft:#e5f1e6; --bad:#bb3a2c; --bad-soft:#f8e6e1;
  --warn:#a9781a; --warn-soft:#f6ecd4;
  --marker:rgba(240,192,74,.55);           /* מרקר צהוב-ענבר */
  --marker-2:rgba(15,111,102,.16);
  --shadow:0 1px 0 rgba(60,45,20,.04), 0 14px 34px -20px rgba(60,45,20,.35);
  --shadow-sm:0 1px 2px rgba(60,45,20,.06);
  --r:12px; --r-lg:18px;
  --serif:'Frank Ruhl Libre',Georgia,'Times New Roman',serif;
  --sans:'Rubik',system-ui,'Segoe UI',Arial,sans-serif;
}
[data-theme="dark"]{
  --paper:#141109; --paper-2:#171309;
  --card:#211c13; --card-2:#1a160f;
  --ink:#efe8d9; --ink-2:#a89e8b;
  --line:#332c1f; --line-2:#403726;
  --brand:#57bcb0; --brand-ink:#8ed7cd; --brand-soft:#123330;
  --ok:#5cbe80; --ok-soft:#132a1c; --bad:#e37e6f; --bad-soft:#2d1713;
  --warn:#e0b552; --warn-soft:#2a2412;
  --marker:rgba(224,181,82,.32);
  --marker-2:rgba(87,188,176,.20);
  --shadow:0 1px 0 rgba(0,0,0,.2), 0 16px 40px -22px rgba(0,0,0,.8);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--sans);
  color:var(--ink); line-height:1.62; font-size:16.5px;
  -webkit-font-smoothing:antialiased; padding-bottom:46px;
  background:
    radial-gradient(1200px 480px at 90% -8%, var(--marker-2), transparent 60%),
    var(--paper);
  background-attachment:fixed;
}
.wrap{max-width:900px;margin:0 auto;padding:0 20px}
.hidden{display:none !important}
/* חובה: כפתורים לא יורשים שחור-על-כהה במצב לילה */
button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;border:0;background:none}

/* מוטיב מרקר — הדגשה מאחורי טקסט */
.hl{background:linear-gradient(180deg,transparent 58%,var(--marker) 58%,var(--marker) 92%,transparent 92%);
  padding:0 .12em;border-radius:2px}

/* ---------- topbar ---------- */
.topbar{position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line)}
.topbar::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--brand),var(--warn) 70%,var(--brand))}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:8px 0}
.brand{display:flex;align-items:center;gap:12px;text-align:right}
.brand-mark{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--brand),var(--brand-ink));color:#fff;
  box-shadow:0 6px 16px -8px var(--brand);transform:rotate(-3deg)}
.brand-mark svg{width:24px;height:24px}
.brand-txt b{font-family:var(--serif);display:block;font-size:18px;font-weight:700;line-height:1.15;letter-spacing:-.2px}
.brand-txt small{display:block;color:var(--ink-2);font-size:12.5px;line-height:1.35;font-weight:500}
.topbar-right{display:flex;align-items:center;gap:10px}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--card);
  color:var(--ink-2);font-size:17px;display:grid;place-items:center;transition:.15s}
.icon-btn:hover{color:var(--brand);border-color:var(--brand)}
.timer{font-variant-numeric:tabular-nums;font-weight:700;font-family:var(--serif);
  background:var(--brand);color:#fff;padding:7px 14px;border-radius:11px;font-size:16px;letter-spacing:.4px;
  box-shadow:0 6px 16px -10px var(--brand)}
.timer.danger{background:var(--bad);animation:pulse 1.3s infinite}
@keyframes pulse{50%{opacity:.5}}

/* ---------- generic ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
h1{font-family:var(--serif);font-size:34px;font-weight:900;margin:30px 0 8px;letter-spacing:-.5px;line-height:1.12}
h2{font-family:var(--sans);font-size:22px;font-weight:800;margin:0 0 6px;letter-spacing:-.2px}
.sub{color:var(--ink-2);margin:0 0 24px;font-size:16px;max-width:60ch;line-height:1.6}
.btn{border:1.5px solid var(--line-2);background:var(--card);color:var(--ink);border-radius:12px;
  padding:11px 20px;font-weight:700;font-size:15.5px;transition:.16s;box-shadow:var(--shadow-sm)}
.btn:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 20px -10px var(--brand)}
.btn.primary:hover{filter:brightness(1.08);color:#fff}
.btn.ghost{background:transparent;box-shadow:none;border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{color:var(--brand);border-color:var(--line-2)}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---------- home hero ---------- */
.hero-tag{display:inline-flex;align-items:center;gap:7px;margin-top:30px;font-size:13px;font-weight:700;
  color:var(--brand-ink);background:var(--brand-soft);padding:5px 13px;border-radius:99px;letter-spacing:.2px}
.hero-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}
h1.hero{margin-top:14px;font-size:40px}
@media(min-width:640px){h1.hero{font-size:46px}}

.statbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.statbar div{flex:1;min-width:96px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:14px 12px;text-align:center;box-shadow:var(--shadow-sm)}
.statbar b{font-family:var(--serif);display:block;font-size:26px;font-weight:900;color:var(--brand);line-height:1}
.statbar span{font-size:12.5px;color:var(--ink-2);font-weight:600;margin-top:3px;display:block}

.modes{display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:28px}
@media(min-width:720px){.modes{grid-template-columns:1fr 1fr}.mode.feat,.mode.wide{grid-column:1/-1}}
.mode{position:relative;overflow:hidden;padding:24px;text-align:right;border:1px solid var(--line);
  background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:.18s;display:block;width:100%}
.mode::after{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;
  background:var(--brand);transform:scaleY(0);transform-origin:top;transition:transform .22s}
.mode:hover{transform:translateY(-3px);border-color:var(--line-2)}
.mode:hover::after{transform:scaleY(1)}
.mode.feat{background:linear-gradient(135deg,var(--brand-soft),var(--card) 60%);border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}
.mode .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:14px;
  background:var(--brand-soft);color:var(--brand-ink);border:1px solid color-mix(in srgb,var(--brand) 20%,transparent)}
.mode.feat .ic{background:var(--brand);color:#fff;border-color:var(--brand)}
.mode .ic svg{width:24px;height:24px}
.mode h3{font-family:var(--sans);margin:0 0 7px;font-size:20px;font-weight:800;letter-spacing:-.2px}
.mode p{margin:0;color:var(--ink-2);font-size:14.5px;line-height:1.6}
.mode .tag{display:inline-block;margin-top:13px;font-size:12.5px;font-weight:700;color:var(--brand-ink);
  background:var(--brand-soft);padding:4px 12px;border-radius:99px}
.mode.feat .tag{background:var(--brand);color:#fff}

/* כרטיס הורדת ה-PDF */
.dl-card{display:flex;align-items:center;gap:15px;text-decoration:none;color:inherit;
  background:linear-gradient(135deg,var(--brand-soft),var(--card) 65%);
  border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:var(--r-lg);
  padding:16px 18px;margin-bottom:26px;box-shadow:var(--shadow);transition:.16s}
.dl-card:hover{transform:translateY(-2px);border-color:var(--brand)}
.dl-ic{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:var(--brand);color:#fff}
.dl-ic svg{width:24px;height:24px}
.dl-txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.dl-txt b{font-family:var(--sans);font-weight:800;font-size:16px}
.dl-txt span{color:var(--ink-2);font-size:13.5px;line-height:1.5}
.dl-btn{flex:none;background:var(--brand);color:#fff;font-weight:700;font-size:14.5px;
  padding:9px 18px;border-radius:11px;box-shadow:0 8px 20px -10px var(--brand)}
.dl-card:hover .dl-btn{filter:brightness(1.08)}
.gloss-dl{display:inline-flex;align-items:center;gap:6px;margin:2px 0 14px;font-weight:700;
  color:var(--brand-ink);text-decoration:none;font-size:14px}
.gloss-dl:hover{text-decoration:underline}
@media(max-width:560px){.dl-txt span{display:none}.dl-card{gap:12px}}

.info{background:var(--card-2);border:1px solid var(--line);border-inline-start:4px solid var(--brand);
  border-radius:var(--r);padding:18px 20px;margin-bottom:26px;font-size:15px;color:var(--ink)}
.info b{font-weight:800;color:var(--brand-ink)}
.info ul{margin:9px 0 0;padding-inline-start:20px}
.info li{margin:5px 0;color:var(--ink-2)}
.info li b{color:var(--ink)}

/* ---------- setup / filters ---------- */
.chips{display:flex;flex-wrap:wrap;gap:9px;margin:11px 0 4px}
.chip{border:1.5px solid var(--line-2);background:var(--card);border-radius:99px;padding:8px 15px;font-size:14px;
  color:var(--ink-2);font-weight:600;transition:.14s}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.field{margin-bottom:22px}
.field>label{font-family:var(--sans);font-weight:800;font-size:16px;display:block;margin-bottom:2px}
.field .hint{color:var(--ink-2);font-size:13.5px;margin:2px 0 0}

/* ---------- question ---------- */
.qhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 14px;flex-wrap:wrap}
.qmeta{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.pill{font-size:12.3px;font-weight:700;padding:4px 11px;border-radius:99px;background:var(--brand-soft);
  color:var(--brand-ink);white-space:nowrap}
.pill.grey{background:color-mix(in srgb,var(--ink-2) 13%,transparent);color:var(--ink-2)}
.pill.gold{background:var(--warn-soft);color:var(--warn)}
.progress{height:6px;background:color-mix(in srgb,var(--ink-2) 15%,transparent);border-radius:99px;overflow:hidden;margin-bottom:6px}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-ink));border-radius:99px;transition:width .35s}
.qcard{padding:28px;animation:rise .32s cubic-bezier(.2,.7,.3,1)}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.qtext{font-family:var(--sans);font-size:19px;font-weight:600;line-height:1.72;margin:0 0 22px;letter-spacing:-.1px}
.qtext .num{font-family:var(--serif);color:var(--brand);font-weight:900;font-size:24px;margin-inline-end:8px}

.opts{display:grid;gap:10px}
.opt{display:flex;gap:13px;align-items:flex-start;text-align:right;width:100%;padding:14px 16px;
  border:1.5px solid var(--line-2);background:var(--card);border-radius:13px;transition:.14s;line-height:1.58;font-size:16px;position:relative}
.opt:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft);transform:translateX(-2px)}
.opt .let{flex:none;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-weight:800;
  font-size:14px;background:color-mix(in srgb,var(--ink-2) 12%,transparent);color:var(--ink-2);margin-top:1px;
  font-family:var(--serif);transition:.14s}
.opt.sel{border-color:var(--brand);background:var(--brand-soft)}
.opt.sel .let{background:var(--brand);color:#fff}
.opt.correct{border-color:var(--ok);background:var(--ok-soft)}
.opt.correct .let{background:var(--ok);color:#fff}
.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}
.opt.wrong .let{background:var(--bad);color:#fff}
.opt:disabled{cursor:default}
.opt.tf{justify-content:center;font-size:18px;font-weight:700;font-family:var(--sans);padding:18px}
.tf-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}

/* ---------- feedback ---------- */
.fb{margin-top:20px;border-radius:14px;padding:18px 20px;border:1px solid var(--line);
  border-inline-start:5px solid var(--ink-2);background:var(--card-2);animation:rise .25s ease}
.fb.good{border-inline-start-color:var(--ok);background:var(--ok-soft)}
.fb.bad{border-inline-start-color:var(--bad);background:var(--bad-soft)}
.fb .verdict{font-family:var(--sans);font-weight:800;font-size:17px;margin:0 0 10px;letter-spacing:-.1px}
.fb.good .verdict{color:var(--ok)} .fb.bad .verdict{color:var(--bad)}
.fb h4{margin:15px 0 6px;font-size:13.5px;font-weight:800;color:var(--ink-2);letter-spacing:.2px}
.fb p{margin:0 0 8px;font-size:15.5px;line-height:1.72}
.fb p:last-child{margin-bottom:0}
.anal{display:grid;gap:8px;margin:0}
.anal div{display:flex;gap:10px;font-size:15px;line-height:1.62;align-items:flex-start}
.anal b{flex:none;width:23px;height:23px;border-radius:7px;display:grid;place-items:center;font-size:12.5px;
  font-family:var(--serif);background:color-mix(in srgb,var(--ink-2) 15%,transparent);color:var(--ink);margin-top:2px}
.anal b.t{background:var(--ok);color:#fff}
.anal b.f{background:var(--bad);color:#fff}
.anal-legend{font-family:var(--sans);font-weight:500;color:var(--ink-2);font-size:12.5px}
.answer-box{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:15px 17px;margin-top:8px;
  font-size:15.5px;line-height:1.78;white-space:pre-wrap}
.answer-box strong{color:var(--brand-ink)}

textarea{width:100%;min-height:132px;padding:14px 16px;border:1.5px solid var(--line-2);border-radius:13px;
  background:var(--card);color:var(--ink);font-family:inherit;font-size:15.5px;line-height:1.65;resize:vertical;transition:.15s}
textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
/* תיבת נימוק קומפקטית מתחת לכפתורי נכון/לא נכון */
textarea.just{min-height:70px;margin-top:12px;font-size:15px;background:var(--card-2)}
.myjust{margin:6px 0}
.myjust>summary{color:var(--ink-2);font-weight:600}

.nav{display:flex;justify-content:space-between;gap:10px;margin:22px 0 8px;flex-wrap:wrap}

/* ---------- palette ---------- */
.palette{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.pal{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--line-2);background:var(--card);
  font-size:13.5px;font-weight:700;color:var(--ink-2);display:grid;place-items:center;padding:0;transition:.12s;font-family:var(--serif)}
.pal:hover{border-color:var(--brand)}
.pal.done{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}
.pal.cur{outline:2px solid var(--brand);outline-offset:2px}
.pal.ok{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
.pal.no{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}
.pal-lbl{width:100%;font-size:12.5px;color:var(--ink-2);font-weight:700;margin:8px 0 2px;font-family:var(--serif)}

/* ---------- results ---------- */
.score{text-align:center;padding:34px 24px;position:relative;overflow:hidden}
.score::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 50% -20%,var(--brand-soft),transparent 70%);pointer-events:none}
.score .big{font-family:var(--serif);font-size:66px;font-weight:900;line-height:1;color:var(--brand);letter-spacing:-2px;position:relative}
.score .big small{font-size:24px;color:var(--ink-2);font-weight:700}
.score .verdict-txt{font-size:17.5px;font-weight:700;margin-top:10px;position:relative}
.breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);
  border-top:1px solid var(--line);margin-top:26px}
.breakdown div{background:var(--card);padding:16px 12px;text-align:center}
.breakdown b{font-family:var(--serif);display:block;font-size:21px;font-weight:900}
.breakdown span{font-size:12.8px;color:var(--ink-2)}
.rev{margin-top:12px}
.rev-item{padding:17px 20px;border-bottom:1px solid var(--line)}
.rev-item:last-child{border-bottom:0}
.rev-q{font-size:16px;line-height:1.68;margin:0 0 6px}
.rev-tag{font-size:12px;font-weight:800;padding:3px 10px;border-radius:99px;margin-inline-start:8px;white-space:nowrap}
.rev-tag.ok{background:var(--ok-soft);color:var(--ok)}
.rev-tag.no{background:var(--bad-soft);color:var(--bad)}
.rev-tag.sk{background:var(--warn-soft);color:var(--warn)}
.rev-ex{font-size:14.8px;color:var(--ink-2);line-height:1.7;margin:6px 0 0}
details summary{cursor:pointer;font-weight:700;color:var(--brand);font-size:14.5px;padding:4px 0}
details[open] summary{margin-bottom:6px}

/* בלוק הרחבה לימודית */
.expand{margin-top:15px;border-top:1px dashed var(--line-2);padding-top:13px}
.expand>summary{color:var(--brand-ink);font-family:var(--sans);font-weight:800;font-size:15px;list-style:none;
  display:inline-flex;align-items:center;gap:7px}
.expand>summary::-webkit-details-marker{display:none}
.expand>summary::before{content:"📖";font-size:15px}
.expand>summary:hover{text-decoration:underline}
.expand-body{margin-top:9px;background:var(--card);border:1px solid var(--line);border-radius:11px;
  padding:14px 16px;font-size:15.5px;line-height:1.78}
.fb .expand-body{background:color-mix(in srgb,var(--card) 65%,transparent)}
.expand-body strong{color:var(--brand-ink)}

.selfrate{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px;align-items:center}
.selfrate span{font-size:14px;color:var(--ink-2);font-weight:700}
.srb{border:1.5px solid var(--line-2);background:var(--card);border-radius:11px;padding:8px 15px;font-size:14.5px;
  font-weight:700;font-family:var(--serif);transition:.13s}
.srb:hover{border-color:var(--brand);color:var(--brand)}
.srb.on{background:var(--brand);border-color:var(--brand);color:#fff}

.foot{color:var(--ink-2);font-size:13px;text-align:center;margin-top:44px;line-height:1.75}
.foot p{margin:0}

/* ---------- בידוד דו-כיווני ----------
   כל רצף לטיני בתוך טקסט עברי נעטף ב-.ltr (ראו isoIn ב-app.js) כדי שלא יתמזג
   עם רצף לטיני שכן ויוצג בסדר הפוך. חל על המסך, הכרטיסיות וגיליון ההדפסה. */
.ltr{unicode-bidi:isolate;direction:ltr}

/* ---------- מילון: מונח לחיץ ומודאל ---------- */
.gloss{font:inherit;color:var(--brand-ink);font-weight:700;padding:0;unicode-bidi:isolate;
  background:linear-gradient(180deg,transparent 60%,var(--brand-soft) 60%);
  border-bottom:1.5px dotted var(--brand);cursor:pointer;border-radius:2px;transition:.12s}
.gloss:hover{background:var(--brand-soft)}
#glossBtn{width:auto;padding:0 13px;font-size:14px;font-weight:700;font-family:var(--sans)}
.modal-ov{position:fixed;inset:0;z-index:100;background:rgba(20,14,6,.55);backdrop-filter:blur(3px);
  display:grid;place-items:center;padding:20px;animation:fade .18s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6);max-width:560px;width:100%;max-height:85vh;overflow:auto;
  padding:26px 26px 24px;animation:rise .22s cubic-bezier(.2,.7,.3,1)}
.modal-x{position:absolute;top:12px;left:14px;width:34px;height:34px;border-radius:10px;font-size:22px;
  color:var(--ink-2);display:grid;place-items:center;line-height:1}
.modal-x:hover{background:color-mix(in srgb,var(--ink-2) 12%,transparent);color:var(--ink)}
.modal-kind{display:inline-block;font-size:12px;font-weight:800;color:var(--brand-ink);background:var(--brand-soft);
  padding:3px 11px;border-radius:99px;margin-bottom:8px}
.modal-t{font-family:var(--serif);font-size:24px;font-weight:900;margin:0 0 10px;letter-spacing:-.3px}
.modal-def{font-size:16px;line-height:1.8}
.modal-def strong{color:var(--brand-ink)}
.hl-term{background:var(--marker);color:inherit;border-radius:3px;padding:1px 3px;
  box-shadow:0 0 0 2px var(--marker);animation:hlpulse 1.6s ease 1}
@keyframes hlpulse{0%,100%{box-shadow:0 0 0 2px var(--marker)}40%{box-shadow:0 0 0 5px var(--marker)}}
.modal-sub{color:var(--ink-2);font-size:14px;margin:0 0 14px;line-height:1.6}
.gloss-h{font-family:var(--sans);font-size:13px;font-weight:800;color:var(--ink-2);margin:16px 0 8px;
  text-transform:none;letter-spacing:.3px}
.gloss-grid{display:flex;flex-wrap:wrap;gap:8px}
.gloss-item{border:1.5px solid var(--line-2);background:var(--card);border-radius:99px;padding:7px 14px;
  font-size:14px;font-weight:600;color:var(--ink);transition:.13s}
.gloss-item:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}

@media(max-width:560px){
  body{font-size:16px}
  h1{font-size:29px} h1.hero{font-size:33px}
  .qcard{padding:20px 17px}
  .qtext{font-size:19px} .qtext .num{font-size:23px}
  .brand-txt b{font-size:16px} .brand-txt small{font-size:11.5px}
  .brand-mark{width:38px;height:38px} .brand-mark svg{width:21px;height:21px}
  .score .big{font-size:54px}
  .tf-row{grid-template-columns:1fr}
  .statbar div{min-width:calc(50% - 5px)}
}
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}
  .fc-card{transition:none !important}}
@media print{.topbar,.nav,.palette,.foot,.icon-btn{display:none}}

/* ============================================================
   כרטיסיות — צד אחד היגד, צד שני התשובה וההסבר המורחב
   ============================================================ */
.fc-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 12px;flex-wrap:wrap}
.fc-count{font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.2px}
.fc-count small{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink-2);margin-inline-start:4px}
.fc-tally{display:flex;gap:8px}
.fc-tally b{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;
  padding:4px 11px;border-radius:99px;background:var(--card);border:1px solid var(--line)}
.fc-tally .k{color:var(--ok)} .fc-tally .u{color:var(--warn)}
.fc-tally .s{color:var(--warn);background:var(--warn-soft);border-color:transparent}
.fc-tip{font-size:13px;color:var(--ink-2);font-weight:600;text-align:center;flex:1;min-width:0}

/* עטיפת האנימציה — הכניסה של כרטיסייה חדשה. מופרדת מהבמה כדי שה-transform
   של המעבר לא יתנגש עם ה-rotateY של ההיפוך. */
.fc-anim{margin:0 0 18px}
.fc-anim.in-next{animation:fcInNext .38s cubic-bezier(.18,.85,.28,1) both}
.fc-anim.in-prev{animation:fcInPrev .38s cubic-bezier(.18,.85,.28,1) both}
@keyframes fcInNext{from{opacity:0;transform:translateX(46px) scale(.965)}to{opacity:1;transform:none}}
@keyframes fcInPrev{from{opacity:0;transform:translateX(-46px) scale(.965)}to{opacity:1;transform:none}}

/* הבמה — הפרספקטיבה שמאפשרת את ההיפוך התלת-ממדי */
.fc-stage{perspective:1700px;position:relative}
/* אפקט חפיסה: שני "כרטיסים" מציצים מאחור */
.fc-stage::before,.fc-stage::after{content:"";position:absolute;inset:auto 16px -8px;height:26px;
  border-radius:0 0 var(--r-lg) var(--r-lg);background:var(--card-2);border:1px solid var(--line);
  border-top:0;z-index:0;opacity:.9}
.fc-stage::after{inset:auto 34px -15px;opacity:.6}
.fc-stage.empty::before,.fc-stage.empty::after{display:none}

.fc-card{position:relative;z-index:1;height:clamp(340px,54vh,520px);transform-style:preserve-3d;
  cursor:pointer;will-change:transform;
  /* ההיפוך: 0.62 שנייה, האטה שמרגישה כמו קלף אמיתי שנופל למקומו */
  transition:transform .62s cubic-bezier(.42,.02,.22,1)}
.fc-card.flip{transform:rotateY(180deg)}
.fc-card.no-anim{transition:none}
.fc-card:active{transform:scale(.985)}
.fc-card.flip:active{transform:rotateY(180deg) scale(.985)}
/* הצללה מתחזקת באמצע ההיפוך — נותנת תחושת הרמה מהשולחן */
.fc-card::after{content:"";position:absolute;inset:8% 6% -4px;border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(60,45,20,.28),transparent);
  filter:blur(11px);opacity:0;transition:opacity .31s ease-in-out}
.fc-card.flip::after{opacity:1;transition-delay:0s}
.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  display:flex;flex-direction:column;border-radius:var(--r-lg);border:1px solid var(--line);
  background:var(--card);box-shadow:var(--shadow);padding:26px 26px 18px;overflow:hidden}
.fc-back{transform:rotateY(180deg);background:linear-gradient(160deg,var(--card-2),var(--card) 55%)}
.fc-front::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--brand),var(--warn) 70%,var(--brand));
  border-radius:var(--r-lg) var(--r-lg) 0 0}

.fc-meta{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 auto;flex:none}
.fc-meta .pill{font-size:12px;padding:4px 11px}
/* חובה block ולא flex: ההיגד מכיל מונחי מילון inline, וב-flex כל אחד מהם הופך
   לפריט נפרד — נתלש מהשורה והרווחים סביבו נבלעים ("המיצובשנבחר").
   הגופן הוא ה-sans ולא ה-serif כי ההיגדים מערבים עברית, אנגלית ומספרים,
   ו-Rubik עוצב לשתי המערכות יחד — שם מותג לטיני לא "קופץ" מהמשפט העברי. */
.fc-stmt{display:block;font-family:var(--sans);font-size:clamp(19px,2.35vw,24px);font-weight:600;
  line-height:1.66;letter-spacing:0;margin:20px 0;text-align:center;align-self:center;max-width:38ch;
  min-height:0;overflow-y:auto;text-wrap:balance}
.fc-stmt .gloss{font-weight:700}
.fc-hint{flex:none;text-align:center;font-size:13px;color:var(--ink-2);font-weight:600;
  border-top:1px dashed var(--line-2);padding-top:12px;margin:auto 0 0}
.fc-hint kbd{font-family:var(--sans);font-size:11.5px;border:1px solid var(--line-2);border-bottom-width:2px;
  border-radius:5px;padding:1px 6px;background:var(--card-2);margin:0 2px}

/* הצד האחורי */
.fc-verdict{flex:none;display:flex;align-items:center;gap:11px;font-family:var(--serif);
  font-size:26px;font-weight:900;letter-spacing:-.3px;padding-bottom:13px;border-bottom:2px solid currentColor}
.fc-verdict.t{color:var(--ok)} .fc-verdict.f{color:var(--bad)}
.fc-verdict i{font-style:normal;width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;
  font-size:20px;background:currentColor;box-shadow:0 6px 16px -8px currentColor}
.fc-verdict i::after{content:attr(data-g);color:var(--card);font-weight:900}
.fc-verdict span{color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:600;
  margin-inline-start:auto;text-align:end;line-height:1.35}
.fc-body{flex:1;overflow-y:auto;padding:16px 4px 6px;font-size:15.5px;line-height:1.72;
  scrollbar-width:thin;mask-image:linear-gradient(to bottom,#000 calc(100% - 26px),transparent)}
.fc-body .lead{font-weight:600;color:var(--ink);margin:0 0 12px;
  background:linear-gradient(180deg,transparent 62%,var(--marker) 62%,var(--marker) 94%,transparent 94%);
  display:inline;padding:0 .1em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.fc-body .more{color:var(--ink-2);margin:14px 0 0}
.fc-body .more strong{color:var(--ink)}

/* פעולות */
.fc-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0 8px}
.fc-btn{border:1.5px solid var(--line-2);background:var(--card);border-radius:14px;padding:14px 18px;
  font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;gap:9px;
  box-shadow:var(--shadow-sm);transition:.16s}
.fc-btn:disabled{opacity:.38;cursor:default;box-shadow:none}
.fc-btn:not(:disabled):hover{transform:translateY(-2px)}
.fc-btn.no:not(:disabled){border-color:color-mix(in srgb,var(--bad) 45%,var(--line-2));color:var(--bad)}
.fc-btn.no:not(:disabled):hover{background:var(--bad-soft)}
.fc-btn.yes:not(:disabled){border-color:color-mix(in srgb,var(--ok) 45%,var(--line-2));color:var(--ok)}
.fc-btn.yes:not(:disabled):hover{background:var(--ok-soft)}
.fc-btn small{font-weight:600;font-size:12px;color:var(--ink-2)}
.fc-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.fc-nav .btn{padding:9px 16px;font-size:14.5px}
@media(max-width:560px){
  .fc-face{padding:20px 18px 14px}
  .fc-verdict{font-size:21px} .fc-verdict i{width:32px;height:32px;font-size:18px}
  .fc-body{font-size:15px}
  .fc-btn{font-size:15px;padding:13px 12px} .fc-btn small{display:none}
}

/* ============================================================
   מסך הדפסה — "גיליון הסיכום"
   מטרה: לדחוס 471 שאלות למינימום עמודים בלי לאבד קריאוּת.
   הטריקים: הכול בפסקה אחת רציפה (אין שורות מבוזבזות בין רכיבים),
   סימון התשובה כגליף ✓/✗ בתחילת השורה, שתי עמודות, וכותרות פרק דקות.
   ============================================================ */
.pr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 4px}
.pr-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:780px){.pr-grid{grid-template-columns:1fr 1fr}}
.pr-field label{display:block;font-weight:700;font-size:14px;margin:0 0 7px;color:var(--ink)}
.pr-field .hint{margin:7px 0 0}
.pr-sum{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--brand-soft);border:1px solid var(--line);border-radius:var(--r);
  padding:13px 16px;margin:16px 0 0}
.pr-sum b{font-family:var(--serif);font-size:26px;line-height:1;color:var(--brand-ink)}
.pr-sum .pr-sum-i{display:flex;align-items:baseline;gap:7px}
.pr-sum span{font-size:13.5px;color:var(--ink-2)}
.pr-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin:18px 0 6px}
.pr-note{font-size:13.5px;color:var(--ink-2);margin:2px 0 22px;line-height:1.55}
.pr-note kbd{font-family:var(--sans);font-size:12px;border:1px solid var(--line-2);
  border-bottom-width:2px;border-radius:5px;padding:1px 6px;background:var(--card-2)}

/* ----- תצוגה מקדימה: "נייר" לבן שמדמה A4 ----- */
.pr-prev-lbl{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2);margin:0 0 10px}
.pr-prev-lbl::after{content:"";flex:1;height:1px;background:var(--line)}
/* התצוגה המקדימה מקוצצת כדי לא להאריך את הדף — ההדפסה תמיד מלאה */
.pr-wrap{position:relative;margin-bottom:30px}
.pr-wrap.clamp .sheet{max-height:760px;overflow:hidden;margin-bottom:0}
.pr-wrap.clamp::after{content:"";position:absolute;inset:auto 0 0 0;height:150px;pointer-events:none;
  background:linear-gradient(to top,var(--paper),transparent)}
.pr-more{position:relative;z-index:2;display:block;margin:-26px auto 0;background:var(--card);
  border:1.5px solid var(--line-2);border-radius:99px;padding:9px 20px;font-weight:700;font-size:14px;color:var(--brand-ink)}
.pr-more:hover{border-color:var(--brand)}
.sheet{background:#fff;color:#14110c;border:1px solid var(--line-2);border-radius:6px;
  box-shadow:var(--shadow);padding:16mm 12mm;margin:0 auto 30px;max-width:820px;
  font-family:var(--sans)}
[data-theme="dark"] .sheet{border-color:#3a3223}

/* -----------------------------------------------------------
   שורת מקור השאלה (★ של המרצה מול # שנבנתה בסגנונו).
   flex + gap במקום רווח בטקסט: ב-RTL רווח בין גליף ניטרלי (#)
   לעברית נבלע, וה-isolate מונע מהגליף להיגרר לקצה השגוי.
   ----------------------------------------------------------- */
.orig{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;
  font-family:var(--sans);font-weight:600;color:var(--ink-2);line-height:1.5}
.orig b{unicode-bidi:isolate;font-size:13.5px;line-height:1;flex:none}
.orig.o-maoz b{color:var(--warn)}
.orig.o-built b{color:var(--ink-2);opacity:.8}
.qtext+.orig{margin:-14px 0 20px}
.fc-orig{margin:0 0 10px;font-size:11.5px;justify-content:center;flex:none;opacity:.85}
.rev-orig{margin:2px 0 6px;font-size:12px}
/* הגליף כשהוא מוטמע בתוך משפט עברי (מקרא בעמוד הבית) */
.info .key{unicode-bidi:isolate;font-weight:700}
.info .key.o-maoz{color:var(--warn)} .info .key.o-built{color:var(--ink-2)}

/* כותרת הגיליון */
.sh-top{border-bottom:2px solid #14110c;padding-bottom:8px;margin:0 0 4px}
.sh-top h2{font-family:var(--serif);font-size:20px;margin:0;color:#14110c;line-height:1.25}
.sh-top .sh-sub{font-size:11px;color:#5c5445;margin:4px 0 0;display:flex;gap:14px;flex-wrap:wrap}
.sh-legend{display:flex;gap:12px;align-items:center;font-size:10.5px;color:#5c5445;
  margin:0 0 10px;padding:5px 0;border-bottom:1px solid #ddd6c4}
.sh-legend i{font-style:normal;display:inline-flex;align-items:center;gap:4px}
.sh-legend .org{font-weight:700;unicode-bidi:isolate}
.sh-legend .org.o-maoz{color:#a9781a} .sh-legend .org.o-built{color:#5c5445}
.sheet.ink .sh-legend .org{color:#14110c}

/* גוף רב-עמודתי */
.sh-body{column-gap:7mm;column-rule:1px solid #ddd6c4;text-align:right}
.sh-body.c1{columns:1} .sh-body.c2{columns:2} .sh-body.c3{columns:3}
.sh-body.s-s{font-size:8.2pt;line-height:1.34}
.sh-body.s-m{font-size:9.2pt;line-height:1.36}
.sh-body.s-l{font-size:10.4pt;line-height:1.40}

/* כותרת פרק — דקה, לא שוברת עמוד */
.sh-ch{font-family:var(--serif);font-weight:700;font-size:1.16em;color:#0a544d;
  margin:1.1em 0 .45em;padding:0 0 .18em;border-bottom:1.5px solid #0a544d;
  break-after:avoid;page-break-after:avoid;break-inside:avoid;display:flex;
  justify-content:space-between;align-items:baseline;gap:8px}
.sh-ch:first-child{margin-top:0}
.sh-ch em{font-style:normal;font-family:var(--sans);font-size:.62em;font-weight:500;color:#6d6454;white-space:nowrap}

/* פריט שאלה — הכול בפסקה אחת */
/* לא לשנות ל-justify: כרום מפזר בעברית את הרווחים במקום שגוי ושובר מילים */
.sh-q{margin:0 0 .42em;break-inside:avoid;page-break-inside:avoid;text-align:start}
.sh-q .n{font-weight:700;color:#6d6454;font-size:.86em;margin-left:.28em}
.sh-q .v{font-weight:700;font-size:1.02em;margin-left:.3em;letter-spacing:0}
.sh-q .v.t{color:#1d6b3f} .sh-q .v.f{color:#a8291a}
.sh-q .st{font-weight:600}
.sh-q .ex{color:#4a4335}
.sh-q .ex::before{content:" — ";color:#9a9179;font-weight:700}
.sh-q .xp{color:#5c5445;font-size:.94em}
.sh-q .xp::before{content:" ⟨הרחבה⟩ ";color:#9a9179;font-size:.9em;font-weight:600}
.sh-q .org{font-weight:700;font-size:.8em;unicode-bidi:isolate;margin-right:.18em}
.sh-q .org.o-maoz{color:#a9781a}
.sh-q .org.o-built{color:#5c5445}
.sh-q strong{font-weight:700}

/* חיסכון בדיו: ללא צבע */
.sheet.ink .sh-ch{color:#14110c;border-bottom-color:#14110c}
.sheet.ink .sh-q .v.t,.sheet.ink .sh-q .v.f{color:#14110c}
.sheet.ink .sh-q .ex,.sheet.ink .sh-q .xp{color:#333}
.sheet.ink .sh-q .org{color:#14110c}

/* ----- כללי ההדפסה עצמם ----- */
@page{size:A4 portrait;margin:12mm 11mm 13mm}
@media print{
  html,body{background:#fff !important;padding:0 !important;margin:0 !important;
    font-size:12px !important;color:#14110c !important}
  .topbar,.foot,.pr-head,.pr-opts,.pr-sum,.pr-actions,.pr-note,.pr-prev-lbl,.pr-more,
  .nav,.palette,.icon-btn,.modal-ov,.dl-card,.card:not(.sheet){display:none !important}
  .pr-wrap.clamp .sheet{max-height:none !important;overflow:visible !important}
  .pr-wrap.clamp::after{display:none !important}
  .pr-wrap{margin:0 !important}
  .wrap{max-width:none !important;padding:0 !important;margin:0 !important}
  .sheet{box-shadow:none !important;border:0 !important;border-radius:0 !important;
    padding:0 !important;margin:0 !important;max-width:none !important;
    background:#fff !important;color:#14110c !important}
  .sh-body{column-fill:auto}
  .sh-q,.sh-ch{break-inside:avoid;page-break-inside:avoid}
  a{text-decoration:none;color:inherit}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
