@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Display&display=swap');/**
 * Rollercoaster.dev Open Badges Component Library - Theme Variables
 *
 * This file defines CSS custom properties (variables) for theming the component library.
 * Applications can override these variables to customize the appearance of components.
 */

:root {
  /* Color Palette */
  --ob-primary: #3182ce;
  --ob-primary-dark: #2c5282;
  --ob-primary-light: #4299e1;
  --ob-secondary: #718096;
  --ob-secondary-dark: #4a5568;
  --ob-secondary-light: #a0aec0;
  --ob-success: #38a169;
  --ob-success-light: #c6f6d5;
  --ob-error: #e53e3e;
  --ob-error-light: #fed7d7;
  --ob-warning: #d69e2e;
  --ob-warning-light: #feebc8;
  --ob-info: #3182ce;
  --ob-info-light: #bee3f8;

  /* Neutral Colors */
  --ob-gray-50: #f7fafc;
  --ob-gray-100: #edf2f7;
  --ob-gray-200: #e2e8f0;
  --ob-gray-300: #cbd5e0;
  --ob-gray-400: #a0aec0;
  --ob-gray-500: #718096;
  --ob-gray-600: #4a5568;
  --ob-gray-700: #2d3748;
  --ob-gray-800: #1a202c;
  --ob-gray-900: #171923;

  /* Text Colors */
  --ob-text-primary: var(--ob-gray-800);
  --ob-text-secondary: var(--ob-gray-600);
  --ob-text-disabled: var(--ob-gray-400);
  --ob-text-inverse: white;

  /* Background Colors */
  --ob-bg-primary: white;
  --ob-bg-secondary: var(--ob-gray-50);
  --ob-bg-disabled: var(--ob-gray-100);

  /* Border Colors */
  --ob-border-color: var(--ob-gray-200);
  --ob-border-color-focus: var(--ob-primary);

  /* Spacing - Ensure consistent usage */
  --ob-space-1: 0.25rem;
  --ob-space-2: 0.5rem;
  --ob-space-3: 0.75rem;
  --ob-space-4: 1rem;
  --ob-space-5: 1.25rem;
  --ob-space-6: 1.5rem;
  --ob-space-8: 2rem;
  --ob-space-10: 2.5rem;
  --ob-space-12: 3rem;
  --ob-space-16: 4rem;

  /* Typography */
  --ob-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; /* Keep system default for broad compatibility */
  --ob-font-size-xs: 0.75rem;
  --ob-font-size-sm: 0.875rem;
  --ob-font-size-md: 1rem;
  --ob-font-size-lg: 1.125rem;
  --ob-font-size-xl: 1.25rem;
  --ob-font-size-2xl: 1.5rem;
  --ob-font-weight-normal: 400;
  --ob-font-weight-medium: 500;
  --ob-font-weight-semibold: 600;
  --ob-font-weight-bold: 700;
  --ob-line-height-tight: 1.3;
  --ob-line-height-normal: 1.6;
  --ob-line-height-relaxed: 1.8;

  /* Borders */
  --ob-border-width: 1px;
  --ob-border-radius-sm: 0.25rem;
  --ob-border-radius-md: 0.375rem;
  --ob-border-radius-lg: 0.75rem;
  --ob-border-radius-xl: 1rem; /* 16px */

  /* Shadows - Refined for subtlety */
  --ob-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.04);
  --ob-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.05);
  --ob-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
  --ob-shadow-focus: 0 0 0 3px rgba(49, 130, 206, 0.4);

  /* Transitions - Ensure consistent usage */
  --ob-transition-fast: 150ms;
  --ob-transition-normal: 300ms;
  --ob-transition-slow: 500ms;

  /* Z-index */
  --ob-z-index-dropdown: 1000;
  --ob-z-index-sticky: 1100;
  --ob-z-index-modal: 1300;
  --ob-z-index-tooltip: 1400;

  /* Component-specific variables */

  /* Badge Display - Apply updated radius/shadow */
  --ob-badge-border-color: var(--ob-border-color);
  --ob-badge-border-radius: var(--ob-border-radius-lg);
  --ob-badge-padding: var(--ob-space-4);
  --ob-badge-background: var(--ob-bg-primary);
  --ob-badge-shadow: var(--ob-shadow-sm);
  --ob-badge-title-color: var(--ob-text-primary);
  --ob-badge-text-color: var(--ob-text-secondary);
  --ob-badge-hover-shadow: var(--ob-shadow-md);
  --ob-badge-focus-outline-color: var(--ob-primary);

  /* Badge List - Apply updated radius */
  --ob-badge-list-gap: var(--ob-space-4);
  --ob-badge-list-empty-color: var(--ob-text-secondary);
  --ob-badge-list-pagination-gap: var(--ob-space-2);
  --ob-badge-list-button-bg: var(--ob-gray-200);
  --ob-badge-list-button-color: var(--ob-text-secondary);
  --ob-badge-list-button-hover-bg: var(--ob-gray-300);
  --ob-badge-list-button-disabled-bg: var(--ob-gray-100);
  --ob-badge-list-button-disabled-color: var(--ob-text-disabled);

  /* Profile Viewer - Apply updated radius/shadow */
  --ob-profile-padding: var(--ob-space-6);
  --ob-profile-gap: var(--ob-space-8);
  --ob-profile-border-color: var(--ob-border-color);
  --ob-profile-background: var(--ob-bg-primary);
  --ob-profile-shadow: var(--ob-shadow-sm);
  --ob-profile-title-color: var(--ob-text-primary);
  --ob-profile-text-color: var(--ob-text-secondary);
  --ob-profile-link-color: var(--ob-primary);

  /* Badge Issuer Form - Apply updated radius */
  --ob-form-border-color: var(--ob-border-color);
  --ob-form-background: var(--ob-bg-primary);
  --ob-form-text-color: var(--ob-text-primary);
  --ob-form-label-color: var(--ob-text-secondary);
  --ob-form-input-border: var(--ob-gray-300);
  --ob-form-input-focus: var(--ob-primary);
  --ob-form-error-color: var(--ob-error);
  --ob-form-success-color: var(--ob-success);
  --ob-form-help-color: var(--ob-text-secondary);
  --ob-form-button-primary-bg: var(--ob-primary);
  --ob-form-button-primary-color: var(--ob-text-inverse);
  --ob-form-button-secondary-bg: var(--ob-gray-200);
  --ob-form-button-secondary-color: var(--ob-text-secondary);
  --ob-form-button-disabled-bg: var(--ob-bg-disabled);
  --ob-form-button-disabled-color: var(--ob-text-disabled);

  /* Issuer Dashboard - Apply updated radius */
  --ob-dashboard-border-color: var(--ob-border-color);
  --ob-dashboard-background: var(--ob-bg-primary);
  --ob-dashboard-text-color: var(--ob-text-primary);
  --ob-dashboard-secondary-color: var(--ob-text-secondary);
  --ob-dashboard-accent-color: var(--ob-primary);
  --ob-dashboard-tab-active-border: var(--ob-primary);
  --ob-dashboard-tab-hover-bg: var(--ob-gray-50);
  --ob-dashboard-empty-color: var(--ob-text-secondary);
}

/* Dark Theme */
.ob-dark-theme {
  /* Color Palette */
  --ob-primary: #63b3ed;
  --ob-primary-dark: #4299e1;
  --ob-primary-light: #90cdf4;
  --ob-secondary: #a0aec0;
  --ob-secondary-dark: #718096;
  --ob-secondary-light: #cbd5e0;
  --ob-success: #68d391;
  --ob-success-light: #9ae6b4;
  --ob-error: #fc8181;
  --ob-error-light: #feb2b2;
  --ob-warning: #f6ad55;
  --ob-warning-light: #fbd38d;
  --ob-info: #63b3ed;
  --ob-info-light: #90cdf4;

  /* Neutral Colors */
  --ob-gray-50: #2d3748;
  --ob-gray-100: #2d3748;
  --ob-gray-200: #4a5568;
  --ob-gray-300: #718096;
  --ob-gray-400: #a0aec0;
  --ob-gray-500: #cbd5e0;
  --ob-gray-600: #e2e8f0;
  --ob-gray-700: #edf2f7;
  --ob-gray-800: #f7fafc;
  --ob-gray-900: #ffffff;

  /* Text Colors */
  --ob-text-primary: var(--ob-gray-800);
  --ob-text-secondary: var(--ob-gray-600);
  --ob-text-disabled: var(--ob-gray-400);
  --ob-text-inverse: #1a202c;

  /* Background Colors */
  --ob-bg-primary: #1a202c;
  --ob-bg-secondary: #2d3748;
  --ob-bg-disabled: #4a5568;

  /* Border Colors */
  --ob-border-color: #4a5568;
  --ob-border-color-focus: var(--ob-primary);

  /* Shadows */
  --ob-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
  --ob-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.26);
  --ob-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.25);
  --ob-shadow-focus: 0 0 0 3px rgba(99, 179, 237, 0.4);
}

/* High Contrast Theme */
.ob-high-contrast-theme {
  /* Color Palette */
  --ob-primary: #0000ff;
  --ob-primary-dark: #0000cc;
  --ob-primary-light: #3333ff;
  --ob-secondary: #606060;
  --ob-secondary-dark: #404040;
  --ob-secondary-light: #808080;
  --ob-success: #008000;
  --ob-success-light: #ccffcc;
  --ob-error: #ff0000;
  --ob-error-light: #ffcccc;
  --ob-warning: #ff8000;
  --ob-warning-light: #ffe0cc;
  --ob-info: #0000ff;
  --ob-info-light: #ccccff;

  /* Text Colors */
  --ob-text-primary: #000000;
  --ob-text-secondary: #000000;
  --ob-text-disabled: #606060;
  --ob-text-inverse: #ffffff;

  /* Background Colors */
  --ob-bg-primary: #ffffff;
  --ob-bg-secondary: #f0f0f0;
  --ob-bg-disabled: #d0d0d0;

  /* Border Colors */
  --ob-border-color: #000000;
  --ob-border-color-focus: #0000ff;

  /* Shadows */
  --ob-shadow-sm: none;
  --ob-shadow-md: none;
  --ob-shadow-lg: none;
  --ob-shadow-focus: 0 0 0 3px rgba(0, 0, 255, 0.5);

  /* Component-specific overrides */
  --ob-badge-border-color: #000000;
  --ob-badge-border-width: 2px;
  --ob-badge-shadow: none;
  --ob-badge-hover-shadow: none;
  --ob-badge-focus-outline-color: #0000ff;
  --ob-badge-focus-outline-width: 3px;

  --ob-form-input-border: #000000;
  --ob-form-input-border-width: 2px;
  --ob-form-error-color: #ff0000;
  --ob-form-success-color: #008000;

  --ob-dashboard-border-color: #000000;
  --ob-dashboard-tab-active-border: #0000ff;
  --ob-dashboard-tab-active-border-width: 3px;
}

/* Reduced Motion Theme */
@media (prefers-reduced-motion: reduce) {
  :root {
    --ob-transition-fast: 0ms;
    --ob-transition-normal: 0ms;
    --ob-transition-slow: 0ms;
  }
}

/* Large Text Theme for improved readability */
.ob-large-text-theme {
  --ob-font-size-xs: 0.875rem;
  --ob-font-size-sm: 1rem;
  --ob-font-size-md: 1.125rem;
  --ob-font-size-lg: 1.25rem;
  --ob-font-size-xl: 1.5rem;
  --ob-font-size-2xl: 1.75rem;
  --ob-line-height-tight: 1.4;
  --ob-line-height-normal: 1.6;
  --ob-line-height-relaxed: 1.8;
  --ob-space-between-paragraphs: 1.5em;
}

/* Dyslexia-friendly Theme - Enhanced for better readability based on research */
.ob-dyslexia-friendly-theme {
  /* Typography improvements - based on British Dyslexia Association guidelines */
  --ob-font-family: var(--ob-font-opendyslexic);
  --ob-font-size-xs: 0.875rem; /* Minimum 14px */
  --ob-font-size-sm: 1rem;     /* 16px */
  --ob-font-size-md: 1.125rem;  /* 18px */
  --ob-font-size-lg: 1.25rem;   /* 20px */
  --ob-font-size-xl: 1.5rem;    /* 24px */
  --ob-font-size-2xl: 1.75rem;  /* 28px */
  --ob-line-height-tight: 1.5;   /* Minimum 1.5 */
  --ob-line-height-normal: 1.7;  /* Recommended for body text */
  --ob-line-height-relaxed: 1.9; /* For longer text blocks */
  --ob-letter-spacing: 0.05em;   /* Slightly increased letter spacing */
  --ob-word-spacing: 0.1em;      /* Increased word spacing */
  --ob-font-weight-normal: 400;  /* Regular weight for better readability */
  --ob-font-weight-medium: 500;  /* Medium weight for emphasis */
  --ob-font-weight-bold: 700;    /* Bold for headings */

  /* Colors for reduced visual stress - cream background with dark text */
  --ob-bg-primary: #f8f5e4;      /* Light cream background - reduces visual stress */
  --ob-bg-secondary: #f0edd8;    /* Slightly darker cream for contrast */
  --ob-text-primary: #333333;    /* Dark gray text - not pure black */
  --ob-text-secondary: #555555;  /* Medium gray for secondary text */

  /* Component backgrounds */
  --ob-badge-background: var(--ob-bg-primary);
  --ob-form-background: var(--ob-bg-primary);
  --ob-dashboard-background: var(--ob-bg-primary);

  /* Increased spacing for better readability */
  --ob-space-4: 1.25rem;
  --ob-space-6: 1.75rem;
  --ob-space-8: 2.25rem;
  --ob-space-between-paragraphs: 1.5em;
  --ob-paragraph-spacing: 1.5em;

  /* Stronger focus indicators */
  --ob-border-color-focus: #0066cc;
  --ob-shadow-focus: 0 0 0 4px rgba(0, 102, 204, 0.4);

  /* Borders and structure - clear visual boundaries */
  --ob-border-width: 2px;        /* Thicker borders for clearer boundaries */
  --ob-border-color: #c8c3a9;    /* Muted border color */
  --ob-border-radius-md: 6px;    /* Slightly rounded corners */
  --ob-border-radius-lg: 8px;    /* Rounded corners for larger elements */

  /* Accent colors - muted to reduce visual stress */
  --ob-primary: #1b70b6;         /* Muted blue - less harsh than standard blue */
  --ob-primary-dark: #155a92;    /* Darker blue for hover states */
  --ob-primary-light: #5a9bd5;   /* Lighter blue for backgrounds */
  --ob-success: #2e8b57;         /* Muted green */
  --ob-error: #b54942;           /* Muted red */
  --ob-warning: #b5913a;         /* Muted amber */

  /* Reduced shadows to minimize visual noise */
  --ob-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
  --ob-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
  --ob-shadow-lg: 0 3px 6px rgba(0, 0, 0, 0.1);
}

