/* Assistant — הפונט הראשי של המערכת (מאוחסן מקומית, ראה assets/fonts). */
@import url('/assets/fonts/assistant.css');

/* BrainTech Center — design tokens, single source of truth.
 *
 * These used to be copy-pasted into the <style> block of every page, which is
 * how they drifted apart (three different --blob-3, two different switch
 * backgrounds, four different toasts). Change a value here and it changes
 * everywhere — that is the whole point, so check both themes before deploying.
 *
 * CACHING: sw.js caches .css stale-while-revalidate, so after changing this
 * file BUMP THE ?v= NUMBER in every <link> that points at it. Without that,
 * returning users keep the old palette until their second page load.
 *
 * Theme resolution, in order:
 *   :root                                        → light (the default)
 *   @media dark, unless light/night is explicit  → follows the OS
 *   [data-theme="dark"]                          → legacy, see below
 *   :root[data-theme="night"]                    → explicit user choice, wins
 * Light is therefore declared exactly once; there is no [data-theme="light"]
 * block, the :not() guard in the media query covers it.
 *
 * TWO themes on the live site:
 *   light  ברירת המחדל — הערכה הבהירה.
 *   night  "כהה" בהגדרות — משטחים אטומים, כמעט-שחור, בלי שקיפות. אם מוסיפים
 *          כאן טוקן חדש, הוא חייב ערך גם בבלוק הזה — טוקן חסר יורש את הערך
 *          הבהיר ונבלע.
 *
 * "dark" — הזכוכית, משטחים שקופים למחצה מעל הרקע הנע — ירדה מהאתר החי. אף
 * מתג כבר לא כותב אותה, וכל מקום שמשחזר ערכה שמורה ממפה "dark" ל-night: מי
 * שבחר אותה ביקש ממשק כהה, והחזרה שלו לבהיר גסה יותר מהחלפת גוון הכהה.
 *
 * הבלוקים [data-theme="dark"] נשארו כאן ובעשרות עמודים בכוונה. הם מתים —
 * שום דבר לא מגיע אליהם — אבל מחיקתם היא עריכה על פני יותר מעשרים קבצים
 * שכל טעות בה מפילה עמוד לטקסט בהיר על רקע בהיר. הם עולים בייטים, לא סיכון.
 * מי שמנקה אותם שיעשה זאת בשינוי נפרד, ויתחיל בווידוא ששום דבר לא כותב עוד
 * data-theme="dark".
 */

:root{
  color-scheme:light;

  /* brand */
  --teal:#159A9C;--teal-deep:#0B6E70;--teal-soft:#6FC6C4;--teal-ink:#0D7476;
  --orange:#E8822E;--orange-ink:#A85416;--orange-lt:#F4A85B;

  /* surfaces & text */
  --ink:#162A30;--muted:#465A60;--bg:#E8F3F4;--card:#FFFFFF;
  --line:#DBEBEA;--line-2:#E9F3F2;
  --surface:#F7FBFB;--surface-h:#EDF7F7;--field-focus:#FFFFFF;
  --paper-ink:#1C2C31;--paper-muted:#55707A;

  /* state */
  --danger:#C73E1D;--ok:#1E7A44;--violet:#8a5cc4;
  --acc-blue:#3c78b5;--acc-green:#35915d;
  --link:#0B6E70;
  --err-bg:#FDECEC;--err-line:#F5C2C2;--err-ink:#B23B3B;

  /* depth & focus */
  --focus:rgba(21,154,156,.26);--shadow:rgba(21,90,92,.16);
  --accent-glow:rgba(21,154,156,.45);
  --hello-shadow:0 1px 14px rgba(255,255,255,.5);

  /* atmosphere — aurora blobs, glass, veil */
  --blob-1:#9BDCDA;--blob-2:#FBC98E;--blob-3:#A9C9E8;
  --glass:rgba(255,255,255,.62);--glass-2:rgba(255,255,255,.46);
  --glass-line:rgba(16,60,66,.16);--chip:rgba(255,255,255,.55);
  --field:rgba(255,255,255,.6);--field-on:rgba(255,255,255,.9);
  --veil:linear-gradient(180deg,rgba(230,246,247,.55),rgba(230,246,247,.35) 40%,rgba(222,242,243,.62));
  --scrim:rgba(21,50,52,.4);

  /* components */
  --toast-bg:#12474A;--toast-ink:#D6F6F6;
  --switch-off:#D3E3E2;
  --today-bg:#EAF7F7;--today-ink:#0E7C7E;

  /* type */
  --sans:'Assistant',system-ui,-apple-system,Roboto,Arial,sans-serif;
  --mono:ui-monospace,Menlo,Consolas,monospace;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]):not([data-theme="night"]){
    color-scheme:dark;

    --teal:#4BBDC0;--teal-deep:#3AA2A5;--teal-soft:#6BCCCE;--teal-ink:#4BBDC0;
    --orange:#F39D4E;--orange-ink:#F39D4E;--orange-lt:#F8BC85;

    --ink:#E8F1F1;--muted:#A0B0B2;--bg:#0F1820;--card:#172333;
    --line:#263A47;--line-2:#1E2F3D;
    --surface:#1E2C3B;--surface-h:#26374A;--field-focus:#26374A;
    --paper-ink:#1C2C31;--paper-muted:#55707A;

    --danger:#F58A6E;--ok:#5BC98C;--violet:#a98bdb;
    --acc-blue:#6FA8EA;--acc-green:#6FCF97;
    --link:#45B5B8;
    --err-bg:rgba(245,138,110,.14);--err-line:rgba(245,138,110,.45);--err-ink:#F58A6E;

    --focus:rgba(75,189,192,.26);--shadow:rgba(15,24,32,.5);
    --accent-glow:rgba(75,189,192,.35);
    --hello-shadow:0 1px 18px rgba(0,0,0,.25);

    --blob-1:#17454C;--blob-2:#4A3620;--blob-3:#1C3A52;
    --glass:rgba(10,24,32,.52);--glass-2:rgba(10,24,32,.38);
    --glass-line:rgba(255,255,255,.13);--chip:rgba(255,255,255,.07);
    --field:rgba(255,255,255,.08);--field-on:rgba(255,255,255,.12);
    --veil:linear-gradient(180deg,rgba(4,14,20,.62),rgba(4,14,20,.44) 40%,rgba(4,16,22,.72));
    --scrim:rgba(6,12,18,.62);

    --toast-bg:#12474A;--toast-ink:#D6F6F6;
    --switch-off:#26374A;
    --today-bg:#1D3A43;--today-ink:#7FD6D8;
  }
}

