Files
cinny/src/index.css
T
Lotus CIandClaude Opus 5.5 37372b215a
CI / Build & Quality Checks (pull_request) Successful in 3m49s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 13s
CI / Playwright smoke (e2e) (pull_request) Successful in 14m34s
fix(fonts): the app uses Inter again (#320)
Since the switch to @fontsource-variable/inter 5 (May), the package
registers the family 'Inter Variable', but the app still asked for the
4.x name 'InterVariable', so every user got their platform's default
sans-serif (Arial / Helvetica / DejaVu) and Settings → Appearance →
font "Inter" did nothing.

--font-secondary (index.css) and the App font map now ask for
'Inter Variable' first, keeping 'InterVariable' as a fallback for a
locally installed old version.

Verified headless: before, 0 Inter faces loaded and
document.fonts.check('16px "Inter Variable"') false; now the face loads
and the check is true.

Fixes #320

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
2026-10-16 22:01:05 -04:00

193 lines
4.4 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@font-face {
font-family: Twemoji;
src:
url('../public/font/Twemoji.Mozilla.v15.1.0.woff2'),
url('../public/font/Twemoji.Mozilla.v15.1.0.ttf');
font-display: swap;
}
/* Country flags only (regional indicator letters U+1F1E6–1F1FF), from the same
Twemoji file. Windows' emoji font has no flag glyphs and draws 🇺🇸 as the
letters "US"; SystemEmojiFeature enables this family on Windows. The
unicode-range means the file is only fetched when a flag is on screen. */
@font-face {
font-family: TwemojiFlags;
src:
url('../public/font/Twemoji.Mozilla.v15.1.0.woff2'),
url('../public/font/Twemoji.Mozilla.v15.1.0.ttf');
unicode-range: U+1F1E6-1F1FF;
font-display: swap;
}
:root {
--tc-link: hsl(213deg 100% 45%);
/* semantic surface vars used by poll, location, upload card, gif picker */
--bg-surface: #ffffff;
--bg-surface-low: rgba(0, 0, 0, 0.04);
--bg-surface-variant: rgba(0, 0, 0, 0.07);
--bg-surface-active: rgba(0, 0, 0, 0.1);
--bg-surface-border: rgba(0, 0, 0, 0.14);
--text-primary: #1a1a1a;
/* user mxid colors */
--mx-uc-1: hsl(208, 100%, 45%);
--mx-uc-2: hsl(302, 100%, 30%);
--mx-uc-3: hsl(163, 100%, 30%);
--mx-uc-4: hsl(343, 100%, 45%);
--mx-uc-5: hsl(24, 100%, 45%);
--mx-uc-6: hsl(181, 100%, 30%);
--mx-uc-7: hsl(242, 100%, 45%);
--mx-uc-8: hsl(94, 100%, 35%);
--font-emoji: 'Twemoji_DISABLED';
--font-flags: 'TwemojiFlags_DISABLED';
--font-secondary:
'Inter Variable', 'InterVariable', var(--font-flags), var(--font-emoji), sans-serif;
}
.dark-theme,
.butter-theme {
--tc-link: hsl(213deg 100% 80%);
/* semantic surface vars — dark overrides */
--bg-surface: #25272e;
--bg-surface-low: rgba(255, 255, 255, 0.05);
--bg-surface-variant: rgba(255, 255, 255, 0.08);
--bg-surface-active: rgba(255, 255, 255, 0.1);
--bg-surface-border: rgba(255, 255, 255, 0.12);
--text-primary: #e0e5ed;
--mx-uc-1: hsl(208, 100%, 75%);
--mx-uc-2: hsl(301, 100%, 80%);
--mx-uc-3: hsl(163, 100%, 70%);
--mx-uc-4: hsl(343, 100%, 75%);
--mx-uc-5: hsl(24, 100%, 70%);
--mx-uc-6: hsl(181, 100%, 60%);
--mx-uc-7: hsl(243, 100%, 80%);
--mx-uc-8: hsl(94, 100%, 80%);
--font-secondary: 'Inter Variable', 'InterVariable', var(--font-emoji), sans-serif;
}
html {
height: 100%;
/* dvh shrinks when mobile virtual keyboard appears, so the layout never gets pushed off-screen */
height: 100dvh;
overflow: hidden;
}
body {
margin: 0;
padding: 0;
height: 100%;
font-family: var(--font-secondary);
font-size: 16px;
font-weight: 400;
/*Why font-variant-ligatures => https://github.com/rsms/inter/issues/222 */
font-variant-ligatures: no-contextual;
}
#root {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
*,
*::before,
*::after {
box-sizing: border-box;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;
}
a {
color: var(--tc-link);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
[data-mx-spoiler][aria-pressed='true'] a {
color: transparent;
pointer-events: none;
}
b {
font-weight: 500;
}
label {
margin: 0;
padding: 0;
}
button,
textarea {
margin: 0;
padding: 0;
background-color: transparent;
color: inherit;
font-family: inherit;
font-size: inherit;
font-weight: inherit;
line-height: inherit;
letter-spacing: inherit;
border: none;
}
button {
max-width: 100%;
text-transform: none;
text-align: inherit;
overflow: visible;
-webkit-appearance: button;
}
textarea,
input,
input[type],
input[type='text'],
input[type='username'],
input[type='password'],
input[type='email'],
input[type='checkbox'] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
textarea {
color: inherit;
word-spacing: inherit;
}
/* Caption input focus ring — replaces stripped outline */
[data-caption-input]:focus-visible {
border-color: rgba(0, 100, 200, 0.55);
box-shadow: 0 0 0 2px rgba(0, 100, 200, 0.18);
}
.dark-theme [data-caption-input]:focus-visible,
.butter-theme [data-caption-input]:focus-visible {
border-color: rgba(100, 160, 255, 0.6);
box-shadow: 0 0 0 2px rgba(100, 160, 255, 0.18);
}
audio:not([controls]) {
display: none !important;
}
@keyframes pttLivePulse {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.25;
}
}
/* Fix Firefox rendering lists that have empty items with those items collapsed in on eachother */
li p::before {
content: '';
display: inline-block;
}