diff --git a/frontend/index.html b/frontend/index.html index f5b980d..0419a4b 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -10,9 +10,9 @@ - - - + +
diff --git a/frontend/public/fonts/Inter-400-cyrillic.woff2 b/frontend/public/fonts/Inter-400-cyrillic.woff2 new file mode 100644 index 0000000..d750914 Binary files /dev/null and b/frontend/public/fonts/Inter-400-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Inter-400-latin.woff2 b/frontend/public/fonts/Inter-400-latin.woff2 new file mode 100644 index 0000000..d15208d Binary files /dev/null and b/frontend/public/fonts/Inter-400-latin.woff2 differ diff --git a/frontend/public/fonts/Inter-500-cyrillic.woff2 b/frontend/public/fonts/Inter-500-cyrillic.woff2 new file mode 100644 index 0000000..d750914 Binary files /dev/null and b/frontend/public/fonts/Inter-500-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Inter-500-latin.woff2 b/frontend/public/fonts/Inter-500-latin.woff2 new file mode 100644 index 0000000..d15208d Binary files /dev/null and b/frontend/public/fonts/Inter-500-latin.woff2 differ diff --git a/frontend/public/fonts/Inter-600-cyrillic.woff2 b/frontend/public/fonts/Inter-600-cyrillic.woff2 new file mode 100644 index 0000000..d750914 Binary files /dev/null and b/frontend/public/fonts/Inter-600-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Inter-600-latin.woff2 b/frontend/public/fonts/Inter-600-latin.woff2 new file mode 100644 index 0000000..d15208d Binary files /dev/null and b/frontend/public/fonts/Inter-600-latin.woff2 differ diff --git a/frontend/public/fonts/Inter-700-cyrillic.woff2 b/frontend/public/fonts/Inter-700-cyrillic.woff2 new file mode 100644 index 0000000..d750914 Binary files /dev/null and b/frontend/public/fonts/Inter-700-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Inter-700-latin.woff2 b/frontend/public/fonts/Inter-700-latin.woff2 new file mode 100644 index 0000000..d15208d Binary files /dev/null and b/frontend/public/fonts/Inter-700-latin.woff2 differ diff --git a/frontend/public/fonts/Onest-400-cyrillic.woff2 b/frontend/public/fonts/Onest-400-cyrillic.woff2 new file mode 100644 index 0000000..7a139b0 Binary files /dev/null and b/frontend/public/fonts/Onest-400-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Onest-400-latin.woff2 b/frontend/public/fonts/Onest-400-latin.woff2 new file mode 100644 index 0000000..bd5ac33 Binary files /dev/null and b/frontend/public/fonts/Onest-400-latin.woff2 differ diff --git a/frontend/public/fonts/Onest-500-cyrillic.woff2 b/frontend/public/fonts/Onest-500-cyrillic.woff2 new file mode 100644 index 0000000..7a139b0 Binary files /dev/null and b/frontend/public/fonts/Onest-500-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Onest-500-latin.woff2 b/frontend/public/fonts/Onest-500-latin.woff2 new file mode 100644 index 0000000..bd5ac33 Binary files /dev/null and b/frontend/public/fonts/Onest-500-latin.woff2 differ diff --git a/frontend/public/fonts/Onest-600-cyrillic.woff2 b/frontend/public/fonts/Onest-600-cyrillic.woff2 new file mode 100644 index 0000000..7a139b0 Binary files /dev/null and b/frontend/public/fonts/Onest-600-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Onest-600-latin.woff2 b/frontend/public/fonts/Onest-600-latin.woff2 new file mode 100644 index 0000000..bd5ac33 Binary files /dev/null and b/frontend/public/fonts/Onest-600-latin.woff2 differ diff --git a/frontend/public/fonts/Unbounded-400-cyrillic.woff2 b/frontend/public/fonts/Unbounded-400-cyrillic.woff2 new file mode 100644 index 0000000..102b454 Binary files /dev/null and b/frontend/public/fonts/Unbounded-400-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Unbounded-400-latin.woff2 b/frontend/public/fonts/Unbounded-400-latin.woff2 new file mode 100644 index 0000000..3260a19 Binary files /dev/null and b/frontend/public/fonts/Unbounded-400-latin.woff2 differ diff --git a/frontend/public/fonts/Unbounded-500-cyrillic.woff2 b/frontend/public/fonts/Unbounded-500-cyrillic.woff2 new file mode 100644 index 0000000..102b454 Binary files /dev/null and b/frontend/public/fonts/Unbounded-500-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Unbounded-500-latin.woff2 b/frontend/public/fonts/Unbounded-500-latin.woff2 new file mode 100644 index 0000000..3260a19 Binary files /dev/null and b/frontend/public/fonts/Unbounded-500-latin.woff2 differ diff --git a/frontend/public/fonts/Unbounded-600-cyrillic.woff2 b/frontend/public/fonts/Unbounded-600-cyrillic.woff2 new file mode 100644 index 0000000..102b454 Binary files /dev/null and b/frontend/public/fonts/Unbounded-600-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Unbounded-600-latin.woff2 b/frontend/public/fonts/Unbounded-600-latin.woff2 new file mode 100644 index 0000000..3260a19 Binary files /dev/null and b/frontend/public/fonts/Unbounded-600-latin.woff2 differ diff --git a/frontend/public/fonts/Unbounded-700-cyrillic.woff2 b/frontend/public/fonts/Unbounded-700-cyrillic.woff2 new file mode 100644 index 0000000..102b454 Binary files /dev/null and b/frontend/public/fonts/Unbounded-700-cyrillic.woff2 differ diff --git a/frontend/public/fonts/Unbounded-700-latin.woff2 b/frontend/public/fonts/Unbounded-700-latin.woff2 new file mode 100644 index 0000000..3260a19 Binary files /dev/null and b/frontend/public/fonts/Unbounded-700-latin.woff2 differ diff --git a/frontend/public/fonts/fonts.css b/frontend/public/fonts/fonts.css new file mode 100644 index 0000000..2a5f56a --- /dev/null +++ b/frontend/public/fonts/fonts.css @@ -0,0 +1,198 @@ +/* cyrillic */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/Inter-400-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/Inter-400-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/fonts/Inter-500-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/fonts/Inter-500-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/fonts/Inter-600-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/fonts/Inter-600-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/fonts/Inter-700-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/fonts/Inter-700-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Onest'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/Onest-400-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Onest'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/Onest-400-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Onest'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/fonts/Onest-500-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Onest'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/fonts/Onest-500-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Onest'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/fonts/Onest-600-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Onest'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/fonts/Onest-600-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Unbounded'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/Unbounded-400-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Unbounded'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/Unbounded-400-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Unbounded'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/fonts/Unbounded-500-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Unbounded'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(/fonts/Unbounded-500-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Unbounded'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/fonts/Unbounded-600-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Unbounded'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(/fonts/Unbounded-600-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: 'Unbounded'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/fonts/Unbounded-700-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin */ +@font-face { + font-family: 'Unbounded'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/fonts/Unbounded-700-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/frontend/src/pages/CardPage.tsx b/frontend/src/pages/CardPage.tsx index 427da80..0b9b9a1 100644 --- a/frontend/src/pages/CardPage.tsx +++ b/frontend/src/pages/CardPage.tsx @@ -176,7 +176,7 @@ export function CardPage() { } const cardCss = ` -@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;600;700&family=Onest:wght@400;500;600&display=swap'); +@import url('/fonts/fonts.css'); .cardpage{--bg:#E9EDF7;--bg2:#DDE3F2;--card:#FFFFFF;--card2:#FBFCFF;--ink:#15132E;--ink2:#5C5984;--line:#E7E9F4;--indigo:#312E81;--indigo2:#4F4BC4;--cyan:#06B6D4;--cyan-glow:#22D3EE;--violet:#7C5CFF;--shadow:0 30px 70px -24px rgba(49,46,129,.32),0 10px 30px -18px rgba(6,182,212,.28); font-family:'Onest',sans-serif;color:var(--ink);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 18px;position:relative;overflow:hidden;perspective:1200px;background:linear-gradient(165deg,var(--bg),var(--bg2))} @media (prefers-color-scheme:dark){.cardpage{--bg:#0C0B22;--bg2:#141233;--card:#17163a;--card2:#1c1a44;--ink:#F4F4FF;--ink2:#A6A3D9;--line:rgba(255,255,255,.12);--indigo:#4F4BC4;--indigo2:#6A66E0;--cyan:#22D3EE;--cyan-glow:#67E8F9;--shadow:0 30px 80px -24px rgba(0,0,0,.7),0 0 40px -10px rgba(34,211,238,.25)}}