diff --git a/app/index.html b/app/index.html index edffd74..9261c6e 100644 --- a/app/index.html +++ b/app/index.html @@ -8,7 +8,7 @@ diff --git a/app/src/main.tsx b/app/src/main.tsx index 17ad524..2e52a16 100644 --- a/app/src/main.tsx +++ b/app/src/main.tsx @@ -3,6 +3,7 @@ import { StrictMode } from "react" import { createRoot } from "react-dom/client" import { BrowserRouter } from "react-router-dom" import "@stellar-scaffold/app-lib/styles.css" +import "./styles/tokens.css" import App from "./App.tsx" import { NotificationProvider } from "./providers/NotificationProvider.tsx" import { WalletProvider } from "./providers/WalletProvider.tsx" diff --git a/app/src/styles/tokens.css b/app/src/styles/tokens.css new file mode 100644 index 0000000..c65785b --- /dev/null +++ b/app/src/styles/tokens.css @@ -0,0 +1,19 @@ +:root { + --vault-surface-card: #ffffff; + --vault-surface-inset: #f7f7f7; + --vault-surface-page: #efefef; + --vault-fill-warn: var(--vault-surface-page); + --vault-border-faint: #f2f2f2; + --vault-border-hairline: #e0e0e0; + --vault-border-inactive: #b4b4b4; + --vault-text-muted: #6e6e6e; + --vault-text-body: #2e2e2e; + --vault-ink: #000000; + --vault-action: #1d4ed8; + --vault-action-ring: #edf2fe; + --vault-success: #1f7a4c; + --vault-success-fill: #ebf4ef; + --vault-danger: #b3261e; + --vault-font-sans: "Space Grotesk", system-ui, sans-serif; + --vault-font-mono: "JetBrains Mono", ui-monospace, monospace; +} diff --git a/app/src/styles/type.module.css b/app/src/styles/type.module.css new file mode 100644 index 0000000..bf0235a --- /dev/null +++ b/app/src/styles/type.module.css @@ -0,0 +1,113 @@ +.vaultName { + font-family: var(--vault-font-sans); + font-weight: 700; + font-size: 30px; + line-height: 1.05; + letter-spacing: -0.02em; +} + +.cardHead { + font-family: var(--vault-font-sans); + font-weight: 500; + font-size: 21px; + line-height: 1.2; +} + +.waitHead { + font-family: var(--vault-font-sans); + font-weight: 500; + font-size: 19px; + line-height: 1.25; +} + +.sectionHead { + font-family: var(--vault-font-sans); + font-weight: 500; + font-size: 18px; + line-height: 1.25; +} + +.body { + font-family: var(--vault-font-sans); + font-weight: 400; + font-size: 16px; + line-height: 1.5; +} + +.stepTitle { + font-family: var(--vault-font-sans); + font-weight: 500; + font-size: 15.5px; + line-height: 1.3; +} + +.footnote { + font-family: var(--vault-font-sans); + font-weight: 400; + font-size: 13.5px; + line-height: 1.5; +} + +.label { + font-family: var(--vault-font-mono); + font-weight: 500; + font-size: 11px; + line-height: 1; + letter-spacing: 0.12em; + text-transform: uppercase; +} + +.position { + font-family: var(--vault-font-mono); + font-weight: 500; + font-size: 28px; + line-height: 1.05; + font-variant-numeric: tabular-nums; +} + +.metric { + font-family: var(--vault-font-mono); + font-weight: 500; + font-size: 25px; + line-height: 1.05; + font-variant-numeric: tabular-nums; +} + +.amountInput { + font-family: var(--vault-font-mono); + font-weight: 400; + font-size: 25px; + line-height: 1.1; + font-variant-numeric: tabular-nums; +} + +.estimate { + font-family: var(--vault-font-mono); + font-weight: 500; + font-size: 22px; + line-height: 1.15; + font-variant-numeric: tabular-nums; +} + +.summaryValue { + font-family: var(--vault-font-mono); + font-weight: 400; + font-size: 15px; + line-height: 1.4; + font-variant-numeric: tabular-nums; +} + +.railValue { + font-family: var(--vault-font-mono); + font-weight: 400; + font-size: 13.5px; + line-height: 1.4; + font-variant-numeric: tabular-nums; +} + +.metricSub { + font-family: var(--vault-font-mono); + font-weight: 400; + font-size: 12.5px; + line-height: 1.3; +}