/*! /css/tokens.css */


:root {
  --md-color-blue-100: #eef3fe;
  --md-color-blue-200: #b5c7fb;
  --md-color-blue-300: #819bf5;
  --md-color-blue-400: #506eec;
  --md-color-blue-500: #0040de;
  --md-color-blue-600: #003bbd;
  --md-color-blue-700: #00359d;
  --md-color-blue-800: #002e7d;
  --md-color-blue-900: #02265d;
  --md-color-teal-100: #eafcf7;
  --md-color-teal-200: #c2f4e6;
  --md-color-teal-300: #98ebd4;
  --md-color-teal-400: #67e1c2;
  --md-color-teal-500: #00d7af;
  --md-color-teal-600: #08aa87;
  --md-color-teal-700: #077e63;
  --md-color-teal-800: #035641;
  --md-color-teal-900: #003022;
  --md-color-purple-100: #f5edfc;
  --md-color-purple-200: #e6d3f7;
  --md-color-purple-300: #d3b3f0;
  --md-color-purple-400: #bd8fe7;
  --md-color-purple-500: #9a5bd6;
  --md-color-purple-600: #7c3fb4;
  --md-color-purple-700: #612d8e;
  --md-color-purple-800: #431c64;
  --md-color-purple-900: #270d3c;
  --md-color-pink-100: #ffeef2;
  --md-color-pink-200: #ffcad7;
  --md-color-pink-300: #ffa6bb;
  --md-color-pink-400: #ff7f9e;
  --md-color-pink-500: #fe517f;
  --md-color-pink-600: #c73b61;
  --md-color-pink-700: #932645;
  --md-color-pink-800: #63122a;
  --md-color-pink-900: #360211;
  --md-color-orange-100: #ffeee5;
  --md-color-orange-200: #ffe2d2;
  --md-color-orange-300: #ffbd98;
  --md-color-orange-400: #ff9662;
  --md-color-orange-500: #ff6b2c;
  --md-color-orange-600: #ca5225;
  --md-color-orange-700: #963a1b;
  --md-color-orange-800: #662511;
  --md-color-orange-900: #391100;
  --md-color-grey-100: #f2f5f9;
  --md-color-grey-200: #d3d9e2;
  --md-color-grey-300: #b5becc;
  --md-color-grey-400: #99a3b6;
  --md-color-grey-500: #7d89a0;
  --md-color-grey-600: #626b7d;
  --md-color-grey-700: #484f5d;
  --md-color-grey-800: #2f353e;
  --md-color-grey-900: #191c21;
  --md-color-grey-black: #000000;
  --md-color-grey-white: #ffffff;
  --md-color-ai-azure: #83c3e5;
  --md-color-ai-lavender: #e093f4;
  --md-color-ai-berry: #eb4d72;
  --md-color-ai-amber: #f2b44d;
  --md-spacing-10: 10px;
  --md-spacing-12: 12px;
  --md-spacing-16: 16px;
  --md-spacing-20: 20px;
  --md-spacing-24: 24px;
  --md-spacing-32: 32px;
  --md-spacing-40: 40px;
  --md-spacing-48: 48px;
  --md-spacing-52: 52px;
  --md-spacing-56: 56px;
  --md-spacing-02: 2px;
  --md-spacing-04: 4px;
  --md-spacing-06: 6px;
  --md-spacing-08: 8px;
  --md-radius-20: 2px;
  --md-radius-40: 4px;
  --md-radius-60: 6px;
  --md-radius-80: 8px;
  --md-radius-120: 12px;
  --md-radius-160: 16px;
  --md-radius-240: 24px;
  --md-radius-320: 32px;
  --md-radius-none: 0px;
  --md-radius-rounded: 9999px;
  --md-stroke-width-10: 1px;
  --md-stroke-width-15: 1.5px;
  --md-stroke-width-20: 2px;
  --md-stroke-width-30: 3px;
  --md-stroke-width-40: 4px;
  --md-stroke-width-none: 0px;
  --md-stroke-width-05: 0.5px;
  --md-typography-font-size-100: 10px;
  --md-typography-font-size-200: 12px;
  --md-typography-font-size-300: 14px;
  --md-typography-font-size-400: 16px;
  --md-typography-font-size-500: 20px;
  --md-typography-font-size-600: 24px;
  --md-typography-font-size-700: 28px;
  --md-typography-font-size-800: 32px;
  --md-typography-font-size-900: 40px;
  --md-typography-font-size-1000: 68px;
  --md-typography-font-size-1100: 120px;
  --md-typography-line-height-100: 14px;
  --md-typography-line-height-200: 16px;
  --md-typography-line-height-300: 20px;
  --md-typography-line-height-400: 24px;
  --md-typography-line-height-500: 28px;
  --md-typography-line-height-600: 32px;
  --md-typography-line-height-700: 36px;
  --md-typography-line-height-800: 40px;
  --md-typography-line-height-900: 56px;
  --md-typography-line-height-1000: 92px;
  --md-neutral-background-1-rest: var(--md-color-grey-white);
  --md-neutral-background-2-rest: var(--md-color-grey-100);
  --md-neutral-background-3-rest: var(--md-color-grey-300);
  --md-neutral-background-inverted-rest: var(--md-color-grey-900);
  --md-neutral-background-transparent-rest: rgba(255, 255, 255, 0.2000);
  --md-neutral-background-transparent-2-rest: rgba(125, 137, 160, 0.1000);
  --md-neutral-background-disabled-rest: var(--md-color-grey-200);
  --md-neutral-foreground-1-rest: var(--md-color-grey-800);
  --md-neutral-foreground-2-rest: var(--md-color-grey-700);
  --md-neutral-foreground-3-rest: var(--md-color-grey-600);
  --md-neutral-foreground-on-color-rest: var(--md-color-grey-white);
  --md-neutral-foreground-disabled-rest: var(--md-color-grey-500);
  --md-neutral-stroke-1-rest: var(--md-color-grey-200);
  --md-neutral-stroke-2-rest: var(--md-color-grey-300);
  --md-neutral-stroke-3-rest: var(--md-color-grey-700);
  --md-neutral-stroke-on-color-rest: var(--md-color-grey-white);
  --md-brand-background-1-rest: var(--md-color-blue-100);
  --md-brand-background-2-rest: var(--md-color-blue-200);
  --md-brand-background-inverted-rest: var(--md-color-blue-500);
  --md-brand-background-inverted-2-rest: var(--md-color-blue-900);
  --md-brand-background-transparent-rest: rgba(0, 64, 222, 0.2000);
  --md-brand-foreground-1-rest: var(--md-color-blue-500);
  --md-brand-foreground-2-rest: var(--md-color-blue-900);
  --md-brand-stroke-1-rest: var(--md-color-blue-500);
  --md-brand-stroke-2-rest: var(--md-color-blue-200);
  --md-teal-background-1-rest: var(--md-color-teal-100);
  --md-teal-background-inverted-rest: var(--md-color-teal-700);
  --md-teal-background-inverted-2-rest: var(--md-color-teal-500);
  --md-teal-background-transparent-rest: rgba(7, 126, 99, 0.2000);
  --md-teal-foreground-1-rest: var(--md-color-teal-700);
  --md-teal-stroke-1-rest: var(--md-color-teal-700);
  --md-teal-stroke-2-rest: var(--md-color-teal-200);
  --md-orange-background-1-rest: var(--md-color-orange-100);
  --md-orange-background-inverted-rest: var(--md-color-orange-700);
  --md-orange-background-inverted-2-rest: var(--md-color-orange-500);
  --md-orange-background-transparent-rest: rgba(150, 58, 27, 0.2000);
  --md-orange-foreground-1-rest: var(--md-color-orange-700);
  --md-orange-stroke-1-rest: var(--md-color-orange-700);
  --md-orange-stroke-2-rest: var(--md-color-orange-200);
  --md-pink-background-1-rest: var(--md-color-pink-100);
  --md-pink-background-inverted-rest: var(--md-color-pink-600);
  --md-pink-background-inverted-2-rest: var(--md-color-pink-500);
  --md-pink-background-transparent-rest: rgba(199, 59, 97, 0.2000);
  --md-pink-foreground-1-rest: var(--md-color-pink-600);
  --md-pink-stroke-1-rest: var(--md-color-pink-600);
  --md-pink-stroke-2-rest: var(--md-color-pink-200);
  --md-status-informative-background-1-rest: var(--md-color-blue-100);
  --md-status-informative-foreground-1-rest: var(--md-color-blue-500);
  --md-status-informative-stroke-color: var(--md-color-blue-500);
  --md-status-success-background-1-rest: var(--md-color-teal-100);
  --md-status-success-foreground-1-rest: var(--md-color-teal-700);
  --md-status-success-stroke-color: var(--md-color-teal-500);
  --md-status-warning-background-1-rest: var(--md-color-orange-100);
  --md-status-warning-foreground-1-rest: var(--md-color-orange-700);
  --md-status-warning-stroke-color: var(--md-color-orange-500);
  --md-status-danger-background-1-rest: var(--md-color-pink-100);
  --md-status-danger-foreground-1-rest: var(--md-color-pink-700);
  --md-status-danger-stroke-color: var(--md-color-pink-500);
  --md-border-radius-s: var(--md-radius-20);
  --md-border-radius-m: var(--md-radius-40);
  --md-border-radius-l: var(--md-radius-80);
  --md-border-radius-xl: var(--md-radius-120);
  --md-border-radius-rounded: var(--md-radius-rounded);
  --md-stroke-width-slim: var(--md-stroke-width-05);
  --md-stroke-width-thin: var(--md-stroke-width-10);
  --md-stroke-width-thick: var(--md-stroke-width-20);
  --md-stroke-width-thicker: var(--md-stroke-width-30);
  --format-slide-width: 1920px;
  --format-slide-height: 1080px;
  --grid-system-slide-grid-margin-horizontal: var(--md-spacing-48);
  --grid-system-slide-grid-margin-vertical: var(--md-spacing-48);
  --grid-system-slide-grid-gutter: var(--md-spacing-24);
  --grid-system-slide-grid-row-height-1: 102px;
  --grid-system-slide-grid-row-height-2: 354px;
  --slide-zones-slide-header-height: 174px;
  --slide-zones-slide-footer-height: 174px;
  --spacing-tokens-slide-component-gap: var(--md-spacing-24);
  --spacing-tokens-slide-element-gap: var(--md-spacing-24);
  --amethyst-100: #f6f1ff;
  --amethyst-200: #e4d4ff;
  --amethyst-300: #c09aff;
  --amethyst-500: #a56eff;
  --amethyst-700: #533780;
  --amethyst-900: #32214d;
  --cyan-100: #e6f5ff;
  --cyan-200: #cdecff;
  --cyan-300: #9bd9ff;
  --cyan-500: #059fff;
  --cyan-700: #035f99;
  --cyan-900: #02304d;
  --yellow-100: #fef9e8;
  --yellow-200: #fcf3d1;
  --yellow-300: #f9e7a4;
  --yellow-500: #f1c21b;
  --yellow-700: #79610e;
  --yellow-900: #302705;
}



