From 866f93954ced7e1df722de5f7b3ee6918b5470fc Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Sun, 8 Mar 2026 06:47:10 +0200 Subject: [PATCH] Add @layer --- app/components/GearSelect.tsx | 2 +- app/components/Main.tsx | 4 +- app/components/WeaponSelect.tsx | 2 +- .../components/Bracket/Match.tsx | 2 +- .../tournament/routes/to.$id.register.tsx | 2 +- app/styles/common.css | 1055 +++++------ app/styles/flags.css | 1566 +++++++++-------- app/styles/normalize.css | 227 +-- app/styles/utils.css | 992 ++++++----- app/styles/vars.css | 6 +- vite.config.ts | 14 + 11 files changed, 1945 insertions(+), 1927 deletions(-) diff --git a/app/components/GearSelect.tsx b/app/components/GearSelect.tsx index 5b210dbd4..1b1ad6763 100644 --- a/app/components/GearSelect.tsx +++ b/app/components/GearSelect.tsx @@ -55,7 +55,7 @@ export function GearSelect({ > {({ key, items: gear, brandId, idx }) => ( {weapons.map(({ weapon, name }) => ( diff --git a/app/features/tournament-bracket/components/Bracket/Match.tsx b/app/features/tournament-bracket/components/Bracket/Match.tsx index 3005d66f3..652bbef38 100644 --- a/app/features/tournament-bracket/components/Bracket/Match.tsx +++ b/app/features/tournament-bracket/components/Bracket/Match.tsx @@ -238,7 +238,7 @@ function MatchRow({ >
diff --git a/app/features/tournament/routes/to.$id.register.tsx b/app/features/tournament/routes/to.$id.register.tsx index 525f7fab0..a5006b155 100644 --- a/app/features/tournament/routes/to.$id.register.tsx +++ b/app/features/tournament/routes/to.$id.register.tsx @@ -1046,7 +1046,7 @@ function FillRoster({ ) : null} {tournament.ctx.settings.requireInGameNames ? ( -
+
Note that you are expected to use the in-game names as listed above. Playing in the event with a different name or using the alias feature might result in disqualification. diff --git a/app/styles/common.css b/app/styles/common.css index 0a187cffc..fb8211bd5 100644 --- a/app/styles/common.css +++ b/app/styles/common.css @@ -1,578 +1,585 @@ /** biome-ignore-all lint/style/noDescendingSpecificity: Biome v2 migration */ +@layer base { + * { + margin: 0; + overflow-wrap: break-word; + } -* { - margin: 0; - overflow-wrap: break-word; -} - -html { - color-scheme: light dark; - accent-color: var(--color-text-accent); - scrollbar-gutter: stable; - scroll-padding-top: var(--layout-nav-height); -} - -@media screen and (display-mode: standalone) { html { - scroll-padding-top: calc( - var(--layout-nav-height) + - env(safe-area-inset-top) - ); - } -} - -body { - width: 100%; - min-height: 100vh; - display: flex; - line-height: var(--line-height); - overflow-x: hidden; - color: var(--color-text); - background-color: var(--color-bg); - font-family: lexend, sans-serif; - - -moz-osx-font-smoothing: antialiased; - -webkit-font-smoothing: antialiased; - -webkit-tab-highlight-color: transparent; - -webkit-text-size-adjust: 100%; -} - -h1, -h2, -h3, -h4, -h5, -h6, -p { - overflow-wrap: anywhere; -} - -h1, -h2, -h3 { - text-wrap: balance; -} -p { - text-wrap: pretty; -} - -img, -svg, -canvas, -video, -audio, -iframe, -embed, -object { - display: block; - max-width: 100%; -} - -input, -button, -textarea, -select { - font: inherit; - color: inherit; -} - -details summary { - cursor: pointer; - user-select: none; - -webkit-user-select: none; -} - -a { - color: var(--color-text-accent); - text-decoration: none; - border-radius: var(--radius-field); - - &:focus-visible { - outline: var(--focus-ring); - outline-offset: 1px; - } -} - -/* :not([name="text"]) workaround not to select textarea on map planner */ -textarea:not([name="text"]) { - width: 100%; - min-height: 8rem; - padding: var(--field-padding); - border: var(--border-style); - border-radius: var(--radius-field); - background-color: var(--color-bg); - font-size: var(--font-sm); - outline: none; - resize: vertical; - - &:focus-within { - outline: var(--focus-ring); - outline-offset: 1px; - } -} - -.input-container { - display: flex; - border: var(--border-style); - border-radius: var(--radius-field); - background-color: var(--color-bg); - height: var(--field-size); - font-size: var(--font-sm); - outline: none; -} - -.input-container:focus-within { - outline: var(--focus-ring); - outline-offset: 1px; -} - -.in-container { - width: 100%; - padding: 0 var(--field-padding); - border: none; - background: transparent; - margin: auto 0; - outline: none; -} - -.input-addon { - --addon-radius: calc(var(--radius-field) - 2px); - display: grid; - border-radius: var(--addon-radius) 0 0 var(--addon-radius); - background-color: var(--color-bg-high); - color: var(--color-text-high); - font-size: var(--font-sm); - padding-inline: var(--field-padding); - place-items: center; - white-space: nowrap; -} - -input:not(.in-container) { - width: 100%; - box-sizing: border-box; - border: var(--border-style); - border-radius: var(--radius-field); - background: var(--color-bg); - padding: 0 var(--field-padding); - height: var(--field-size); - font-size: var(--font-sm); - outline: none; - - &::placeholder { - color: var(--color-text-high); + color-scheme: light dark; + accent-color: var(--color-text-accent); + scrollbar-gutter: stable; + scroll-padding-top: var(--layout-nav-height); } - &:disabled { - pointer-events: none; - cursor: not-allowed; - opacity: 0.5; - outline: none; - } - - &:focus-within:not(:read-only) { - outline: var(--focus-ring); - outline-offset: 1px; - } -} - -input[type="checkbox"] { - appearance: none; - cursor: pointer; - padding: 0; - width: var(--selector-size-sm); - height: var(--selector-size-sm); - border-radius: calc(var(--radius-selector) / 2); - background-color: var(--color-bg); - border: var(--border-style); - - &:focus-within { - outline: none; - } - - &:focus-visible { - outline: var(--focus-ring); - outline-offset: 1px; - } - - &:checked, - &:indeterminate { - border-color: var(--color-text-accent); - background-color: var(--color-text-accent); - background-repeat: no-repeat; - background-position: center; - background-size: var(--field-size-icon) auto; - } - - &:checked { - background-image: var(--field-icon-checkbox); - } - - &:indeterminate { - background-image: var(--field-icon-minus); - } - - /* Hacky selector to remove the margin bottom from the container from Label.tsx */ - &:has(+ div > label) + div { - margin-bottom: 0; - } -} - -input[type="radio"] { - appearance: none; - cursor: pointer; - vertical-align: middle; - width: var(--selector-size-sm); - height: var(--selector-size-sm); - background-color: var(--color-bg); - border: var(--border-style); - border-radius: var(--radius-full); - padding: 0; - - &:focus-within { - outline: none; - } - - &:focus-visible { - outline: var(--focus-ring); - outline-offset: 1px; - } - - &::after { - content: ""; - display: block; - width: 50%; - height: 50%; - border-radius: var(--radius-full); - background-color: var(--color-bg); - margin: auto; - margin-top: 25%; - } - - &:checked { - border-color: var(--color-text-accent); - - &::after { - background-color: var(--color-text-accent); + @media screen and (display-mode: standalone) { + html { + scroll-padding-top: calc( + var(--layout-nav-height) + + env(safe-area-inset-top) + ); } } - /* Hacky selector to remove the margin bottom from the container from Label.tsx */ - &:has(+ div > label) + div { - margin-bottom: 0; - } -} + body { + width: 100%; + min-height: 100vh; + display: flex; + line-height: var(--line-height); + overflow-x: hidden; + color: var(--color-text); + background-color: var(--color-bg); + font-family: lexend, sans-serif; -label { - display: block; - font-size: var(--font-xs); - font-weight: var(--weight-bold); - margin-block-end: var(--label-margin); -} - -fieldset { - border: none; - border-radius: var(--radius-box); - background-color: var(--color-bg-high); - font-size: var(--font-sm); - padding-block-end: var(--s-3); - padding-inline: var(--s-3); -} - -legend { - border-radius: var(--radius-field); - background-color: transparent; - font-size: var(--font-xs); - font-weight: var(--weight-bold); -} - -article { - white-space: pre-wrap; -} - -select { - all: unset; - width: 100%; - box-sizing: border-box; - border: var(--border-style); - border-radius: var(--radius-field); - background-color: var(--color-bg); - cursor: pointer; - padding: 0 var(--field-padding); - padding-right: calc( - var(--field-size-icon) + - var(--field-padding) + - var(--s-2) - ); - height: var(--field-size); - font-size: var(--font-sm); - display: inline-flex; - align-items: center; - text-overflow: ellipsis; - white-space: nowrap; - appearance: none; - overflow: hidden; - - @supports (appearance: base-select) { - appearance: base-select; + -moz-osx-font-smoothing: antialiased; + -webkit-font-smoothing: antialiased; + -webkit-tab-highlight-color: transparent; + -webkit-text-size-adjust: 100%; } - &:disabled { - pointer-events: none; - cursor: not-allowed; - opacity: 0.5; + h1, + h2, + h3, + h4, + h5, + h6, + p { + overflow-wrap: anywhere; + } + + h1, + h2, + h3 { + text-wrap: balance; + } + p { + text-wrap: pretty; + } + + img, + svg, + canvas, + video, + audio, + iframe, + embed, + object { + display: block; + max-width: 100%; + } + + input, + button, + textarea, + select { + font: inherit; + color: inherit; + } + + details summary { + cursor: pointer; + user-select: none; + -webkit-user-select: none; + } + + a { + color: var(--color-text-accent); + text-decoration: none; + border-radius: var(--radius-field); + + &:focus-visible { + outline: var(--focus-ring); + outline-offset: 1px; + } + } + + /* :not([name="text"]) workaround not to select textarea on map planner */ + textarea:not([name="text"]) { + width: 100%; + min-height: 8rem; + padding: var(--field-padding); + border: var(--border-style); + border-radius: var(--radius-field); + background-color: var(--color-bg); + font-size: var(--font-sm); + outline: none; + resize: vertical; + + &:focus-within { + outline: var(--focus-ring); + outline-offset: 1px; + } + } + + .input-container { + display: flex; + border: var(--border-style); + border-radius: var(--radius-field); + background-color: var(--color-bg); + height: var(--field-size); + font-size: var(--font-sm); outline: none; } - &:focus-within { + .input-container:focus-within { outline: var(--focus-ring); outline-offset: 1px; } - /* biome-ignore lint: experimental CSS feature */ - &::picker(select) { + .in-container { + width: 100%; + padding: 0 var(--field-padding); + border: none; + background: transparent; + margin: auto 0; + outline: none; + } + + .input-addon { + --addon-radius: calc(var(--radius-field) - 2px); + display: grid; + border-radius: var(--addon-radius) 0 0 var(--addon-radius); + background-color: var(--color-bg-high); + color: var(--color-text-high); + font-size: var(--font-sm); + padding-inline: var(--field-padding); + place-items: center; + white-space: nowrap; + } + + input:not(.in-container) { + width: 100%; + box-sizing: border-box; + border: var(--border-style); + border-radius: var(--radius-field); + background: var(--color-bg); + padding: 0 var(--field-padding); + height: var(--field-size); + font-size: var(--font-sm); + outline: none; + + &::placeholder { + color: var(--color-text-high); + } + + &:disabled { + pointer-events: none; + cursor: not-allowed; + opacity: 0.5; + outline: none; + } + + &:focus-within:not(:read-only) { + outline: var(--focus-ring); + outline-offset: 1px; + } + } + + input[type="checkbox"] { + appearance: none; + cursor: pointer; + padding: 0; + width: var(--selector-size-sm); + height: var(--selector-size-sm); + border-radius: calc(var(--radius-selector) / 2); + background-color: var(--color-bg); + border: var(--border-style); + + &:focus-within { + outline: none; + } + + &:focus-visible { + outline: var(--focus-ring); + outline-offset: 1px; + } + + &:checked, + &:indeterminate { + border-color: var(--color-text-accent); + background-color: var(--color-text-accent); + background-repeat: no-repeat; + background-position: center; + background-size: var(--field-size-icon) auto; + } + + &:checked { + background-image: var(--field-icon-checkbox); + } + + &:indeterminate { + background-image: var(--field-icon-minus); + } + + /* Hacky selector to remove the margin bottom from the container from Label.tsx */ + &:has(+ div > label) + div { + margin-bottom: 0; + } + } + + input[type="radio"] { + appearance: none; + cursor: pointer; + vertical-align: middle; + width: var(--selector-size-sm); + height: var(--selector-size-sm); + background-color: var(--color-bg); + border: var(--border-style); + border-radius: var(--radius-full); + padding: 0; + + &:focus-within { + outline: none; + } + + &:focus-visible { + outline: var(--focus-ring); + outline-offset: 1px; + } + + &::after { + content: ""; + display: block; + width: 50%; + height: 50%; + border-radius: var(--radius-full); + background-color: var(--color-bg); + margin: auto; + margin-top: 25%; + } + + &:checked { + border-color: var(--color-text-accent); + + &::after { + background-color: var(--color-text-accent); + } + } + + /* Hacky selector to remove the margin bottom from the container from Label.tsx */ + &:has(+ div > label) + div { + margin-bottom: 0; + } + } + + label { + display: block; + font-size: var(--font-xs); + font-weight: var(--weight-bold); + margin-block-end: var(--label-margin); + } + + fieldset { + border: none; + border-radius: var(--radius-box); + background-color: var(--color-bg-high); + font-size: var(--font-sm); + padding-block-end: var(--s-3); + padding-inline: var(--s-3); + } + + legend { + border-radius: var(--radius-field); + background-color: transparent; + font-size: var(--font-xs); + font-weight: var(--weight-bold); + } + + article { + white-space: pre-wrap; + } + + select { + all: unset; + width: 100%; + box-sizing: border-box; + border: var(--border-style); + border-radius: var(--radius-field); + background-color: var(--color-bg); + cursor: pointer; + padding: 0 var(--field-padding); + padding-right: calc( + var(--field-size-icon) + + var(--field-padding) + + var(--s-2) + ); + height: var(--field-size); + font-size: var(--font-sm); + display: inline-flex; + align-items: center; + text-overflow: ellipsis; + white-space: nowrap; + appearance: none; + overflow: hidden; + @supports (appearance: base-select) { appearance: base-select; } - background-color: var(--color-bg); - border: var(--border-style); - border-radius: var(--radius-field); - padding: var(--s-1); - margin: 0.5rem; - translate: -0.5rem; - max-height: 50dvh; - } - - /* biome-ignore lint: experimental CSS feature */ - &::picker-icon { - display: none; - } - - option { - background-color: var(--color-bg); - color: var(--color-text); - border-radius: var(--radius-field); - font-size: var(--font-sm); - font-weight: var(--weight-semi); - padding: var(--s-1-5); - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - - &[disabled] { - color: var(--color-text-high); + &:disabled { + pointer-events: none; + cursor: not-allowed; + opacity: 0.5; + outline: none; } - &:hover:not([disabled]) { - background-color: var(--color-bg-high); + &:focus-within { + outline: var(--focus-ring); + outline-offset: 1px; + } + + /* biome-ignore lint: experimental CSS feature */ + &::picker(select) { + @supports (appearance: base-select) { + appearance: base-select; + } + + background-color: var(--color-bg); + border: var(--border-style); + border-radius: var(--radius-field); + padding: var(--s-1); + margin: 0.5rem; + translate: -0.5rem; + max-height: 50dvh; + } + + /* biome-ignore lint: experimental CSS feature */ + &::picker-icon { + display: none; + } + + option { + background-color: var(--color-bg); + color: var(--color-text); + border-radius: var(--radius-field); + font-size: var(--font-sm); + font-weight: var(--weight-semi); + padding: var(--s-1-5); + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + + &[disabled] { + color: var(--color-text-high); + } + + &:hover:not([disabled]) { + background-color: var(--color-bg-high); + } } } -} -input[type="date"], -input[type="datetime-local"], -input[type="month"], -input[type="time"], -input[type="week"], -select { - background-position: center right var(--field-padding); - background-size: var(--field-size-icon) auto; - background-repeat: no-repeat; -} - -input[type="date"], -input[type="datetime-local"], -input[type="month"], -input[type="week"] { - background-image: var(--field-icon-date); -} - -input[type="time"] { - background-image: var(--field-icon-time); -} - -select { - background-image: var(--field-icon-chevron); -} - -[type="date"]::-webkit-calendar-picker-indicator, -[type="datetime-local"]::-webkit-calendar-picker-indicator, -[type="month"]::-webkit-calendar-picker-indicator, -[type="time"]::-webkit-calendar-picker-indicator, -[type="week"]::-webkit-calendar-picker-indicator { - width: var(--field-size-icon); - opacity: 0; -} - -@-moz-document url-prefix() { - [type="date"], - [type="datetime-local"], - [type="month"], - [type="time"], - [type="week"] { - background-image: none !important; - } -} - -@-moz-document url-prefix() { input[type="date"], input[type="datetime-local"], input[type="month"], input[type="time"], + input[type="week"], + select { + background-position: center right var(--field-padding); + background-size: var(--field-size-icon) auto; + background-repeat: no-repeat; + } + + input[type="date"], + input[type="datetime-local"], + input[type="month"], input[type="week"] { - background-image: none; - } -} - -input[type="color"] { - padding: calc(var(--field-size) / 8) var(--field-padding); -} - -input[type="color"]::-webkit-color-swatch { - border: 0; - border-radius: var(--radius-field); -} - -input[type="color"]::-moz-color-swatch { - border: 0; - border-radius: var(--radius-field); -} - -input[type="file"] { - padding: 0; - cursor: pointer; - font-size: var(--font-sm); - color: var(--color-text-high); - overflow: hidden; -} - -input[type="file"]::file-selector-button { - height: 100%; - border: none; - background-color: var(--color-bg-higher); - white-space: nowrap; - margin-right: var(--s-2); -} - -input[type="range"] { - --track-color: var(--color-bg-higher); - --thumb-color: var(--color-text-high); - border: none; - padding: 0; - appearance: none; - background: 0 0; - width: 100%; - height: var(--selector-size); - - &:focus { - outline: none; + background-image: var(--field-icon-date); } - &:focus-within { + input[type="time"] { + background-image: var(--field-icon-time); + } + + select { + background-image: var(--field-icon-chevron); + } + + [type="date"]::-webkit-calendar-picker-indicator, + [type="datetime-local"]::-webkit-calendar-picker-indicator, + [type="month"]::-webkit-calendar-picker-indicator, + [type="time"]::-webkit-calendar-picker-indicator, + [type="week"]::-webkit-calendar-picker-indicator { + width: var(--field-size-icon); + opacity: 0; + } + + @-moz-document url-prefix() { + [type="date"], + [type="datetime-local"], + [type="month"], + [type="time"], + [type="week"] { + background-image: none !important; + } + } + + @-moz-document url-prefix() { + input[type="date"], + input[type="datetime-local"], + input[type="month"], + input[type="time"], + input[type="week"] { + background-image: none; + } + } + + input[type="color"] { + padding: calc(var(--field-size) / 8) var(--field-padding); + } + + input[type="color"]::-webkit-color-swatch { + border: 0; + border-radius: var(--radius-field); + } + + input[type="color"]::-moz-color-swatch { + border: 0; + border-radius: var(--radius-field); + } + + input[type="file"] { + padding: 0; + cursor: pointer; + font-size: var(--font-sm); + color: var(--color-text-high); + overflow: hidden; + } + + input[type="file"]::file-selector-button { + height: 100%; + border: none; + background-color: var(--color-bg-higher); + white-space: nowrap; + margin-right: var(--s-2); + } + + input[type="range"] { --track-color: var(--color-bg-higher); - --thumb-color: var(--color-text-accent); + --thumb-color: var(--color-text-high); + border: none; + padding: 0; + appearance: none; + background: 0 0; + width: 100%; + height: var(--selector-size); + + &:focus { + outline: none; + } + + &:focus-within { + --track-color: var(--color-bg-higher); + --thumb-color: var(--color-text-accent); + } } -} -input[type="range"]::-webkit-slider-runnable-track { - width: 100%; - height: calc(var(--selector-size) / 4); - background-color: var(--track-color); - border-radius: var(--radius-full); - transition: 100ms background-color; -} + input[type="range"]::-webkit-slider-runnable-track { + width: 100%; + height: calc(var(--selector-size) / 4); + background-color: var(--track-color); + border-radius: var(--radius-full); + transition: 100ms background-color; + } -input[type="range"]::-moz-range-track { - width: 100%; - height: calc(var(--selector-size) / 4); - background-color: var(--track-color); - border-radius: var(--radius-full); - transition: 100ms background-color; -} + input[type="range"]::-moz-range-track { + width: 100%; + height: calc(var(--selector-size) / 4); + background-color: var(--track-color); + border-radius: var(--radius-full); + transition: 100ms background-color; + } -input[type="range"]::-webkit-slider-thumb { - -webkit-appearance: none; - appearance: none; - width: var(--selector-size); - height: var(--selector-size); - margin-top: calc((calc(var(--selector-size) / 4) - var(--selector-size)) / 2); - background-color: var(--thumb-color); - border: 2px solid var(--color-bg); - border-radius: var(--radius-full); - cursor: pointer; - transition: 100ms background-color; -} + input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: var(--selector-size); + height: var(--selector-size); + margin-top: calc( + (calc(var(--selector-size) / 4) - var(--selector-size)) / + 2 + ); + background-color: var(--thumb-color); + border: 2px solid var(--color-bg); + border-radius: var(--radius-full); + cursor: pointer; + transition: 100ms background-color; + } -input[type="range"]::-moz-range-thumb { - -webkit-appearance: none; - appearance: none; - width: var(--selector-size); - height: var(--selector-size); - margin-top: calc((calc(var(--selector-size) / 4) - var(--selector-size)) / 2); - background-color: var(--thumb-color); - border: 2px solid var(--color-bg); - border-radius: var(--radius-full); - cursor: pointer; - transition: 100ms background-color; -} + input[type="range"]::-moz-range-thumb { + -webkit-appearance: none; + appearance: none; + width: var(--selector-size); + height: var(--selector-size); + margin-top: calc( + (calc(var(--selector-size) / 4) - var(--selector-size)) / + 2 + ); + background-color: var(--thumb-color); + border: 2px solid var(--color-bg); + border-radius: var(--radius-full); + cursor: pointer; + transition: 100ms background-color; + } -progress { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - display: inline-block; - width: 100%; - height: var(--selector-size); - overflow: hidden; - border: none; - border-radius: var(--radius-full); - background-color: var(--color-bg-high); - color: var(--color-text-accent); - vertical-align: baseline; -} + progress { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: inline-block; + width: 100%; + height: var(--selector-size); + overflow: hidden; + border: none; + border-radius: var(--radius-full); + background-color: var(--color-bg-high); + color: var(--color-text-accent); + vertical-align: baseline; + } -progress::-webkit-progress-bar { - border-radius: var(--radius-full); - background: 0 0; -} + progress::-webkit-progress-bar { + border-radius: var(--radius-full); + background: 0 0; + } -progress::-moz-progress-bar { - background-color: var(--color-text-accent); -} + progress::-moz-progress-bar { + background-color: var(--color-text-accent); + } -progress[value]::-webkit-progress-value { - background-color: var(--color-text-accent); - transition: inline-size 0.2s ease; -} + progress[value]::-webkit-progress-value { + background-color: var(--color-text-accent); + transition: inline-size 0.2s ease; + } -td > input[type="checkbox"] { - vertical-align: middle; -} + td > input[type="checkbox"] { + vertical-align: middle; + } -hr { - border: 1px solid var(--color-bg-high); -} + hr { + border: 1px solid var(--color-bg-high); + } -abbr:not([title]) { - text-decoration: none; -} + abbr:not([title]) { + text-decoration: none; + } -abbr[title] { - cursor: help; -} + abbr[title] { + cursor: help; + } -.article > p { - padding-block: var(--s-3); -} + .article > p { + padding-block: var(--s-3); + } -.article img { - height: auto; -} + .article img { + height: auto; + } -/* Hack to deal with Safari bug when the image is loading. See: https://stackoverflow.com/a/73466877 */ -@media not all and (min-resolution: 0.001dpcm) { - img[loading="lazy"] { - clip-path: inset(0.5px); + /* Hack to deal with Safari bug when the image is loading. See: https://stackoverflow.com/a/73466877 */ + @media not all and (min-resolution: 0.001dpcm) { + img[loading="lazy"] { + clip-path: inset(0.5px); + } } } diff --git a/app/styles/flags.css b/app/styles/flags.css index ef5a20fae..be38142ee 100644 --- a/app/styles/flags.css +++ b/app/styles/flags.css @@ -1,1008 +1,1010 @@ -.twf { - display: inline-block; - min-width: 2.5rem; - max-width: 2.5rem; - min-height: 2.5rem; - max-height: 2.5rem; - vertical-align: -0.25em; -} +@layer base { + .twf { + display: inline-block; + min-width: 2.5rem; + max-width: 2.5rem; + min-height: 2.5rem; + max-height: 2.5rem; + vertical-align: -0.25em; + } + + .twf-s { + min-width: 1em; + max-width: 1em; + min-height: 1em; + max-height: 1em; + vertical-align: -0.1em; + } + + .twf-af { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1eb.svg"); + } + + .twf-ax { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1fd.svg"); + } + + .twf-al { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f1.svg"); + } + + .twf-dz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1ff.svg"); + } + + .twf-as { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f8.svg"); + } + + .twf-ad { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1e9.svg"); + } + + .twf-ao { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f4.svg"); + } + + .twf-ai { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1ee.svg"); + } + + .twf-aq { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f6.svg"); + } + + .twf-ag { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1ec.svg"); + } + + .twf-ar { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f7.svg"); + } + + .twf-am { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f2.svg"); + } + + .twf-aw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1fc.svg"); + } + + .twf-au { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1fa.svg"); + } + + .twf-at { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f9.svg"); + } + + .twf-az { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1ff.svg"); + } + + .twf-bs { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f8.svg"); + } + + .twf-bh { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ed.svg"); + } + + .twf-bd { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1e9.svg"); + } + + .twf-bb { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1e7.svg"); + } + + .twf-by { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1fe.svg"); + } + + .twf-be { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ea.svg"); + } + + .twf-bz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ff.svg"); + } -.twf-s { - min-width: 1em; - max-width: 1em; - min-height: 1em; - max-height: 1em; - vertical-align: -0.1em; -} + .twf-bj { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ef.svg"); + } -.twf-af { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1eb.svg"); -} + .twf-bm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f2.svg"); + } -.twf-ax { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1fd.svg"); -} + .twf-bt { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f9.svg"); + } -.twf-al { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f1.svg"); -} + .twf-bo { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f4.svg"); + } -.twf-dz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1ff.svg"); -} + .twf-ba { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1e6.svg"); + } -.twf-as { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f8.svg"); -} + .twf-bw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1fc.svg"); + } -.twf-ad { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1e9.svg"); -} + .twf-bv { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1fb.svg"); + } -.twf-ao { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f4.svg"); -} + .twf-br { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f7.svg"); + } -.twf-ai { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1ee.svg"); -} + .twf-io { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f4.svg"); + } -.twf-aq { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f6.svg"); -} + .twf-bn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f3.svg"); + } -.twf-ag { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1ec.svg"); -} + .twf-bg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ec.svg"); + } -.twf-ar { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f7.svg"); -} + .twf-bf { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1eb.svg"); + } -.twf-am { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f2.svg"); -} + .twf-bi { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ee.svg"); + } -.twf-aw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1fc.svg"); -} + .twf-kh { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ed.svg"); + } -.twf-au { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1fa.svg"); -} + .twf-cm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f2.svg"); + } -.twf-at { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f9.svg"); -} + .twf-ca { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1e6.svg"); + } -.twf-az { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1ff.svg"); -} + .twf-cv { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1fb.svg"); + } -.twf-bs { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f8.svg"); -} + .twf-ky { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1fe.svg"); + } -.twf-bh { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ed.svg"); -} + .twf-cf { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1eb.svg"); + } -.twf-bd { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1e9.svg"); -} + .twf-td { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1e9.svg"); + } -.twf-bb { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1e7.svg"); -} + .twf-cl { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f1.svg"); + } -.twf-by { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1fe.svg"); -} + .twf-cn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f3.svg"); + } -.twf-be { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ea.svg"); -} + .twf-cx { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1fd.svg"); + } -.twf-bz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ff.svg"); -} + .twf-cc { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1e8.svg"); + } -.twf-bj { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ef.svg"); -} + .twf-co { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f4.svg"); + } -.twf-bm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f2.svg"); -} + .twf-km { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1f2.svg"); + } -.twf-bt { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f9.svg"); -} + .twf-cg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1ec.svg"); + } -.twf-bo { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f4.svg"); -} + .twf-cd { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1e9.svg"); + } -.twf-ba { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1e6.svg"); -} + .twf-ck { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f0.svg"); + } -.twf-bw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1fc.svg"); -} + .twf-cr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f7.svg"); + } -.twf-bv { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1fb.svg"); -} + .twf-ci { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1ee.svg"); + } -.twf-br { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f7.svg"); -} + .twf-hr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f7.svg"); + } -.twf-io { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f4.svg"); -} + .twf-cu { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1fa.svg"); + } -.twf-bn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1f3.svg"); -} + .twf-cy { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1fe.svg"); + } -.twf-bg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ec.svg"); -} + .twf-cz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1ff.svg"); + } -.twf-bf { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1eb.svg"); -} + .twf-dk { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1f0.svg"); + } -.twf-bi { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e7-1f1ee.svg"); -} + .twf-dj { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1ef.svg"); + } -.twf-kh { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ed.svg"); -} + .twf-dm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1f2.svg"); + } -.twf-cm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f2.svg"); -} + .twf-do { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1f4.svg"); + } -.twf-ca { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1e6.svg"); -} + .twf-ec { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1e8.svg"); + } -.twf-cv { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1fb.svg"); -} + .twf-eg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1ec.svg"); + } -.twf-ky { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1fe.svg"); -} + .twf-sv { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1fb.svg"); + } -.twf-cf { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1eb.svg"); -} + .twf-gq { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f6.svg"); + } -.twf-td { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1e9.svg"); -} + .twf-er { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1f7.svg"); + } -.twf-cl { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f1.svg"); -} + .twf-ee { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1ea.svg"); + } -.twf-cn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f3.svg"); -} + .twf-et { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1f9.svg"); + } -.twf-cx { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1fd.svg"); -} + .twf-fk { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1f0.svg"); + } -.twf-cc { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1e8.svg"); -} + .twf-fo { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1f4.svg"); + } -.twf-co { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f4.svg"); -} + .twf-fj { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1ef.svg"); + } -.twf-km { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1f2.svg"); -} + .twf-fi { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1ee.svg"); + } -.twf-cg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1ec.svg"); -} + .twf-fr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1f7.svg"); + } -.twf-cd { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1e9.svg"); -} + .twf-gf { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1eb.svg"); + } -.twf-ck { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f0.svg"); -} + .twf-pf { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1eb.svg"); + } -.twf-cr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f7.svg"); -} + .twf-tf { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1eb.svg"); + } -.twf-ci { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1ee.svg"); -} + .twf-ga { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1e6.svg"); + } -.twf-hr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f7.svg"); -} + .twf-gm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f2.svg"); + } -.twf-cu { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1fa.svg"); -} + .twf-ge { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1ea.svg"); + } -.twf-cy { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1fe.svg"); -} + .twf-de { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1ea.svg"); + } -.twf-cz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1ff.svg"); -} + .twf-gh { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1ed.svg"); + } -.twf-dk { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1f0.svg"); -} + .twf-gi { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1ee.svg"); + } -.twf-dj { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1ef.svg"); -} + .twf-gr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f7.svg"); + } -.twf-dm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1f2.svg"); -} + .twf-gl { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f1.svg"); + } -.twf-do { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1f4.svg"); -} + .twf-gd { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1e9.svg"); + } -.twf-ec { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1e8.svg"); -} + .twf-gp { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f5.svg"); + } -.twf-eg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1ec.svg"); -} + .twf-gu { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1fa.svg"); + } -.twf-sv { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1fb.svg"); -} + .twf-gt { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f9.svg"); + } -.twf-gq { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f6.svg"); -} + .twf-gg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1ec.svg"); + } -.twf-er { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1f7.svg"); -} + .twf-gn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f3.svg"); + } -.twf-ee { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1ea.svg"); -} + .twf-gw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1fc.svg"); + } -.twf-et { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1f9.svg"); -} + .twf-gy { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1fe.svg"); + } -.twf-fk { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1f0.svg"); -} + .twf-ht { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f9.svg"); + } -.twf-fo { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1f4.svg"); -} + .twf-hm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f2.svg"); + } -.twf-fj { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1ef.svg"); -} + .twf-va { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1e6.svg"); + } -.twf-fi { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1ee.svg"); -} + .twf-hn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f3.svg"); + } -.twf-fr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1f7.svg"); -} + .twf-hk { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f0.svg"); + } -.twf-gf { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1eb.svg"); -} + .twf-hu { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1fa.svg"); + } -.twf-pf { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1eb.svg"); -} + .twf-is { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f8.svg"); + } -.twf-tf { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1eb.svg"); -} + .twf-in { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f3.svg"); + } -.twf-ga { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1e6.svg"); -} + .twf-id { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1e9.svg"); + } -.twf-gm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f2.svg"); -} + .twf-ir { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f7.svg"); + } -.twf-ge { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1ea.svg"); -} + .twf-iq { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f6.svg"); + } -.twf-de { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e9-1f1ea.svg"); -} + .twf-ie { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1ea.svg"); + } -.twf-gh { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1ed.svg"); -} + .twf-im { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f2.svg"); + } -.twf-gi { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1ee.svg"); -} + .twf-il { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f1.svg"); + } -.twf-gr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f7.svg"); -} + .twf-it { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f9.svg"); + } -.twf-gl { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f1.svg"); -} + .twf-jm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ef-1f1f2.svg"); + } -.twf-gd { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1e9.svg"); -} + .twf-jp { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ef-1f1f5.svg"); + } -.twf-gp { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f5.svg"); -} + .twf-je { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ef-1f1ea.svg"); + } -.twf-gu { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1fa.svg"); -} + .twf-jo { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ef-1f1f4.svg"); + } -.twf-gt { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f9.svg"); -} + .twf-kz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ff.svg"); + } -.twf-gg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1ec.svg"); -} + .twf-ke { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ea.svg"); + } -.twf-gn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f3.svg"); -} + .twf-ki { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ee.svg"); + } -.twf-gw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1fc.svg"); -} + .twf-kp { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1f5.svg"); + } -.twf-gy { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1fe.svg"); -} + .twf-kr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1f7.svg"); + } -.twf-ht { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f9.svg"); -} + .twf-kw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1fc.svg"); + } -.twf-hm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f2.svg"); -} + .twf-kg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ec.svg"); + } -.twf-va { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1e6.svg"); -} + .twf-la { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1e6.svg"); + } -.twf-hn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f3.svg"); -} + .twf-lv { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1fb.svg"); + } -.twf-hk { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1f0.svg"); -} + .twf-lb { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1e7.svg"); + } -.twf-hu { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ed-1f1fa.svg"); -} + .twf-ls { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1f8.svg"); + } -.twf-is { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f8.svg"); -} + .twf-lr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1f7.svg"); + } -.twf-in { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f3.svg"); -} + .twf-ly { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1fe.svg"); + } -.twf-id { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1e9.svg"); -} + .twf-li { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1ee.svg"); + } -.twf-ir { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f7.svg"); -} + .twf-lt { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1f9.svg"); + } -.twf-iq { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f6.svg"); -} + .twf-lu { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1fa.svg"); + } -.twf-ie { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1ea.svg"); -} + .twf-mo { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f4.svg"); + } -.twf-im { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f2.svg"); -} + .twf-mk { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f0.svg"); + } -.twf-il { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f1.svg"); -} + .twf-mg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1ec.svg"); + } -.twf-it { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ee-1f1f9.svg"); -} + .twf-mw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fc.svg"); + } -.twf-jm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ef-1f1f2.svg"); -} + .twf-my { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fe.svg"); + } -.twf-jp { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ef-1f1f5.svg"); -} + .twf-mv { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fb.svg"); + } -.twf-je { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ef-1f1ea.svg"); -} + .twf-ml { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f1.svg"); + } -.twf-jo { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ef-1f1f4.svg"); -} + .twf-mt { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f9.svg"); + } -.twf-kz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ff.svg"); -} + .twf-mh { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1ed.svg"); + } -.twf-ke { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ea.svg"); -} + .twf-mq { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f6.svg"); + } -.twf-ki { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ee.svg"); -} + .twf-mr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f7.svg"); + } -.twf-kp { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1f5.svg"); -} + .twf-mu { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fa.svg"); + } -.twf-kr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1f7.svg"); -} + .twf-yt { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fe-1f1f9.svg"); + } -.twf-kw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1fc.svg"); -} + .twf-mx { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fd.svg"); + } -.twf-kg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1ec.svg"); -} + .twf-fm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1f2.svg"); + } -.twf-la { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1e6.svg"); -} + .twf-md { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1e9.svg"); + } -.twf-lv { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1fb.svg"); -} + .twf-mc { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1e8.svg"); + } -.twf-lb { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1e7.svg"); -} + .twf-mn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f3.svg"); + } -.twf-ls { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1f8.svg"); -} + .twf-ms { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f8.svg"); + } -.twf-lr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1f7.svg"); -} + .twf-ma { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1e6.svg"); + } -.twf-ly { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1fe.svg"); -} + .twf-mz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1ff.svg"); + } -.twf-li { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1ee.svg"); -} + .twf-mm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f2.svg"); + } -.twf-lt { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1f9.svg"); -} + .twf-na { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1e6.svg"); + } -.twf-lu { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1fa.svg"); -} + .twf-nr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1f7.svg"); + } -.twf-mo { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f4.svg"); -} + .twf-np { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1f5.svg"); + } -.twf-mk { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f0.svg"); -} + .twf-nl { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1f1.svg"); + } -.twf-mg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1ec.svg"); -} + .twf-an { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f3.svg"); + } -.twf-mw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fc.svg"); -} + .twf-nc { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1e8.svg"); + } -.twf-my { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fe.svg"); -} + .twf-nz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1ff.svg"); + } -.twf-mv { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fb.svg"); -} + .twf-ni { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1ee.svg"); + } -.twf-ml { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f1.svg"); -} + .twf-ne { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1ea.svg"); + } -.twf-mt { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f9.svg"); -} - -.twf-mh { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1ed.svg"); -} - -.twf-mq { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f6.svg"); -} - -.twf-mr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f7.svg"); -} - -.twf-mu { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fa.svg"); -} - -.twf-yt { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fe-1f1f9.svg"); -} - -.twf-mx { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1fd.svg"); -} - -.twf-fm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1eb-1f1f2.svg"); -} - -.twf-md { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1e9.svg"); -} - -.twf-mc { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1e8.svg"); -} - -.twf-mn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f3.svg"); -} - -.twf-ms { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f8.svg"); -} - -.twf-ma { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1e6.svg"); -} - -.twf-mz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1ff.svg"); -} - -.twf-mm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f2.svg"); -} - -.twf-na { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1e6.svg"); -} - -.twf-nr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1f7.svg"); -} - -.twf-np { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1f5.svg"); -} + .twf-ng { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1ec.svg"); + } -.twf-nl { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1f1.svg"); -} + .twf-nu { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1fa.svg"); + } -.twf-an { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1f3.svg"); -} - -.twf-nc { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1e8.svg"); -} - -.twf-nz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1ff.svg"); -} - -.twf-ni { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1ee.svg"); -} - -.twf-ne { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1ea.svg"); -} - -.twf-ng { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1ec.svg"); -} - -.twf-nu { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1fa.svg"); -} - -.twf-nf { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1eb.svg"); -} + .twf-nf { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1eb.svg"); + } -.twf-mp { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f5.svg"); -} + .twf-mp { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f2-1f1f5.svg"); + } -.twf-no { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1f4.svg"); -} + .twf-no { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f3-1f1f4.svg"); + } -.twf-om { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f4-1f1f2.svg"); -} + .twf-om { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f4-1f1f2.svg"); + } -.twf-pk { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f0.svg"); -} + .twf-pk { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f0.svg"); + } -.twf-pw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1fc.svg"); -} + .twf-pw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1fc.svg"); + } -.twf-ps { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f8.svg"); -} + .twf-ps { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f8.svg"); + } -.twf-pa { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1e6.svg"); -} + .twf-pa { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1e6.svg"); + } -.twf-pg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1ec.svg"); -} + .twf-pg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1ec.svg"); + } -.twf-py { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1fe.svg"); -} + .twf-py { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1fe.svg"); + } -.twf-pe { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1ea.svg"); -} + .twf-pe { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1ea.svg"); + } -.twf-ph { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1ed.svg"); -} + .twf-ph { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1ed.svg"); + } -.twf-pn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f3.svg"); -} + .twf-pn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f3.svg"); + } -.twf-pl { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f1.svg"); -} + .twf-pl { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f1.svg"); + } -.twf-pt { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f9.svg"); -} + .twf-pt { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f9.svg"); + } -.twf-pr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f7.svg"); -} + .twf-pr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f7.svg"); + } -.twf-qa { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f6-1f1e6.svg"); -} + .twf-qa { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f6-1f1e6.svg"); + } -.twf-re { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1ea.svg"); -} + .twf-re { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1ea.svg"); + } -.twf-ro { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1f4.svg"); -} + .twf-ro { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1f4.svg"); + } -.twf-rs { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1f8.svg"); -} + .twf-rs { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1f8.svg"); + } -.twf-ru { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1fa.svg"); -} + .twf-ru { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1fa.svg"); + } -.twf-rw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1fc.svg"); -} + .twf-rw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f7-1f1fc.svg"); + } -.twf-sh { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ed.svg"); -} + .twf-sh { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ed.svg"); + } -.twf-kn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1f3.svg"); -} + .twf-kn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f0-1f1f3.svg"); + } -.twf-lc { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1e8.svg"); -} + .twf-lc { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1e8.svg"); + } -.twf-pm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f2.svg"); -} + .twf-pm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f5-1f1f2.svg"); + } -.twf-vc { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1e8.svg"); -} + .twf-vc { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1e8.svg"); + } -.twf-ws { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fc-1f1f8.svg"); -} + .twf-ws { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fc-1f1f8.svg"); + } -.twf-sm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f2.svg"); -} + .twf-sm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f2.svg"); + } -.twf-st { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f9.svg"); -} + .twf-st { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f9.svg"); + } -.twf-sa { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1e6.svg"); -} + .twf-sa { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1e6.svg"); + } -.twf-sn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f3.svg"); -} + .twf-sn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f3.svg"); + } -.twf-cs { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f8.svg"); -} + .twf-cs { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1f8.svg"); + } -.twf-sc { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1e8.svg"); -} + .twf-sc { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1e8.svg"); + } -.twf-sl { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f1.svg"); -} + .twf-sl { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f1.svg"); + } -.twf-sg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ec.svg"); -} + .twf-sg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ec.svg"); + } -.twf-sk { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f0.svg"); -} + .twf-sk { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f0.svg"); + } -.twf-si { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ee.svg"); -} + .twf-si { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ee.svg"); + } -.twf-sb { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1e7.svg"); -} + .twf-sb { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1e7.svg"); + } -.twf-so { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f4.svg"); -} + .twf-so { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f4.svg"); + } -.twf-za { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ff-1f1e6.svg"); -} + .twf-za { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ff-1f1e6.svg"); + } -.twf-gs { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f8.svg"); -} + .twf-gs { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1f8.svg"); + } -.twf-es { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1f8.svg"); -} + .twf-es { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1f8.svg"); + } -.twf-lk { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1f0.svg"); -} + .twf-lk { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f1-1f1f0.svg"); + } -.twf-sd { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1e9.svg"); -} + .twf-sd { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1e9.svg"); + } -.twf-sr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f7.svg"); -} + .twf-sr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1f7.svg"); + } -.twf-sj { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ef.svg"); -} + .twf-sj { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ef.svg"); + } -.twf-sz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ff.svg"); -} + .twf-sz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ff.svg"); + } -.twf-se { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ea.svg"); -} + .twf-se { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1ea.svg"); + } -.twf-ch { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1ed.svg"); -} + .twf-ch { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e8-1f1ed.svg"); + } -.twf-sy { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1fe.svg"); -} + .twf-sy { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f8-1f1fe.svg"); + } -.twf-tw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1fc.svg"); -} + .twf-tw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1fc.svg"); + } -.twf-tj { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1ef.svg"); -} + .twf-tj { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1ef.svg"); + } -.twf-tz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1ff.svg"); -} + .twf-tz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1ff.svg"); + } -.twf-th { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1ed.svg"); -} + .twf-th { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1ed.svg"); + } -.twf-tl { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f1.svg"); -} + .twf-tl { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f1.svg"); + } -.twf-tg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1ec.svg"); -} + .twf-tg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1ec.svg"); + } -.twf-tk { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f0.svg"); -} + .twf-tk { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f0.svg"); + } -.twf-to { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f4.svg"); -} + .twf-to { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f4.svg"); + } -.twf-tt { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f9.svg"); -} + .twf-tt { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f9.svg"); + } -.twf-tn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f3.svg"); -} + .twf-tn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f3.svg"); + } -.twf-tr { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f7.svg"); -} + .twf-tr { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f7.svg"); + } -.twf-tm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f2.svg"); -} + .twf-tm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1f2.svg"); + } -.twf-tc { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1e8.svg"); -} + .twf-tc { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1e8.svg"); + } -.twf-tv { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1fb.svg"); -} + .twf-tv { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1f9-1f1fb.svg"); + } -.twf-ug { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1ec.svg"); -} + .twf-ug { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1ec.svg"); + } -.twf-ua { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1e6.svg"); -} + .twf-ua { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1e6.svg"); + } -.twf-ae { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1ea.svg"); -} + .twf-ae { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1e6-1f1ea.svg"); + } -.twf-gb { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1e7.svg"); -} + .twf-gb { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1e7.svg"); + } -.twf-us { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1f8.svg"); -} + .twf-us { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1f8.svg"); + } -.twf-um { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1f2.svg"); -} + .twf-um { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1f2.svg"); + } -.twf-uy { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1fe.svg"); -} + .twf-uy { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1fe.svg"); + } -.twf-uz { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1ff.svg"); -} + .twf-uz { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fa-1f1ff.svg"); + } -.twf-vu { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1fa.svg"); -} + .twf-vu { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1fa.svg"); + } -.twf-ve { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1ea.svg"); -} + .twf-ve { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1ea.svg"); + } -.twf-vn { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1f3.svg"); -} + .twf-vn { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1f3.svg"); + } -.twf-vg { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1ec.svg"); -} + .twf-vg { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1ec.svg"); + } -.twf-vi { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1ee.svg"); -} + .twf-vi { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fb-1f1ee.svg"); + } -.twf-wf { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fc-1f1eb.svg"); -} + .twf-wf { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fc-1f1eb.svg"); + } -.twf-eh { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1ed.svg"); -} + .twf-eh { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ea-1f1ed.svg"); + } -.twf-ye { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fe-1f1ea.svg"); -} + .twf-ye { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1fe-1f1ea.svg"); + } -.twf-zm { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ff-1f1f2.svg"); -} + .twf-zm { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ff-1f1f2.svg"); + } -.twf-zw { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ff-1f1fc.svg"); -} + .twf-zw { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ff-1f1fc.svg"); + } -.twf-gb-wls { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg"); -} + .twf-gb-wls { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg"); + } -.twf-gb-eng { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg"); -} + .twf-gb-eng { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg"); + } -.twf-gb-sct { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg"); -} + .twf-gb-sct { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg"); + } -.twf-gb-nir { - background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1e7.svg"); + .twf-gb-nir { + background-image: url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f1ec-1f1e7.svg"); + } } diff --git a/app/styles/normalize.css b/app/styles/normalize.css index e72e1e136..8b0b25525 100644 --- a/app/styles/normalize.css +++ b/app/styles/normalize.css @@ -1,214 +1,217 @@ -/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */ +@layer reset { + /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */ -/* + /* Document ======== */ -/** + /** Use a better box model (opinionated). */ -*, -::before, -::after { - box-sizing: border-box; -} + *, + ::before, + ::after { + box-sizing: border-box; + } -/** + /** 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) 2. Correct the line height in all browsers. 3. Prevent adjustments of font size after orientation changes in iOS. 4. Use a more readable tab size (opinionated). */ -html { - font-family: - system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, - "Apple Color Emoji", "Segoe UI Emoji"; /* 1 */ - line-height: 1.15; /* 2 */ - -webkit-text-size-adjust: 100%; /* 3 */ - tab-size: 4; /* 4 */ -} + html { + font-family: + system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji"; /* 1 */ + line-height: 1.15; /* 2 */ + -webkit-text-size-adjust: 100%; /* 3 */ + tab-size: 4; /* 4 */ + } -/* + /* Sections ======== */ -/** + /** Remove the margin in all browsers. */ -body { - margin: 0; -} + body { + margin: 0; + } -/* + /* Text-level semantics ==================== */ -/** + /** Add the correct font weight in Chrome and Safari. */ -b, -strong { - font-weight: bolder; -} + b, + strong { + font-weight: bolder; + } -/** + /** 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) 2. Correct the odd 'em' font sizing in all browsers. */ -code, -kbd, -samp, -pre { - font-family: - ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} + code, + kbd, + samp, + pre { + font-family: + ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, + monospace; /* 1 */ + font-size: 1em; /* 2 */ + } -/** + /** Add the correct font size in all browsers. */ -small { - font-size: 80%; -} + small { + font-size: 80%; + } -/** + /** Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } -sub { - bottom: -0.25em; -} + sub { + bottom: -0.25em; + } -sup { - top: -0.5em; -} + sup { + top: -0.5em; + } -/* + /* Tabular data ============ */ -/** + /** Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016) */ -table { - border-color: currentcolor; -} + table { + border-color: currentcolor; + } -/* + /* Forms ===== */ -/** + /** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */ -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } -/** + /** Correct the inability to style clickable types in iOS and Safari. */ -button, -[type="button"], -[type="reset"], -[type="submit"] { - appearance: button; - -webkit-appearance: button; -} + button, + [type="button"], + [type="reset"], + [type="submit"] { + appearance: button; + -webkit-appearance: button; + } -/** + /** Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. */ -legend { - padding: 0; -} + legend { + padding: 0; + } -/** + /** Add the correct vertical alignment in Chrome and Firefox. */ -progress { - vertical-align: baseline; -} + progress { + vertical-align: baseline; + } -/** + /** Correct the cursor style of increment and decrement buttons in Safari. */ -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} + ::-webkit-inner-spin-button, + ::-webkit-outer-spin-button { + height: auto; + } -/** + /** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */ -[type="search"] { - appearance: textfield; /* 1 */ - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} + [type="search"] { + appearance: textfield; /* 1 */ + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } -/** + /** Remove the inner padding in Chrome and Safari on macOS. */ -::-webkit-search-decoration { - -webkit-appearance: none; -} + ::-webkit-search-decoration { + -webkit-appearance: none; + } -/** + /** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to 'inherit' in Safari. */ -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } -/* + /* Interactive =========== */ -/* + /* Add the correct display in Chrome and Safari. */ -summary { - display: list-item; + summary { + display: list-item; + } } diff --git a/app/styles/utils.css b/app/styles/utils.css index 7c4219ba0..be7d7d939 100644 --- a/app/styles/utils.css +++ b/app/styles/utils.css @@ -1,628 +1,618 @@ -.text-xl { - font-size: var(--font-xl); -} +@layer utilities { + .text-xl { + font-size: var(--font-xl); + } -.text-lg { - font-size: var(--font-lg); -} + .text-lg { + font-size: var(--font-lg); + } -.text-sm { - font-size: var(--font-sm); -} + .text-sm { + font-size: var(--font-sm); + } -.text-md { - font-size: var(--font-md); -} + .text-md { + font-size: var(--font-md); + } -.text-xs { - font-size: var(--font-xs); -} + .text-xs { + font-size: var(--font-xs); + } -.text-xxs { - font-size: var(--font-2xs); -} + .text-xxs { + font-size: var(--font-2xs); + } -.text-xxxs { - font-size: var(--font-2xs); -} + .text-xxxs { + font-size: var(--font-2xs); + } -.text-center { - text-align: center; -} + .text-center { + text-align: center; + } -.text-left { - text-align: left; -} + .text-left { + text-align: left; + } -.text-main-forced { - color: var(--color-text) !important; -} + .text-main-forced { + color: var(--color-text); + } -.text-lighter { - color: var(--color-text-high); -} + .text-lighter { + color: var(--color-text-high); + } -.text-lighter-important { - color: var(--color-text-high) !important; -} + .text-theme-transparent { + color: var(--color-accent-low); + } -.text-theme-transparent { - color: var(--color-accent-low); -} + .text-error { + color: var(--color-error); + } -.text-error { - color: var(--color-error); -} + .text-success { + color: var(--color-success); + } -.text-success { - color: var(--color-success); -} + .text-info { + color: var(--color-info); + } -.text-info { - color: var(--color-info); -} + .text-warning { + color: var(--color-warning); + } -.text-warning { - color: var(--color-warning); -} + .text-theme { + color: var(--color-text-accent); + } -.text-warning-important { - color: var(--color-warning) !important; -} + .text-theme-secondary { + color: var(--color-text-second); + } -.text-theme { - color: var(--color-text-accent); -} + .text-uppercase { + text-transform: uppercase; + } -.text-theme-secondary { - color: var(--color-text-second); -} + .text-capitalize { + text-transform: capitalize; + } -.text-uppercase { - text-transform: uppercase; -} + .underline { + text-decoration: underline; + } -.text-capitalize { - text-transform: capitalize; -} + .color-success { + color: var(--color-success); + } -.underline { - text-decoration: underline; -} + .color-warning { + color: var(--color-warning); + } -.color-success { - color: var(--color-success); -} + .color-error { + color: var(--color-error); + } -.color-warning { - color: var(--color-warning); -} + .color-info { + color: var(--color-info); + } -.color-error { - color: var(--color-error); -} + .bg { + background-color: var(--color-bg); + } -.color-info { - color: var(--color-info); -} + .bg-lighter { + background-color: var(--color-bg-high); + } -.bg { - background-color: var(--color-bg); -} + .bg-transparent { + background-color: transparent; + } -.bg-lighter { - background-color: var(--color-bg-high); -} + .bg-darker-transparent { + background-color: var(--color-bg); + } -.bg-transparent-important { - background-color: transparent !important; -} + .bg-theme-transparent { + background-color: var(--color-accent-low); + } -.bg-darker-transparent { - background-color: var(--color-bg); -} + .rounded { + border-radius: var(--radius-box); + } -.bg-theme-transparent-important { - background-color: var(--color-accent-low) !important; -} + .rounded-sm { + border-radius: var(--radius-field); + } -.rounded { - border-radius: var(--radius-box); -} + .rounded-full { + border-radius: 100%; + } -.rounded-sm { - border-radius: var(--radius-field); -} + .font-body { + font-weight: var(--weight-body); + } -.rounded-full { - border-radius: 100%; -} + .font-semi-bold { + font-weight: var(--weight-semi); + } -.font-body { - font-weight: var(--weight-body); -} + .font-bold { + font-weight: var(--weight-bold); + } -.font-semi-bold { - font-weight: var(--weight-semi); -} + .h-full { + height: 100%; + } -.font-bold { - font-weight: var(--weight-bold); -} + .w-full { + width: 100%; + } -.h-full { - height: 100%; -} + .w-4 { + width: var(--s-4); + } -.w-full { - width: 100%; -} + .w-6 { + width: var(--s-6); + } -.w-full-important { - width: 100% !important; -} + .w-24 { + width: var(--s-24); + } -.w-4 { - width: var(--s-4); -} + .min-w-max { + min-width: max-content; + } -.w-6 { - width: var(--s-6); -} + .w-max { + width: max-content; + } -.w-24 { - width: var(--s-24); -} + .w-min { + width: min-content; + } -.min-w-max { - min-width: max-content; -} + .p-1 { + padding: var(--s-1); + } -.w-max { - width: max-content; -} + .p-1-5 { + padding: var(--s-1-5); + } -.w-min { - width: min-content; -} + .px-4 { + padding-inline: var(--s-4); + } -.p-1 { - padding: var(--s-1); -} + .py-4 { + padding-block: var(--s-4); + } -.p-1-5 { - padding: var(--s-1-5); -} + .pl-0 { + padding-inline-start: 0; + } -.px-4 { - padding-inline: var(--s-4); -} + .pl-4 { + padding-inline-start: var(--s-4); + } -.py-4 { - padding-block: var(--s-4); -} + .px-2 { + padding-inline: var(--s-2); + } -.pl-0 { - padding-inline-start: 0; -} + .pb-4 { + padding-block-end: var(--s-4); + } -.pl-4 { - padding-inline-start: var(--s-4); -} + .pt-0 { + padding-block-start: 0; + } -.px-2 { - padding-inline: var(--s-2); -} + .pt-0-5 { + padding-block-start: var(--s-0-5); + } -.pb-4 { - padding-block-end: var(--s-4); -} + .pt-8 { + padding-block-start: var(--s-8); + } -.pt-0 { - padding-block-start: 0; -} + .m-auto-0 { + margin: auto 0; + } -.pt-0-5-forced { - padding-block-start: var(--s-0-5) !important; -} + .mt-auto { + margin-block-start: auto; + } -.pt-8-forced { - padding-block-start: var(--s-8) !important; -} + .mt-0 { + margin-block-start: 0; + } -.m-auto-0 { - margin: auto 0; -} + .-mt-1px { + margin-block-start: -1px; + } -.mt-auto { - margin-block-start: auto; -} + .mt-1 { + margin-block-start: var(--s-1); + } -.mt-0 { - margin-block-start: 0; -} + .mt-1-5 { + margin-block-start: var(--s-1-5); + } -.-mt-1px { - margin-block-start: -1px; -} + .mt-2 { + margin-block-start: var(--s-2); + } -.mt-1 { - margin-block-start: var(--s-1); -} + .mt-3 { + margin-block-start: var(--s-3); + } -.mt-1-5 { - margin-block-start: var(--s-1-5); -} + .mt-4 { + margin-block-start: var(--s-4); + } -.mt-2 { - margin-block-start: var(--s-2); -} + .mt-6 { + margin-block-start: var(--s-6); + } -.mt-3 { - margin-block-start: var(--s-3); -} + .mt-12 { + margin-block-start: var(--s-12); + } -.mt-4 { - margin-block-start: var(--s-4); -} + .mb-0 { + margin-block-end: 0; + } -.mt-6 { - margin-block-start: var(--s-6); -} + .mb-1 { + margin-block-end: var(--s-1); + } -.mt-12 { - margin-block-start: var(--s-12); -} + .mb-2 { + margin-block-end: var(--s-2); + } -.mb-0 { - margin-block-end: 0; -} + .mb-4 { + margin-block-end: var(--s-4); + } -.mb-1 { - margin-block-end: var(--s-1); -} + .ml-auto { + margin-inline-start: auto; + } -.mb-2 { - margin-block-end: var(--s-2); -} + .ml-1 { + margin-inline-start: var(--s-1); + } -.mb-4 { - margin-block-end: var(--s-4); -} + .ml-2 { + margin-inline-start: var(--s-2); + } -.ml-auto { - margin-inline-start: auto; -} + .ml-2-5 { + margin-inline-start: var(--s-3); + } -.ml-1 { - margin-inline-start: var(--s-1); -} + .ml-4 { + margin-inline-start: var(--s-4); + } -.ml-2 { - margin-inline-start: var(--s-2); -} + .ml-6 { + margin-inline-start: var(--s-6); + } -.ml-2-5 { - margin-inline-start: var(--s-3); -} + .mr-auto { + margin-inline-end: auto; + } -.ml-4 { - margin-inline-start: var(--s-4); -} + .mr-1 { + margin-inline-end: var(--s-1); + } -.ml-6 { - margin-inline-start: var(--s-6); -} + .mr-2 { + margin-inline-end: var(--s-2); + } -.mr-auto { - margin-inline-end: auto; -} + .mr-4 { + margin-inline-end: var(--s-4); + } -.mr-1 { - margin-inline-end: var(--s-1); -} + .mx-auto { + margin-inline: auto; + } -.mr-2 { - margin-inline-end: var(--s-2); -} + .mx-1 { + margin-inline: var(--s-1); + } -.mr-4 { - margin-inline-end: var(--s-4); -} + .mx-2 { + margin-inline: var(--s-2); + } -.mx-auto { - margin-inline: auto; -} + .my-auto { + margin-block: auto; + } -.mx-1 { - margin-inline: var(--s-1); -} + .my-1 { + margin-block: var(--s-1); + } -.mx-2 { - margin-inline: var(--s-2); -} + .my-2 { + margin-block: var(--s-2); + } -.my-auto { - margin-block: auto; -} + .my-3 { + margin-block: var(--s-3); + } -.my-1 { - margin-block: var(--s-1); -} + .my-4 { + margin-block: var(--s-4); + } -.my-2 { - margin-block: var(--s-2); -} + .my-24 { + margin-block: var(--s-24); + } -.my-3 { - margin-block: var(--s-3); -} + .m-0-auto { + margin: 0 auto; + } -.my-4 { - margin-block: var(--s-4); -} + .hidden { + display: none; + } -.my-24 { - margin-block: var(--s-24); -} + .invisible { + visibility: hidden; + } -.m-0-auto { - margin: 0 auto; -} + .whitespace-pre-wrap { + white-space: pre-wrap; + } -.hidden { - display: none; -} + .whitespace-nowrap { + white-space: nowrap; + } -.invisible { - visibility: hidden; -} + .overflow-x-auto { + overflow-x: auto; + } -.whitespace-pre-wrap { - white-space: pre-wrap; -} + .overflow-x-scroll { + overflow-x: scroll; + } -.whitespace-nowrap { - white-space: nowrap; -} + .relative { + position: relative; + } -.overflow-x-auto { - overflow-x: auto; -} + .italic { + font-style: italic; + } -.overflow-x-scroll { - overflow-x: scroll; -} + .contents { + display: contents; + } -.relative { - position: relative; -} + .flex { + display: flex; + } -.italic { - font-style: italic; -} + .items-center { + align-items: center; + } -.contents { - display: contents; -} + .items-start { + align-items: flex-start; + } -.flex { - display: flex; -} + .items-end { + align-items: flex-end; + } -.items-center { - align-items: center; -} + .justify-center { + justify-content: center; + } -.items-start { - align-items: flex-start; -} + .justify-end { + justify-content: flex-end; + } -.items-end { - align-items: flex-end; -} + .justify-between { + justify-content: space-between; + } -.justify-center { - justify-content: center; -} + .justify-evenly { + justify-content: space-evenly; + } -.justify-end { - justify-content: flex-end; -} + .justify-self-end { + justify-self: flex-end; + } -.justify-between { - justify-content: space-between; -} + .justify-self-center { + justify-self: center; + } -.justify-evenly { - justify-content: space-evenly; -} + .self-center { + align-self: center; + } -.justify-self-end { - justify-self: flex-end; -} + .self-start { + align-self: flex-start; + } -.justify-self-center { - justify-self: center; -} + .justify-self-start { + justify-self: flex-start; + } -.self-center { - align-self: center; -} + .flex-wrap { + flex-wrap: wrap; + } -.self-start { - align-self: flex-start; -} + .flex-wrap-reverse { + flex-wrap: wrap-reverse; + } -.justify-self-start { - justify-self: flex-start; -} + .all-unset { + all: unset; + } -.flex-wrap { - flex-wrap: wrap; -} + .focus-text-decoration:focus-visible { + outline: none; + text-decoration: underline; + } -.flex-wrap-reverse { - flex-wrap: wrap-reverse; -} + .label-no-spacing { + --label-margin: 0; + } -.all-unset { - all: unset; -} - -.focus-text-decoration:focus-visible { - outline: none !important; - text-decoration: underline; -} - -.label-no-spacing { - --label-margin: 0; -} - -.mobile-hidden { - display: none; -} - -.desktop-hidden { - display: inherit; -} - -.cursor-pointer { - cursor: pointer; -} - -.opaque { - opacity: 0.6; -} - -.list-none { - list-style: none; -} - -@media screen and (min-width: 480px) { .mobile-hidden { - display: inherit; + display: none; } .desktop-hidden { - display: none; - } -} - -.scrollbar { - @supports not selector(::-webkit-scrollbar) { - scrollbar-width: thin; - scrollbar-color: var(--color-bg-higher) transparent; + display: inherit; } - &::-webkit-scrollbar, - &::-webkit-scrollbar-track { - background-color: transparent; - height: 14px; - width: 14px; + .cursor-pointer { + cursor: pointer; } - &::-webkit-scrollbar-thumb { - background-color: var(--color-base-4); - border-radius: var(--radius-full); - border: 4px solid transparent; - background-clip: content-box; + .opaque { + opacity: 0.6; + } + + .list-none { + list-style: none; + } + + @media screen and (min-width: 480px) { + .mobile-hidden { + display: inherit; + } + + .desktop-hidden { + display: none; + } + } + + .scrollbar { + @supports not selector(::-webkit-scrollbar) { + scrollbar-width: thin; + scrollbar-color: var(--color-bg-higher) transparent; + } + + &::-webkit-scrollbar, + &::-webkit-scrollbar-track { + background-color: transparent; + height: 14px; + width: 14px; + } + + &::-webkit-scrollbar-thumb { + background-color: var(--color-base-4); + border-radius: var(--radius-full); + border: 4px solid transparent; + background-clip: content-box; + } + } + + .stack { + display: flex; + flex-direction: column; + } + + .stack.xxxs { + gap: var(--s-0-5); + } + + .stack.xxs { + gap: var(--s-1); + } + + .stack.xs { + gap: var(--s-1-5); + } + + .stack.sm { + gap: var(--s-2); + } + + .stack.sm-column { + column-gap: var(--s-2); + } + + .stack.sm-plus { + gap: var(--s-3); + } + + .stack.md { + gap: var(--s-4); + } + + .stack.md-plus { + gap: var(--s-6); + } + + .stack.lg { + gap: var(--s-8); + } + + .stack.xs-row { + row-gap: var(--s-1-5); + } + + .stack.lg-row { + row-gap: var(--s-8); + } + + .stack.xl { + gap: var(--s-12); + } + + .stack.xxl { + gap: var(--s-16); + } + + .stack.horizontal { + flex-direction: row; + } + + .flex-same-size { + flex: 1 1 0px; + } + + .small-icon { + width: 1.2rem; + height: 1.2rem; + } + + .small-text { + font-size: var(--font-2xs); + } + + .dotted { + text-decoration-style: dotted; + text-decoration-line: underline; + text-decoration-thickness: 2px; + } + + .summary { + border-radius: var(--radius-box); + background-color: var(--color-bg); + font-size: var(--font-xs); + font-weight: var(--weight-semi); + padding-block: var(--s-1); + padding-inline: var(--s-2); + } + + html[dir="rtl"] .fix-rtl { + transform: rotate(180deg); + } + + .clickable { + cursor: pointer; } } - -.stack { - display: flex; - flex-direction: column; -} - -.stack.xxxs { - gap: var(--s-0-5); -} - -.stack.xxs { - gap: var(--s-1); -} - -.stack.xs { - gap: var(--s-1-5); -} - -.stack.sm { - gap: var(--s-2); -} - -.stack.sm-column { - column-gap: var(--s-2); -} - -.stack.sm-plus { - gap: var(--s-3); -} - -.stack.md { - gap: var(--s-4); -} - -.stack.md-plus { - gap: var(--s-6); -} - -.stack.lg { - gap: var(--s-8); -} - -.stack.xs-row { - row-gap: var(--s-1-5); -} - -.stack.lg-row { - row-gap: var(--s-8); -} - -.stack.xl { - gap: var(--s-12); -} - -.stack.xxl { - gap: var(--s-16); -} - -.stack.horizontal { - flex-direction: row; -} - -.flex-same-size { - flex: 1 1 0px; -} - -.small-icon { - width: 1.2rem; - height: 1.2rem; -} - -.small-text { - font-size: var(--font-2xs) !important; -} - -.dotted { - text-decoration-style: dotted; - text-decoration-line: underline; - text-decoration-thickness: 2px; -} - -.summary { - border-radius: var(--radius-box); - background-color: var(--color-bg); - font-size: var(--font-xs); - font-weight: var(--weight-semi); - padding-block: var(--s-1); - padding-inline: var(--s-2); -} - -html[dir="rtl"] .fix-rtl { - transform: rotate(180deg); -} - -.clickable { - cursor: pointer; -} diff --git a/app/styles/vars.css b/app/styles/vars.css index 5e5fc73b3..191e05f61 100644 --- a/app/styles/vars.css +++ b/app/styles/vars.css @@ -1,6 +1,8 @@ -/* +@layer reset, base, components, utilities; + +/* ⚠️⚠️⚠️ -Make sure to read styles.md before editing colors in this file, +Make sure to read styles.md before editing colors in this file, it contains important information about how the styles work and how to edit them properly ⚠️⚠️⚠️ */ diff --git a/vite.config.ts b/vite.config.ts index 56f9eb84e..b792785a9 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -19,6 +19,20 @@ export default defineConfig(({ mode }) => { }, }, plugins: [ + { + // Wraps CSS modules in @layer components so utility classes always win. + // The layer order declaration is prepended to each module because in Vite + // dev mode, module