[data-theme="dark"]{
  color-scheme:dark;

  --teal:#4BBDC0;--teal-deep:#3AA2A5;--teal-soft:#6BCCCE;--teal-ink:#4BBDC0;
  --orange:#F39D4E;--orange-ink:#F39D4E;--orange-lt:#F8BC85;

  --ink:#E8F1F1;--muted:#A0B0B2;--bg:#0F1820;--card:#172333;
  --line:#263A47;--line-2:#1E2F3D;
  --surface:#1E2C3B;--surface-h:#26374A;--field-focus:#26374A;
  --paper-ink:#1C2C31;--paper-muted:#55707A;

  --danger:#F58A6E;--ok:#5BC98C;--violet:#a98bdb;
  --acc-blue:#6FA8EA;--acc-green:#6FCF97;
  --link:#45B5B8;
  --err-bg:rgba(245,138,110,.14);--err-line:rgba(245,138,110,.45);--err-ink:#F58A6E;

  --focus:rgba(75,189,192,.26);--shadow:rgba(15,24,32,.5);
  --accent-glow:rgba(75,189,192,.35);
  --hello-shadow:0 1px 18px rgba(0,0,0,.25);

  --blob-1:#17454C;--blob-2:#4A3620;--blob-3:#1C3A52;
  --glass:rgba(10,24,32,.52);--glass-2:rgba(10,24,32,.38);
  --glass-line:rgba(255,255,255,.13);--chip:rgba(255,255,255,.07);
  --field:rgba(255,255,255,.08);--field-on:rgba(255,255,255,.12);
  --veil:linear-gradient(180deg,rgba(4,14,20,.62),rgba(4,14,20,.44) 40%,rgba(4,16,22,.72));
  --scrim:rgba(6,12,18,.62);

  --toast-bg:#12474A;--toast-ink:#D6F6F6;
  --switch-off:#26374A;
  --today-bg:#1D3A43;--today-ink:#7FD6D8;
}

/* ── לילה — כהה אמיתי ──────────────────────────────────────────────────────
 * ההבדל מ-"dark" הוא לא רק כמה כהה אלא איך: כאן אין שקיפות. --card,
 * --chip, --glass ו---field הם צבעים אטומים ולא rgba, כדי שמשטח על גבי משטח
 * לא יצטבר לאפור בוצי וכדי שכל כרטיס יישאר גוף מובחן ולא כתם.
 *
 * הפרדה בין המישורים (רקע → כרטיס → משטח → ריחוף) היא 5-8 יחידות בהירות
 * בלבד, ולכן הקווים (--line, --glass-line) בהירים יחסית: הם מה שמחזיק את
 * הגבולות. אל תחלישו אותם בלי לבדוק כרטיס על גבי רקע.
 *
 * --paper-* נשארים כהים על לבן במכוון: הם משטחי "נייר" (דוחות והדפסות)
 * שנשארים לבנים בכל ערכה. */
:root[data-theme="night"]{
  color-scheme:dark;

  --teal:#4ECDD0;--teal-deep:#45B9BC;--teal-soft:#7FDCDE;--teal-ink:#63D2D5;
  --orange:#F5A55E;--orange-ink:#F8B677;--orange-lt:#FAC894;

  --ink:#E9F1F2;--muted:#94A5AB;--bg:#080D11;--card:#141C24;
  --line:#28343E;--line-2:#1B242C;
  --surface:#1A232C;--surface-h:#212C36;--field-focus:#212C36;
  --paper-ink:#1C2C31;--paper-muted:#55707A;

  --danger:#F58A6E;--ok:#5BC98C;--violet:#a98bdb;
  --acc-blue:#6FA8EA;--acc-green:#6FCF97;
  --link:#63D2D5;
  --err-bg:#2A1A17;--err-line:#5C3128;--err-ink:#F58A6E;

  --focus:rgba(78,205,208,.3);--shadow:rgba(0,0,0,.72);
  --accent-glow:rgba(78,205,208,.34);
  --hello-shadow:0 1px 18px rgba(0,0,0,.55);

  --blob-1:#0F2A2E;--blob-2:#2A2015;--blob-3:#12253A;
  --glass:#141C24;--glass-2:#111820;
  --glass-line:#28343E;--chip:#1A232C;
  --field:#141C24;--field-on:#212C36;
  --veil:linear-gradient(180deg,rgba(6,10,14,.93),rgba(6,10,14,.90) 40%,rgba(4,8,12,.96));
  --scrim:rgba(0,0,0,.72);

  --toast-bg:#1A2730;--toast-ink:#DCF4F4;
  --switch-off:#28343E;
  --today-bg:#16232B;--today-ink:#63D2D5;
}