.status--informative {
  --md-status-background: var(--md-neutral-background-2-rest);
  --md-status-foreground: var(--md-neutral-foreground-2-rest);
  --md-status-stroke: var(--md-neutral-stroke-3-rest);
}

.status--success {
  --md-status-background: var(--md-status-success-background-1-rest);
  --md-status-foreground: var(--md-status-success-foreground-1-rest);
  --md-status-stroke: var(--md-status-success-stroke-color);
  --status-background: var(--md-status-success-background-1-rest);
  --status-foreground: var(--md-status-success-foreground-1-rest);
}

.status--warning {
  --md-status-background: var(--md-status-warning-background-1-rest);
  --md-status-foreground: var(--md-status-warning-foreground-1-rest);
  --md-status-stroke: var(--md-status-warning-stroke-color);
  --status-background: var(--md-status-warning-background-1-rest);
  --status-foreground: var(--md-status-warning-foreground-1-rest);
}

.status--danger {
  --md-status-background: var(--md-status-danger-background-1-rest);
  --md-status-foreground: var(--md-status-danger-foreground-1-rest);
  --md-status-stroke: var(--md-status-danger-stroke-color);
  --status-background: var(--md-status-danger-background-1-rest);
  --status-foreground: var(--md-status-danger-foreground-1-rest);
}

.status--info {
  --status-background: var(--md-status-informative-background-1-rest);
  --status-foreground: var(--md-status-informative-foreground-1-rest);
}



.tags--grey {
  --md-tag-background: var(--md-neutral-background-2-rest);
  --md-tag-foreground: var(--md-neutral-foreground-2-rest);
  --md-tag-stroke: var(--md-neutral-stroke-3-rest);
  --tag-foreground: var(--md-neutral-foreground-2-rest);
  --cover-foreground: var(--md-neutral-foreground-2-rest);
  --tag-background: var(--md-neutral-background-transparent-2-rest);
  --cover-background: var(--md-neutral-background-2-rest);
}

.tags--blue {
  --md-tag-background: var(--md-brand-background-1-rest);
  --md-tag-foreground: var(--md-brand-foreground-1-rest);
  --md-tag-stroke: var(--md-brand-stroke-1-rest);
  --tag-foreground: var(--md-brand-foreground-1-rest);
  --cover-foreground: var(--md-brand-foreground-1-rest);
  --tag-background: var(--md-brand-background-1-rest);
  --cover-background: var(--md-brand-background-1-rest);
}

.tags--teal {
  --md-tag-background: var(--md-teal-background-1-rest);
  --md-tag-foreground: var(--md-teal-foreground-1-rest);
  --md-tag-stroke: var(--md-teal-stroke-1-rest);
  --tag-foreground: var(--md-teal-foreground-1-rest);
  --cover-foreground: var(--md-teal-foreground-1-rest);
  --tag-background: var(--md-teal-background-1-rest);
  --cover-background: var(--md-teal-background-1-rest);
}

.tags--orange {
  --md-tag-background: var(--md-orange-background-1-rest);
  --md-tag-foreground: var(--md-orange-foreground-1-rest);
  --md-tag-stroke: var(--md-orange-stroke-1-rest);
  --tag-foreground: var(--md-orange-foreground-1-rest);
  --cover-foreground: var(--md-orange-foreground-1-rest);
  --tag-background: var(--md-orange-background-1-rest);
  --cover-background: var(--md-orange-background-1-rest);
}

.tags--pink {
  --md-tag-background: var(--md-pink-background-1-rest);
  --md-tag-foreground: var(--md-pink-foreground-1-rest);
  --md-tag-stroke: var(--md-pink-stroke-1-rest);
  --tag-foreground: var(--md-pink-foreground-1-rest);
  --cover-foreground: var(--md-pink-foreground-1-rest);
  --tag-background: var(--md-pink-background-1-rest);
  --cover-background: var(--md-pink-background-1-rest);
}

.tags--amethyst {
  --tag-foreground: var(--amethyst-700);
  --cover-foreground: var(--amethyst-700);
  --tag-background: var(--amethyst-100);
  --cover-background: var(--amethyst-100);
}

.tags--cyan {
  --tag-foreground: var(--cyan-700);
  --cover-foreground: var(--cyan-700);
  --tag-background: var(--cyan-100);
  --cover-background: var(--cyan-100);
}

.tags--yellow {
  --tag-foreground: var(--yellow-700);
  --cover-foreground: var(--yellow-700);
  --tag-background: var(--yellow-100);
  --cover-background: var(--yellow-100);
}



.product-mode--knowledge {
  --product-foreground: var(--md-brand-foreground-1-rest);
  --product-background: var(--md-brand-background-inverted-rest);
  --product-background-subtle: var(--md-brand-background-1-rest);
  --product-background-transparent: var(--md-brand-background-transparent-rest);
  --product-stroke: var(--md-brand-stroke-1-rest);
}

.product-mode--selfcare {
  --product-foreground: var(--md-teal-foreground-1-rest);
  --product-background: var(--md-teal-background-inverted-rest);
  --product-background-subtle: var(--md-teal-background-1-rest);
  --product-background-transparent: var(--md-teal-background-transparent-rest);
  --product-stroke: var(--md-teal-stroke-1-rest);
}

.product-mode--academy {
  --product-foreground: var(--md-pink-foreground-1-rest);
  --product-background: var(--md-pink-background-inverted-rest);
  --product-background-subtle: var(--md-pink-background-1-rest);
  --product-background-transparent: var(--md-pink-background-transparent-rest);
  --product-stroke: var(--md-pink-stroke-1-rest);
}