/* Low Vision Theme - Using Atkinson Hyperlegible for maximum legibility */
.ob-low-vision-theme {
  /* Typography for clarity - using Atkinson Hyperlegible font */
  --ob-font-family: var(--ob-font-atkinson);
  --ob-font-size-xs: 1rem;      /* 16px minimum */
  --ob-font-size-sm: 1.125rem;  /* 18px */
  --ob-font-size-md: 1.25rem;   /* 20px */
  --ob-font-size-lg: 1.5rem;    /* 24px */
  --ob-font-size-xl: 1.75rem;   /* 28px */
  --ob-font-size-2xl: 2rem;     /* 32px */
  --ob-line-height-tight: 1.5;   /* Minimum 1.5 */
  --ob-line-height-normal: 1.7;  /* Recommended for body text */
  --ob-line-height-relaxed: 1.9; /* For longer text blocks */
  --ob-letter-spacing: 0.01em;   /* Slightly increased letter spacing */
  --ob-word-spacing: 0.05em;     /* Increased word spacing */
  --ob-font-weight-normal: 400;  /* Regular weight for better readability */
  --ob-font-weight-medium: 600;  /* Medium weight for emphasis */
  --ob-font-weight-bold: 700;    /* Bold for headings */

  /* High contrast colors for better visibility */
  --ob-primary: #0066cc;         /* Strong blue */
  --ob-primary-dark: #004d99;    /* Darker blue for hover states */
  --ob-primary-light: #4d94ff;   /* Lighter blue for backgrounds */
  --ob-bg-primary: #ffffff;      /* Pure white background */
  --ob-bg-secondary: #f0f0f0;    /* Light gray for secondary backgrounds */
  --ob-text-primary: #222222;    /* Near black for text - not pure black */
  --ob-text-secondary: #444444;  /* Dark gray for secondary text */

  /* Reduced color palette to minimize distractions */
  --ob-secondary: #666666;       /* Medium gray */
  --ob-secondary-dark: #444444;  /* Darker gray */
  --ob-secondary-light: #888888; /* Lighter gray */
  --ob-success: #008000;         /* Clear green */
  --ob-error: #cc0000;           /* Clear red */
  --ob-warning: #cc6600;         /* Clear orange */

  /* Clear visual hierarchy with strong borders */
  --ob-border-width: 2px;        /* Thicker borders for clearer boundaries */
  --ob-border-color: #999999;    /* Medium gray border */
  --ob-border-radius-md: 6px;    /* Slightly rounded corners */
  --ob-border-radius-lg: 8px;    /* Rounded corners for larger elements */

  /* Strong focus indicators */
  --ob-border-color-focus: #0066cc;
  --ob-shadow-focus: 0 0 0 4px rgba(0, 102, 204, 0.5);

  /* Reduced shadows to minimize visual noise */
  --ob-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
  --ob-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
  --ob-shadow-lg: 0 4px 6px rgba(0, 0, 0, 0.1);

  /* Component-specific overrides */
  --ob-badge-border-color: #999999;
  --ob-badge-border-width: 2px;
  --ob-badge-title-color: #222222;
  --ob-badge-text-color: #444444;

  /* Form elements with clear focus states */
  --ob-form-input-border: #999999;
  --ob-form-input-focus: #0066cc;
  --ob-form-button-primary-bg: #0066cc;
  --ob-form-button-primary-color: #ffffff;
}

/* Low Info Theme - Focused on reducing distractions and clear hierarchy */
.ob-low-info-theme {
  /* Typography for clarity */
  --ob-font-family: var(--ob-font-atkinson);
  --ob-font-size-md: 1rem;
  --ob-line-height-normal: 1.6;
  --ob-font-weight-normal: 400;
  --ob-font-weight-medium: 600;
  --ob-font-weight-bold: 700;

  /* High contrast colors for focus */
  --ob-primary: #0066cc;
  --ob-primary-dark: #004d99;
  --ob-primary-light: #4d94ff;
  --ob-bg-primary: #ffffff;
  --ob-text-primary: #222222;

  /* Reduced color palette to minimize distractions */
  --ob-secondary: #666666;
  --ob-secondary-dark: #444444;
  --ob-secondary-light: #888888;

  /* Clear visual hierarchy */
  --ob-border-width: 2px;
  --ob-border-radius-md: 4px;
  --ob-border-radius-lg: 8px;

  /* Strong focus indicators */
  --ob-border-color-focus: #0066cc;
  --ob-shadow-focus: 0 0 0 4px rgba(0, 102, 204, 0.5);

  /* Reduced shadows to minimize visual noise */
  --ob-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
  --ob-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
  --ob-shadow-lg: 0 4px 6px rgba(0, 0, 0, 0.1);

  /* Component-specific overrides */
  --ob-badge-border-color: #dddddd;
  --ob-badge-border-width: 2px;
  --ob-badge-title-color: #222222;
  --ob-badge-text-color: #444444;

  /* Form elements with clear focus states */
  --ob-form-input-border: #999999;
  --ob-form-input-focus: #0066cc;
  --ob-form-button-primary-bg: #0066cc;
  --ob-form-button-primary-color: #ffffff;
}

/* Autism-friendly Theme - Predictable layouts and reduced sensory stimulation */
.ob-autism-friendly-theme {
  /* Typography - consistent and predictable */
  --ob-font-family: "Arial", sans-serif;
  --ob-font-size-md: 1rem;
  --ob-line-height-normal: 1.5;
  --ob-font-weight-normal: 400;

  /* Muted colors to reduce sensory overload */
  --ob-primary: #3d7e9a;
  --ob-primary-dark: #2d5d72;
  --ob-primary-light: #6ba3bc;
  --ob-bg-primary: #f7f7f7;
  --ob-text-primary: #333333;

  /* Neutral color palette */
  --ob-secondary: #777777;
  --ob-secondary-dark: #555555;
  --ob-secondary-light: #999999;

  /* Reduced color contrast to minimize visual stress */
  --ob-gray-50: #f7f7f7;
  --ob-gray-100: #eeeeee;
  --ob-gray-200: #e0e0e0;
  --ob-gray-300: #cccccc;
  --ob-gray-400: #aaaaaa;
  --ob-gray-500: #888888;
  --ob-gray-600: #666666;
  --ob-gray-700: #444444;
  --ob-gray-800: #333333;
  --ob-gray-900: #222222;

  /* Clear borders for predictable boundaries */
  --ob-border-color: #dddddd;
  --ob-border-width: 1px;
  --ob-border-radius-md: 4px;

  /* Minimal shadows to reduce visual complexity */
  --ob-shadow-sm: none;
  --ob-shadow-md: none;
  --ob-shadow-lg: none;

  /* Predictable focus indicators */
  --ob-border-color-focus: #3d7e9a;
  --ob-shadow-focus: 0 0 0 2px rgba(61, 126, 154, 0.4);

  /* Consistent spacing */
  --ob-space-4: 1rem;
  --ob-space-6: 1.5rem;
  --ob-space-8: 2rem;

  /* Component-specific overrides for consistency */
  --ob-badge-border-color: #dddddd;
  --ob-badge-background: #f7f7f7;
  --ob-badge-title-color: #333333;
  --ob-badge-text-color: #555555;

  /* Form elements with clear, predictable states */
  --ob-form-input-border: #cccccc;
  --ob-form-input-focus: #3d7e9a;
  --ob-form-background: #f7f7f7;
  --ob-form-button-primary-bg: #3d7e9a;
  --ob-form-button-primary-color: #ffffff;
}

/**
 * Rollercoaster.dev Open Badges Component Library - Accessibility Styles
 *
 * This file provides additional CSS to enhance accessibility across components.
 */

/* Import font definitions */

/**
 * Rollercoaster.dev Open Badges Component Library - Font Loading System
 *
 * This file manages the loading of accessible and dyslexia-friendly fonts.
 * It uses font-display: swap to ensure text remains visible during font loading.
 */

/* 
 * Atkinson Hyperlegible
 * A highly accessible font designed specifically for low vision readers
 * by the Braille Institute. It features distinct letterforms that are
 * easy to differentiate, improving readability.
 */

@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/atkinsonhyperlegible/v10/9Bt23C1KxNDXMspQ1lPyU89-1h6ONRlW45G0.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/atkinsonhyperlegible/v10/9Bt73C1KxNDXMspQ1lPyU89-1h6ONRlW45G8Wbc9eiWPVFw.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/atkinsonhyperlegible/v10/9Bt43C1KxNDXMspQ1lPyU89-1h6ONRlW45G055qltOk.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/atkinsonhyperlegible/v10/9Bt93C1KxNDXMspQ1lPyU89-1h6ONRlW45G056IuLwqfcDU.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 
 * Lexend
 * Designed to reduce visual stress and improve reading fluency.
 * It features carefully adjusted letter spacing and shapes to
 * improve readability for readers with dyslexia.
 */

@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/lexend/v19/wlptgwvFAVdoq2_F94zlCfv0bz1WCzsWzLdneg.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/lexend/v19/wlptgwvFAVdoq2_F94zlCfv0bz1WCwkWzLdneg.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/lexend/v19/wlptgwvFAVdoq2_F94zlCfv0bz1WC-URzLdneg.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/lexend/v19/wlptgwvFAVdoq2_F94zlCfv0bz1WC9wRzLdneg.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 
 * OpenDyslexic
 * A typeface specifically designed for readers with dyslexia.
 * It features weighted bottoms to the letters, which helps prevent
 * them from flipping and swapping in the reader's mind.
 */

@font-face {
  font-family: 'OpenDyslexic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/woff/OpenDyslexic-Regular.woff') format('woff');
}

@font-face {
  font-family: 'OpenDyslexic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/woff/OpenDyslexic-Bold.woff') format('woff');
}

@font-face {
  font-family: 'OpenDyslexic';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/woff/OpenDyslexic-Italic.woff') format('woff');
}

@font-face {
  font-family: 'OpenDyslexic';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('https://cdn.jsdelivr.net/npm/open-dyslexic@1.0.3/woff/OpenDyslexic-BoldItalic.woff') format('woff');
}

/* 
 * Inter
 * A modern, highly legible sans-serif font designed for computer screens.
 * It features a tall x-height and open forms, making it highly readable
 * at small sizes and in low-resolution environments.
 */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 
 * Font Family Variables
 * These variables make it easy to apply different font families
 * throughout the component library.
 */

:root {
  /* Primary font stacks */
  --ob-font-system: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ob-font-atkinson: 'Atkinson Hyperlegible', var(--ob-font-system);
  --ob-font-lexend: 'Lexend', var(--ob-font-system);
  --ob-font-opendyslexic: 'OpenDyslexic', var(--ob-font-system);
  --ob-font-inter: 'Inter', var(--ob-font-system);
  
  /* Default font family (can be overridden by themes) */
  --ob-font-family: var(--ob-font-system);
}

/* 
 * Font Feature Settings
 * These classes apply OpenType features that can improve readability
 */

.ob-font-features-dyslexic {
  /* Increase character spacing slightly */
  letter-spacing: 0.01em;
  /* Increase word spacing */
  word-spacing: 0.16em;
  /* Ensure consistent character forms */
  font-feature-settings: "liga" 0, "calt" 0;
}

.ob-font-features-lowvision {
  /* Increase character spacing */
  letter-spacing: 0.03em;
  /* Increase word spacing */
  word-spacing: 0.2em;
  /* Disable ligatures and contextual alternates for clearer letter shapes */
  font-feature-settings: "liga" 0, "calt" 0;
}

/* 
 * Font Family Classes
 * These classes make it easy to apply different font families
 * to specific elements.
 */

.ob-font-atkinson {
  font-family: var(--ob-font-atkinson);
}

.ob-font-lexend {
  font-family: var(--ob-font-lexend);
}

.ob-font-opendyslexic {
  font-family: var(--ob-font-opendyslexic);
}

.ob-font-inter {
  font-family: var(--ob-font-inter);
}

.ob-font-system {
  font-family: var(--ob-font-system);
}

/* Visually hidden content (for screen readers) */

.ob-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Focus styles */

.ob-focus-visible:focus-visible {
  outline: 2px solid var(--ob-border-color-focus, #3182ce);
  outline-offset: 2px;
}

/* Ensure all interactive elements have visible focus states */

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--ob-border-color-focus, #3182ce);
  outline-offset: 2px;
}

/* Skip link for keyboard users */

.ob-skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--ob-primary, #3182ce);
  color: white;
  padding: 8px;
  z-index: var(--ob-z-index-modal, 1300);
  transition: top 0.2s;
}

