/* Токены дизайн-системы. Источник: mededu_lek_mobilny_system_projektowy */

/* Единственное место, где задаются цвета, шрифты и отступы.

   Стили экранов свои токены не приносят — они вырезаны при извлечении. */




    :root {
      /* Base Colors (Brand) */
      --brand-warm-white: #FCFBF8;
      --brand-deep-navy: #0A1628;
      --brand-indigo: #575ECF;
      --brand-indigo-light: #7B81E2;
      --brand-orange: #FE7B02;
      --brand-warm-red: #FE3F21;
      --brand-warm-red-dark: #FF5A42;
      --brand-warm-grey: #DCDAD5;
      --brand-muted-grey: #828079;
      --brand-near-black: #1B1B1B;

      /* Neutral & Functional Light Theme */
      --bg: #FCFBF8;
      --surface: #FFFFFF;
      --surface-raised: #F4F2EC;
      --surface-subtle: #EFECE4;
      --border: #DCDAD5;
      --border-subtle: #E8E6E0;
      
      --text: #1B1B1B;
      --text-muted: #6B6862;
      --text-subtle: #8A8780;
      
      --accent: #575ECF;
      --accent-hover: #484EBA;
      --accent-contrast: #FFFFFF;
      --accent-subtle: #EEF0FD;
      
      --secondary-accent: #FE7B02;
      --secondary-subtle: #FFF3E6;
      
      --success: #238551;
      --success-subtle: #EBF7F0;
      --warning: #C96100;
      --warning-subtle: #FFF5EB;
      --danger: #D62E15;
      --danger-subtle: #FDEEED;
      
      --focus-ring: rgba(87, 94, 207, 0.45);
      --focus-ring-color: #575ECF;

      /* Medical Exam Answer State Tokens */
      --answer-correct-bg: #E8F5EE;
      --answer-correct-border: #238551;
      --answer-correct-text: #135231;
      
      --answer-wrong-bg: #FEECE9;
      --answer-wrong-border: #FE3F21;
      --answer-wrong-text: #A81B07;
      
      --answer-selected-bg: #EEF0FD;
      --answer-selected-border: #575ECF;
      --answer-selected-text: #2B3080;
      
      --answer-unknown-bg: #F2EFEB;
      --answer-unknown-border: #9E998F;
      --answer-unknown-text: #4F4C47;

      /* Radii */
      --radius-sm: 4px;
      --radius-control: 8px;
      --radius-card: 12px;
      --radius-sheet: 16px;
      --radius-pill: 9999px;

      /* Typography */
      --font-serif: "Newsreader", Georgia, serif;
      --font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      --font-mono: "JetBrains Mono", monospace;

      /* Fluid Type Scale (16px base, 1.25 ratio clamp between 390px and 1280px) */
      --text-xs: clamp(0.75rem, 0.72rem + 0.15vw, 0.8rem);
      --text-sm: clamp(0.85rem, 0.82rem + 0.15vw, 0.92rem);
      --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.0625rem);
      --text-md: clamp(1.2rem, 1.12rem + 0.4vw, 1.33rem);
      --text-lg: clamp(1.44rem, 1.32rem + 0.6vw, 1.66rem);
      --text-xl: clamp(1.73rem, 1.55rem + 0.9vw, 2.07rem);
      --text-2xl: clamp(2.07rem, 1.8rem + 1.4vw, 2.59rem);

      --line-height-body: 1.6;
      --line-height-heading: 1.2;

      /* Shadows */
      --shadow-sm: 0 1px 3px rgba(27, 27, 27, 0.05);
      --shadow-md: 0 4px 14px rgba(27, 27, 27, 0.07);
      --shadow-lg: 0 12px 30px rgba(27, 27, 27, 0.10);
      --shadow-sheet: 0 -8px 30px rgba(10, 22, 40, 0.15);
    }



    [data-theme="dark"] {
      --bg: #0A1628;
      --surface: #102038;
      --surface-raised: #172A46;
      --surface-subtle: #1C3354;
      --border: #233A5E;
      --border-subtle: #1C3050;

      --text: #F4F6F9;
      --text-muted: #A3B3CC;
      --text-subtle: #798CA8;

      --accent: #787FE6;
      --accent-hover: #8D93EE;
      --accent-contrast: #0A1628;
      --accent-subtle: #192348;

      --secondary-accent: #FFA042;
      --secondary-subtle: #3A230F;

      --success: #3AC47D;
      --success-subtle: #103322;
      --warning: #FFA042;
      --warning-subtle: #351F0D;
      
      --danger: #FF6650;
      --danger-subtle: #381A18;

      --focus-ring: rgba(120, 127, 230, 0.55);
      --focus-ring-color: #787FE6;

      --answer-correct-bg: #0E3523;
      --answer-correct-border: #3AC47D;
      --answer-correct-text: #8AEAB8;

      --answer-wrong-bg: #3B1B18;
      --answer-wrong-border: #FF6650;
      --answer-wrong-text: #FFB3A8;

      --answer-selected-bg: #1B264F;
      --answer-selected-border: #787FE6;
      --answer-selected-text: #D5D7FF;

      --answer-unknown-bg: #1A2538;
      --answer-unknown-border: #526685;
      --answer-unknown-text: #B4C4DD;

      --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
      --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
      --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.6);
      --shadow-sheet: 0 -8px 30px rgba(0, 0, 0, 0.7);
    }


    @media (prefers-color-scheme: dark) {
      :root:not([data-theme="light"]) {
        --bg: #0A1628;
        --surface: #102038;
        --surface-raised: #172A46;
        --surface-subtle: #1C3354;
        --border: #233A5E;
        --border-subtle: #1C3050;

        --text: #F4F6F9;
        --text-muted: #A3B3CC;
        --text-subtle: #798CA8;

        /* Lifted for contrast & eye comfort on dark navy */
        --accent: #787FE6;
        --accent-hover: #8D93EE;
        --accent-contrast: #0A1628;
        --accent-subtle: #192348;

        --secondary-accent: #FFA042;
        --secondary-subtle: #3A230F;

        --success: #3AC47D;
        --success-subtle: #103322;
        --warning: #FFA042;
        --warning-subtle: #351F0D;
        
        /* Adjusted red so it does NOT vibrate or blind on dark navy */
        --danger: #FF6650;
        --danger-subtle: #381A18;

        --focus-ring: rgba(120, 127, 230, 0.55);
        --focus-ring-color: #787FE6;

        /* Dark Exam Answer States */
        --answer-correct-bg: #0E3523;
        --answer-correct-border: #3AC47D;
        --answer-correct-text: #8AEAB8;

        --answer-wrong-bg: #3B1B18;
        --answer-wrong-border: #FF6650;
        --answer-wrong-text: #FFB3A8;

        --answer-selected-bg: #1B264F;
        --answer-selected-border: #787FE6;
        --answer-selected-text: #D5D7FF;

        --answer-unknown-bg: #1A2538;
        --answer-unknown-border: #526685;
        --answer-unknown-text: #B4C4DD;

        --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
        --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
        --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.6);
        --shadow-sheet: 0 -8px 30px rgba(0, 0, 0, 0.7);
      }
    }