.visualization--01 {
  --card-background: var(--md-color-blue-100);
  --card-foreground: var(--md-color-blue-500);
  --card-stroke: var(--md-color-blue-500);
  --timeline-background: var(--md-color-blue-500);
  --timeline-background-transparent: var(--md-brand-background-transparent-rest);
  --timeline-foreground: var(--md-color-grey-white);
  --timeline-stroke: var(--md-color-blue-500);
  --data-monochromatique-default: var(--md-color-blue-500);
  --data-monochromatique-dark: var(--md-color-blue-600);
  --data-monochromatique-darker: var(--md-color-blue-700);
  --data-monochromatique-darkest: var(--md-color-blue-900);
  --data-monochromatique-light: var(--md-color-blue-400);
  --data-monochromatique-lighter: var(--md-color-blue-200);
  --data-monochromatique-lightest: var(--md-color-blue-100);
  --data-color-blue: var(--md-color-blue-500);
  --data-color-teal: var(--md-color-teal-500);
  --data-color-pink: var(--md-color-pink-500);
  --data-color-orange: var(--md-color-orange-500);
  --data-color-grey: var(--md-color-grey-500);
  --data-color-amethyst: var(--amethyst-500);
  --data-color-cyan: var(--cyan-500);
  --data-color-yellow: var(--yellow-500);
}

.visualization--02 {
  --card-background: var(--md-color-teal-100);
  --card-foreground: var(--md-color-teal-700);
  --card-stroke: var(--md-color-teal-700);
  --timeline-background: var(--md-color-teal-500);
  --timeline-background-transparent: var(--md-teal-background-transparent-rest);
  --timeline-foreground: var(--md-color-grey-900);
  --timeline-stroke: var(--md-color-teal-500);
  --data-monochromatique-default: var(--md-color-teal-500);
  --data-monochromatique-dark: var(--md-color-teal-600);
  --data-monochromatique-darker: var(--md-color-teal-700);
  --data-monochromatique-darkest: var(--md-color-teal-800);
  --data-monochromatique-light: var(--md-color-teal-400);
  --data-monochromatique-lighter: var(--md-color-teal-200);
  --data-monochromatique-lightest: var(--md-color-teal-100);
  --data-color-blue: var(--md-color-blue-900);
  --data-color-teal: var(--md-color-teal-900);
  --data-color-pink: var(--md-color-pink-900);
  --data-color-orange: var(--md-color-orange-900);
  --data-color-grey: var(--md-color-grey-900);
  --data-color-amethyst: var(--amethyst-900);
  --data-color-cyan: var(--cyan-900);
  --data-color-yellow: var(--yellow-900);
}

.visualization--03 {
  --card-background: var(--md-color-pink-100);
  --card-foreground: var(--md-color-pink-600);
  --card-stroke: var(--md-color-pink-600);
  --timeline-background: var(--md-color-pink-500);
  --timeline-background-transparent: var(--md-pink-background-transparent-rest);
  --timeline-foreground: var(--md-color-grey-900);
  --timeline-stroke: var(--md-color-pink-500);
  --data-monochromatique-default: var(--md-color-pink-500);
  --data-monochromatique-dark: var(--md-color-pink-600);
  --data-monochromatique-darker: var(--md-color-pink-700);
  --data-monochromatique-darkest: var(--md-color-pink-800);
  --data-monochromatique-light: var(--md-color-pink-400);
  --data-monochromatique-lighter: var(--md-color-pink-200);
  --data-monochromatique-lightest: var(--md-color-pink-100);
  --data-color-blue: var(--md-color-blue-200);
  --data-color-teal: var(--md-color-teal-200);
  --data-color-pink: var(--md-color-pink-200);
  --data-color-orange: var(--md-color-orange-200);
  --data-color-grey: var(--md-color-grey-200);
  --data-color-amethyst: var(--amethyst-100);
  --data-color-cyan: var(--cyan-100);
  --data-color-yellow: var(--yellow-100);
}

.visualization--04 {
  --card-background: var(--md-color-orange-100);
  --card-foreground: var(--md-color-orange-700);
  --card-stroke: var(--md-color-orange-700);
  --timeline-background: var(--md-color-orange-500);
  --timeline-background-transparent: var(--md-orange-background-transparent-rest);
  --timeline-foreground: var(--md-color-grey-900);
  --timeline-stroke: var(--md-color-orange-500);
  --data-monochromatique-default: var(--md-color-orange-500);
  --data-monochromatique-dark: var(--md-color-orange-600);
  --data-monochromatique-darker: var(--md-color-orange-700);
  --data-monochromatique-darkest: var(--md-color-orange-800);
  --data-monochromatique-light: var(--md-color-orange-400);
  --data-monochromatique-lighter: var(--md-color-orange-200);
  --data-monochromatique-lightest: var(--md-color-orange-100);
  --data-color-blue: var(--md-color-blue-700);
  --data-color-teal: var(--md-color-teal-700);
  --data-color-pink: var(--md-color-pink-700);
  --data-color-orange: var(--md-color-orange-700);
  --data-color-grey: var(--md-color-grey-700);
  --data-color-amethyst: var(--amethyst-700);
  --data-color-cyan: var(--cyan-700);
  --data-color-yellow: var(--yellow-700);
}

.visualization--05 {
  --card-background: var(--md-color-grey-100);
  --card-foreground: var(--md-color-grey-700);
  --card-stroke: var(--md-color-grey-700);
  --timeline-background: var(--md-color-grey-500);
  --timeline-background-transparent: var(--md-neutral-background-transparent-2-rest);
  --timeline-foreground: var(--md-color-grey-900);
  --timeline-stroke: var(--md-color-grey-500);
  --data-monochromatique-default: var(--md-color-grey-500);
  --data-monochromatique-dark: var(--md-color-grey-600);
  --data-monochromatique-darker: var(--md-color-grey-700);
  --data-monochromatique-darkest: var(--md-color-grey-800);
  --data-monochromatique-light: var(--md-color-grey-400);
  --data-monochromatique-lighter: var(--md-color-grey-200);
  --data-monochromatique-lightest: var(--md-color-grey-100);
  --data-color-blue: var(--md-color-blue-300);
  --data-color-teal: var(--md-color-teal-300);
  --data-color-pink: var(--md-color-pink-300);
  --data-color-orange: var(--md-color-orange-300);
  --data-color-grey: var(--md-color-grey-300);
  --data-color-amethyst: var(--amethyst-300);
  --data-color-cyan: var(--cyan-300);
  --data-color-yellow: var(--yellow-300);
}

.visualization--06 {
  --card-background: var(--amethyst-100);
  --card-foreground: var(--amethyst-700);
  --card-stroke: var(--amethyst-700);
  --timeline-background: var(--md-color-grey-500);
  --timeline-background-transparent: var(--md-neutral-background-transparent-2-rest);
  --timeline-foreground: var(--md-color-grey-900);
  --timeline-stroke: var(--md-color-grey-500);
  --data-monochromatique-default: var(--md-color-grey-500);
  --data-monochromatique-dark: var(--md-color-grey-600);
  --data-monochromatique-darker: var(--md-color-grey-700);
  --data-monochromatique-darkest: var(--md-color-grey-800);
  --data-monochromatique-light: var(--md-color-grey-400);
  --data-monochromatique-lighter: var(--md-color-grey-200);
  --data-monochromatique-lightest: var(--md-color-grey-100);
  --data-color-blue: var(--md-color-blue-300);
  --data-color-teal: var(--md-color-teal-300);
  --data-color-pink: var(--md-color-pink-300);
  --data-color-orange: var(--md-color-orange-300);
  --data-color-grey: var(--md-color-grey-300);
  --data-color-amethyst: var(--amethyst-300);
  --data-color-cyan: var(--amethyst-300);
  --data-color-yellow: var(--yellow-300);
}