.ob-skip-link:focus {
  top: 0;
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* High contrast mode support */

@media (forced-colors: active) {
  .ob-badge-display,
  .ob-badge-list-item,
  .ob-profile-viewer,
  .ob-badge-issuer-form,
  .ob-issuer-dashboard {
    border: 1px solid CanvasText;
  }

  .ob-button {
    border: 1px solid CanvasText;
  }

  .ob-tab-button.active {
    border-bottom: 3px solid CanvasText;
  }
}

/* Improve text readability */

.ob-badge-description,
.ob-profile-description,
.ob-form-label,
.ob-form-help {
  max-width: 65ch; /* Optimal line length for readability */
}

/* Ensure sufficient color contrast */

.ob-form-error {
  color: var(--ob-error, #e53e3e);
  font-weight: var(--ob-font-weight-medium, 500);
}

.ob-form-success {
  color: var(--ob-success, #38a169);
  font-weight: var(--ob-font-weight-medium, 500);
}

/* Ensure form fields have sufficient spacing for touch targets */

.ob-form-input,
.ob-form-textarea,
.ob-button,
.ob-tab-button {
  min-height: 44px; /* Minimum touch target size */
}

/* Improve focus visibility for form elements */

.ob-form-input:focus,
.ob-form-textarea:focus {
  outline: none;
  border-color: var(--ob-form-input-focus, #3182ce);
  box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.3);
}

/* Status messages for screen readers */

.ob-status {
  border-radius: 4px;
  padding: 8px 12px;
  margin-top: 16px;
}

.ob-status[aria-live="polite"] {
  background-color: var(--ob-info-light, #bee3f8);
  color: var(--ob-text-primary, #1a202c);
}

.ob-status[role="alert"] {
  background-color: var(--ob-error-light, #fed7d7);
  color: var(--ob-text-primary, #1a202c);
}

.ob-status[role="status"] {
  background-color: var(--ob-success-light, #c6f6d5);
  color: var(--ob-text-primary, #1a202c);
}

/* Neurodiversity-specific styles */

/* Content density adjustments */

.ob-density-compact {
  --ob-space-1: 0.125rem;
  --ob-space-2: 0.25rem;
  --ob-space-3: 0.5rem;
  --ob-space-4: 0.75rem;
  --ob-space-5: 1rem;
  --ob-space-6: 1.25rem;
  --ob-space-8: 1.5rem;
  --ob-space-10: 2rem;
  --ob-space-12: 2.5rem;
  --ob-space-16: 3rem;
}

.ob-density-spacious {
  --ob-space-1: 0.5rem;
  --ob-space-2: 0.75rem;
  --ob-space-3: 1rem;
  --ob-space-4: 1.5rem;
  --ob-space-5: 2rem;
  --ob-space-6: 2.5rem;
  --ob-space-8: 3rem;
  --ob-space-10: 3.5rem;
  --ob-space-12: 4rem;
  --ob-space-16: 5rem;
  --ob-line-height-normal: 1.8;
  --ob-line-height-relaxed: 2;
}

/* Focus mode to reduce distractions */

.ob-focus-mode {
  /* Dim non-focused content */
  --ob-focus-mode-opacity: 0.7;
  --ob-focus-mode-transition: opacity 0.3s ease;
}

.ob-focus-mode .ob-badge-list-item:not(:hover):not(:focus-within),
.ob-focus-mode .ob-form-group:not(:focus-within) {
  opacity: var(--ob-focus-mode-opacity);
  transition: var(--ob-focus-mode-transition);
}

.ob-focus-mode .ob-badge-list-item:hover,
.ob-focus-mode .ob-badge-list-item:focus-within,
.ob-focus-mode .ob-form-group:focus-within {
  opacity: 1;
  transition: var(--ob-focus-mode-transition);
  box-shadow: 0 0 0 2px var(--ob-primary);
}

/* Animation control for vestibular disorders and sensory sensitivities */

.ob-animations-none * {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

.ob-animations-minimal * {
  animation-duration: 0.3s !important;
  transition-duration: 0.3s !important;
}

/* Reading modes for dyslexia and visual processing */

/* Bionic reading - highlight first part of words to aid reading flow */

.ob-reading-bionic p,
.ob-reading-bionic li,
.ob-reading-bionic h1,
.ob-reading-bionic h2,
.ob-reading-bionic h3,
.ob-reading-bionic h4,
.ob-reading-bionic h5,
.ob-reading-bionic h6 {
  font-weight: 400;
}

.ob-reading-bionic p span.ob-bionic-highlight,
.ob-reading-bionic li span.ob-bionic-highlight,
.ob-reading-bionic h1 span.ob-bionic-highlight,
.ob-reading-bionic h2 span.ob-bionic-highlight,
.ob-reading-bionic h3 span.ob-bionic-highlight,
.ob-reading-bionic h4 span.ob-bionic-highlight,
.ob-reading-bionic h5 span.ob-bionic-highlight,
.ob-reading-bionic h6 span.ob-bionic-highlight {
  font-weight: 700;
}

/* Reading ruler - helps track lines of text */

.ob-reading-ruler {
  --ob-ruler-height: 2.5em;
  --ob-ruler-color: rgba(255, 255, 0, 0.1);
  --ob-ruler-border: rgba(0, 0, 0, 0.1);
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><rect x="0" y="14" width="32" height="4" fill="yellow" opacity="0.3"/></svg>'), auto;
}

/* Paragraph focus - highlights the paragraph being read */

.ob-reading-paragraph-focus p:hover,
.ob-reading-paragraph-focus li:hover {
  background-color: rgba(255, 255, 0, 0.1);
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

/* Number formatting for dyscalculia */

.ob-number-separator {
  color: var(--ob-secondary);
  margin: 0 0.1em;
  font-weight: normal;
}

.ob-number-highlight {
  font-weight: bold;
  color: var(--ob-primary);
}

/* Font Family Utility Classes */

.ob-font-dyslexic {
  font-family: var(--ob-font-opendyslexic);
  letter-spacing: var(--ob-letter-spacing, 0.05em);
  word-spacing: var(--ob-word-spacing, 0.1em);
}

.ob-font-accessible {
  font-family: var(--ob-font-atkinson);
}

.ob-font-readable {
  font-family: var(--ob-font-lexend);
  letter-spacing: 0.01em;
}

.ob-font-standard {
  font-family: var(--ob-font-inter);
}

/* Text Spacing Adjustments for Cognitive Accessibility */

.ob-text-spacing-enhanced {
  line-height: var(--ob-line-height-relaxed, 1.8);
  letter-spacing: var(--ob-letter-spacing, 0.05em);
  word-spacing: var(--ob-word-spacing, 0.1em);
}

/* Font Size Adjustments */

.ob-text-size-base {
  font-size: var(--ob-font-size-md, 1rem);
}

.ob-text-size-large {
  font-size: var(--ob-font-size-lg, 1.25rem);
}

.ob-text-size-xl {
  font-size: var(--ob-font-size-xl, 1.5rem);
}

/* Ensure sufficient touch target size for mobile */

@media (pointer: coarse) {
  .ob-touch-target {
    min-height: 44px;
    min-width: 44px;
  }
}


.resize-observer[data-v-b329ee4c]{
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100%;
  border:none;
  background-color:transparent;
  pointer-events:none;
  display:block;
  overflow:hidden;
  opacity:0
}

.resize-observer[data-v-b329ee4c] object{
  display:block;
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  overflow:hidden;
  pointer-events:none;
  z-index:-1
}

.v-popper__popper{
  z-index:10000;
  top:0;
  left:0;
  outline:none
}

.v-popper__popper.v-popper__popper--hidden{
  visibility:hidden;
  opacity:0;
  transition:opacity .15s,visibility .15s;
  pointer-events:none
}

.v-popper__popper.v-popper__popper--shown{
  visibility:visible;
  opacity:1;
  transition:opacity .15s
}

.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{
  transition:none!important
}

.v-popper__backdrop{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:none
}

.v-popper__inner{
  position:relative;
  box-sizing:border-box;
  overflow-y:auto
}

.v-popper__inner>div{
  position:relative;
  z-index:1;
  max-width:inherit;
  max-height:inherit
}

.v-popper__arrow-container{
  position:absolute;
  width:10px;
  height:10px
}

.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{
  display:none
}

.v-popper__arrow-inner,.v-popper__arrow-outer{
  border-style:solid;
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:0
}

.v-popper__arrow-inner{
  visibility:hidden;
  border-width:7px
}

.v-popper__arrow-outer{
  border-width:6px
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{
  left:-2px
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{
  left:-1px
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{
  border-bottom-width:0;
  border-left-color:transparent!important;
  border-right-color:transparent!important;
  border-bottom-color:transparent!important
}

.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{
  top:-2px
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{
  top:0
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{
  border-top-width:0;
  border-left-color:transparent!important;
  border-right-color:transparent!important;
  border-top-color:transparent!important
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{
  top:-4px
}

.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{
  top:-6px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{
  top:-2px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{
  top:-1px
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{
  border-left-width:0;
  border-left-color:transparent!important;
  border-top-color:transparent!important;
  border-bottom-color:transparent!important
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{
  left:-4px
}

.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{
  left:-6px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{
  right:-10px
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{
  border-right-width:0;
  border-top-color:transparent!important;
  border-right-color:transparent!important;
  border-bottom-color:transparent!important
}

.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{
  left:-2px
}

.v-popper--theme-dropdown .v-popper__inner{
  background:#fff;
  color:#000;
  border-radius:6px;
  border:1px solid #ddd;
  box-shadow:0 6px 30px #0000001a
}

.v-popper--theme-dropdown .v-popper__arrow-inner{
  visibility:visible;
  border-color:#fff
}

.v-popper--theme-dropdown .v-popper__arrow-outer{
  border-color:#ddd
}

.v-popper--theme-tooltip .v-popper__inner{
  background:rgba(0,0,0,.8);
  color:#fff;
  border-radius:6px;
  padding:7px 12px 6px
}

.v-popper--theme-tooltip .v-popper__arrow-outer{
  border-color:#000c
}

.htw-range-input::-webkit-slider-thumb{
  height:.75rem;
  width:.75rem;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  border-radius:9999px;
  border-width:1px;
  border-style:solid;
  border-color:#00000040;
  --tw-bg-opacity: 1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity))
}

:is(.htw-dark .htw-range-input)::-webkit-slider-thumb{
  border-color:#ffffff40;
  --tw-bg-opacity: 1;
  background-color:rgb(63 63 70 / var(--tw-bg-opacity))
}

.htw-range-input:hover::-webkit-slider-thumb{
  --tw-border-opacity: 1 !important;
  border-color:rgb(16 185 129 / var(--tw-border-opacity))!important;
  --tw-bg-opacity: 1 !important;
  background-color:rgb(16 185 129 / var(--tw-bg-opacity))!important
}

.htw-range-input::-moz-range-thumb{
  height:.75rem;
  width:.75rem;
  -moz-appearance:none;
  -webkit-appearance:none;
  appearance:none;
  border-radius:9999px;
  border-width:1px;
  border-style:solid;
  border-color:#00000040;
  --tw-bg-opacity: 1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity))
}

:is(.htw-dark .htw-range-input)::-moz-range-thumb{
  border-color:#ffffff40;
  --tw-bg-opacity: 1;
  background-color:rgb(63 63 70 / var(--tw-bg-opacity))
}

.htw-range-input:hover::-moz-range-thumb{
  --tw-border-opacity: 1 !important;
  border-color:rgb(16 185 129 / var(--tw-border-opacity))!important;
  --tw-bg-opacity: 1 !important;
  background-color:rgb(16 185 129 / var(--tw-bg-opacity))!important
}

.v-popper{
  line-height:0
}

.htw-dark .v-popper--theme-dropdown .v-popper__inner{
  --tw-border-opacity: 1;
  border-color:rgb(31 31 33 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color:rgb(63 63 70 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color:rgb(244 244 245 / var(--tw-text-opacity))
}

.htw-dark .v-popper--theme-dropdown .v-popper__arrow-inner{
  --tw-border-opacity: 1;
  border-color:rgb(63 63 70 / var(--tw-border-opacity))
}

.htw-dark .v-popper--theme-dropdown .v-popper__arrow-outer{
  --tw-border-opacity: 1;
  border-color:rgb(31 31 33 / var(--tw-border-opacity))
}

.v-popper--theme-dropdown.v-popper__popper--show-from .v-popper__wrapper{
  transform:scale(.75)
}

.v-popper--theme-dropdown.v-popper__popper--show-to .v-popper__wrapper{
  transform:none;
  transition:transform .15s cubic-bezier(0,1,.5,1)
}

.v-popper__popper:focus-visible{
  outline:none
}

.htw-bind-col-size{
  grid-template-columns:repeat(auto-fill,minmax(var(--histoire-col-size),1fr))
}

.__histoire-json-code[data-v-935458a7] .cm-editor{
  height:100%;
  min-width:280px
}

/* @TODO custom themes */

.v-popper {
  line-height: 0;
}

.htw-dark .v-popper--theme-dropdown .v-popper__inner{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-border-opacity));
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-700) / var(--tw-bg-opacity));
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-100) / var(--tw-text-opacity))
}

.htw-dark .v-popper--theme-dropdown .v-popper__arrow-inner{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-700) / var(--tw-border-opacity))
}

.htw-dark .v-popper--theme-dropdown .v-popper__arrow-outer{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-border-opacity))
}

.v-popper--theme-dropdown.v-popper__popper--show-from .v-popper__wrapper {
  transform: scale(.75);
}

.v-popper--theme-dropdown.v-popper__popper--show-to .v-popper__wrapper {
  transform: none;
  transition: transform .15s cubic-bezier(0, 1, .5, 1);
}

.v-popper__popper:focus-visible {
  outline: none;
}

.__histoire-scale-x-enter-active,
  .__histoire-scale-x-leave-active {
  transition: transform .15s, opacity .15s;
}

.__histoire-scale-x-enter-from,
  .__histoire-scale-x-leave-to {
  transform: scaleX(0);
  opacity: 0;
}

.__histoire-scale-y-enter-active,
  .__histoire-scale-y-leave-active {
  transition: transform .15s, opacity .15s;
}

.__histoire-scale-y-enter-from,
  .__histoire-scale-y-leave-to {
  transform: scaleY(0);
  opacity: 0;
}

.__histoire-fade-enter-active,
  .__histoire-fade-leave-active {
  transition: opacity .15s;
}

.__histoire-fade-enter-from,
  .__histoire-fade-leave-to {
  opacity: 0;
}

.__histoire-fade-bottom-enter-active,
  .__histoire-fade-bottom-leave-active {
  transition: transform .15s, opacity .15s;
  transform: translateY(0px);
}

.__histoire-fade-bottom-enter-from,
  .__histoire-fade-bottom-leave-to {
  transform: translateY(32px);
  opacity: 0;
}

*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}

a,
input,
button {
  color: inherit;
}

a {
  text-decoration: inherit;
}

input, button {
  font-family: inherit;
}

a,
button {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

body,
  pre {
  margin: 0;
}

html,
  body,
  #app {
  height: 100%;
}

html {
  font-family: 'Noto Sans Display', system-ui, sans-serif;
  font-size: 1rem;
}

body {
  font-size: 1.125rem;
}

@media (min-width: 640px) {
  body {
    font-size: .875rem;
  }
}

.__histoire-render-story:not(.__histoire-render-custom-controls) {
  overflow: auto;
  min-height: 100%;
}

.__histoire-code .shiki {
  background: transparent !important;
}

.htw-prose h1:not(:hover) .header-anchor[aria-hidden="true"], .htw-prose h2:not(:hover) .header-anchor[aria-hidden="true"], .htw-prose h3:not(:hover) .header-anchor[aria-hidden="true"], .htw-prose h4:not(:hover) .header-anchor[aria-hidden="true"] {
  visibility: hidden;
}

.htw-prose hr {
  margin: 1rem 0;
}

.__histoire-pane-shadow-from-right {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0));
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: right;
}

.htw-dark .__histoire-pane-shadow-from-right {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
}

*, ::before, ::after{
  --tw-border-spacing-x:0;
  --tw-border-spacing-y:0;
  --tw-translate-x:0;
  --tw-translate-y:0;
  --tw-rotate:0;
  --tw-skew-x:0;
  --tw-skew-y:0;
  --tw-scale-x:1;
  --tw-scale-y:1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness:proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width:0px;
  --tw-ring-offset-color:#fff;
  --tw-ring-color:rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:0 0 #0000;
  --tw-ring-shadow:0 0 #0000;
  --tw-shadow:0 0 #0000;
  --tw-shadow-colored:0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: 
}

::backdrop{
  --tw-border-spacing-x:0;
  --tw-border-spacing-y:0;
  --tw-translate-x:0;
  --tw-translate-y:0;
  --tw-rotate:0;
  --tw-skew-x:0;
  --tw-skew-y:0;
  --tw-scale-x:1;
  --tw-scale-y:1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness:proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width:0px;
  --tw-ring-offset-color:#fff;
  --tw-ring-color:rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow:0 0 #0000;
  --tw-ring-shadow:0 0 #0000;
  --tw-shadow:0 0 #0000;
  --tw-shadow-colored:0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: 
}

.htw-prose{
  color:var(--tw-prose-body);
  max-width:65ch;
}

.htw-prose :where(p):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:1.25em;
  margin-bottom:1.25em
}

.htw-prose :where([class~="lead"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-lead);
  font-size:1.25em;
  line-height:1.6;
  margin-top:1.2em;
  margin-bottom:1.2em
}

.htw-prose :where(a):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:rgb(var(--_histoire-color-primary-500));
  text-decoration:none;
  font-weight:500;
}

.htw-prose :where(a):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)):hover{
  text-decoration:underline
}

.htw-prose :where(strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-bold);
  font-weight:600
}

.htw-prose :where(a strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(blockquote strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(thead th strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(ol):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:decimal;
  margin-top:1.25em;
  margin-bottom:1.25em;
  padding-left:1.625em
}

.htw-prose :where(ol[type="A"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:upper-alpha
}

.htw-prose :where(ol[type="a"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:lower-alpha
}

.htw-prose :where(ol[type="A" s]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:upper-alpha
}

.htw-prose :where(ol[type="a" s]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:lower-alpha
}

.htw-prose :where(ol[type="I"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:upper-roman
}

.htw-prose :where(ol[type="i"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:lower-roman
}

.htw-prose :where(ol[type="I" s]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:upper-roman
}

.htw-prose :where(ol[type="i" s]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:lower-roman
}

.htw-prose :where(ol[type="1"]):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:decimal
}

.htw-prose :where(ul):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  list-style-type:disc;
  margin-top:1.25em;
  margin-bottom:1.25em;
  padding-left:1.625em
}

.htw-prose :where(ol > li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::marker{
  font-weight:400;
  color:var(--tw-prose-counters)
}

.htw-prose :where(ul > li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::marker{
  color:var(--tw-prose-bullets)
}

.htw-prose :where(dt):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:600;
  margin-top:1.25em
}

.htw-prose :where(hr):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-color:var(--tw-prose-hr);
  border-top-width:1px;
  margin-top:3em;
  margin-bottom:3em
}

.htw-prose :where(blockquote):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:500;
  font-style:italic;
  color:var(--tw-prose-quotes);
  border-left-width:0.25rem;
  border-left-color:var(--tw-prose-quote-borders);
  quotes:"\201C""\201D""\2018""\2019";
  margin-top:1.6em;
  margin-bottom:1.6em;
  padding-left:1em;
  margin-left:0;
  margin-right:0;
  background-color:rgb(var(--_histoire-color-gray-100));
  padding:.25rem .375rem;
}

.htw-prose :where(blockquote):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)) p:first-child{
  margin-top:0
}

.htw-prose :where(blockquote):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)) p:last-child{
  margin-bottom:0
}

.htw-dark .htw-prose :where(blockquote):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  background-color:rgb(var(--_histoire-color-gray-750))
}

.htw-prose :where(blockquote p:first-of-type):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::before{
  content:open-quote
}

.htw-prose :where(blockquote p:last-of-type):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::after{
  content:close-quote
}

.htw-prose :where(h1):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:800;
  font-size:2.25em;
  margin-top:0;
  margin-bottom:0.8888889em;
  line-height:1.1111111
}

