index.css
1,369 bytes
| 1 | :root { |
|---|---|
| 2 | --paper: #f5f7ff; |
| 3 | --paper-deep: #eaedfa; |
| 4 | --card: #ffffff; |
| 5 | --ink: #17192d; |
| 6 | --ink-soft: #666b80; |
| 7 | --line: #dfe2f0; |
| 8 | --clay: #4856e8; |
| 9 | --clay-deep: #3541c7; |
| 10 | --clay-soft: #e5e7ff; |
| 11 | --pulse: #ff6b57; |
| 12 | --pulse-soft: #ffe7e2; |
| 13 | --moss: #178866; |
| 14 | --amber: #a76d00; |
| 15 | --danger: #c2414a; |
| 16 | |
| 17 | --serif: 'Sora', 'Segoe UI Variable Display', 'Segoe UI', sans-serif; |
| 18 | --sans: 'DM Sans', 'Segoe UI', sans-serif; |
| 19 | --mono: ui-monospace, 'Cascadia Code', 'SFMono-Regular', Consolas, monospace; |
| 20 | |
| 21 | font: 16px/1.55 var(--sans); |
| 22 | color-scheme: light; |
| 23 | color: var(--ink); |
| 24 | background: var(--paper); |
| 25 | -webkit-font-smoothing: antialiased; |
| 26 | } |
| 27 | |
| 28 | * { |
| 29 | box-sizing: border-box; |
| 30 | } |
| 31 | |
| 32 | body { |
| 33 | margin: 0; |
| 34 | min-height: 100vh; |
| 35 | background: var(--paper); |
| 36 | } |
| 37 | |
| 38 | body::before { |
| 39 | content: ''; |
| 40 | position: fixed; |
| 41 | inset: 0 0 auto; |
| 42 | height: 5px; |
| 43 | pointer-events: none; |
| 44 | background: linear-gradient(90deg, var(--clay) 0 58%, var(--pulse) 58% 76%, var(--moss) 76%); |
| 45 | z-index: 20; |
| 46 | } |
| 47 | |
| 48 | h1, |
| 49 | h2 { |
| 50 | font-family: var(--serif); |
| 51 | font-weight: 500; |
| 52 | color: var(--ink); |
| 53 | margin: 0 0 8px; |
| 54 | } |
| 55 | |
| 56 | p { |
| 57 | margin: 0; |
| 58 | } |
| 59 | |
| 60 | button { |
| 61 | font-family: var(--sans); |
| 62 | } |
| 63 | |
| 64 | input { |
| 65 | font-family: var(--sans); |
| 66 | } |
| 67 | |
| 68 | ::selection { |
| 69 | background: var(--clay-soft); |
| 70 | } |
| 71 | |
| 72 | :where(button, a, input, summary):focus-visible { |
| 73 | outline: 3px solid color-mix(in srgb, var(--clay) 38%, transparent); |
| 74 | outline-offset: 3px; |
| 75 | } |
| 76 | |