.visualization--07 {
  --card-background: var(--cyan-100);
  --card-foreground: var(--cyan-700);
  --card-stroke: var(--cyan-700);
  --timeline-background: var(--md-color-grey-500);
  --timeline-background-transparent: var(--md-neutral-background-transparent-2-rest);
  --timeline-foreground: var(--md-color-grey-900);
  --timeline-stroke: var(--md-color-grey-500);
  --data-monochromatique-default: var(--md-color-grey-500);
  --data-monochromatique-dark: var(--md-color-grey-600);
  --data-monochromatique-darker: var(--md-color-grey-700);
  --data-monochromatique-darkest: var(--md-color-grey-800);
  --data-monochromatique-light: var(--md-color-grey-400);
  --data-monochromatique-lighter: var(--md-color-grey-200);
  --data-monochromatique-lightest: var(--md-color-grey-100);
  --data-color-blue: var(--md-color-blue-300);
  --data-color-teal: var(--md-color-teal-300);
  --data-color-pink: var(--md-color-pink-300);
  --data-color-orange: var(--md-color-orange-300);
  --data-color-grey: var(--md-color-grey-300);
  --data-color-amethyst: var(--md-color-grey-300);
  --data-color-cyan: var(--md-color-grey-300);
  --data-color-yellow: var(--yellow-300);
}

.visualization--08 {
  --card-background: var(--yellow-100);
  --card-foreground: var(--yellow-700);
  --card-stroke: var(--yellow-700);
  --timeline-background: var(--md-color-grey-500);
  --timeline-background-transparent: var(--md-neutral-background-transparent-2-rest);
  --timeline-foreground: var(--md-color-grey-900);
  --timeline-stroke: var(--md-color-grey-500);
  --data-monochromatique-default: var(--md-color-grey-500);
  --data-monochromatique-dark: var(--md-color-grey-600);
  --data-monochromatique-darker: var(--md-color-grey-700);
  --data-monochromatique-darkest: var(--md-color-grey-800);
  --data-monochromatique-light: var(--md-color-grey-400);
  --data-monochromatique-lighter: var(--md-color-grey-200);
  --data-monochromatique-lightest: var(--md-color-grey-100);
  --data-color-blue: var(--md-color-blue-300);
  --data-color-teal: var(--md-color-teal-300);
  --data-color-pink: var(--md-color-pink-300);
  --data-color-orange: var(--md-color-orange-300);
  --data-color-grey: var(--md-color-grey-300);
  --data-color-amethyst: var(--md-color-grey-300);
  --data-color-cyan: var(--md-color-grey-300);
  --data-color-yellow: var(--yellow-300);
}



.section-slide--blue {
  --cover-foreground: var(--md-brand-foreground-1-rest);
  --cover-background: var(--md-brand-background-1-rest);
}

.section-slide--teal {
  --cover-foreground: var(--md-teal-foreground-1-rest);
  --cover-background: var(--md-teal-background-1-rest);
}

.section-slide--pink {
  --cover-foreground: var(--md-pink-foreground-1-rest);
  --cover-background: var(--md-pink-background-1-rest);
}

.section-slide--orange {
  --cover-foreground: var(--md-orange-foreground-1-rest);
  --cover-background: var(--md-orange-background-1-rest);
}