.htw-prose :where(h1 strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:900;
  color:inherit
}

.htw-prose :where(h2):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:700;
  font-size:1.5em;
  margin-top:2em;
  margin-bottom:1em;
  line-height:1.3333333
}

.htw-prose :where(h2 strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:800;
  color:inherit
}

.htw-prose :where(h3):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:600;
  font-size:1.25em;
  margin-top:1.6em;
  margin-bottom:0.6em;
  line-height:1.6
}

.htw-prose :where(h3 strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:700;
  color:inherit
}

.htw-prose :where(h4):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:600;
  margin-top:1.5em;
  margin-bottom:0.5em;
  line-height:1.5
}

.htw-prose :where(h4 strong):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:700;
  color:inherit
}

.htw-prose :where(img):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:2em;
  margin-bottom:2em
}

.htw-prose :where(picture):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  display:block;
  margin-top:2em;
  margin-bottom:2em
}

.htw-prose :where(kbd):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  font-weight:500;
  font-family:inherit;
  color:var(--tw-prose-kbd);
  box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
  font-size:0.875em;
  border-radius:0.3125rem;
  padding-top:0.1875em;
  padding-right:0.375em;
  padding-bottom:0.1875em;
  padding-left:0.375em
}

.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-code);
  font-weight:normal;
  font-size:0.8rem;
  background-color:rgb(var(--_histoire-color-gray-500) / 20%);
  padding:0.05rem 0.5rem;
  border-radius:0.25rem;
}

.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::before, .htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::after{
  display:none
}

.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::before{
  content:"`"
}

.htw-prose :where(code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::after{
  content:"`"
}

.htw-prose :where(a code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(h1 code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(h2 code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit;
  font-size:0.875em
}

.htw-prose :where(h3 code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit;
  font-size:0.9em
}

.htw-prose :where(h4 code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(blockquote code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(thead th code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:inherit
}

.htw-prose :where(pre):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-pre-code);
  background-color:var(--tw-prose-pre-bg);
  overflow-x:auto;
  font-weight:400;
  font-size:0.875em;
  line-height:1.7142857;
  margin-top:1.7142857em;
  margin-bottom:1.7142857em;
  border-radius:0.375rem;
  padding-top:0.8571429em;
  padding-right:1.1428571em;
  padding-bottom:0.8571429em;
  padding-left:1.1428571em
}

.htw-prose :where(pre code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  background-color:transparent;
  border-width:0;
  border-radius:0;
  padding:0;
  font-weight:inherit;
  color:inherit;
  font-size:inherit;
  font-family:inherit;
  line-height:inherit
}

.htw-prose :where(pre code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::before{
  content:none
}

.htw-prose :where(pre code):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *))::after{
  content:none
}

.htw-prose :where(table):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  width:100%;
  table-layout:auto;
  text-align:left;
  margin-top:2em;
  margin-bottom:2em;
  font-size:0.875em;
  line-height:1.7142857
}

.htw-prose :where(thead):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-bottom-width:1px;
  border-bottom-color:var(--tw-prose-th-borders)
}

.htw-prose :where(thead th):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-headings);
  font-weight:600;
  vertical-align:bottom;
  padding-right:0.5714286em;
  padding-bottom:0.5714286em;
  padding-left:0.5714286em
}

.htw-prose :where(tbody tr):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-bottom-width:1px;
  border-bottom-color:var(--tw-prose-td-borders)
}

.htw-prose :where(tbody tr:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-bottom-width:0
}

.htw-prose :where(tbody td):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  vertical-align:baseline
}

.htw-prose :where(tfoot):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  border-top-width:1px;
  border-top-color:var(--tw-prose-th-borders)
}

.htw-prose :where(tfoot td):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  vertical-align:top
}

.htw-prose :where(figure > *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0;
  margin-bottom:0
}

.htw-prose :where(figcaption):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  color:var(--tw-prose-captions);
  font-size:0.875em;
  line-height:1.4285714;
  margin-top:0.8571429em
}

.htw-prose{
  --tw-prose-body:#374151;
  --tw-prose-headings:#111827;
  --tw-prose-lead:#4b5563;
  --tw-prose-links:#111827;
  --tw-prose-bold:#111827;
  --tw-prose-counters:#6b7280;
  --tw-prose-bullets:#d1d5db;
  --tw-prose-hr:#e5e7eb;
  --tw-prose-quotes:#111827;
  --tw-prose-quote-borders:#e5e7eb;
  --tw-prose-captions:#6b7280;
  --tw-prose-kbd:#111827;
  --tw-prose-kbd-shadows:17 24 39;
  --tw-prose-code:#111827;
  --tw-prose-pre-code:#e5e7eb;
  --tw-prose-pre-bg:#1f2937;
  --tw-prose-th-borders:#d1d5db;
  --tw-prose-td-borders:#e5e7eb;
  --tw-prose-invert-body:#d1d5db;
  --tw-prose-invert-headings:#fff;
  --tw-prose-invert-lead:#9ca3af;
  --tw-prose-invert-links:#fff;
  --tw-prose-invert-bold:#fff;
  --tw-prose-invert-counters:#9ca3af;
  --tw-prose-invert-bullets:rgb(var(--_histoire-color-gray-500));
  --tw-prose-invert-hr:rgb(var(--_histoire-color-gray-800));
  --tw-prose-invert-quotes:#f3f4f6;
  --tw-prose-invert-quote-borders:rgb(var(--_histoire-color-gray-800));
  --tw-prose-invert-captions:#9ca3af;
  --tw-prose-invert-kbd:#fff;
  --tw-prose-invert-kbd-shadows:255 255 255;
  --tw-prose-invert-code:#fff;
  --tw-prose-invert-pre-code:#d1d5db;
  --tw-prose-invert-pre-bg:rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders:#4b5563;
  --tw-prose-invert-td-borders:#374151;
  font-size:1rem;
  line-height:1.75
}

.htw-prose :where(picture > img):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0;
  margin-bottom:0
}

.htw-prose :where(video):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:2em;
  margin-bottom:2em
}

.htw-prose :where(li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0.1rem;
  margin-bottom:0.1rem
}

.htw-prose :where(ol > li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-left:0.375em
}

.htw-prose :where(ul > li):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-left:0.375em
}

.htw-prose :where(.htw-prose > ul > li p):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0.75em;
  margin-bottom:0.75em
}

.htw-prose :where(.htw-prose > ul > li > *:first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:1.25em
}

.htw-prose :where(.htw-prose > ul > li > *:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-bottom:1.25em
}

.htw-prose :where(.htw-prose > ol > li > *:first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:1.25em
}

.htw-prose :where(.htw-prose > ol > li > *:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-bottom:1.25em
}

.htw-prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0.75em;
  margin-bottom:0.75em
}

.htw-prose :where(dl):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:1.25em;
  margin-bottom:1.25em
}

.htw-prose :where(dd):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0.5em;
  padding-left:1.625em
}

.htw-prose :where(hr + *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(h2 + *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(h3 + *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(h4 + *):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(thead th:first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-left:0
}

.htw-prose :where(thead th:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-right:0
}

.htw-prose :where(tbody td, tfoot td):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-top:0.5714286em;
  padding-right:0.5714286em;
  padding-bottom:0.5714286em;
  padding-left:0.5714286em
}

.htw-prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-left:0
}

.htw-prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  padding-right:0
}

.htw-prose :where(figure):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:2em;
  margin-bottom:2em
}

.htw-prose :where(.htw-prose > :first-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-top:0
}

.htw-prose :where(.htw-prose > :last-child):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-bottom:0
}

.htw-prose :where(h1, h2, h3, h4, th):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)){
  margin-bottom:0.75rem;
}

.htw-prose :where(h1, h2, h3, h4, th):not(:where([class~="htw-not-prose"],[class~="htw-not-prose"] *)):not(:first-child){
  margin-top:1.25rem
}

.htw-pointer-events-none{
  pointer-events:none
}

.htw-invisible{
  visibility:hidden
}

.htw-fixed{
  position:fixed
}

.htw-absolute{
  position:absolute
}

.htw-relative{
  position:relative
}

.htw-inset-0{
  inset:0px
}

.htw-bottom-0{
  bottom:0px
}

.htw-bottom-4{
  bottom:1rem
}

.htw-bottom-5{
  bottom:1.25rem
}

.htw-bottom-8{
  bottom:2rem
}

.htw-left-0{
  left:0px
}

.htw-left-5{
  left:1.25rem
}

.htw-left-8{
  left:2rem
}

.htw-right-0{
  right:0px
}

.htw-right-4{
  right:1rem
}

.htw-right-5{
  right:1.25rem
}

.htw-right-8{
  right:2rem
}

.htw-top-0{
  top:0px
}

.htw-top-5{
  top:1.25rem
}

.htw-top-8{
  top:2rem
}

.htw-isolate{
  isolation:isolate
}

.htw-z-10{
  z-index:10
}

.htw-z-20{
  z-index:20
}

.htw-m-0{
  margin:0px
}

.htw-m-1{
  margin:0.25rem
}

.htw-m-4{
  margin:1rem
}

.htw-m-auto{
  margin:auto
}

.-htw-my-1{
  margin-top:-0.25rem;
  margin-bottom:-0.25rem
}

.htw-mx-1{
  margin-left:0.25rem;
  margin-right:0.25rem
}

.htw-mx-2{
  margin-left:0.5rem;
  margin-right:0.5rem
}

.htw-mx-4{
  margin-left:1rem;
  margin-right:1rem
}

.htw-mx-6{
  margin-left:1.5rem;
  margin-right:1.5rem
}

.htw-my-0{
  margin-top:0px;
  margin-bottom:0px
}

.htw-my-2{
  margin-top:0.5rem;
  margin-bottom:0.5rem
}

.htw-my-4{
  margin-top:1rem;
  margin-bottom:1rem
}

.htw-my-8{
  margin-top:2rem;
  margin-bottom:2rem
}

.-htw-mt-1{
  margin-top:-0.25rem
}

.htw-mb-2{
  margin-bottom:0.5rem
}

.htw-mb-6{
  margin-bottom:1.5rem
}

.htw-mb-8{
  margin-bottom:2rem
}

.htw-ml-4{
  margin-left:1rem
}

.htw-ml-auto{
  margin-left:auto
}

.htw-mr-2{
  margin-right:0.5rem
}

.htw-mr-auto{
  margin-right:auto
}

.htw-mt-0{
  margin-top:0px
}

.htw-mt-0\.5{
  margin-top:0.125rem
}

.htw-mt-1{
  margin-top:0.25rem
}

.htw-mt-2{
  margin-top:0.5rem
}

.htw-box-border{
  box-sizing:border-box
}

.htw-block{
  display:block
}

.htw-flex{
  display:flex
}

.htw-inline-flex{
  display:inline-flex
}

.htw-grid{
  display:grid
}

.\!htw-hidden{
  display:none !important
}

.htw-hidden{
  display:none
}

.htw-h-1{
  height:0.25rem
}

.htw-h-10{
  height:2.5rem
}

.htw-h-12{
  height:3rem
}

.htw-h-16{
  height:4rem
}

.htw-h-2{
  height:0.5rem
}

.htw-h-20{
  height:5rem
}

.htw-h-3{
  height:0.75rem
}

.htw-h-32{
  height:8rem
}

.htw-h-4{
  height:1rem
}

.htw-h-48{
  height:12rem
}

.htw-h-5{
  height:1.25rem
}

.htw-h-6{
  height:1.5rem
}

.htw-h-64{
  height:16rem
}

.htw-h-8{
  height:2rem
}

.htw-h-9{
  height:2.25rem
}

.htw-h-\[100px\]{
  height:100px
}

.htw-h-\[16px\]{
  height:16px
}

