:root { /* Sonokai Shusia - Base Colors */ --theme-rosewater: #ab9df2; --theme-flamingo: #ef9062; --theme-pink: #ab9df2; --theme-mauve: #ab9df2; --theme-red: #f85e84; --theme-maroon: #f85e84; --theme-peach: #ef9062; --theme-yellow: #e5c463; --theme-green: #9ecd6f; --theme-teal: #7accd7; --theme-sky: #7accd7; --theme-sapphire: #7accd7; --theme-blue: #7accd7; --theme-lavender: #ab9df2; --theme-text: #e3e1e4; --theme-subtext1: #b4b1b7; --theme-subtext0: #848089; --theme-overlay2: #848089; --theme-overlay1: #605d68; --theme-overlay0: #49464e; --theme-surface2: #423f46; --theme-surface1: #3b383e; --theme-surface0: #37343a; --theme-base: #2d2a2e; --theme-mantle: #211f21; --theme-crust: #1a181a; /* Semantic Aliases */ --theme-bg: var(--theme-base); --theme-bg-secondary: var(--theme-mantle); --theme-bg-tertiary: var(--theme-crust); --theme-text-muted: var(--theme-subtext0); --theme-border: var(--theme-surface0); --theme-accent: var(--theme-blue); --theme-success: var(--theme-green); --theme-warning: var(--theme-yellow); --theme-error: var(--theme-red); --theme-info: var(--theme-sapphire); /* Component Tokens */ --theme-card-bg: var(--theme-surface0); --theme-card-border: var(--theme-surface1); --theme-input-bg: var(--theme-surface0); --theme-input-border: var(--theme-surface1); --theme-nav-bg: var(--theme-mantle); --theme-sidebar-bg: var(--theme-crust); --theme-widget-bg: var(--theme-surface0); --theme-widget-border: var(--theme-surface1); /* Typography */ --theme-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --theme-font-mono: 'JetBrains Mono', 'Fira Code', monospace; /* Spacing and Radius */ --theme-radius-sm: 4px; --theme-radius-md: 8px; --theme-radius-lg: 12px; --theme-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25); --theme-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3); --theme-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4); /* Interactive Tokens */ --theme-link-color: var(--theme-accent); --theme-link-hover-color: var(--theme-lavender); --theme-focus-ring-color: color-mix(in srgb, var(--theme-accent) 40%, transparent); --theme-hover-bg: var(--theme-surface1); /* Button Tokens */ --theme-btn-primary-bg: var(--theme-accent); --theme-btn-primary-text: var(--theme-base); --theme-btn-secondary-bg: var(--theme-surface1); --theme-btn-secondary-text: var(--theme-text); /* State Subtle Backgrounds */ --theme-success-bg-subtle: color-mix(in srgb, var(--theme-green) 15%, var(--theme-base)); --theme-warning-bg-subtle: color-mix(in srgb, var(--theme-yellow) 15%, var(--theme-base)); --theme-error-bg-subtle: color-mix(in srgb, var(--theme-red) 15%, var(--theme-base)); --theme-info-bg-subtle: color-mix(in srgb, var(--theme-sapphire) 15%, var(--theme-base)); /* Table Tokens */ --theme-table-bg: var(--theme-base); --theme-table-border: var(--theme-surface1); --theme-table-header-bg: var(--theme-surface0); --theme-table-stripe-bg: color-mix(in srgb, var(--theme-overlay0) 4%, var(--theme-base)); --theme-table-hover-bg: color-mix(in srgb, var(--theme-overlay0) 8%, var(--theme-base)); /* Dropdown Tokens */ --theme-dropdown-bg: var(--theme-card-bg); --theme-dropdown-border: var(--theme-card-border); --theme-dropdown-hover-bg: var(--theme-hover-bg); /* Modal Tokens */ --theme-modal-bg: var(--theme-card-bg); --theme-modal-border: var(--theme-card-border); --theme-backdrop-bg: rgba(0, 0, 0, 0.5); /* Tooltip Tokens */ --theme-tooltip-bg: var(--theme-overlay2); --theme-tooltip-text: var(--theme-base); /* Code Tokens */ --theme-code-bg: var(--theme-surface0); --theme-code-text: var(--theme-pink); /* Emphasis and Utility */ --theme-emphasis-color: var(--theme-text); --theme-border-translucent: color-mix(in srgb, var(--theme-border) 60%, transparent); /* State Subtle Borders */ --theme-success-border-subtle: color-mix(in srgb, var(--theme-green) 25%, var(--theme-base)); --theme-warning-border-subtle: color-mix(in srgb, var(--theme-yellow) 25%, var(--theme-base)); --theme-error-border-subtle: color-mix(in srgb, var(--theme-red) 25%, var(--theme-base)); --theme-info-border-subtle: color-mix(in srgb, var(--theme-sapphire) 25%, var(--theme-base)); /* State Text Emphasis */ --theme-success-text: var(--theme-green); --theme-warning-text: var(--theme-yellow); --theme-error-text: var(--theme-red); --theme-info-text: var(--theme-sapphire); /* Accent/Primary Variants */ --theme-accent-bg-subtle: color-mix(in srgb, var(--theme-accent) 15%, var(--theme-base)); --theme-accent-border-subtle: color-mix(in srgb, var(--theme-accent) 25%, var(--theme-base)); --theme-accent-text: var(--theme-accent); /* Additional Button Variants */ --theme-btn-danger-bg: var(--theme-red); --theme-btn-danger-text: var(--theme-base); --theme-btn-success-bg: var(--theme-green); --theme-btn-success-text: var(--theme-base); --theme-btn-warning-bg: var(--theme-yellow); --theme-btn-warning-text: color-mix(in srgb, var(--theme-yellow) 25%, black); --theme-btn-info-bg: var(--theme-sapphire); --theme-btn-info-text: var(--theme-base); /* Badge Tokens */ --theme-badge-bg: var(--theme-accent); --theme-badge-text: var(--theme-base); /* Breadcrumb Tokens */ --theme-breadcrumb-color: var(--theme-text-muted); --theme-breadcrumb-active-color: var(--theme-text); --theme-breadcrumb-divider-color: var(--theme-overlay1); /* List Group Tokens */ --theme-list-group-bg: var(--theme-card-bg); --theme-list-group-border: var(--theme-card-border); --theme-list-group-hover-bg: var(--theme-hover-bg); --theme-list-group-active-bg: var(--theme-accent); --theme-list-group-active-text: var(--theme-base); /* Pagination Tokens */ --theme-pagination-bg: var(--theme-card-bg); --theme-pagination-border: var(--theme-card-border); --theme-pagination-active-bg: var(--theme-accent); --theme-pagination-active-text: var(--theme-base); --theme-pagination-disabled-color: var(--theme-overlay0); /* Progress Bar Tokens */ --theme-progress-bg: var(--theme-surface0); --theme-progress-bar-bg: var(--theme-accent); /* Toast Tokens */ --theme-toast-bg: var(--theme-card-bg); --theme-toast-border: var(--theme-card-border); --theme-toast-header-bg: color-mix(in srgb, var(--theme-surface0) 80%, var(--theme-card-bg)); /* Popover Tokens */ --theme-popover-bg: var(--theme-card-bg); --theme-popover-border: var(--theme-card-border); --theme-popover-header-bg: color-mix(in srgb, var(--theme-surface0) 50%, var(--theme-card-bg)); /* Offcanvas Tokens */ --theme-offcanvas-bg: var(--theme-card-bg); --theme-offcanvas-border: var(--theme-card-border); /* Accordion Tokens */ --theme-accordion-bg: var(--theme-card-bg); --theme-accordion-border: var(--theme-card-border); --theme-accordion-active-bg: var(--theme-accent-bg-subtle); --theme-accordion-active-text: var(--theme-accent); --theme-accordion-btn-bg: var(--theme-card-bg); /* Nav Tab/Pill Tokens */ --theme-nav-tab-border: var(--theme-border); --theme-nav-tab-active-bg: var(--theme-card-bg); --theme-nav-tab-active-text: var(--theme-accent); --theme-nav-tab-hover-bg: var(--theme-hover-bg); --theme-nav-pill-active-bg: var(--theme-accent); --theme-nav-pill-active-text: var(--theme-base); /* Form Enhancement Tokens */ --theme-input-focus-border: var(--theme-accent); --theme-input-placeholder-color: var(--theme-overlay1); --theme-input-disabled-bg: var(--theme-surface0); --theme-form-valid-color: var(--theme-green); --theme-form-valid-border: var(--theme-green); --theme-form-invalid-color: var(--theme-red); --theme-form-invalid-border: var(--theme-red); --theme-form-check-active-bg: var(--theme-accent); /* Heading and Selection */ --theme-heading-color: var(--theme-text); --theme-highlight-bg: color-mix(in srgb, var(--theme-yellow) 30%, var(--theme-base)); --theme-highlight-text: var(--theme-text); /* Spinner Tokens */ --theme-spinner-color: var(--theme-accent); /* Close Button */ --theme-close-btn-color: var(--theme-text-muted); /* Placeholder Loading */ --theme-placeholder-bg: var(--theme-surface1); /* Focus Ring Enhancement */ --theme-focus-ring-width: 0.25rem; /* Disabled States */ --theme-disabled-opacity: 0.65; /* Carousel Tokens */ --theme-carousel-indicator-bg: var(--theme-overlay1); --theme-carousel-indicator-active-bg: var(--theme-text); --theme-carousel-caption-color: var(--theme-text); /* Scrollbar Tokens */ --theme-scrollbar-track: var(--theme-surface0); --theme-scrollbar-thumb: var(--theme-overlay0); --theme-scrollbar-thumb-hover: var(--theme-overlay1); }