.section-slide--grey {
  --cover-foreground: var(--md-neutral-foreground-1-rest);
  --cover-background: var(--md-neutral-background-2-rest);
}
/*! /css/base.css */
@font-face {
  font-family: "Lexend Regular";
  src: url("/assets/fonts/Lexend-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend Black";
  src: url("/assets/fonts/Lexend-Black.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lexend Light";
  src: url("/assets/fonts/Lexend-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Lexend";
  src: url("/assets/fonts/Lexend-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Lexend";
  src: url("/assets/fonts/Lexend-Light.woff2") format("woff2");
  font-weight: 600 900;
  font-style: normal;
}

:root{
  --z-dropdown:1000;
  --z-skeleton:1050;
  --z-toolbar-backdrop:1090;
  --z-toolbar:1100;
  --z-toolbar-popover:1101;
  --z-panel:1400;
  --z-notifications:1500;
  --z-viewer:1900;
  --z-modal:2000;
  --z-modal-2:2050;
  --z-modal-menu:2100;
  --z-modal-toolbar:2200;
  --z-modal-dropdown:2600;
  --z-welcome:2600;
  --z-float:3000;
  --z-hint:3100;
  --z-review:3400;
  --z-review-toolbar:3500;
  --z-loading:4000;
  --z-tooltip:4000;
  --z-tour:5000;
  --ui-surface:#FFFFFF;
  --ui-surface-2:var(--md-neutral-background-2-rest);
  --ui-canvas:#EEF1F5;
  --ui-text:var(--md-neutral-foreground-1-rest);
  --ui-text-2:var(--md-neutral-foreground-3-rest);
  --ui-muted:#666F80;
  --ui-muted-light:#A6AEBC;
  --ui-border:#E1E5EB;
  --ui-border-strong:var(--md-neutral-stroke-1-rest);
  --ui-accent:#0040DE;
  --ui-pill-active:#2F353E;
  --ui-pill-active-fg:#FFFFFF;
  --ui-accent-hover:#0033B3;
  --ui-accent-soft:var(--md-color-blue-100);
  --ui-danger:#D64545;
  --ui-danger-hover:#B93A3A;
  --ui-danger-soft:#FDEDEC;
  --ui-success:#1B9E6B;
  --ui-warning:#E08A2E;
  --ui-inverse:#151A22;
  --ui-inverse-2:#1E2430;
  --ui-ai-gradient:linear-gradient(111deg, #0042F0 4%, #FC89FF 51.34%, #FF076E 94.14%);
  --ui-table-cell-size:var(--text-md);
  --ui-table-cell-color:var(--ui-text-2);

  --shadow-xs:0 1px 3px rgba(20,30,50,0.3);
  --shadow-sm:0 4px 16px rgba(20,30,50,0.16);
  --shadow-soft:0 8px 24px rgba(20,30,50,0.16);
  --shadow-popover:0 8px 24px rgba(20,30,50,0.24);
  --shadow-raised:0 12px 28px rgba(20,30,50,0.28);
  --shadow-modal:0 24px 64px rgba(20,30,50,0.32);
  --shadow-panel:-4px -4px 16px rgba(20,30,50,0.10);
  --shadow-rgb:20,30,50;

  --font-sans:"Lexend", Arial, sans-serif;
  --font-display:"Lexend Black", "Lexend", sans-serif;
  --font-regular:"Lexend Regular", Arial, sans-serif;
  --font-light:"Lexend Light", "Lexend", sans-serif;
  --font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --font-weight-extralight:200;
  --font-weight-light:300;
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --font-weight-black:900;
  --text-2xs:9px;
  --text-xs:10px;
  --text-sm:11px;
  --text-md:12px;
  --text-base:13px;
  --text-lg:14px;
  --text-xl:15px;
  --text-2xl:16px;
  --text-3xl:18px;
  --text-4xl:20px;
  --text-5xl:24px;
  --text-6xl:32px;
  --text-7xl:40px;

  --card-bg:var(--ui-surface-2);
  --label-color:var(--ui-text);
  --radius:24px;
  --frame-bg:var(--ui-surface);
  --canvas-bg:var(--ui-canvas);
}

html[data-ui-theme="dark"]{
  color-scheme:dark;
  --ui-surface:#1A1F27;
  --ui-surface-2:#242A34;
  --ui-canvas:#0F1217;
  --ui-text:#E6EAF1;
  --ui-text-2:#B5BECC;
  --ui-muted:#8A93A2;
  --ui-muted-light:#626B7D;
  --ui-border:#2E3540;
  --ui-border-strong:#3D4553;
  --ui-accent:#6B8AF7;
  --ui-accent-hover:#89A2FA;
  --ui-pill-active:#E6EAF1;
  --ui-pill-active-fg:#151A22;
  --ui-accent-soft:rgba(107,138,247,0.18);
  --ui-danger:#E06565;
  --ui-danger-hover:#EB7F7F;
  --ui-danger-soft:rgba(224,101,101,0.18);
  --ui-inverse:#E6EAF1;
  --shadow-xs:0 1px 3px rgba(0,0,0,0.6);
  --shadow-sm:0 0 0 1px rgba(255,255,255,0.06), 0 4px 16px rgba(0,0,0,0.5);
  --shadow-soft:0 0 0 1px rgba(255,255,255,0.06), 0 8px 24px rgba(0,0,0,0.55);
  --shadow-popover:0 0 0 1px rgba(255,255,255,0.08), 0 12px 32px rgba(0,0,0,0.65);
  --shadow-raised:0 0 0 1px rgba(255,255,255,0.08), 0 16px 40px rgba(0,0,0,0.7);
  --shadow-modal:0 0 0 1px rgba(255,255,255,0.10), 0 32px 80px rgba(0,0,0,0.8);
  --shadow-panel:0 0 0 1px rgba(255,255,255,0.05), -4px -4px 20px rgba(0,0,0,0.45);
  --shadow-rgb:0,0,0;
  --md-color-grey-white:#1A1F27;
  --md-color-grey-black:#F2F5F9;
  --md-neutral-background-1-rest:#1A1F27;
  --md-neutral-background-2-rest:#242A34;
  --md-neutral-background-3-rest:#3D4553;
  --md-neutral-foreground-1-rest:#E6EAF1;
  --md-neutral-foreground-2-rest:#C9D0DB;
  --md-neutral-foreground-3-rest:#9AA3B3;
  --md-neutral-stroke-1-rest:#2E3540;
  --md-neutral-stroke-2-rest:#3D4553;
  --md-brand-foreground-1-rest:#6B8AF7;
  --md-brand-background-1-rest:rgba(107,138,247,0.16);
}

.frame{
  color-scheme:light;
  color:var(--slide-text-1);
  --slide-bg:#FFFFFF;
  --slide-surface:#FFFFFF;
  --slide-surface-2:#F2F5F9;
  --slide-surface-3:#D3D9E2;
  --slide-text-1:#2F353E;
  --slide-text-2:#484F5D;
  --slide-text-3:#626B7D;
  --slide-border:#E1E5EB;
  --slide-stroke:#D3D9E2;
  --slide-stroke-2:#B5BECC;
  --slide-accent:#0040DE;
  --slide-accent-soft:#EEF3FE;
  --md-color-grey-white:#FFFFFF;
  --md-color-grey-black:#000000;
  --md-neutral-stroke-on-color-rest:var(--md-color-grey-white);
  --md-neutral-foreground-on-color-rest:var(--md-color-grey-white);
  --md-neutral-background-1-rest:var(--slide-surface);
  --md-neutral-background-2-rest:var(--slide-surface-2);
  --md-neutral-background-3-rest:var(--slide-surface-3);
  --md-neutral-foreground-1-rest:var(--slide-text-1);
  --md-neutral-foreground-2-rest:var(--slide-text-2);
  --md-neutral-foreground-3-rest:var(--slide-text-3);
  --md-neutral-stroke-1-rest:var(--slide-stroke);
  --md-neutral-stroke-2-rest:var(--slide-stroke-2);
  --md-brand-foreground-1-rest:var(--slide-accent);
  --md-brand-background-1-rest:var(--slide-accent-soft);
  --ui-surface:var(--slide-surface);
  --ui-surface-2:var(--slide-surface-2);
  --ui-text:var(--slide-text-1);
  --ui-text-2:var(--slide-text-3);
  --ui-muted:var(--slide-text-3);
  --ui-muted-light:var(--slide-stroke-2);
  --ui-border:var(--slide-border);
  --ui-border-strong:var(--slide-stroke);
  --ui-accent:var(--slide-accent);
  --ui-accent-hover:#0033B3;
  --ui-accent-soft:var(--slide-accent-soft);
  --frame-bg:var(--slide-bg);
  --card-bg:var(--slide-surface-2);
  --label-color:var(--slide-text-1);
}
.frame[data-theme="dark"]{
  color-scheme:dark;
  --slide-bg:#151A22;
  --slide-surface:#1F252F;
  --slide-surface-2:#2A313D;
  --slide-surface-3:#3A4250;
  --slide-text-1:#F2F5F9;
  --slide-text-2:#D3D9E2;
  --slide-text-3:#A6AEBC;
  --slide-border:#333B47;
  --slide-stroke:#3A4250;
  --slide-stroke-2:#4A5366;
  --slide-accent:#6B8AF7;
  --slide-accent-soft:rgba(107,138,247,0.18);
  --ui-accent-hover:#89A2FA;
}
.frame.export-pass, .frame.export-pass *, .frame.export-pass *::before, .frame.export-pass *::after{ transition:none !important; }

* { box-sizing: border-box; }

html body :where(input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"]), select, textarea):not(.frame *, .home-generate-textarea, .home-code-input){
  background-color:transparent;
}
html body textarea:not(.home-generate-textarea, .home-code-input, .slide-gen-textarea){ overflow-y:hidden; }

[role="dialog"][tabindex="-1"]:focus{ outline:none; }

.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
.skip-link{
  position:fixed; top:8px; left:8px; z-index:var(--z-tooltip); padding:10px 16px; border-radius:8px;
  background:var(--ui-surface); color:var(--ui-accent); box-shadow:0 2px 8px rgba(var(--shadow-rgb),0.2);
  font-family:var(--font-sans); font-size:var(--text-base); font-weight:var(--font-weight-semibold); text-decoration:none;
  transform:translateY(calc(-100% - 16px));
}
.skip-link:focus{ transform:none; outline:2px solid var(--ui-accent); outline-offset:2px; }
#main:focus{ outline:none; }
#stage:focus{ outline:none; }
#stage:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:-2px; }
button:focus-visible, [role="button"]:focus-visible, [role="checkbox"]:focus-visible{ opacity:1 !important; }

.app-tooltip{
  display:none; position:fixed; z-index:var(--z-tooltip); max-width:320px;
  padding:6px 10px; border-radius:8px;
  background:var(--ui-text); color:var(--md-color-grey-white); font-family:var(--font-sans); font-size:var(--text-md); line-height:1.4;
  box-shadow:0 2px 8px rgba(var(--shadow-rgb),0.2);
  pointer-events:none; white-space:normal; word-break:break-word;
}
.app-tooltip.visible{ display:block; pointer-events:auto; }

.spell-error{ text-decoration-line:underline; text-decoration-style:wavy; text-decoration-color:var(--ui-danger); text-underline-offset:2px; }
.spell-popover{
  position:fixed; z-index:var(--z-modal); background:var(--md-color-grey-white); border:1px solid var(--ui-border);
  border-radius:8px; box-shadow:var(--shadow-soft); padding:4px;
  display:flex; align-items:center; gap:2px; font-family:var(--font-sans); font-size:var(--text-base);
}
.spell-suggestion{ border:none; background:none; padding:6px 10px; border-radius:5px; cursor:pointer; color:var(--ui-text); white-space:nowrap; }
.spell-suggestion:hover{ background:var(--md-neutral-background-2-rest); }
.spell-no-suggestion{ padding:6px 10px; color:var(--ui-muted); white-space:nowrap; }
.spell-ignore{ border:none; background:none; padding:4px 6px; border-radius:5px; cursor:pointer; color:var(--ui-muted); display:flex; }
.spell-ignore:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-text); }

body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ui-text);
  height:100vh;
  display:flex;
  flex-direction:column;
}
body > boundtest{ flex-shrink:0; }
body.editor-body{ background:var(--md-color-grey-white); }
.mobile-only{ display:none !important; }

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:20;
  padding:14px 16px 10px;
  flex-shrink:0;
  min-height:73px;
}
.topbar-brand{ display:flex; align-items:center; gap:6px; }
.topbar-brand > .topbar-brand-logo{ margin-left:6px; }
.topbar-brand-favicon{ height:26px; width:auto; display:block; }
.topbar-brand-logo-link:has(> .topbar-brand-favicon){ width:64px; margin-left:-16px; justify-content:center; align-items:center; }
.topbar-brand-logo-link:has(> .topbar-brand-favicon) + .sidebar-collapse-btn{ margin-left:-6px; }
.sidebar-collapse-btn i{ font-size:var(--text-xl); }
.sidebar-collapse-btn i.fa-solid, .sidebar-collapse-btn.is-open i.fa-regular{ display:none; }
.sidebar-collapse-btn.is-open i.fa-solid{ display:inline-block; }
.topbar-brand-logo{ height:20px; width:auto; display:block; flex-shrink:0; }
html[data-ui-theme="dark"] .topbar-brand-logo{ content:url("/assets/logo/logo-oneslide-dark.svg"); }
.topbar h1{ font-size:var(--text-xl); font-weight:var(--font-weight-semibold); color:var(--ui-text); margin:0; }
.topbar-actions{ display:flex; gap:8px; align-items:center; }
.topbar-sep{ width:1px; height:22px; background:var(--ui-border); flex-shrink:0; }
.hidden{ display:none !important; }
.split-menu-divider{ height:1px; background:var(--ui-border); margin:4px 0; }