.htw-h-\[1px\]{
  height:1px
}

.htw-h-\[22px\]{
  height:22px
}

.htw-h-\[27px\]{
  height:27px
}

.htw-h-\[2px\]{
  height:2px
}

.htw-h-\[51px\]{
  height:51px
}

.htw-h-fit{
  height:-moz-fit-content;
  height:fit-content
}

.htw-h-full{
  height:100%
}

.htw-h-px{
  height:1px
}

.htw-h-screen{
  height:100vh
}

.htw-max-h-\[400px\]{
  max-height:400px
}

.htw-max-h-\[80vh\]{
  max-height:80vh
}

.htw-max-h-full{
  max-height:100%
}

.htw-min-h-32{
  min-height:8rem
}

.htw-min-h-\[26px\]{
  min-height:26px
}

.htw-w-0{
  width:0px
}

.htw-w-16{
  width:4rem
}

.htw-w-2{
  width:0.5rem
}

.htw-w-20{
  width:5rem
}

.htw-w-28{
  width:7rem
}

.htw-w-3{
  width:0.75rem
}

.htw-w-32{
  width:8rem
}

.htw-w-4{
  width:1rem
}

.htw-w-5{
  width:1.25rem
}

.htw-w-6{
  width:1.5rem
}

.htw-w-64{
  width:16rem
}

.htw-w-8{
  width:2rem
}

.htw-w-\[16px\]{
  width:16px
}

.htw-w-\[2px\]{
  width:2px
}

.htw-w-fit{
  width:-moz-fit-content;
  width:fit-content
}

.htw-w-full{
  width:100%
}

.htw-w-max{
  width:-moz-max-content;
  width:max-content
}

.htw-w-px{
  width:1px
}

.htw-w-screen{
  width:100vw
}

.htw-min-w-0{
  min-width:0px
}

.htw-min-w-16{
  min-width:4rem
}

.htw-min-w-4{
  min-width:1rem
}

.htw-min-w-\[150px\]{
  min-width:150px
}

.htw-min-w-\[80px\]{
  min-width:80px
}

.htw-max-w-6{
  max-width:1.5rem
}

.htw-max-w-\[400px\]{
  max-width:400px
}

.htw-max-w-\[512px\]{
  max-width:512px
}

.htw-max-w-\[63px\]{
  max-width:63px
}

.htw-max-w-\[82px\]{
  max-width:82px
}

.htw-max-w-full{
  max-width:100%
}

.htw-max-w-none{
  max-width:none
}

.htw-flex-1{
  flex:1 1 0%
}

.htw-flex-none{
  flex:none
}

.htw-flex-shrink{
  flex-shrink:1
}

.htw-shrink{
  flex-shrink:1
}

.htw-shrink-0{
  flex-shrink:0
}

.htw-grow{
  flex-grow:1
}

.htw-rotate-90{
  --tw-rotate:90deg;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.htw-scale-0{
  --tw-scale-x:0;
  --tw-scale-y:0;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.htw-cursor-default{
  cursor:default
}

.htw-cursor-ew-resize{
  cursor:ew-resize
}

.htw-cursor-ns-resize{
  cursor:ns-resize
}

.htw-cursor-nwse-resize{
  cursor:nwse-resize
}

.htw-cursor-pointer{
  cursor:pointer
}

.htw-cursor-text{
  cursor:text
}

.htw-select-none{
  -webkit-user-select:none;
     -moz-user-select:none;
          user-select:none
}

.htw-resize-none{
  resize:none
}

.htw-resize-y{
  resize:vertical
}

.htw-appearance-none{
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none
}

.htw-grid-cols-\[repeat\(auto-fill\,minmax\(200px\,1fr\)\)\]{
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr))
}

.htw-flex-row{
  flex-direction:row
}

.htw-flex-col{
  flex-direction:column
}

.htw-flex-wrap{
  flex-wrap:wrap
}

.htw-flex-nowrap{
  flex-wrap:nowrap
}

.htw-place-content-between{
  place-content:space-between
}

.htw-items-start{
  align-items:flex-start
}

.htw-items-end{
  align-items:flex-end
}

.htw-items-center{
  align-items:center
}

.htw-items-baseline{
  align-items:baseline
}

.htw-items-stretch{
  align-items:stretch
}

.htw-justify-end{
  justify-content:flex-end
}

.htw-justify-center{
  justify-content:center
}

.htw-justify-evenly{
  justify-content:space-evenly
}

.htw-gap-0{
  gap:0px
}

.htw-gap-0\.5{
  gap:0.125rem
}

.htw-gap-1{
  gap:0.25rem
}

.htw-gap-12{
  gap:3rem
}

.htw-gap-2{
  gap:0.5rem
}

.htw-gap-4{
  gap:1rem
}

.htw-gap-6{
  gap:1.5rem
}

.htw-gap-px{
  gap:1px
}

.htw-gap-x-2{
  -moz-column-gap:0.5rem;
       column-gap:0.5rem
}

.htw-gap-y-1{
  row-gap:0.25rem
}

.htw-space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(1rem * var(--tw-space-y-reverse))
}

.htw-divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse:0;
  border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width:calc(1px * var(--tw-divide-y-reverse))
}

.htw-divide-gray-100 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-100) / var(--tw-divide-opacity))
}

.htw-divide-gray-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-200) / var(--tw-divide-opacity))
}

.htw-overflow-auto{
  overflow:auto
}

.htw-overflow-hidden{
  overflow:hidden
}

.htw-overflow-y-auto{
  overflow-y:auto
}

.htw-overflow-y-scroll{
  overflow-y:scroll
}

.htw-scroll-smooth{
  scroll-behavior:smooth
}

.htw-truncate{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}

.htw-text-ellipsis{
  text-overflow:ellipsis
}

.htw-whitespace-nowrap{
  white-space:nowrap
}

.\!htw-rounded-\[3px\]{
  border-radius:3px !important
}

.htw-rounded{
  border-radius:0.375rem
}

.htw-rounded-full{
  border-radius:9999px
}

.htw-rounded-lg{
  border-radius:0.75rem
}

.htw-rounded-sm{
  border-radius:0.25rem
}

.htw-rounded-b-lg{
  border-bottom-right-radius:0.75rem;
  border-bottom-left-radius:0.75rem
}

.htw-rounded-l{
  border-top-left-radius:0.375rem;
  border-bottom-left-radius:0.375rem
}

.htw-rounded-r{
  border-top-right-radius:0.375rem;
  border-bottom-right-radius:0.375rem
}

.htw-rounded-r-lg{
  border-top-right-radius:0.75rem;
  border-bottom-right-radius:0.75rem
}

.htw-border{
  border-width:1px
}

.htw-border-0{
  border-width:0px
}

.htw-border-2{
  border-width:2px
}

.htw-border-8{
  border-width:8px
}

.htw-border-b{
  border-bottom-width:1px
}

.htw-border-l-2{
  border-left-width:2px
}

.htw-border-r{
  border-right-width:1px
}

.htw-border-t{
  border-top-width:1px
}

.htw-border-solid{
  border-style:solid
}

.htw-border-black\/20{
  border-color:rgb(0 0 0 / 0.2)
}

.htw-border-black\/25{
  border-color:rgb(0 0 0 / 0.25)
}

.htw-border-black\/50{
  border-color:rgb(0 0 0 / 0.5)
}

.htw-border-current{
  border-color:currentColor
}

.htw-border-gray-100{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-100) / var(--tw-border-opacity))
}

.htw-border-gray-200{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-200) / var(--tw-border-opacity))
}

.htw-border-gray-300\/30{
  border-color:rgb(var(--_histoire-color-gray-300) / 0.3)
}

.htw-border-gray-500\/10{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.1)
}

.htw-border-gray-500\/30{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.3)
}

.htw-border-gray-500\/40{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.4)
}

.htw-border-gray-500\/5{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.05)
}

.htw-border-gray-500\/50{
  border-color:rgb(var(--_histoire-color-gray-500) / 0.5)
}

.htw-border-gray-600{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-600) / var(--tw-border-opacity))
}

.htw-border-gray-800{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-800) / var(--tw-border-opacity))
}

.htw-border-gray-850{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-border-opacity))
}

.htw-border-primary-200{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-200) / var(--tw-border-opacity))
}

.htw-border-primary-500{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

.htw-border-primary-900{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-900) / var(--tw-border-opacity))
}

.htw-border-transparent{
  border-color:transparent
}

.\!htw-bg-primary-500{
  --tw-bg-opacity:1 !important;
  background-color:rgb(var(--_histoire-color-primary-500) / var(--tw-bg-opacity)) !important
}

.htw-bg-gray-100{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-100) / var(--tw-bg-opacity))
}

.htw-bg-gray-200{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-200) / var(--tw-bg-opacity))
}

.htw-bg-gray-400\/25{
  background-color:rgb(var(--_histoire-color-gray-400) / 0.25)
}

.htw-bg-gray-50{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-50) / var(--tw-bg-opacity))
}

.htw-bg-gray-500\/10{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.1)
}

.htw-bg-gray-500\/50{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.5)
}

.htw-bg-gray-700{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-700) / var(--tw-bg-opacity))
}

.htw-bg-gray-800{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-800) / var(--tw-bg-opacity))
}

.htw-bg-primary-200{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-200) / var(--tw-bg-opacity))
}

.htw-bg-primary-50{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-50) / var(--tw-bg-opacity))
}

.htw-bg-primary-500{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-500) / var(--tw-bg-opacity))
}

.htw-bg-primary-500\/10{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.1)
}

.htw-bg-primary-500\/20{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.2)
}

.htw-bg-primary-500\/25{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.25)
}

.htw-bg-primary-700{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-700) / var(--tw-bg-opacity))
}

.htw-bg-primary-800{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-800) / var(--tw-bg-opacity))
}

.htw-bg-transparent{
  background-color:transparent
}

.htw-bg-white{
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity))
}

.htw-bg-white\/80{
  background-color:rgb(255 255 255 / 0.8)
}

.htw-fill-primary-500{
  fill:rgb(var(--_histoire-color-primary-500))
}

.htw-fill-transparent{
  fill:transparent
}

.htw-stroke-white{
  stroke:#fff
}

.htw-stroke-2{
  stroke-width:2
}

.htw-p-1{
  padding:0.25rem
}

.htw-p-2{
  padding:0.5rem
}

.htw-p-4{
  padding:1rem
}

.htw-p-8{
  padding:2rem
}

.htw-p-px{
  padding:1px
}

.htw-px-0{
  padding-left:0px;
  padding-right:0px
}

.htw-px-0\.5{
  padding-left:0.125rem;
  padding-right:0.125rem
}

.htw-px-1{
  padding-left:0.25rem;
  padding-right:0.25rem
}

.htw-px-2{
  padding-left:0.5rem;
  padding-right:0.5rem
}

.htw-px-4{
  padding-left:1rem;
  padding-right:1rem
}

.htw-px-6{
  padding-left:1.5rem;
  padding-right:1.5rem
}

.htw-py-0{
  padding-top:0px;
  padding-bottom:0px
}

.htw-py-0\.5{
  padding-top:0.125rem;
  padding-bottom:0.125rem
}

.htw-py-1{
  padding-top:0.25rem;
  padding-bottom:0.25rem
}

.htw-py-12{
  padding-top:3rem;
  padding-bottom:3rem
}

.htw-py-2{
  padding-top:0.5rem;
  padding-bottom:0.5rem
}

.htw-py-3{
  padding-top:0.75rem;
  padding-bottom:0.75rem
}

.htw-py-4{
  padding-top:1rem;
  padding-bottom:1rem
}

.htw-pl-0{
  padding-left:0px
}

.htw-pl-0\.5{
  padding-left:0.125rem
}

.htw-pl-2{
  padding-left:0.5rem
}

.htw-pl-4{
  padding-left:1rem
}

.htw-pl-6{
  padding-left:1.5rem
}

.htw-pr-2{
  padding-right:0.5rem
}

.htw-pr-6{
  padding-right:1.5rem
}

.htw-pt-4{
  padding-top:1rem
}

.htw-text-left{
  text-align:left
}

.htw-text-center{
  text-align:center
}

.htw-font-mono{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}

.htw-text-2xl{
  font-size:1.5rem;
  line-height:2rem
}

.htw-text-5xl{
  font-size:3rem;
  line-height:1
}

.htw-text-lg{
  font-size:1.125rem;
  line-height:1.75rem
}

.htw-text-sm{
  font-size:0.875rem;
  line-height:1.25rem
}

.htw-text-xs{
  font-size:0.75rem;
  line-height:1rem
}

.htw-font-bold{
  font-weight:700
}

.htw-uppercase{
  text-transform:uppercase
}

.htw-leading-none{
  line-height:1
}

.htw-leading-normal{
  line-height:1.5
}

.htw-text-black\/\[1\%\]{
  color:rgb(0 0 0 / 1%)
}

.htw-text-gray-400{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-400) / var(--tw-text-opacity))
}

.htw-text-gray-500{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-500) / var(--tw-text-opacity))
}

.htw-text-gray-500\/20{
  color:rgb(var(--_histoire-color-gray-500) / 0.2)
}

.htw-text-gray-700{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-700) / var(--tw-text-opacity))
}

.htw-text-gray-900{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-900) / var(--tw-text-opacity))
}

.htw-text-inherit{
  color:inherit
}

.htw-text-orange-500{
  --tw-text-opacity:1;
  color:rgb(249 115 22 / var(--tw-text-opacity))
}

.htw-text-primary-200{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-200) / var(--tw-text-opacity))
}

.htw-text-primary-400{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-400) / var(--tw-text-opacity))
}

.htw-text-primary-500{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-500) / var(--tw-text-opacity))
}

.htw-text-primary-600{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-600) / var(--tw-text-opacity))
}

.htw-text-primary-800{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-800) / var(--tw-text-opacity))
}

.htw-text-red-500{
  --tw-text-opacity:1;
  color:rgb(239 68 68 / var(--tw-text-opacity))
}

.htw-text-white{
  --tw-text-opacity:1;
  color:rgb(255 255 255 / var(--tw-text-opacity))
}

.htw-opacity-0{
  opacity:0
}

.htw-opacity-20{
  opacity:0.2
}

.htw-opacity-25{
  opacity:0.25
}

.htw-opacity-30{
  opacity:0.3
}

.htw-opacity-40{
  opacity:0.4
}

.htw-opacity-50{
  opacity:0.5
}

.htw-opacity-60{
  opacity:0.6
}

.htw-opacity-70{
  opacity:0.7
}

