app.css 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. :root {
  2. color-scheme: light dark;
  3. --stats-bg: #f8f5ee;
  4. --stats-ink: #16110d;
  5. --stats-muted: #6d6257;
  6. --stats-line: #ded5c9;
  7. --stats-panel: #fffaf1;
  8. --stats-accent: #2357ff;
  9. }
  10. @media (prefers-color-scheme: dark) {
  11. :root {
  12. --stats-bg: #11100e;
  13. --stats-ink: #f7efe4;
  14. --stats-muted: #b8aa99;
  15. --stats-line: #322d27;
  16. --stats-panel: #1a1714;
  17. --stats-accent: #86a2ff;
  18. }
  19. }
  20. html {
  21. line-height: 1;
  22. background: var(--stats-bg);
  23. }
  24. body {
  25. margin: 0;
  26. min-width: 320px;
  27. background:
  28. radial-gradient(circle at top left, color-mix(in srgb, var(--stats-accent) 16%, transparent), transparent 32rem),
  29. var(--stats-bg);
  30. color: var(--stats-ink);
  31. font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  32. -webkit-font-smoothing: antialiased;
  33. }
  34. a {
  35. color: inherit;
  36. }
  37. .shell {
  38. box-sizing: border-box;
  39. min-height: 100vh;
  40. padding: 2rem clamp(1rem, 4vw, 4rem);
  41. }
  42. .panel {
  43. display: grid;
  44. gap: clamp(2rem, 8vw, 5rem);
  45. box-sizing: border-box;
  46. width: min(100%, 72rem);
  47. margin: 0 auto;
  48. padding: clamp(1.25rem, 4vw, 3rem);
  49. border: 1px solid var(--stats-line);
  50. border-radius: 1.5rem;
  51. background: color-mix(in srgb, var(--stats-panel) 88%, transparent);
  52. }
  53. .eyebrow {
  54. margin: 0 0 1rem;
  55. color: var(--stats-muted);
  56. font-size: 0.75rem;
  57. letter-spacing: 0.14em;
  58. text-transform: uppercase;
  59. }
  60. h1 {
  61. max-width: 11ch;
  62. margin: 0;
  63. font-size: clamp(3rem, 14vw, 9rem);
  64. line-height: 0.85;
  65. letter-spacing: -0.08em;
  66. }
  67. .summary {
  68. max-width: 42rem;
  69. margin: 1.5rem 0 0;
  70. color: var(--stats-muted);
  71. font-size: clamp(1rem, 2vw, 1.25rem);
  72. line-height: 1.6;
  73. }
  74. .grid {
  75. display: grid;
  76. grid-template-columns: repeat(3, minmax(0, 1fr));
  77. gap: 1px;
  78. overflow: hidden;
  79. border: 1px solid var(--stats-line);
  80. border-radius: 1rem;
  81. background: var(--stats-line);
  82. }
  83. .metric {
  84. padding: 1rem;
  85. background: var(--stats-panel);
  86. }
  87. .metric b {
  88. display: block;
  89. margin-bottom: 0.5rem;
  90. font-size: clamp(1.5rem, 4vw, 3rem);
  91. letter-spacing: -0.05em;
  92. }
  93. .metric span {
  94. color: var(--stats-muted);
  95. font-size: 0.8125rem;
  96. }
  97. .link {
  98. display: inline-flex;
  99. width: fit-content;
  100. margin-top: 1.5rem;
  101. color: var(--stats-accent);
  102. text-decoration: none;
  103. }
  104. @media (max-width: 720px) {
  105. .grid {
  106. grid-template-columns: 1fr;
  107. }
  108. }