.deck-access-denied-screen{
  position:fixed; inset:0; z-index:var(--z-float); background:var(--ui-surface); color:var(--ui-text);
  display:flex; align-items:center; justify-content:center; padding:24px; font-family:var(--font-sans);
}
.deck-access-denied-logo{ position:absolute; top:14px; left:16px; display:flex; }
body.deck-access-denied #confirmDialogOverlay{ z-index:calc(var(--z-float) + 1); }
.deck-access-denied-logo img{ height:26px; width:auto; }
.deck-access-denied-card{ display:flex; flex-direction:column; align-items:center; gap:12px; max-width:460px; text-align:center; }
.deck-access-denied-card img{ width:120px; height:120px; }
.deck-access-denied-card h1{ margin:8px 0 0; font-size:var(--text-xl); font-weight:var(--font-weight-semibold); }
.deck-access-denied-card p{ margin:0; color:var(--ui-text-2); font-size:var(--text-base); line-height:1.5; }
.deck-access-denied-actions{ display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; justify-content:center; }
.deck-access-denied-actions .btn{ text-decoration:none; display:inline-flex; align-items:center; }
/*! /css/buttons.css */

.btn{
  font-family:var(--font-sans);
  font-size:var(--text-base);
  border:1px solid var(--ui-border);
  background:var(--ui-surface);
  color:var(--ui-text);
  border-radius:12px;
  padding:7px 12px;
  cursor:pointer;
}
.btn:hover{ background:var(--ui-surface-2); }
.btn:disabled{ opacity:.5; cursor:not-allowed; pointer-events:none; }
.btn.is-loading{ position:relative; color:transparent; }
.btn.is-loading > *{ visibility:hidden; }
.btn.is-loading::after{
  content:''; position:absolute; top:50%; left:50%; width:16px; height:16px; margin:-8px 0 0 -8px;
  border:2px solid currentColor; border-top-color:transparent; border-radius:50%;
  color:var(--md-color-grey-white); animation:btn-spin .7s linear infinite;
}
@keyframes btn-spin{ to{ transform:rotate(360deg); } }
.btn-sm{ padding:5px 10px; font-size:var(--text-md); }
.btn-lg{ height:42px; padding:0 18px; font-size:var(--text-base); }
.btn-block{ width:100%; }

.btn.primary{ background:var(--ui-accent); color:var(--md-color-grey-white); border-color:var(--ui-accent); font-family:var(--font-display); }
.btn.primary:hover{ background:var(--ui-accent-hover); }
.btn.primary:disabled, .btn.primary:disabled:hover{
  background:var(--ui-border); border-color:var(--ui-border); color:var(--ui-muted); opacity:1;
}
.btn.danger{ background:var(--ui-danger); color:var(--md-color-grey-white); border-color:var(--ui-danger); }
.btn.danger:hover{ background:var(--ui-danger-hover); }

.btn-ghost{
  display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 10px;
  border:none; background:transparent; border-radius:8px; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-base); font-weight:var(--font-weight-semibold);
  color:var(--ui-text); white-space:nowrap;
}
.btn-ghost:hover{ background:var(--ui-surface-2); }
.btn-ghost:disabled{ color:var(--ui-muted); cursor:default; }
.btn-ghost:disabled:hover{ background:none; }
.btn-ghost.btn-sm{
  height:auto; padding:5px 10px; border-radius:6px;
  font-size:var(--text-md); font-weight:var(--font-weight-regular); color:var(--ui-muted);
}
.btn-ghost.btn-sm:hover{ color:var(--ui-text); }

.icon-btn[hidden]{ display:none; }
.icon-btn{
  width:22px; height:22px;
  border-radius:9px;
  border:1px solid var(--ui-border);
  background:var(--ui-surface);
  color:var(--ui-muted);
  font-size:var(--text-base);
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  padding:0;
}
.icon-btn:hover{ border-color:var(--ui-accent); color:var(--ui-accent); }
.icon-btn:disabled{ opacity:0.4; cursor:default; pointer-events:none; }
.icon-btn-ghost{ width:32px; height:32px; border:none; background:transparent; font-size:var(--text-3xl); }
.icon-btn-ghost svg{ width:18px; height:18px; }
.icon-btn-ghost:hover{ background:var(--ui-surface-2); border-color:transparent; }
.icon-btn.accent{ border:none; background:var(--ui-accent); color:var(--md-color-grey-white); }
.icon-btn.accent:hover{ background:var(--ui-accent-hover); color:var(--md-color-grey-white); }
.icon-btn.accent:disabled, .icon-btn.accent:disabled:hover{ background:var(--ui-border); color:var(--ui-muted); opacity:1; cursor:default; }

.btn-split{ position:relative; display:flex; }
.btn-split .split-main{ border-radius:12px 0 0 12px; }
.btn-split .split-caret{ border-radius:0 12px 12px 0; border-left:1px solid var(--ui-border); padding:7px 8px; font-size:var(--text-xs); }
.btn-split .split-caret.primary{ border-left-color:rgba(255,255,255,0.35); }
.btn-split.caret-left{ flex-direction:row-reverse; }
.btn-split.caret-left .split-main{ border-radius:0 12px 12px 0; }
.btn-split.caret-left .split-caret{ border-radius:12px 0 0 12px; border-left:none; border-right:1px solid var(--ui-border); }
/*! /css/login.css */

html, body.login-body{ height:100%; margin:0; }
body.login-body{ font-family:var(--font-sans); background:var(--md-color-grey-white); }

.login-page{ display:flex; min-height:100vh; }
.login-col{ flex:1 1 50%; min-width:0; display:flex; align-items:center; }
.login-col-left{ justify-content:center; padding:48px 64px; }
.login-left-inner{ width:100%; max-width:420px; }

.login-favicon{ width:48px; height:48px; display:block; margin-bottom:32px; }
.login-title{ margin:0 0 8px; font-family:var(--font-display); font-size:var(--text-6xl); line-height:1.2; color:var(--ui-text); text-align:left; }
.login-subtitle{ margin:0 0 28px; font-size:var(--text-xl); font-weight:var(--font-weight-light); color:var(--ui-muted); text-align:left; }

.login-form{ display:flex; flex-direction:column; gap:12px; }
.login-form[hidden]{ display:none; }
.login-field{ position:relative; display:block; }
.login-field input{
  width:100%; box-sizing:border-box; padding:14px 12px; border:1px solid var(--ui-border); border-radius:12px;
  font-family:var(--font-sans); font-size:var(--text-lg); color:var(--ui-text); background:var(--md-color-grey-white); outline:none;
}
.login-field input:focus{ border-color:var(--ui-accent); }
.login-field input::placeholder{ color:transparent; }
.login-field > span{
  position:absolute; left:12px; top:50%; transform:translateY(-50%); padding:0 3px; margin-left:-3px;
  font-size:var(--text-lg); line-height:1; color:var(--ui-muted); background:var(--md-color-grey-white);
  pointer-events:none; transition:top .15s ease, font-size .15s ease, color .15s ease;
}
.login-field:has(> input:focus) > span,
.login-field:has(> input:not(:placeholder-shown)) > span{ top:0; font-size:var(--text-xs); }
.login-field:has(> input:focus) > span{ color:var(--ui-accent); }
#loginCode{ letter-spacing:.3em; font-variant-numeric:tabular-nums; }
.login-submit-btn{ padding:12px 16px; font-size:var(--text-lg); }
.login-code-actions{ display:flex; justify-content:space-between; gap:8px; }
.login-error{ margin:12px 0 0; font-size:var(--text-md); color:var(--ui-danger); }

.login-separator{ display:flex; align-items:center; gap:12px; margin:20px 0; font-size:var(--text-md); color:var(--ui-muted); }
.login-separator[hidden]{ display:none; }
.login-separator::before, .login-separator::after{ content:''; flex:1; height:1px; background:var(--ui-border); }

.login-google-btn{ position:relative; display:flex; align-items:center; justify-content:center; padding:12px 16px; font-size:var(--text-lg); }
.login-google-icon{ position:absolute; left:16px; width:20px; height:20px; }

.login-no-account{ display:block; margin-top:12px; font-size:var(--text-md); color:var(--md-neutral-foreground-3-rest); text-align: center }