.htw-shadow-xl{
  --tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.htw-outline-none{
  outline:2px solid transparent;
  outline-offset:2px
}

.htw-transition-all{
  transition-property:all;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.htw-transition-border{
  transition-property:border;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.htw-transition-colors{
  transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.htw-transition-none{
  transition-property:none
}

.htw-transition-transform{
  transition-property:transform;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.htw-delay-150{
  transition-delay:150ms
}

.htw-duration-150{
  transition-duration:150ms
}

.htw-duration-200{
  transition-duration:200ms
}

.htw-duration-300{
  transition-duration:300ms
}

.htw-ease-\[cubic-bezier\(0\,1\,\.6\,1\)\]{
  transition-timing-function:cubic-bezier(0,1,.6,1)
}

.htw-ease-in-out{
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)
}

.htw-ease-out{
  transition-timing-function:cubic-bezier(0, 0, 0.2, 1)
}

.htw-will-change-transform{
  will-change:transform
}

:is(.htw-dark .dark\:htw-prose-invert){
  --tw-prose-body:var(--tw-prose-invert-body);
  --tw-prose-headings:var(--tw-prose-invert-headings);
  --tw-prose-lead:var(--tw-prose-invert-lead);
  --tw-prose-links:var(--tw-prose-invert-links);
  --tw-prose-bold:var(--tw-prose-invert-bold);
  --tw-prose-counters:var(--tw-prose-invert-counters);
  --tw-prose-bullets:var(--tw-prose-invert-bullets);
  --tw-prose-hr:var(--tw-prose-invert-hr);
  --tw-prose-quotes:var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);
  --tw-prose-captions:var(--tw-prose-invert-captions);
  --tw-prose-kbd:var(--tw-prose-invert-kbd);
  --tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);
  --tw-prose-code:var(--tw-prose-invert-code);
  --tw-prose-pre-code:var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders:var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders:var(--tw-prose-invert-td-borders)
}

.first\:htw-mt-0:first-child{
  margin-top:0px
}

.last\:htw-mb-0:last-child{
  margin-bottom:0px
}

.focus-within\:htw-border-primary-500:focus-within{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

.focus-within\:htw-bg-gray-500\/5:focus-within{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.05)
}

.hover\:htw-border-primary-500:hover{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

.hover\:htw-bg-gray-200:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-200) / var(--tw-bg-opacity))
}

.hover\:htw-bg-gray-500\/10:hover{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.1)
}

.hover\:htw-bg-gray-500\/20:hover{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.2)
}

.hover\:htw-bg-gray-500\/30:hover{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.3)
}

.hover\:htw-bg-primary-100:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-100) / var(--tw-bg-opacity))
}

.hover\:htw-bg-primary-200:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-200) / var(--tw-bg-opacity))
}

.hover\:htw-bg-primary-300:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-300) / var(--tw-bg-opacity))
}

.hover\:htw-bg-primary-50:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-50) / var(--tw-bg-opacity))
}

.hover\:htw-bg-primary-500\/10:hover{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.1)
}

.hover\:htw-bg-primary-500\/30:hover{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.3)
}

.hover\:htw-bg-primary-500\/50:hover{
  background-color:rgb(var(--_histoire-color-primary-500) / 0.5)
}

.hover\:htw-bg-primary-600:hover{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-600) / var(--tw-bg-opacity))
}

.hover\:htw-text-primary-500:hover{
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-500) / var(--tw-text-opacity))
}

.hover\:htw-opacity-100:hover{
  opacity:1
}

.focus\:htw-border-primary-500:focus{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

.focus\:htw-border-primary-500\/50:focus{
  border-color:rgb(var(--_histoire-color-primary-500) / 0.5)
}

.focus\:htw-opacity-100:focus{
  opacity:1
}

.focus-visible\:htw-border-primary-500:focus-visible{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

.active\:htw-bg-gray-600\/50:active{
  background-color:rgb(var(--_histoire-color-gray-600) / 0.5)
}

.htw-group:first-child .group-first\:htw-hidden{
  display:none
}

.htw-group:nth-child(odd) .group-odd\:htw-bg-gray-100\/50{
  background-color:rgb(var(--_histoire-color-gray-100) / 0.5)
}

.htw-group:focus-within .group-focus-within\:htw-visible{
  visibility:visible
}

.htw-group:hover .group-hover\:htw-flex{
  display:flex
}

.htw-group:hover .group-hover\:htw-border-primary-500{
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

.htw-group:hover .group-hover\:htw-bg-primary-100{
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-100) / var(--tw-bg-opacity))
}

.htw-group:hover .group-hover\:htw-opacity-100{
  opacity:1
}

.htw-group:hover .group-hover\:htw-opacity-90{
  opacity:0.9
}

.htw-group:active .group-active\:htw-bg-gray-500\/20{
  background-color:rgb(var(--_histoire-color-gray-500) / 0.2)
}

:is(.htw-dark .dark\:htw-divide-gray-750) > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-750) / var(--tw-divide-opacity))
}

:is(.htw-dark .dark\:htw-divide-gray-800) > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-800) / var(--tw-divide-opacity))
}

:is(.htw-dark .dark\:htw-divide-gray-850) > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-divide-opacity))
}

:is(.htw-dark .dark\:htw-border-gray-700\/30){
  border-color:rgb(var(--_histoire-color-gray-700) / 0.3)
}

:is(.htw-dark .dark\:htw-border-gray-750){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-750) / var(--tw-border-opacity))
}

:is(.htw-dark .dark\:htw-border-gray-800){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-800) / var(--tw-border-opacity))
}

:is(.htw-dark .dark\:htw-border-gray-850){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-gray-850) / var(--tw-border-opacity))
}

:is(.htw-dark .dark\:htw-border-primary-900){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-900) / var(--tw-border-opacity))
}

:is(.htw-dark .dark\:htw-border-white\/20){
  border-color:rgb(255 255 255 / 0.2)
}

:is(.htw-dark .dark\:htw-border-white\/25){
  border-color:rgb(255 255 255 / 0.25)
}

:is(.htw-dark .dark\:htw-border-white\/50){
  border-color:rgb(255 255 255 / 0.5)
}

:is(.htw-dark .dark\:htw-bg-black){
  --tw-bg-opacity:1;
  background-color:rgb(0 0 0 / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-bg-gray-600){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-600) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-bg-gray-700){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-700) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-bg-gray-750){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-750) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-bg-gray-900){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-900) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-bg-gray-900\/80){
  background-color:rgb(var(--_histoire-color-gray-900) / 0.8)
}

:is(.htw-dark .dark\:htw-bg-primary-400){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-400) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-bg-primary-600){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-600) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-bg-primary-700){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-700) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-bg-primary-800){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-800) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:htw-text-black){
  --tw-text-opacity:1;
  color:rgb(0 0 0 / var(--tw-text-opacity))
}

:is(.htw-dark .dark\:htw-text-gray-100){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-100) / var(--tw-text-opacity))
}

:is(.htw-dark .dark\:htw-text-gray-300){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-gray-300) / var(--tw-text-opacity))
}

:is(.htw-dark .dark\:htw-text-primary-200){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-200) / var(--tw-text-opacity))
}

:is(.htw-dark .dark\:htw-text-primary-400){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-400) / var(--tw-text-opacity))
}

:is(.htw-dark .dark\:htw-text-white\/\[1\%\]){
  color:rgb(255 255 255 / 1%)
}

:is(.htw-dark .dark\:focus-within\:htw-border-primary-500:focus-within){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

:is(.htw-dark .dark\:hover\:htw-border-primary-500:hover){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

:is(.htw-dark .dark\:hover\:htw-bg-gray-800:hover){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-gray-800) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:hover\:htw-bg-primary-700:hover){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-700) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:hover\:htw-bg-primary-800:hover){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-800) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:hover\:htw-bg-primary-900:hover){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-900) / var(--tw-bg-opacity))
}

:is(.htw-dark .dark\:hover\:htw-text-primary-400:hover){
  --tw-text-opacity:1;
  color:rgb(var(--_histoire-color-primary-400) / var(--tw-text-opacity))
}

