/* Generated by chat/tools/WebTheme/make_web_theme.py from src/SyphonVault.App/Themes/Tokens.xaml, Converters.xaml, Icons.xaml, Typography.xaml, Buttons.xaml, Controls.xaml, Inputs.xaml, States.xaml, Overlays.xaml, Tools.xaml and src/SyphonVault.App/Chat/ChatTheme.xaml, ChatProfileTheme.xaml, ChatPanelTheme.xaml, ChatVoiceStyles.xaml and config/games.json, assets/avatars. Never edit by hand: change the XAML and run the script again. */
:root {
  /* src/SyphonVault.App/Themes/Tokens.xaml */
  --color-bg-window: #0C1018;
  --color-bg-sidebar-top: #0E131B;
  --color-bg-sidebar-bottom: #0A0F15;
  --color-bg-content-light: #161B24;
  --color-bg-content-mid: #0F141B;
  --color-bg-content-dark: #090D14;
  --color-bg-strip: #121820;
  --color-surface: #0F161F;
  --color-surface-light: #131C29;
  --color-surface-raised: #141A24;
  --color-surface-hover: #1B2331;
  --color-surface-pressed: #10161F;
  --color-field: #151A22;
  --color-overlay: #040609C2;
  --color-scrim: #06090E;
  --color-border-subtle: #1C2532;
  --color-border: #2A3444;
  --color-border-strong: #3A4659;
  --color-border-accent: #45418A;
  --color-accent: #6C49F9;
  --color-accent-hover: #7D5DFB;
  --color-accent-pressed: #5A39E0;
  --color-accent-bright: #8F85F9;
  --color-accent-bar: #7650F4;
  --color-accent-text: #A65CF3;
  --color-accent-label: #978AFB;
  --color-accent-navleft: #2B2163;
  --color-accent-navright: #1E203F;
  --color-accent-soft: #6C49F92E;
  --color-text: #F4F3F9;
  --color-text-secondary: #B4C6DB;
  --color-text-muted: #8999AA;
  --color-text-faint: #5C6C84;
  --color-text-onaccent: #FFFFFF;
  --color-text-lilac: #B6BFEC;
  --color-nav-icon: #CAD8EB;
  --color-success: #3DE6A3;
  --color-success-text: #C4F0E4;
  --color-success-ink: #0A2E20;
  --color-online: #21C246;
  --color-warning: #F5B544;
  --color-warning-text: #FBDFA6;
  --color-danger: #F25A6C;
  --color-danger-hover: #FF7183;
  --color-danger-text: #FFB9C1;
  --color-info: #5E93F7;
  --color-info-text: #A3B9D1;
  --color-track: #242D3E;
  --brush-bg-window: #0C1018;
  --brush-bg-sidebar: linear-gradient(180deg, #0E131B 0%, #0A0F15 100%);
  --brush-bg-content: radial-gradient(ellipse 105% 135% at 0% 0%, #161B24 0%, #0F141B 38%, #090D14 100%);
  --brush-bg-strip: #121820;
  --brush-surface: #0F161F;
  --brush-surface-panel: linear-gradient(90deg, #0E151D 0%, #131C29 50%, #0B1119 100%);
  --brush-surface-raised: #141A24;
  --brush-surface-hover: #1B2331;
  --brush-surface-pressed: #10161F;
  --brush-field: #151A22;
  --brush-overlay: #040609C2;
  --brush-hover-light: #FFFFFF14;
  --brush-pressed-light: #FFFFFF0A;
  --brush-border-subtle: #1C2532;
  --brush-border: #2A3444;
  --brush-border-strong: #3A4659;
  --brush-border-accent: #45418A;
  --brush-border-card: #FFFFFF26;
  --brush-accent: #6C49F9;
  --brush-accent-hover: #7D5DFB;
  --brush-accent-pressed: #5A39E0;
  --brush-accent-bright: #8F85F9;
  --brush-accent-bar: #7650F4;
  --brush-accent-text: #A65CF3;
  --brush-accent-label: #978AFB;
  --brush-accent-soft: #6C49F92E;
  --brush-accent-nav: linear-gradient(90deg, #2B2163 0%, #1E203F 100%);
  --brush-text: #F4F3F9;
  --brush-text-secondary: #B4C6DB;
  --brush-text-muted: #8999AA;
  --brush-text-faint: #5C6C84;
  --brush-text-onaccent: #FFFFFF;
  --brush-text-lilac: #B6BFEC;
  --brush-nav-icon: #CAD8EB;
  --brush-title-silver: linear-gradient(180deg, #FFFFFF 15%, #D5D0EE 100%);
  --brush-success: #3DE6A3;
  --brush-success-text: #C4F0E4;
  --brush-success-ink: #0A2E20;
  --brush-online: #21C246;
  --brush-warning: #F5B544;
  --brush-warning-text: #FBDFA6;
  --brush-danger: #F25A6C;
  --brush-danger-hover: #FF7183;
  --brush-danger-text: #FFB9C1;
  --brush-danger-soft: #F25A6C33;
  --brush-warning-soft: #F5B5441F;
  --brush-warning-edge: #F5B54459;
  --brush-avatar: linear-gradient(to bottom right, #8E6BFF 0%, #5433D6 100%);
  --brush-info: #5E93F7;
  --brush-info-text: #A3B9D1;
  --brush-track: #242D3E;
  --brush-scrim-card: linear-gradient(180deg, #06090E00 40%, #06090EB3 66%, #06090EF2 82%, #06090EFA 100%);
  --brush-scrim-banner: linear-gradient(90deg, #03050AE6 0%, #03050AD6 13%, #03050A9E 28%, #03050A40 42%, #03050A00 56%);
  --brush-scrim-bannerbottom: linear-gradient(180deg, #03050A00 55%, #03050A8C 100%);
  --brush-scrim-launch: linear-gradient(180deg, #0C101826 0%, #0C101880 45%, #0C1018E6 80%, #0C1018 100%);
  --color-syphon-ground: #080812;
  --color-syphon-panel-top: #121220;
  --color-syphon-panel-bottom: #0C0C18;
  --color-syphon-text: #F8F8FF;
  --color-syphon-text-dim: #A5AFDC;
  --color-syphon-text-faint: #687098;
  --color-syphon-violet: #7C3AED;
  --color-syphon-pink: #EC4899;
  --color-syphon-lilac: #A778FA;
  --color-syphon-ring: #935AF5;
  --color-syphon-grid: #FFFFFF07;
  --brush-syphon-ground: #080812;
  --brush-syphon-panel: linear-gradient(180deg, #121220 0%, #0C0C18 100%);
  --brush-syphon-text: #F8F8FF;
  --brush-syphon-text-dim: #A5AFDC;
  --brush-syphon-text-faint: #687098;
  --brush-syphon-lilac: #A778FA;
  --brush-syphon-gradient: linear-gradient(90deg, #7C3AED 0%, #EC4899 100%);
  --color-syphon-purple: #6D28D9;
  --brush-syphon-button: linear-gradient(90deg, #7C3AED 0%, #9461FB 100%);
  --brush-syphon-button-hot: linear-gradient(90deg, #8B4DF7 0%, #A47BFC 100%);
  --brush-syphon-field: #0A0A16E6;
  --brush-syphon-soft: #7C3AED29;
  --brush-syphon-edge: #7C3AED66;
  --brush-syphon-line: #FFFFFF1F;
  --brush-syphon-lilac-hot: #C4A6FC;
  --brush-button-primary: linear-gradient(180deg, #7A5AFB 0%, #5F3CF0 100%);
  --brush-button-primary-hot: linear-gradient(180deg, #8565FB 0%, #6A47F8 100%);
  --brush-button-danger: linear-gradient(180deg, #E04358 0%, #C4304A 100%);
  --brush-button-danger-hot: linear-gradient(180deg, #E3475C 0%, #C7334D 100%);
  --brush-button-outline: linear-gradient(180deg, #18202C 0%, #10151D 100%);
  --brush-button-outline-hot: linear-gradient(180deg, #222B3A 0%, #19202B 100%);
  --brush-button-outline-edge: linear-gradient(180deg, #3A4556 0%, #252E3B 100%);
  --brush-button-outline-edge-hot: linear-gradient(180deg, #56647A 0%, #3A4659 100%);
  --brush-button-secondary: linear-gradient(180deg, #6C49F938 0%, #6C49F924 100%);
  --brush-button-secondary-hot: #6C49F924;
  --brush-button-secondary-edge: linear-gradient(180deg, #6A5FD0 0%, #423D8C 100%);
  --brush-button-secondary-text: #CBC2FE;
  --brush-button-sheen: linear-gradient(180deg, #FFFFFF66 0%, #FFFFFF14 38%, #FFFFFF00 100%);
  --brush-button-shade: linear-gradient(180deg, #FFFFFF1A 0%, #FFFFFF00 50%, #00000024 100%);
  --brush-button-press: #0000002E;
  --brush-button-halo: radial-gradient(ellipse 50% 50% at 50% 50%, #000000CC 0%, #00000075 60%, #00000000 100%);
  --brush-toggle-off: #F25A6C2E;
  --brush-toggle-off-edge: #F25A6C66;
  --brush-toggle-off-hot: #F25A6C26;
  --brush-toggle-on: #6C49F938;
  --brush-toggle-on-edge: #7D5DFB8C;
  --brush-toggle-on-hot: #6C49F926;
  --radius-window: 8px;
  --radius-banner: 19px;
  --radius-panel: 16.5px;
  --radius-card: 12px;
  --radius-control: 8px;
  --radius-small: 6px;
  --radius-tiny: 4px;
  --radius-card-value: 12px;
  --radius-control-value: 8px;
  --size-window-width: 1586px;
  --size-window-height: 992px;
  --size-window-minwidth: 1100px;
  --size-window-minheight: 700px;
  --size-sidebar: 192px;
  --size-sidebar-compact: 76px;
  --size-topbar: 77px;
  --size-strip: 83px;
  --size-nav-item: 48px;
  --size-search-width: 302px;
  --size-search-height: 40px;
  --size-button-large: 49px;
  --size-button: 40px;
  --size-button-small: 34px;
  --size-card-width: 258px;
  --size-card-height: 292px;
  --space-page: 0px 20px 0px 20px;
  --space-page-inset: 0px 24px 0px 28px;
  --space-card-gap: 13px;
  --space-xs: 4px;
  --space-s: 8px;
  --space-m: 12px;
  --space-l: 16px;
  --space-xl: 24px;
  --space-xxl: 32px;
  --fontsize-heading: 40px;
  --fontsize-heading-compact: 30px;
  --fontsize-section: 26px;
  --fontsize-title: 22.6px;
  --fontsize-lead: 20.5px;
  --fontsize-subtitle: 17.4px;
  --fontsize-body-large: 16.8px;
  --fontsize-body: 15.2px;
  --fontsize-small: 14.9px;
  --fontsize-caption: 13px;
  --fontsize-label: 13.5px;
  --motion-fast: 110ms;
  --motion-normal: 180ms;
  --motion-slow: 260ms;

  /* src/SyphonVault.App/Themes/Typography.xaml */
  --font-ui: "Segoe UI", "Selawik", system-ui, sans-serif;
  --font-display: "Segoe UI", "Selawik", system-ui, sans-serif;
  --font-gametitle: "Playfair Display", Georgia, serif;
  --text-base-size: 15.2px;
  --text-base-color: #F4F3F9;
  --text-base-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-heading-size: 40px;
  --text-heading-weight: 700;
  --text-heading-color: #F4F3F9;
  --text-heading-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-section-size: 26px;
  --text-section-weight: 700;
  --text-section-color: #F4F3F9;
  --text-section-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-title-size: 22.6px;
  --text-title-weight: 600;
  --text-title-color: #F4F3F9;
  --text-title-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-lead-size: 20.5px;
  --text-lead-color: #F4F3F9;
  --text-lead-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-subtitle-size: 17.4px;
  --text-subtitle-weight: 600;
  --text-subtitle-color: #F4F3F9;
  --text-subtitle-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-body-size: 15.2px;
  --text-body-color: #F4F3F9;
  --text-body-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-body-strong-size: 15.2px;
  --text-body-strong-weight: 600;
  --text-body-strong-color: #F4F3F9;
  --text-body-strong-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-secondary-size: 15.2px;
  --text-secondary-color: #B4C6DB;
  --text-secondary-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-small-size: 14.9px;
  --text-small-color: #B4C6DB;
  --text-small-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-caption-size: 13px;
  --text-caption-color: #8999AA;
  --text-caption-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-group-size: 13.5px;
  --text-group-weight: 600;
  --text-group-color: #978AFB;
  --text-group-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-paragraph-size: 15.2px;
  --text-paragraph-line: 22px;
  --text-paragraph-color: #B4C6DB;
  --text-paragraph-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-gametitle-size: 28.5px;
  --text-gametitle-weight: 700;
  --text-gametitle-color: #F4F3F9;
  --text-gametitle-family: "Playfair Display", Georgia, serif;

  /* src/SyphonVault.App/Themes/Controls.xaml */
  --text-badge-text-size: 12.5px;
  --text-badge-text-weight: 600;
  --text-badge-text-color: #FFFFFF;
  --text-badge-text-family: "Segoe UI", "Selawik", system-ui, sans-serif;

  /* src/SyphonVault.App/Themes/Overlays.xaml */
  --text-dialog-title-size: 21px;
  --text-dialog-title-weight: 600;
  --text-dialog-title-color: #F4F3F9;
  --text-dialog-title-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-dialog-text-size: 15.2px;
  --text-dialog-text-line: 22px;
  --text-dialog-text-color: #B4C6DB;
  --text-dialog-text-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-toast-title-size: 14.9px;
  --text-toast-title-weight: 600;
  --text-toast-title-color: #F4F3F9;
  --text-toast-title-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-toast-text-size: 13.5px;
  --text-toast-text-line: 19px;
  --text-toast-text-color: #B4C6DB;
  --text-toast-text-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --brush-notice-ground: #171E2B;

  /* src/SyphonVault.App/Chat/ChatTheme.xaml */
  --brush-chat-rail: #0A0F15;
  --brush-chat-column: #0C1118;
  --brush-chat-messages: #0F161F;
  --brush-chat-body: #DDE3EC;
  --brush-chat-rowhover: #FFFFFF0B;
  --brush-chat-mention: #F5B54414;
  --brush-chat-mentionpill-me: #F5B5442E;
  --brush-chat-skeleton: #1A2230;
  --brush-chat-reported: #F25A6C1F;
  --brush-chat-codespan: #242D3D;
  --brush-chat-codeblock: #0A0E15;
  --brush-chat-code-text: #CFDAEA;
  --brush-chat-flyout: #151C28;
  --brush-chat-chip: #131C29;
  --brush-chat-success-soft: #3DE6A31F;
  --brush-chat-success-edge: #3DE6A359;
  --brush-chat-voice: #21C246;
  --brush-chat-voice-soft: #21C24624;
  --brush-chat-voice-edge: #21C24666;
  --brush-chat-voice-panel: #101A1A;
  --brush-chat-call-accept: #1FA83E;
  --brush-chat-call-accept-hover: #25BD48;
  --brush-chat-voice-fill: linear-gradient(180deg, #2FD155 0%, #1DB13F 100%);
  --brush-chat-voice-fill-hot: linear-gradient(180deg, #46DA69 0%, #25BF48 100%);
  --brush-chat-link-hot: #B9B0FD;
  --text-chat-grouplabel-size: 11.5px;
  --text-chat-grouplabel-weight: 600;
  --text-chat-grouplabel-color: #8999AA;
  --text-chat-grouplabel-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-chat-grouplabel-spacing: 1.5px;
  --text-chat-chip-text-size: 11.5px;
  --text-chat-chip-text-weight: 600;
  --text-chat-chip-text-color: #978AFB;
  --text-chat-chip-text-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-chat-count-text-size: 11.5px;
  --text-chat-count-text-weight: 600;
  --text-chat-count-text-color: #FFFFFF;
  --text-chat-count-text-family: "Segoe UI", "Selawik", system-ui, sans-serif;

  /* src/SyphonVault.App/Chat/ChatProfileTheme.xaml */
  --brush-profile-ground: linear-gradient(180deg, #1A2231 0%, #161D29 42%, #131923 100%);
  --brush-profile-edge: linear-gradient(180deg, #3A4559 0%, #2C3647 30%, #222A37 100%);
  --brush-profile-disc: #131925F2;
  --brush-profile-markring: #161D29;
  --brush-profile-inset: #0C1118B3;
  --brush-profile-inset-edge: linear-gradient(180deg, #1C2431 0%, #1A2230 100%);
  --brush-profile-bannerfade: linear-gradient(180deg, #141A2500 30%, #141A2559 72%, #161D29C7 100%);
  --brush-profile-bannerfade-panel: linear-gradient(180deg, #12122000 30%, #12122059 72%, #121220D6 100%);
  --brush-profile-disc-panel: #111120F2;
  --brush-profile-markring-panel: #11111F;
  --brush-profile-inset-panel: #0A0A16B3;
  --brush-profile-bone-panel: #FFFFFF14;
  --brush-chat-grouphover: #FFFFFF06;
  --brush-chat-mention-sweep: linear-gradient(90deg, #F5B54424 0%, #F5B54412 45%, #F5B5440A 100%);
  --brush-chat-dayline-left: linear-gradient(90deg, #2A344400 0%, #2A3444 100%);
  --brush-chat-dayline-right: linear-gradient(90deg, #2A3444 0%, #2A344400 100%);
  --brush-chat-daypill: #151C27;
  --brush-chat-daypill-edge: #263040;
  --brush-chat-newline: linear-gradient(90deg, #8F85F900 0%, #8F85F98C 55%, #8F85F9 100%);
  --brush-chat-newglow: radial-gradient(ellipse 50% 50% at 50% 50%, #6C49F959 0%, #6C49F922 55%, #6C49F900 100%);
  --brush-chat-header: linear-gradient(180deg, #FFFFFF0C 0%, #FFFFFF04 100%);
  --brush-chat-headershade: linear-gradient(180deg, #00000033 0%, #00000012 45%, #00000000 100%);

  /* src/SyphonVault.App/Chat/ChatPanelTheme.xaml */
  --text-chatpanel-headertitle-size: 17px;
  --text-chatpanel-headertitle-weight: 600;
  --text-chatpanel-headertitle-color: #F4F3F9;
  --text-chatpanel-headertitle-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-chatpanel-headernote-size: 13.5px;
  --text-chatpanel-headernote-color: #8999AA;
  --text-chatpanel-headernote-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-chatpanel-columntitle-size: 16px;
  --text-chatpanel-columntitle-weight: 600;
  --text-chatpanel-columntitle-color: #F4F3F9;
  --text-chatpanel-columntitle-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-chatpanel-lead-size: 14px;
  --text-chatpanel-lead-line: 20px;
  --text-chatpanel-lead-color: #B4C6DB;
  --text-chatpanel-lead-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-chatpanel-kicker-size: 10.5px;
  --text-chatpanel-kicker-weight: 600;
  --text-chatpanel-kicker-color: #978AFB;
  --text-chatpanel-kicker-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-chatpanel-stat-size: 12.5px;
  --text-chatpanel-stat-color: #8999AA;
  --text-chatpanel-stat-family: "Segoe UI", "Selawik", system-ui, sans-serif;

  /* src/SyphonVault.App/Chat/ChatVoiceStyles.xaml */
  --voice-ground-live: #0D1B1A;
  --voice-edge-live: #21C24640;
  --voice-ground-wait: #1A1B19;
  --voice-edge-wait: #F5B54440;
  --voice-ground-problem: #1B151D;
  --voice-edge-problem: #F25A6C40;
  --voice-bar-off: #FFFFFF33;
  --voice-tile: #FFFFFF0F;
  --text-voice-title-size: 13.5px;
  --text-voice-title-weight: 600;
  --text-voice-title-color: #FBDFA6;
  --text-voice-title-family: "Segoe UI", "Selawik", system-ui, sans-serif;
  --text-voice-placetext-size: 12.5px;
  --text-voice-placetext-family: "Segoe UI", "Selawik", system-ui, sans-serif;

  /* the colours a player's profile takes (src/SyphonVault.App/Chat/ChatAccent.cs): each game's (config/games.json, AccentColor) and each of the Vault's own pictures' (assets/avatars, sampled at 48 x 48 as ChatAccent.Sample does; nearly grey gives the Vault's purple). The web app makes them readable as ChatAccent.Readable does. */
  --accent-game-gemstonero: #9B5CFF;
  --accent-game-loki: #FF66CB;
  --accent-game-freya: #E9B657;
  --accent-game-gemstonewow: #58B4FF;
  --accent-game-defiantscape: #2F6BFF;
  --accent-avatar-vault: #6F53D1;
  --accent-avatar-crystal: #4852B0;
  --accent-avatar-guardian: #4F428B;
  --accent-avatar-fox: #A355D0;
}

/* One class per text style of the Vault, made of the custom properties above. A setting the style does not make is not written: the text takes it from around it, as in WPF. */
.t-base {
  font-size: var(--text-base-size);
  color: var(--text-base-color);
  font-family: var(--text-base-family);
}
.t-heading {
  font-size: var(--text-heading-size);
  font-weight: var(--text-heading-weight);
  color: var(--text-heading-color);
  font-family: var(--text-heading-family);
}
.t-section {
  font-size: var(--text-section-size);
  font-weight: var(--text-section-weight);
  color: var(--text-section-color);
  font-family: var(--text-section-family);
}
.t-title {
  font-size: var(--text-title-size);
  font-weight: var(--text-title-weight);
  color: var(--text-title-color);
  font-family: var(--text-title-family);
}
.t-lead {
  font-size: var(--text-lead-size);
  color: var(--text-lead-color);
  font-family: var(--text-lead-family);
}
.t-subtitle {
  font-size: var(--text-subtitle-size);
  font-weight: var(--text-subtitle-weight);
  color: var(--text-subtitle-color);
  font-family: var(--text-subtitle-family);
}
.t-body {
  font-size: var(--text-body-size);
  color: var(--text-body-color);
  font-family: var(--text-body-family);
}
.t-body-strong {
  font-size: var(--text-body-strong-size);
  font-weight: var(--text-body-strong-weight);
  color: var(--text-body-strong-color);
  font-family: var(--text-body-strong-family);
}
.t-secondary {
  font-size: var(--text-secondary-size);
  color: var(--text-secondary-color);
  font-family: var(--text-secondary-family);
}
.t-small {
  font-size: var(--text-small-size);
  color: var(--text-small-color);
  font-family: var(--text-small-family);
}
.t-caption {
  font-size: var(--text-caption-size);
  color: var(--text-caption-color);
  font-family: var(--text-caption-family);
}
.t-group {
  font-size: var(--text-group-size);
  font-weight: var(--text-group-weight);
  color: var(--text-group-color);
  font-family: var(--text-group-family);
}
.t-paragraph {
  font-size: var(--text-paragraph-size);
  line-height: var(--text-paragraph-line);
  color: var(--text-paragraph-color);
  font-family: var(--text-paragraph-family);
}
.t-gametitle {
  font-size: var(--text-gametitle-size);
  font-weight: var(--text-gametitle-weight);
  color: var(--text-gametitle-color);
  font-family: var(--text-gametitle-family);
}
.t-badge-text {
  font-size: var(--text-badge-text-size);
  font-weight: var(--text-badge-text-weight);
  color: var(--text-badge-text-color);
  font-family: var(--text-badge-text-family);
}
.t-dialog-title {
  font-size: var(--text-dialog-title-size);
  font-weight: var(--text-dialog-title-weight);
  color: var(--text-dialog-title-color);
  font-family: var(--text-dialog-title-family);
}
.t-dialog-text {
  font-size: var(--text-dialog-text-size);
  line-height: var(--text-dialog-text-line);
  color: var(--text-dialog-text-color);
  font-family: var(--text-dialog-text-family);
}
.t-toast-title {
  font-size: var(--text-toast-title-size);
  font-weight: var(--text-toast-title-weight);
  color: var(--text-toast-title-color);
  font-family: var(--text-toast-title-family);
}
.t-toast-text {
  font-size: var(--text-toast-text-size);
  line-height: var(--text-toast-text-line);
  color: var(--text-toast-text-color);
  font-family: var(--text-toast-text-family);
}
.t-chat-grouplabel {
  font-size: var(--text-chat-grouplabel-size);
  font-weight: var(--text-chat-grouplabel-weight);
  color: var(--text-chat-grouplabel-color);
  font-family: var(--text-chat-grouplabel-family);
  letter-spacing: var(--text-chat-grouplabel-spacing);
}
.t-chat-chip-text {
  font-size: var(--text-chat-chip-text-size);
  font-weight: var(--text-chat-chip-text-weight);
  color: var(--text-chat-chip-text-color);
  font-family: var(--text-chat-chip-text-family);
}
.t-chat-count-text {
  font-size: var(--text-chat-count-text-size);
  font-weight: var(--text-chat-count-text-weight);
  color: var(--text-chat-count-text-color);
  font-family: var(--text-chat-count-text-family);
}
.t-chatpanel-headertitle {
  font-size: var(--text-chatpanel-headertitle-size);
  font-weight: var(--text-chatpanel-headertitle-weight);
  color: var(--text-chatpanel-headertitle-color);
  font-family: var(--text-chatpanel-headertitle-family);
}
.t-chatpanel-headernote {
  font-size: var(--text-chatpanel-headernote-size);
  color: var(--text-chatpanel-headernote-color);
  font-family: var(--text-chatpanel-headernote-family);
}
.t-chatpanel-columntitle {
  font-size: var(--text-chatpanel-columntitle-size);
  font-weight: var(--text-chatpanel-columntitle-weight);
  color: var(--text-chatpanel-columntitle-color);
  font-family: var(--text-chatpanel-columntitle-family);
}
.t-chatpanel-lead {
  font-size: var(--text-chatpanel-lead-size);
  line-height: var(--text-chatpanel-lead-line);
  color: var(--text-chatpanel-lead-color);
  font-family: var(--text-chatpanel-lead-family);
}
.t-chatpanel-kicker {
  font-size: var(--text-chatpanel-kicker-size);
  font-weight: var(--text-chatpanel-kicker-weight);
  color: var(--text-chatpanel-kicker-color);
  font-family: var(--text-chatpanel-kicker-family);
}
.t-chatpanel-stat {
  font-size: var(--text-chatpanel-stat-size);
  color: var(--text-chatpanel-stat-color);
  font-family: var(--text-chatpanel-stat-family);
}
.t-voice-title {
  font-size: var(--text-voice-title-size);
  font-weight: var(--text-voice-title-weight);
  color: var(--text-voice-title-color);
  font-family: var(--text-voice-title-family);
}
.t-voice-placetext {
  font-size: var(--text-voice-placetext-size);
  font-family: var(--text-voice-placetext-family);
}

/* Not written here, from the files above:
   100 styles that are not for text (buttons, panels, inputs, menus: the web app's own CSS draws those)
   8 styles without a key (implicit, for a control type)
   5 templates
   15 objects of the app's own classes (value converters)
   124 geometries (the icons: wwwroot/icons.g.svg)
   brushes left out: none
   other values left out: none
   text style settings left out: none
   approximated: none
   player colours left out: none
*/