.login-col-right{ padding:16px; }
.login-right-panel{
  width:100%; height:100%; border-radius:24px; display:flex; align-items:center; justify-content:center;
  padding:48px; background:linear-gradient(160deg, var(--ui-surface-2) 0%, #CFE0FB 100%);
}
.login-illustration{ max-width:60%; max-height:60%; }

@media (max-width:900px){
  .login-page{ flex-direction:column; }
  .login-col-right{ display:none; }
  .login-col-left{ padding:32px 24px; }
  .login-left-inner{ max-width:350px; }
}
/*! /css/mobile.css */

@media (max-width:767px){
  .topbar{ min-height:56px; padding:8px 10px; gap:6px; }
  .topbar-actions{ gap:4px; }
  .topbar-brand{ gap:6px; min-width:0; }
  .topbar-brand-logo{ height:18px; }
  .topbar > .presence-stack{ display:none; }
  .split-menu{ max-width:calc(100vw - 16px); }

  body.home-body .app-row{ flex-direction:column; }
  body.home-body .app-nav{
    order:2; width:100%; height:auto; flex-direction:row; justify-content:space-around; align-items:center;
    gap:0; padding:4px 0 calc(4px + env(safe-area-inset-bottom)); border-top:1px solid var(--ui-border);
    z-index:30;
  }
  body.home-body .app-nav-item{ flex:1 1 0; width:auto; padding:2px 0 4px; gap:2px; }
  body.home-body .app-nav-icon{ width:32px; height:32px; }
  body.home-body .app-nav-avatar-wrap{ flex:0 0 auto; position:relative; margin:0 8px; }
  body.home-body .app-nav-avatar-wrap .split-menu.rail-avatar-menu{ top:auto; bottom:calc(100% + 8px); left:auto; right:0; }
  body.home-body .app-page-body{ border-radius:0; flex:1 1 auto; min-height:0; box-shadow:none; }

  .home-main{ padding:36px 14px 32px; }
  .home-hero{ min-height:auto; flex-direction:column; align-items:stretch; }
  .home-hero-panel{ max-width:none; padding:20px 14px 12px; }
  .home-greeting-text{ font-size:28px; }
  .home-greeting-img{ width:40px; height:40px; }
  .home-generate-textarea{ min-height:104px; }
  .home-generate-textarea:focus{ min-height:140px; }
  .home-hero-ctas-wrap{ padding:0 14px; }
  .home-hero-ctas{ width:fit-content; box-sizing:border-box; flex-direction:row; padding:6px; border-radius:14px; }
  .home-hero-ctas .btn{ flex:0 0 auto; justify-content:center; }
  .home-cta-primary, .home-cta-secondary{ padding:9px 14px; font-size:var(--text-base); border-radius:10px; }
  .home-cta-word{ display:none; }
  .home-section{ margin-top:28px; }
  .home-section-header{ flex-wrap:wrap; gap:8px; }
  .home-section-toolbar{ height:auto; flex-wrap:wrap; gap:8px; }
  .home-decks-search{ flex:1 1 90px; width:auto; min-width:0; max-width:none; margin-left:0; order:0; }
  .deck-filter-pills{ width:100%; }
  .trash-team-filter{ margin-left:auto; }
  .trash-search{ flex:1 1 60px; }
  .trash-empty-all-btn span{ display:none; }
  .trash-empty-all-btn{ padding:0 10px; }
  body.home-body .app-nav-divider{ display:none; }
  .trash-row, #trashTable .trash-row{ grid-template-columns:32px 56px minmax(170px, 1fr) 90px 130px 164px 130px 100px 40px; min-width:1024px; }
  .home-generate-submit{ right:10px; bottom:10px; width:36px; height:36px; }
  .home-generate-textarea{ padding-right:54px; padding-bottom:52px; }
  .home-scroll-row .layout-thumb{ flex:0 0 200px; }
  .home-templates-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
  .decks-banner{ height:110px; }

  .home-discovery-back{ margin:8px 0 0 8px; }
  .home-discovery-body{ flex-direction:column; gap:12px; padding:8px 12px calc(12px + env(safe-area-inset-bottom)); }
  .home-discovery-chat,
  .home-discovery-body.has-outline .home-discovery-chat{ flex:1 1 auto; min-width:0; max-width:none; }
  .home-discovery-body.has-outline .home-discovery-chat{ flex:0 0 42%; }
  .home-discovery-outline{ flex:1 1 auto; max-width:none; border-left:none; padding-left:0; border-top:1px solid var(--ui-border); padding-top:12px; }

  .trash-table{ margin:0 -14px; padding:0 14px; }
  .trash-table, .deck-filter-pills{ scrollbar-width:none; }
  .trash-table::-webkit-scrollbar, .deck-filter-pills::-webkit-scrollbar{ display:none; }
  .hs-more-right{
    -webkit-mask-image:linear-gradient(to right, #000 calc(100% - 48px), transparent);
    mask-image:linear-gradient(to right, #000 calc(100% - 48px), transparent);
  }
  .hs-more-left{
    -webkit-mask-image:linear-gradient(to right, transparent, #000 48px);
    mask-image:linear-gradient(to right, transparent, #000 48px);
  }
  .hs-more-left.hs-more-right{
    -webkit-mask-image:linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent);
    mask-image:linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent);
  }
  .trash-table.hs-more-right{
    -webkit-mask-image:linear-gradient(to right, #000 calc(100% - 14px - 48px), transparent calc(100% - 14px));
    mask-image:linear-gradient(to right, #000 calc(100% - 14px - 48px), transparent calc(100% - 14px));
  }
  .trash-table.hs-more-left{
    -webkit-mask-image:linear-gradient(to right, transparent 14px, #000 calc(14px + 48px));
    mask-image:linear-gradient(to right, transparent 14px, #000 calc(14px + 48px));
  }
  .trash-table.hs-more-left.hs-more-right{
    -webkit-mask-image:linear-gradient(to right, transparent 14px, #000 calc(14px + 48px), #000 calc(100% - 14px - 48px), transparent calc(100% - 14px));
    mask-image:linear-gradient(to right, transparent 14px, #000 calc(14px + 48px), #000 calc(100% - 14px - 48px), transparent calc(100% - 14px));
  }
  .mobile-only{ display:revert !important; }
  .split-menu button.mobile-only{ display:flex !important; }

  .login-col-left{ padding:32px 20px; }
  .login-title{ font-size:var(--text-4xl); }

  body.editor-body .app-nav{ display:none; }
  body.editor-body .topbar .sidebar-collapse-btn,
  body.editor-body #rightRailCollapseBtn,
  body.editor-body .topbar-sep,
  body.editor-body #autosavePill,
  body.editor-body #viewMenuWrap,
  body.editor-body #deckLangWrap{ display:none; }
  body.editor-body #commentsToggleBtn,
  body.editor-body #presentSplit .split-main{ font-size:0; padding:0 10px; height:34px; gap:0; }
  body.editor-body #commentsToggleBtn i,
  body.editor-body #presentSplit .split-main i{ font-size:15px; }
  body.editor-body #presentSplit .split-caret{ height:34px; }
  body.editor-body #shareDeckBtn{ font-size:0; padding:0 10px; height:34px; gap:0; }
  body.editor-body #shareDeckBtn i{ font-size:15px; }
  body.editor-body #templateEditSaveBtn{ padding:0 10px; height:34px; font-size:var(--text-md); }

  body.editor-body .main{ flex-direction:column; }
  body.editor-body .stage-wrapper{
    order:1; flex:1 1 auto; min-height:0; width:100%;
    border-radius:0; border-left:none; border-right:none; box-shadow:none;
  }
  body.editor-body .stage{ padding:12px; }
  body.editor-body #framesContainer::after{ right:-12px; bottom:-12px; }
  body.editor-body .presenter-notes-box{ left:8px; right:8px; bottom:8px; padding:6px 10px; }
  body.editor-body .stage-mode-bar{ bottom:8px; }
  body.editor-body .stage-wrapper:has(.stage-mode-bar) .presenter-notes-box{ bottom:62px; }

  body.editor-body .sidebar-left{
    order:2; width:100%; flex:0 0 auto; flex-direction:row; align-items:stretch;
    margin:0; border-radius:0; box-shadow:none; border-top:1px solid var(--ui-border);
    background:var(--md-color-grey-white); transition:none;
  }
  body.editor-body .sidebar-header{ padding:8px 6px 8px 8px; align-items:center; border-right:1px solid var(--ui-border); }
  body.editor-body .sidebar-header .split-main{ padding:0 10px; height:34px; }
  body.editor-body .sidebar-header .split-caret{ height:34px; }
  body.editor-body #createSlideMenu{ left:0; right:auto; top:auto; bottom:calc(100% + 6px); }
  body.editor-body .slide-list{
    flex:1 1 auto; min-width:0; flex-direction:row; align-items:center; gap:8px;
    padding:8px 10px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  body.editor-body .slide-list::-webkit-scrollbar{ display:none; }
  body.editor-body .slide-item,
  body.editor-body .slide-item-skeleton{ flex:0 0 auto; width:132px; padding:4px; scroll-snap-align:center; }
  body.editor-body .slide-item .slide-number{ width:16px; }
  body.editor-body .slide-gap-hit{ display:none; }
  body.editor-body .slide-item.active .slide-more-btn{ opacity:1; pointer-events:auto; }

  body.editor-body .rail-dock{ order:3; width:100%; height:auto; flex:0 0 auto; flex-direction:column; align-items:stretch; }
  body.editor-body .icon-rail-dock{ height:auto; width:100%; }
  body.editor-body .icon-rail{
    width:100%; flex-direction:row; justify-content:space-around; align-items:stretch; gap:0;
    padding:2px 4px calc(4px + env(safe-area-inset-bottom)); border-top:1px solid var(--ui-border); box-sizing:border-box;
  }
  body.editor-body .icon-rail-btn{ flex:1 1 0; min-width:0; padding:6px 0 4px; gap:3px; border-radius:10px; }
  body.editor-body .icon-rail-btn i{ font-size:var(--text-2xl); }
  body.editor-body .rail-panel.open{
    position:fixed; left:0; right:0; bottom:0; top:auto; width:auto !important; height:min(72vh, 600px);
    margin:0; border-radius:16px 16px 0 0; z-index:950;
    box-shadow:0 -8px 28px rgba(var(--shadow-rgb),0.18); border-top:1px solid var(--ui-border);
    padding-bottom:env(safe-area-inset-bottom);
    animation:mobile-sheet-in .28s cubic-bezier(.22,1,.36,1) both;
  }
  body.editor-body .rail-panel-resize-handle{ display:none; }
  body.editor-body .rail-panel-header{ padding-top:14px; }
  body.editor-body .rail-panel.open::before{
    content:''; position:absolute; top:6px; left:50%; width:36px; height:4px; margin-left:-18px;
    border-radius:2px; background:var(--ui-border-strong); z-index:2;
  }

  body.editor-body #commentPopover{
    left:8px !important; right:8px !important; top:auto !important;
    bottom:calc(8px + env(safe-area-inset-bottom)) !important; width:auto; max-height:70vh; overflow:auto;
    border-radius:14px; box-sizing:border-box;
  }
  #selectionToolbar, #aiRewritePopover, #aiRewriteReviewToolbar, .link-popover{ max-width:calc(100vw - 16px); }
  #aiRewritePopover, .link-popover{ width:auto; min-width:min(300px, calc(100vw - 16px)); }

  #templateLibraryModal, #imageLibraryModal, #fileImportModal, #dataTableModal, #imageCardEditModal,
  #nameModalModal, #importDeckModal, #thumbnailModalModal, #shareModalModal, #avatarModalModal,
  #personalInfoModalModal{
    width:auto; max-width:calc(100vw - 16px); max-height:calc(100vh - 16px); box-sizing:border-box;
  }
  #templateLibraryModal, #imageLibraryModal{ height:calc(100vh - 16px); }
  #confirmDialogModal{ max-width:calc(100vw - 24px); }
}

@keyframes mobile-sheet-in{ from{ transform:translateY(24px); opacity:0; } to{ transform:none; opacity:1; } }

@media (max-width:420px){
  .home-templates-grid{ grid-template-columns:minmax(0, 1fr); }
  .home-greeting-text{ font-size:24px; }
  body.editor-body .slide-item, body.editor-body .slide-item-skeleton{ width:116px; }
}

@media (max-width:767px) and (max-height:480px){
  body.editor-body .slide-item, body.editor-body .slide-item-skeleton{ width:96px; }
  body.editor-body .slide-list{ padding:4px 8px; }
  body.editor-body .icon-rail-btn{ flex-direction:row; gap:6px; padding:4px 0; }
  body.editor-body .rail-panel.open{ height:calc(100vh - 56px); }
}

@media (max-width:767px){
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .btn{
    min-height:44px; padding:10px 16px; font-size:var(--text-xl); border-radius:12px;
  }
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .btn.btn-sm{
    min-height:36px; padding:7px 12px; font-size:var(--text-lg);
  }
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .btn-ghost{
    min-height:44px; padding:0 14px; font-size:var(--text-xl);
  }
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .icon-btn{
    width:40px; height:40px; border-radius:12px; font-size:var(--text-xl);
  }
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .icon-btn-ghost{
    width:44px; height:44px;
  }
  .split-menu button, .view-menu-option, .deck-lang-option{ min-height:44px; }
  :is(.rail-panel, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"]) :is(input[type="text"], input[type="email"], input[type="search"], input[type="number"], textarea, select){
    min-height:44px; font-size:16px;
  }
  .prop-field input, .prop-field textarea{ font-size:16px; }
  .prop-span-field, .prop-grid-field{ height:44px; }
  .prop-span-field button, .prop-grid-field button{ width:36px; height:36px; }
  .cols-group button, .mini-segment button{ min-height:36px; }
  .deck-filter-pills button{ min-height:40px; padding:0 16px; }
  .home-input-mode-btn{ min-height:40px; padding:0 18px; }
  .home-generate-submit{ width:44px; height:44px; }
  .search-box input{ min-height:44px; font-size:16px; }
  .home-generate-placeholder{ font-size:16px; }
  .slide-more-btn{ width:36px; height:36px; }
  body.editor-body .stage-mode-btn{ width:48px; height:48px; }
  body.editor-body .icon-rail-btn{ min-height:56px; }
  body.home-body .app-nav-item{ min-height:56px; }
  .switch{ transform:scale(1.15); transform-origin:right center; }
  .comment-entry .entry-actions button, .comment-resolve-btn{ min-width:40px; min-height:40px; }
}

@media (max-width:767px){
  body.home-body .app-nav-icon{ width:40px; height:40px; border-radius:12px; }
  body.home-body .app-nav-icon i{ font-size:20px; }
  body.home-body .app-nav-item{ font-size:11px; gap:3px; }
  body.home-body .app-nav-avatar{ width:40px; height:40px; font-size:var(--text-xl); }
  .rail-panel-header-actions .icon-btn-ghost{ font-size:26px; line-height:1; }
  .rail-panel-header-actions .icon-btn-ghost i{ font-size:18px; }
  #railPanelTitle{ font-size:var(--text-2xl); }
  .split-menu{ min-width:220px; padding:8px; }
  .split-menu button{ font-size:var(--text-xl); padding:10px 12px; }
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .btn-split .split-main{ border-radius:12px 0 0 12px; }
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .btn-split .split-caret{ border-radius:0 12px 12px 0; padding:0 12px; min-height:44px; }
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .btn-split.caret-left .split-main{ border-radius:0 12px 12px 0; }
  :is(.topbar, .rail-panel, .sidebar-left, #commentsPanel, #commentPopover, .app-page-body, .home-discovery-overlay, [id$="Modal"], #confirmDialogModal) .btn-split.caret-left .split-caret{ border-radius:12px 0 0 12px; }
  body.editor-body .sidebar-header .split-main, body.editor-body .sidebar-header .split-caret{ height:44px; }
  body.editor-body #presentSplit .split-caret{ height:44px; }
  body.editor-body #presentSplit .split-main{ display:none; }
  body.editor-body #presentSplit .split-caret{
    display:inline-flex; align-items:center; gap:7px; border-left:none; border-radius:12px; padding:0 12px; font-size:var(--text-xs);
  }
  body.editor-body #presentSplit .split-caret::before{
    font-family:"Font Awesome 6 Pro"; font-weight:var(--font-weight-black); content:"\f04b"; font-size:15px;
  }
}