:is(.htw-dark .dark\:focus\:htw-border-primary-500:focus){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

:is(.htw-dark .htw-group:nth-child(odd) .dark\:group-odd\:htw-bg-gray-750\/40){
  background-color:rgb(var(--_histoire-color-gray-750) / 0.4)
}

.htw-group:hover :is(.htw-dark .group-hover\:dark\:htw-border-primary-500){
  --tw-border-opacity:1;
  border-color:rgb(var(--_histoire-color-primary-500) / var(--tw-border-opacity))
}

:is(.htw-dark .htw-group:hover .dark\:group-hover\:htw-bg-primary-700){
  --tw-bg-opacity:1;
  background-color:rgb(var(--_histoire-color-primary-700) / var(--tw-bg-opacity))
}

@media (min-width: 640px){
  .sm\:htw-h-4{
    height:1rem
  }

  .sm\:htw-w-4{
    width:1rem
  }

  .sm\:htw-p-1{
    padding:0.25rem
  }

  .sm\:htw-py-4{
    padding-top:1rem;
    padding-bottom:1rem
  }
}

@media (min-width: 768px){
  .md\:htw-mx-auto{
    margin-left:auto;
    margin-right:auto
  }

  .md\:htw-mt-16{
    margin-top:4rem
  }

  .md\:htw-block{
    display:block
  }

  .md\:htw-max-w-\[600px\]{
    max-width:600px
  }

  .md\:htw-flex-col{
    flex-direction:column
  }

  .md\:htw-p-12{
    padding:3rem
  }

  .md\:htw-py-1{
    padding-top:0.25rem;
    padding-bottom:0.25rem
  }

  .md\:htw-py-1\.5{
    padding-top:0.375rem;
    padding-bottom:0.375rem
  }
}

@media (min-width: 1024px){
  .lg\:htw-max-w-\[800px\]{
    max-width:800px
  }
}

@media (min-width: 1280px){
  .xl\:htw-max-w-\[900px\]{
    max-width:900px
  }
}

@media (max-width: 767px){
  .\!md\:htw-flex-col{
    flex-direction:column
  }
}

.histoire-story-list-folder-button:hover .\[\.histoire-story-list-folder-button\:hover_\&\]\:htw-opacity-100{
  opacity:1
}

.landscape > div > .dragger[data-v-4f40a1bb] {
  width: .625rem;
}
.portrait > div > .dragger[data-v-4f40a1bb] {
  height: .625rem;
}
.landscape > div > .dragger.dragger-offset-before[data-v-4f40a1bb] {
  right: 0;
}
.portrait > div > .dragger.dragger-offset-before[data-v-4f40a1bb] {
  bottom: 0;
}
.landscape > div > .dragger.dragger-offset-center[data-v-4f40a1bb] {
  right: -.3125rem;
}
.portrait > div > .dragger.dragger-offset-center[data-v-4f40a1bb] {
  bottom: -.3125rem;
}
.landscape > div > .dragger.dragger-offset-after[data-v-4f40a1bb] {
  right: -.625rem;
}
.portrait > div > .dragger.dragger-offset-after[data-v-4f40a1bb] {
  bottom: -.625rem;
}

.bind-icon-color[data-v-b8625753] {
  color: var(--6509026e);
}

.htw-base-empty[data-v-c5ecfead]:not(.no-animation) {
  animation: htw-base-empty-c5ecfead .15s .2s both;
}
@keyframes htw-base-empty-c5ecfead {
0% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}

.bind-icon-color[data-v-a5a2e343] {
  color: var(--597bf4c4);
}

.bind-tree-padding[data-v-cace6303] {
  padding-left: var(--1ee776cd);
}

.bind-tree-margin[data-v-c9b616b5] {
  margin-left: var(--c4f9d186);
}
.bind-icon-color[data-v-c9b616b5] {
  color: var(--7270060e);
}

.bind-icon-color[data-v-abf83c04] {
  color: var(--02b8e3da);
}

.bind-icon-color[data-v-f8e09a03] {
  color: var(--2762f67a);
}

.__histoire-code-placeholder[data-v-f7d2e46a] {
  color: inherit;
  font-size: inherit;
}

.bind-icon-color[data-v-d75a2748] {
  color: var(--ddaae392);
}

.bind-preview-bg[data-v-c48fb2b2] {
  background-color: var(--627bec82);
  color: var(--35068428);
}

.bind-icon-color[data-v-d3ab4dd6] {
  color: var(--bd0f30ce);
}
.bind-preview-bg[data-v-d3ab4dd6] {
  background-color: var(--8da98e9c);
}

img.colorize-black[data-v-2114f510] {
  filter: grayscale(100) brightness(0);
}

.bind-preview-bg[data-v-9bc3d486] {
  background-color: var(--321f9a07);
}

.__histoire-hatched-pattern[data-v-91561117] {
  background: repeating-linear-gradient(135deg,
  transparent 0px,
  transparent 32px,
  currentColor 32px,
  currentColor 64px);
}
*, ::before, ::after {--_histoire-color-primary-50: 238 242 255;--_histoire-color-primary-100: 224 231 255;--_histoire-color-primary-200: 199 210 254;--_histoire-color-primary-300: 165 180 252;--_histoire-color-primary-400: 129 140 248;--_histoire-color-primary-500: 99 102 241;--_histoire-color-primary-600: 79 70 229;--_histoire-color-primary-700: 67 56 202;--_histoire-color-primary-800: 55 48 163;--_histoire-color-primary-900: 49 46 129;--_histoire-color-gray-50: 250 250 250;--_histoire-color-gray-100: 244 244 245;--_histoire-color-gray-200: 228 228 231;--_histoire-color-gray-300: 212 212 216;--_histoire-color-gray-400: 161 161 170;--_histoire-color-gray-500: 113 113 122;--_histoire-color-gray-600: 82 82 91;--_histoire-color-gray-700: 63 63 70;--_histoire-color-gray-750: 50 50 56;--_histoire-color-gray-800: 39 39 42;--_histoire-color-gray-850: 31 31 33;--_histoire-color-gray-900: 24 24 27;--_histoire-color-gray-950: 16 16 18;}.htw-range-input::-webkit-slider-thumb{height:.75rem;width:.75rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;border-width:1px;border-style:solid;border-color:#00000040;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}:is(.htw-dark .htw-range-input)::-webkit-slider-thumb{border-color:#ffffff40;--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity))}.htw-range-input:hover::-webkit-slider-thumb{--tw-border-opacity: 1 !important;border-color:rgb(16 185 129 / var(--tw-border-opacity))!important;--tw-bg-opacity: 1 !important;background-color:rgb(16 185 129 / var(--tw-bg-opacity))!important}.htw-range-input::-moz-range-thumb{height:.75rem;width:.75rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;border-radius:9999px;border-width:1px;border-style:solid;border-color:#00000040;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}:is(.htw-dark .htw-range-input)::-moz-range-thumb{border-color:#ffffff40;--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity))}.htw-range-input:hover::-moz-range-thumb{--tw-border-opacity: 1 !important;border-color:rgb(16 185 129 / var(--tw-border-opacity))!important;--tw-bg-opacity: 1 !important;background-color:rgb(16 185 129 / var(--tw-bg-opacity))!important}.v-popper{line-height:0}.htw-dark .v-popper--theme-dropdown .v-popper__inner{--tw-border-opacity: 1;border-color:rgb(31 31 33 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity))}.htw-dark .v-popper--theme-dropdown .v-popper__arrow-inner{--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity))}.htw-dark .v-popper--theme-dropdown .v-popper__arrow-outer{--tw-border-opacity: 1;border-color:rgb(31 31 33 / var(--tw-border-opacity))}.v-popper--theme-dropdown.v-popper__popper--show-from .v-popper__wrapper{transform:scale(.75)}.v-popper--theme-dropdown.v-popper__popper--show-to .v-popper__wrapper{transform:none;transition:transform .15s cubic-bezier(0,1,.5,1)}.v-popper__popper:focus-visible{outline:none}.htw-bind-col-size{grid-template-columns:repeat(auto-fill,minmax(var(--histoire-col-size),1fr))}.__histoire-json-code[data-v-935458a7] .cm-editor{height:100%;min-width:280px}html,
body {
  background: transparent !important;
}body {
  margin: 0;
}html {
  font-size: 1rem;
  font-family: 'Noto Sans Display', system-ui, sans-serif;
}.htw-sandbox-hidden {
  display: none;
}.__histoire-render-story:not(.__histoire-render-custom-controls) {
  overflow: auto;
  min-height: 100%;
}

.guide-container[data-v-dbdc7932] {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',
    Arial, sans-serif;
}
h1[data-v-dbdc7932] {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}
h2[data-v-dbdc7932] {
  font-size: 1.5rem;
  margin: 2rem 0 1rem;
}
p[data-v-dbdc7932] {
  line-height: 1.6;
  margin-bottom: 1rem;
}
ul[data-v-dbdc7932],
ol[data-v-dbdc7932] {
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
li[data-v-dbdc7932] {
  margin-bottom: 0.5rem;
}
a[data-v-dbdc7932] {
  color: #3182ce;
  text-decoration: underline;
}
a[data-v-dbdc7932]:hover {
  color: #2c5282;
}
.component-demo[data-v-dbdc7932] {
  margin: 2rem 0;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem;
}
.font-examples[data-v-dbdc7932] {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 2rem 0;
}
.font-example[data-v-dbdc7932] {
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.font-example h3[data-v-dbdc7932] {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.font-example p[data-v-dbdc7932] {
  margin: 0;
}
code[data-v-dbdc7932] {
  font-family: monospace;
  background-color: #f8f9fa;
  padding: 0.2em 0.4em;
  border-radius: 3px;
}
pre[data-v-dbdc7932] {
  background-color: #f8f9fa;
  padding: 1rem;
  border-radius: 4px;
  overflow-x: auto;
}
pre code[data-v-dbdc7932] {
  background-color: transparent;
  padding: 0;
}

.ob-accessibility-settings {
  position: relative;
  font-family: var(--ob-font-family, system-ui, sans-serif);
}
.ob-accessibility-toggle {
  display: flex;
  align-items: center;
  gap: var(--ob-space-2, 0.5rem);
  padding: var(--ob-space-2, 0.5rem) var(--ob-space-3, 0.75rem);
  background-color: var(--ob-primary, #3182ce);
  color: white;
  border: none;
  border-radius: var(--ob-border-radius-md, 4px);
  cursor: pointer;
  font-weight: var(--ob-font-weight-medium, 500);
  min-height: 44px; /* Minimum touch target size */
}
.ob-accessibility-toggle:hover {
  background-color: var(--ob-primary-dark, #2c5282);
}
.ob-accessibility-toggle:focus-visible {
  outline: 3px solid var(--ob-border-color-focus, #63b3ed);
  outline-offset: 2px;
}
.ob-accessibility-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.ob-accessibility-panel {
  position: absolute;
  top: calc(100% + var(--ob-space-2, 0.5rem));
  right: 0;
  width: 350px;
  background-color: var(--ob-bg-primary, #ffffff);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-lg, 8px);
  box-shadow: var(
    --ob-shadow-lg,
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05)
  );
  z-index: var(--ob-z-index-modal, 1000);
  max-height: 80vh;
  overflow-y: auto;
}
.ob-accessibility-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--ob-space-3, 0.75rem) var(--ob-space-4, 1rem);
  border-bottom: 1px solid var(--ob-border-color, #e2e8f0);
}
.ob-accessibility-panel-title {
  margin: 0;
  font-size: var(--ob-font-size-lg, 1.25rem);
  font-weight: var(--ob-font-weight-medium, 500);
  color: var(--ob-text-primary, #1a202c);
}
.ob-accessibility-panel-close {
  background: transparent;
  border: none;
  color: var(--ob-text-secondary, #4a5568);
  cursor: pointer;
  padding: var(--ob-space-1, 0.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--ob-border-radius-md, 4px);
}
.ob-accessibility-panel-close:hover {
  background-color: var(--ob-bg-secondary, #f8f9fa);
}
.ob-accessibility-panel-close:focus-visible {
  outline: 2px solid var(--ob-border-color-focus, #3182ce);
  outline-offset: 2px;
}
.ob-accessibility-panel-content {
  padding: var(--ob-space-4, 1rem);
  display: flex;
  flex-direction: column;
  gap: var(--ob-space-6, 1.5rem);
}
.ob-accessibility-options {
  display: flex;
  flex-direction: column;
  gap: var(--ob-space-4, 1rem);
  padding: var(--ob-space-4, 1rem);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-md, 4px);
  background-color: var(--ob-bg-secondary, #f8f9fa);
}
.ob-accessibility-options-title {
  margin: 0 0 var(--ob-space-2, 0.5rem) 0;
  font-size: var(--ob-font-size-md, 1rem);
  font-weight: var(--ob-font-weight-medium, 500);
  color: var(--ob-text-primary, #1a202c);
}
.ob-accessibility-option {
  display: flex;
  flex-direction: column;
  gap: var(--ob-space-1, 0.25rem);
}
.ob-accessibility-checkbox-group {
  display: flex;
  align-items: center;
  gap: var(--ob-space-2, 0.5rem);
}
.ob-accessibility-checkbox {
  width: 20px;
  height: 20px;
}
.ob-accessibility-checkbox-label {
  font-weight: var(--ob-font-weight-medium, 500);
  color: var(--ob-text-primary, #1a202c);
}
.ob-accessibility-option-description {
  font-size: var(--ob-font-size-sm, 0.875rem);
  color: var(--ob-text-secondary, #4a5568);
  margin: 0;
}
.ob-accessibility-panel-footer {
  display: flex;
  justify-content: center;
  margin-top: var(--ob-space-4, 1rem);
}
.ob-accessibility-reset-button {
  padding: var(--ob-space-2, 0.5rem) var(--ob-space-4, 1rem);
  background-color: var(--ob-bg-secondary, #f8f9fa);
  color: var(--ob-text-primary, #1a202c);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-md, 4px);
  cursor: pointer;
  font-weight: var(--ob-font-weight-medium, 500);
  min-height: 44px; /* Minimum touch target size */
}
.ob-accessibility-reset-button:hover {
  background-color: var(--ob-bg-tertiary, #edf2f7);
}
.ob-accessibility-reset-button:focus-visible {
  outline: 2px solid var(--ob-border-color-focus, #3182ce);
  outline-offset: 2px;
}

/* Responsive adjustments */
@media (max-width: 480px) {
.ob-accessibility-toggle-text {
    display: none;
}
.ob-accessibility-panel {
    width: 100%;
    max-width: 100%;
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: var(--ob-border-radius-lg, 8px) var(--ob-border-radius-lg, 8px) 0 0;
    max-height: 80vh;
}
}

.ob-font-selector {
  display: flex;
  flex-direction: column;
  gap: var(--ob-space-4, 1rem);
  padding: var(--ob-space-4, 1rem);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-md, 4px);
  background-color: var(--ob-bg-secondary, #f8f9fa);
}
.ob-font-selector-group {
  display: flex;
  flex-direction: column;
  gap: var(--ob-space-2, 0.5rem);
}
.ob-font-selector-label {
  font-weight: var(--ob-font-weight-medium, 500);
  color: var(--ob-text-primary, #1a202c);
}
.ob-font-selector-select {
  padding: var(--ob-space-2, 0.5rem);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-md, 4px);
  background-color: var(--ob-bg-primary, #ffffff);
  min-height: 44px; /* Minimum touch target size */
}
.ob-font-selector-description {
  font-size: var(--ob-font-size-sm, 0.875rem);
  color: var(--ob-text-secondary, #4a5568);
  margin: 0;
}
.ob-font-selector-checkbox-group {
  display: flex;
  align-items: center;
  gap: var(--ob-space-2, 0.5rem);
}
.ob-font-selector-checkbox {
  width: 20px;
  height: 20px;
}
.ob-font-selector-checkbox-label {
  font-weight: var(--ob-font-weight-medium, 500);
  color: var(--ob-text-primary, #1a202c);
}
.ob-font-selector-preview {
  margin-top: var(--ob-space-4, 1rem);
  padding: var(--ob-space-4, 1rem);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-md, 4px);
  background-color: var(--ob-bg-primary, #ffffff);
}
.ob-font-selector-preview p {
  margin: var(--ob-space-2, 0.5rem) 0;
}

.ob-theme-selector {
  display: flex;
  flex-direction: column;
  gap: var(--ob-space-4, 1rem);
  padding: var(--ob-space-4, 1rem);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-md, 4px);
  background-color: var(--ob-bg-secondary, #f8f9fa);
}
.ob-theme-selector-group {
  display: flex;
  flex-direction: column;
  gap: var(--ob-space-2, 0.5rem);
}
.ob-theme-selector-label {
  font-weight: var(--ob-font-weight-medium, 500);
  color: var(--ob-text-primary, #1a202c);
}
.ob-theme-selector-select {
  padding: var(--ob-space-2, 0.5rem);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-md, 4px);
  background-color: var(--ob-bg-primary, #ffffff);
  min-height: 44px; /* Minimum touch target size */
}
.ob-theme-selector-description {
  font-size: var(--ob-font-size-sm, 0.875rem);
  color: var(--ob-text-secondary, #4a5568);
  margin: 0;
}
.ob-theme-selector-preview {
  margin-top: var(--ob-space-2, 0.5rem);
  border: 1px solid var(--ob-border-color, #e2e8f0);
  border-radius: var(--ob-border-radius-md, 4px);
  overflow: hidden;
}
.ob-theme-preview-header {
  padding: var(--ob-space-2, 0.5rem) var(--ob-space-4, 1rem);
  background-color: var(--ob-primary, #3182ce);
  color: white;
  font-weight: var(--ob-font-weight-medium, 500);
}
.ob-theme-preview-content {
  padding: var(--ob-space-4, 1rem);
  background-color: var(--ob-bg-primary, #ffffff);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ob-theme-preview-title {
  margin: 0 0 var(--ob-space-2, 0.5rem) 0;
  font-size: var(--ob-font-size-md, 1rem);
  color: var(--ob-text-primary, #1a202c);
}
.ob-theme-preview-description {
  margin: 0;
  font-size: var(--ob-font-size-sm, 0.875rem);
  color: var(--ob-text-secondary, #4a5568);
}
.ob-theme-preview-button {
  padding: var(--ob-space-2, 0.5rem) var(--ob-space-4, 1rem);
  background-color: var(--ob-primary, #3182ce);
  color: white;
  border-radius: var(--ob-border-radius-md, 4px);
  font-weight: var(--ob-font-weight-medium, 500);
  cursor: pointer;
}

.manus-profile-viewer {
  --profile-padding: 24px;
  --profile-gap: 32px;
  --profile-border-color: #e2e8f0;
  --profile-background: #ffffff;
  --profile-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  --profile-title-color: #1a202c;
  --profile-text-color: #4a5568;
  --profile-link-color: #3182ce;

  display: flex;
  flex-direction: column;
  gap: var(--profile-gap);
  padding: var(--profile-padding);
  background-color: var(--profile-background);
  border: 1px solid var(--profile-border-color);
  border-radius: 8px;
  box-shadow: var(--profile-shadow);
}
.manus-profile-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
.manus-profile-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
}
.manus-profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.manus-profile-image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #4a5568;
  color: white;
  font-size: 2rem;
  font-weight: bold;
}
.manus-profile-name {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--profile-title-color);
}
.manus-profile-description {
  margin: 8px 0 0;
  font-size: 0.875rem;
  color: var(--profile-text-color);
  line-height: 1.5;
}
.manus-profile-details {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.manus-profile-detail {
  font-size: 0.875rem;
  color: var(--profile-text-color);
}
.manus-profile-detail-label {
  font-weight: 500;
  margin-right: 4px;
}
.manus-profile-detail-value {
  color: var(--profile-link-color);
  text-decoration: none;
}
.manus-profile-detail-value:hover {
  text-decoration: underline;
}
.manus-section-title {
  margin: 0 0 16px;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--profile-title-color);
}
.manus-profile-loading {
  padding: 24px;
  text-align: center;
  color: var(--profile-text-color);
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Responsive adjustments */
@media (min-width: 640px) {
.manus-profile-header {
    flex-direction: row;
    text-align: left;
}
.manus-profile-info {
    flex: 1;
}
}

.story-description {
  margin-bottom: 1rem;
  padding: 0.5rem;
  background-color: #f0f0f0;
  border-radius: 4px;
}

.manus-issuer-dashboard {
  --dashboard-border-color: #e2e8f0;
  --dashboard-background: #ffffff;
  --dashboard-text-color: #1a202c;
  --dashboard-secondary-color: #4a5568;
  --dashboard-accent-color: #3182ce;
  --dashboard-tab-active-border: #3182ce;
  --dashboard-tab-hover-bg: #f7fafc;
  --dashboard-empty-color: #718096;

  display: flex;
  flex-direction: column;
  background-color: var(--dashboard-background);
  border: 1px solid var(--dashboard-border-color);
  border-radius: 8px;
  overflow: hidden;
  color: var(--dashboard-text-color);
}
.manus-dashboard-header {
  padding: 24px;
  border-bottom: 1px solid var(--dashboard-border-color);
}
.manus-dashboard-title {
  margin: 0 0 16px;
  font-size: 1.5rem;
  font-weight: 600;
}
.manus-dashboard-tabs {
  display: flex;
  gap: 2px;
  border-bottom: 1px solid var(--dashboard-border-color);
  margin: 0 -24px -1px;
}
.manus-tab-button {
  padding: 12px 24px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  font-size: 1rem;
  font-weight: 500;
  color: var(--dashboard-secondary-color);
  cursor: pointer;
  transition: all 0.2s ease;
}
.manus-tab-button:hover {
  background-color: var(--dashboard-tab-hover-bg);
}
.manus-tab-button.active {
  color: var(--dashboard-accent-color);
  border-bottom-color: var(--dashboard-tab-active-border);
}
.manus-dashboard-content {
  padding: 24px;
}
.manus-tab-panel {
  outline: none;
}
.manus-tab-panel:focus {
  box-shadow: 0 0 0 2px var(--dashboard-accent-color);
  border-radius: 4px;
}
.manus-dashboard-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.manus-dashboard-filter,
.manus-dashboard-sort {
  display: flex;
  align-items: center;
  gap: 8px;
}
.manus-filter-label,
.manus-sort-label {
  font-weight: 500;
  color: var(--dashboard-secondary-color);
}
.manus-filter-input,
.manus-sort-select {
  padding: 8px 12px;
  border: 1px solid var(--dashboard-border-color);
  border-radius: 4px;
  font-size: 0.875rem;
}
.manus-filter-input {
  width: 200px;
}
.manus-dashboard-loading,
.manus-dashboard-empty {
  padding: 48px 24px;
  text-align: center;
  color: var(--dashboard-empty-color);
}
.manus-dashboard-empty button {
  margin-top: 16px;
}
.manus-button {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.manus-button-primary {
  background-color: var(--dashboard-accent-color);
  color: white;
}
.manus-button-primary:hover {
  background-color: #2c5282;
}

/* Responsive adjustments */
@media (max-width: 640px) {
.manus-dashboard-header,
  .manus-dashboard-content {
    padding: 16px;
}
.manus-dashboard-tabs {
    margin: 0 -16px -1px;
}
.manus-tab-button {
    padding: 10px 16px;
    font-size: 0.875rem;
}
.manus-dashboard-controls {
    flex-direction: column;
    gap: 12px;
}
.manus-filter-input {
    width: 100%;
}
}

.manus-badge-list {
  --badge-list-gap: 16px;
  --badge-list-empty-color: #718096;
  --badge-list-pagination-gap: 8px;
  --badge-list-button-bg: #e2e8f0;
  --badge-list-button-color: #4a5568;
  --badge-list-button-hover-bg: #cbd5e0;
  --badge-list-button-disabled-bg: #edf2f7;
  --badge-list-button-disabled-color: #a0aec0;

  display: flex;
  flex-direction: column;
  gap: 24px;
}
.manus-badge-list.density-compact {
  --badge-list-gap: 4px;
}
.manus-badge-list.density-normal {
  --badge-list-gap: 16px;
}
.manus-badge-list.density-spacious {
  --badge-list-gap: 32px;
}
.manus-badge-list-controls {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.manus-badge-list-filter-input,
.manus-badge-list-filter-select,
.manus-badge-list-density-select {
  padding: 8px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-size: 1rem;
}
.manus-badge-list-loading,
.manus-badge-list-empty {
  padding: 24px;
  text-align: center;
  color: var(--badge-list-empty-color);
}
.manus-badge-list-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--badge-list-gap);
}
.manus-badge-list.grid-layout .manus-badge-list-items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--badge-list-gap);
  align-items: stretch;
}

/* Make grid items look like cards and avoid content squashing */
.manus-badge-list.grid-layout .manus-badge-list-item {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px;
}
.manus-badge-list-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--badge-list-pagination-gap);
  margin-top: 16px;
  flex-wrap: wrap;
}
.manus-pagination-button {
  padding: 8px 16px;
  background-color: var(--badge-list-button-bg);
  color: var(--badge-list-button-color);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.875rem;
}
.manus-pagination-button:hover:not(:disabled) {
  background-color: var(--badge-list-button-hover-bg);
}
.manus-pagination-button:disabled {
  background-color: var(--badge-list-button-disabled-bg);
  color: var(--badge-list-button-disabled-color);
  cursor: not-allowed;
}
.manus-pagination-info {
  font-size: 0.875rem;
  color: var(--badge-list-button-color);
}
.badge-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  outline: none;
}

/* In grid layout, stack summary content to keep expand button from squashing */
.manus-badge-list.grid-layout .badge-summary {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.badge-expand-btn {
  margin-left: 16px;
  padding: 4px 12px;
  border: none;
  border-radius: 4px;
  background: var(--badge-list-button-bg);
  color: var(--badge-list-button-color);
  font-size: 0.9rem;
  cursor: pointer;
  align-self: flex-end;
}
.badge-summary:focus-visible,
.manus-badge-list-item:focus-visible {
  outline: 3px solid #3182ce;
  outline-offset: 2px;
}
.badge-details {
  background: #f7fafc;
  border-radius: 4px;
  margin-top: 8px;
  padding: 12px;
  font-size: 0.95em;
  color: #2d3748;
}
.manus-badge-list-item.is-expanded {
  background: #f0f4f8;
  border-radius: 6px;
}

/* Responsive adjustments */
@media (max-width: 639px) {
.manus-badge-list.grid-layout .manus-badge-list-items {
    grid-template-columns: 1fr;
}

  /* On small screens, make summary row-friendly again if needed */
.manus-badge-list.grid-layout .badge-summary {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
}

/* Medium screens: slightly smaller min card width to fit more columns */
@media (min-width: 640px) and (max-width: 1023px) {
.manus-badge-list.grid-layout .manus-badge-list-items {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
}

.manus-badge-display {
  --badge-border-color: #e2e8f0;
  --badge-border-radius: 8px;
  --badge-padding: 16px;
  --badge-background: #ffffff;
  --badge-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  --badge-title-color: #1a202c;
  --badge-text-color: #4a5568;
  --badge-hover-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  --badge-focus-outline-color: #3182ce;

  display: flex;
  flex-direction: column;
  border: 1px solid var(--badge-border-color);
  border-radius: var(--badge-border-radius);
  padding: var(--badge-padding);
  background-color: var(--badge-background);
  box-shadow: var(--badge-shadow);
  transition: box-shadow 0.2s ease;
  max-width: 300px;
}
.manus-badge-display.is-interactive {
  cursor: pointer;
}
.manus-badge-display.is-interactive:hover {
  box-shadow: var(--badge-hover-shadow);
}
.manus-badge-display.is-interactive:focus {
  outline: 2px solid var(--badge-focus-outline-color);
  outline-offset: 2px;
}
.manus-badge-image {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}
.manus-badge-img {
  max-width: 100%;
  height: auto;
  max-height: 150px;
  border-radius: 4px;
}
.manus-badge-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.manus-badge-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--badge-title-color);
}
.manus-badge-description {
  margin: 0;
  font-size: 0.875rem;
  color: var(--badge-text-color);
  line-height: 1.4;
}
.manus-badge-issuer,
.manus-badge-date,
.manus-badge-expiry,
.manus-badge-verification-toggle {
  font-size: 0.75rem;
  color: var(--badge-text-color);
}
.manus-badge-verification-toggle-button {
  background: none;
  border: none;
  color: #3182ce;
  cursor: pointer;
  font-size: 0.75rem;
  padding: 0;
  text-decoration: underline;
}
.manus-badge-verification-toggle-button:hover {
  color: #2c5282;
}
.manus-badge-verification-container {
  margin-top: 12px;
  border-top: 1px solid var(--badge-border-color);
  padding-top: 12px;
}

/* Responsive adjustments */
@media (min-width: 640px) {
.manus-badge-display {
    flex-direction: row;
    max-width: 500px;
}
.manus-badge-image {
    flex: 0 0 120px;
    margin-right: 16px;
    margin-bottom: 0;
}
.manus-badge-content {
    flex: 1;
}
}

/* Content density styles */
.manus-badge-display.density-compact {
  padding: 8px;
  gap: 4px;
}
.manus-badge-display.density-normal {
  padding: 16px;
  gap: 8px;
}
.manus-badge-display.density-spacious {
  padding: 28px;
  gap: 16px;
}
.manus-badge-display:focus-visible,
.manus-badge-display.is-interactive:focus-visible {
  outline: 3px solid #ff9800;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px #ffe0b2;
}
.manus-badge-verification-toggle-button:focus-visible,
.manus-badge-verification-toggle-button:active {
  outline: 2px solid #ff9800;
  background: #fff3e0;
}
.manus-badge-verification-toggle-button {
  transition: background 0.2s, color 0.2s;
}

.ob-badge-verification {
  --verification-border-color: #e2e8f0;
  --verification-background: #f7fafc;
  --verification-text-color: #4a5568;
  --verification-valid-color: #38a169;
  --verification-invalid-color: #e53e3e;
  --verification-warning-color: #dd6b20;
  --verification-button-bg: #4299e1;
  --verification-button-color: #ffffff;
  --verification-button-hover-bg: #3182ce;
  --verification-button-disabled-bg: #a0aec0;
  --verification-label-color: #718096;

  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--verification-border-color);
  border-radius: 0.375rem;
  background-color: var(--verification-background);
  color: var(--verification-text-color);
}
.ob-badge-verification-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.ob-badge-verification-result {
  display: flex;
  align-items: center;
}
.ob-badge-verification-valid {
  color: var(--verification-valid-color);
  display: flex;
  align-items: center;
}
.ob-badge-verification-invalid {
  color: var(--verification-invalid-color);
  display: flex;
  align-items: center;
}
.ob-badge-verification-icon {
  margin-right: 0.25rem;
  font-weight: bold;
}
.ob-badge-verification-button {
  background-color: var(--verification-button-bg);
  color: var(--verification-button-color);
  border: none;
  border-radius: 0.25rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-size: 0.875rem;
  transition: background-color 0.2s;
}
.ob-badge-verification-button:hover:not(:disabled) {
  background-color: var(--verification-button-hover-bg);
}
.ob-badge-verification-button:disabled {
  background-color: var(--verification-button-disabled-bg);
  cursor: not-allowed;
}
.ob-badge-verification-details {
  margin-top: 1rem;
  border-top: 1px solid var(--verification-border-color);
  padding-top: 1rem;
}
.ob-badge-verification-method,
.ob-badge-verification-expiration,
.ob-badge-verification-revocation,
.ob-badge-verification-timestamp {
  margin-bottom: 0.5rem;
}
.ob-badge-verification-label {
  color: var(--verification-label-color);
  margin-right: 0.5rem;
  font-weight: 500;
}
.ob-badge-verification-errors,
.ob-badge-verification-warnings {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.ob-badge-verification-errors {
  color: var(--verification-invalid-color);
}
.ob-badge-verification-warnings {
  color: var(--verification-warning-color);
}
.ob-badge-verification-section-title {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.ob-badge-verification-errors ul,
.ob-badge-verification-warnings ul {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  padding-left: 1.5rem;
  font-size: 0.875rem;
}
.ob-badge-verification-loading {
  display: flex;
  align-items: center;
}
.ob-badge-verification-spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--verification-button-bg);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spinner 0.8s linear infinite;
}
.is-expired .ob-badge-verification-value {
  color: var(--verification-invalid-color);
}
.is-revoked .ob-badge-verification-value {
  color: var(--verification-invalid-color);
}
@keyframes spinner {
to {
    transform: rotate(360deg);
}
}

/* Dark theme support */
.ob-dark-theme .ob-badge-verification {
  --verification-border-color: #2d3748;
  --verification-background: #1a202c;
  --verification-text-color: #e2e8f0;
  --verification-valid-color: #48bb78;
  --verification-invalid-color: #f56565;
  --verification-warning-color: #ed8936;
  --verification-button-bg: #4299e1;
  --verification-button-color: #ffffff;
  --verification-button-hover-bg: #3182ce;
  --verification-button-disabled-bg: #718096;
  --verification-label-color: #a0aec0;
}

/* High contrast theme support */
.ob-high-contrast-theme .ob-badge-verification {
  --verification-border-color: #000000;
  --verification-background: #ffffff;
  --verification-text-color: #000000;
  --verification-valid-color: #006400;
  --verification-invalid-color: #8b0000;
  --verification-warning-color: #b8860b;
  --verification-button-bg: #000000;
  --verification-button-color: #ffffff;
  --verification-button-hover-bg: #333333;
  --verification-button-disabled-bg: #666666;
  --verification-label-color: #000000;
}

.manus-badge-issuer-form {
  --form-border-color: #e2e8f0;
  --form-background: #ffffff;
  --form-text-color: #1a202c;
  --form-label-color: #4a5568;
  --form-input-border: #cbd5e0;
  --form-input-focus: #3182ce;
  --form-error-color: #e53e3e;
  --form-success-color: #38a169;
  --form-help-color: #718096;
  --form-button-primary-bg: #3182ce;
  --form-button-primary-color: #ffffff;
  --form-button-secondary-bg: #e2e8f0;
  --form-button-secondary-color: #4a5568;
  --form-button-disabled-bg: #edf2f7;
  --form-button-disabled-color: #a0aec0;

  max-width: 600px;
  margin: 0 auto;
  padding: 24px;
  background-color: var(--form-background);
  border: 1px solid var(--form-border-color);
  border-radius: 8px;
  color: var(--form-text-color);
}
.manus-form-section {
  margin-bottom: 24px;
  padding: 0;
  border: none;
}
.manus-form-section-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--form-border-color);
}
.manus-form-field {
  margin-bottom: 16px;
}
.manus-form-label {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
  color: var(--form-label-color);
}
.manus-form-input,
.manus-form-textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--form-input-border);
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.2s ease;
}
.manus-form-input:focus,
.manus-form-textarea:focus {
  outline: none;
  border-color: var(--form-input-focus);
  box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.2);
}
.manus-form-input-error {
  border-color: var(--form-error-color);
}
.manus-form-error {
  color: var(--form-error-color);
  font-size: 0.875rem;
  margin-top: 4px;
}
.manus-form-help {
  color: var(--form-help-color);
  font-size: 0.875rem;
  margin-top: 4px;
}
.manus-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
}
.manus-button {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.manus-button-primary {
  background-color: var(--form-button-primary-bg);
  color: var(--form-button-primary-color);
}
.manus-button-primary:hover:not(:disabled) {
  background-color: #2c5282;
}
.manus-button-secondary {
  background-color: var(--form-button-secondary-bg);
  color: var(--form-button-secondary-color);
}
.manus-button-secondary:hover:not(:disabled) {
  background-color: #cbd5e0;
}
.manus-button:disabled {
  background-color: var(--form-button-disabled-bg);
  color: var(--form-button-disabled-color);
  cursor: not-allowed;
}
.manus-form-errors {
  margin-top: 24px;
  padding: 12px;
  background-color: #fff5f5;
  border: 1px solid #fed7d7;
  border-radius: 4px;
  color: var(--form-error-color);
}
.manus-form-errors ul {
  margin: 8px 0 0;
  padding-left: 24px;
}
.manus-form-success {
  margin-top: 24px;
  padding: 12px;
  background-color: #f0fff4;
  border: 1px solid #c6f6d5;
  border-radius: 4px;
  color: var(--form-success-color);
  font-weight: 500;
  text-align: center;
}

/* Responsive adjustments */
@media (max-width: 640px) {
.manus-badge-issuer-form {
    padding: 16px;
}
.manus-form-actions {
    flex-direction: column;
}
.manus-button {
    width: 100%;
}
}
