diff --git a/public/style.css b/public/style.css index 38d7482..5732ece 100644 --- a/public/style.css +++ b/public/style.css @@ -21,6 +21,7 @@ --color-blue-600: oklch(54.6% 0.245 262.881); --color-blue-700: oklch(48.8% 0.243 264.376); --color-gray-50: oklch(98.5% 0.002 247.839); + --color-gray-100: oklch(96.7% 0.003 264.542); --color-gray-200: oklch(92.8% 0.006 264.531); --color-gray-300: oklch(87.2% 0.01 258.338); --color-gray-400: oklch(70.7% 0.022 261.325); @@ -32,19 +33,23 @@ --color-white: #fff; --spacing: 0.25rem; --container-md: 28rem; + --container-3xl: 48rem; --container-7xl: 80rem; --text-sm: 0.875rem; --text-sm--line-height: calc(1.25 / 0.875); + --text-base: 1rem; + --text-base--line-height: calc(1.5 / 1); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); - --text-4xl: 2.25rem; - --text-4xl--line-height: calc(2.5 / 2.25); --font-weight-medium: 500; --font-weight-bold: 700; + --leading-tight: 1.25; + --leading-relaxed: 1.625; --radius-lg: 0.5rem; --radius-2xl: 1rem; + --blur-sm: 8px; --default-transition-duration: 150ms; --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); --default-font-family: var(--font-sans); @@ -200,20 +205,20 @@ } } @layer utilities { - .fixed { - position: fixed; + .relative { + position: relative; } .static { position: static; } - .top-4 { - top: calc(var(--spacing) * 4); + .sticky { + position: sticky; } - .right-4 { - right: calc(var(--spacing) * 4); + .top-0 { + top: calc(var(--spacing) * 0); } - .z-50 { - z-index: 50; + .z-40 { + z-index: 40; } .mx-auto { margin-inline: auto; @@ -221,9 +226,18 @@ .mt-2 { margin-top: calc(var(--spacing) * 2); } + .mt-3 { + margin-top: calc(var(--spacing) * 3); + } .mt-4 { margin-top: calc(var(--spacing) * 4); } + .mt-10 { + margin-top: calc(var(--spacing) * 10); + } + .mt-auto { + margin-top: auto; + } .mb-1 { margin-bottom: calc(var(--spacing) * 1); } @@ -236,27 +250,60 @@ .mb-6 { margin-bottom: calc(var(--spacing) * 6); } + .mb-10 { + margin-bottom: calc(var(--spacing) * 10); + } + .ml-1 { + margin-left: calc(var(--spacing) * 1); + } + .ml-auto { + margin-left: auto; + } + .line-clamp-2 { + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + } .block { display: block; } .flex { display: flex; } + .hidden { + display: none; + } + .inline-flex { + display: inline-flex; + } .table { display: table; } + .h-\[60px\] { + height: 60px; + } .min-h-screen { min-height: 100vh; } .w-full { width: 100%; } + .max-w-3xl { + max-width: var(--container-3xl); + } .max-w-7xl { max-width: var(--container-7xl); } .max-w-md { max-width: var(--container-md); } + .flex-1 { + flex: 1; + } + .flex-col { + flex-direction: column; + } .items-center { align-items: center; } @@ -266,6 +313,15 @@ .justify-center { justify-content: center; } + .gap-1 { + gap: calc(var(--spacing) * 1); + } + .gap-2 { + gap: calc(var(--spacing) * 2); + } + .gap-3 { + gap: calc(var(--spacing) * 3); + } .gap-4 { gap: calc(var(--spacing) * 4); } @@ -289,6 +345,17 @@ border-style: var(--tw-border-style); border-width: 1px; } + .border-t { + border-top-style: var(--tw-border-style); + border-top-width: 1px; + } + .border-b { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 1px; + } + .border-gray-200 { + border-color: var(--color-gray-200); + } .border-gray-300 { border-color: var(--color-gray-300); } @@ -298,9 +365,15 @@ .bg-gray-50 { background-color: var(--color-gray-50); } + .bg-gray-100 { + background-color: var(--color-gray-100); + } .bg-gray-200 { background-color: var(--color-gray-200); } + .bg-gray-900 { + background-color: var(--color-gray-900); + } .bg-green-100 { background-color: var(--color-green-100); } @@ -313,24 +386,48 @@ .bg-white { background-color: var(--color-white); } + .bg-white\/80 { + background-color: color-mix(in srgb, #fff 80%, transparent); + @supports (color: color-mix(in lab, red, red)) { + background-color: color-mix(in oklab, var(--color-white) 80%, transparent); + } + } .p-2 { padding: calc(var(--spacing) * 2); } .p-3 { padding: calc(var(--spacing) * 3); } + .p-6 { + padding: calc(var(--spacing) * 6); + } .p-8 { padding: calc(var(--spacing) * 8); } + .px-3 { + padding-inline: calc(var(--spacing) * 3); + } .px-4 { padding-inline: calc(var(--spacing) * 4); } + .px-6 { + padding-inline: calc(var(--spacing) * 6); + } + .py-1 { + padding-block: calc(var(--spacing) * 1); + } .py-2 { padding-block: calc(var(--spacing) * 2); } .py-4 { padding-block: calc(var(--spacing) * 4); } + .py-5 { + padding-block: calc(var(--spacing) * 5); + } + .py-6 { + padding-block: calc(var(--spacing) * 6); + } .py-8 { padding-block: calc(var(--spacing) * 8); } @@ -341,6 +438,10 @@ font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); } + .text-base { + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)); + } .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); @@ -349,6 +450,20 @@ font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); } + .text-\[13px\] { + font-size: 13px; + } + .text-\[34px\] { + font-size: 34px; + } + .leading-relaxed { + --tw-leading: var(--leading-relaxed); + line-height: var(--leading-relaxed); + } + .leading-tight { + --tw-leading: var(--leading-tight); + line-height: var(--leading-tight); + } .font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); @@ -360,6 +475,9 @@ .text-blue-600 { color: var(--color-blue-600); } + .text-gray-400 { + color: var(--color-gray-400); + } .text-gray-500 { color: var(--color-gray-500); } @@ -381,6 +499,18 @@ .text-white { color: var(--color-white); } + .underline { + text-decoration-line: underline; + } + .decoration-gray-900 { + text-decoration-color: var(--color-gray-900); + } + .decoration-2 { + text-decoration-thickness: 2px; + } + .underline-offset-\[0\.3rem\] { + text-underline-offset: 0.3rem; + } .shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); @@ -389,11 +519,56 @@ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } + .backdrop-blur-sm { + --tw-backdrop-blur: blur(var(--blur-sm)); + -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + } + .transition-all { + transition-property: all; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } + .transition-opacity { + transition-property: opacity; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .duration-250 { + --tw-duration: 250ms; + transition-duration: 250ms; + } + .duration-300 { + --tw-duration: 300ms; + transition-duration: 300ms; + } + .group-hover\:opacity-80 { + &:is(:where(.group):hover *) { + @media (hover: hover) { + opacity: 80%; + } + } + } + .hover\:-translate-y-0\.5 { + &:hover { + @media (hover: hover) { + --tw-translate-y: calc(var(--spacing) * -0.5); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + } + } + .hover\:border-gray-300 { + &:hover { + @media (hover: hover) { + border-color: var(--color-gray-300); + } + } + } .hover\:bg-blue-700 { &:hover { @media (hover: hover) { @@ -401,6 +576,13 @@ } } } + .hover\:bg-gray-200 { + &:hover { + @media (hover: hover) { + background-color: var(--color-gray-200); + } + } + } .hover\:bg-gray-300 { &:hover { @media (hover: hover) { @@ -422,6 +604,13 @@ } } } + .hover\:text-gray-900 { + &:hover { + @media (hover: hover) { + color: var(--color-gray-900); + } + } + } .hover\:underline { &:hover { @media (hover: hover) { @@ -429,6 +618,13 @@ } } } + .hover\:opacity-80 { + &:hover { + @media (hover: hover) { + opacity: 80%; + } + } + } .focus\:ring-2 { &:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); @@ -446,11 +642,46 @@ outline-style: none; } } + .md\:flex { + @media (width >= 48rem) { + display: flex; + } + } + .dark\:border-\[\#333\] { + @media (prefers-color-scheme: dark) { + border-color: #333; + } + } .dark\:border-gray-600 { @media (prefers-color-scheme: dark) { border-color: var(--color-gray-600); } } + .dark\:bg-\[\#1d1e20\] { + @media (prefers-color-scheme: dark) { + background-color: #1d1e20; + } + } + .dark\:bg-\[\#1d1e20\]\/80 { + @media (prefers-color-scheme: dark) { + background-color: color-mix(in oklab, #1d1e20 80%, transparent); + } + } + .dark\:bg-\[\#2e2e33\] { + @media (prefers-color-scheme: dark) { + background-color: #2e2e33; + } + } + .dark\:bg-\[\#333\] { + @media (prefers-color-scheme: dark) { + background-color: #333; + } + } + .dark\:bg-\[\#dadadb\] { + @media (prefers-color-scheme: dark) { + background-color: #dadadb; + } + } .dark\:bg-gray-700 { @media (prefers-color-scheme: dark) { background-color: var(--color-gray-700); @@ -476,6 +707,16 @@ background-color: var(--color-red-900); } } + .dark\:text-\[\#9b9c9d\] { + @media (prefers-color-scheme: dark) { + color: #9b9c9d; + } + } + .dark\:text-\[\#dadadb\] { + @media (prefers-color-scheme: dark) { + color: #dadadb; + } + } .dark\:text-blue-400 { @media (prefers-color-scheme: dark) { color: var(--color-blue-400); @@ -491,6 +732,11 @@ color: var(--color-gray-400); } } + .dark\:text-gray-900 { + @media (prefers-color-scheme: dark) { + color: var(--color-gray-900); + } + } .dark\:text-green-300 { @media (prefers-color-scheme: dark) { color: var(--color-green-300); @@ -506,6 +752,29 @@ color: var(--color-white); } } + .dark\:decoration-\[\#dadadb\] { + @media (prefers-color-scheme: dark) { + text-decoration-color: #dadadb; + } + } + .dark\:hover\:border-gray-600 { + @media (prefers-color-scheme: dark) { + &:hover { + @media (hover: hover) { + border-color: var(--color-gray-600); + } + } + } + } + .dark\:hover\:bg-\[\#444\] { + @media (prefers-color-scheme: dark) { + &:hover { + @media (hover: hover) { + background-color: #444; + } + } + } + } .dark\:hover\:bg-gray-600 { @media (prefers-color-scheme: dark) { &:hover { @@ -515,6 +784,15 @@ } } } + .dark\:hover\:text-\[\#dadadb\] { + @media (prefers-color-scheme: dark) { + &:hover { + @media (hover: hover) { + color: #dadadb; + } + } + } + } .dark\:hover\:text-gray-200 { @media (prefers-color-scheme: dark) { &:hover { @@ -535,6 +813,10 @@ inherits: false; initial-value: solid; } +@property --tw-leading { + syntax: "*"; + inherits: false; +} @property --tw-font-weight { syntax: "*"; inherits: false; @@ -604,11 +886,67 @@ inherits: false; initial-value: 0 0 #0000; } +@property --tw-backdrop-blur { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-brightness { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-contrast { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-grayscale { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-hue-rotate { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-invert { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-opacity { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-saturate { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-sepia { + syntax: "*"; + inherits: false; +} +@property --tw-duration { + syntax: "*"; + inherits: false; +} +@property --tw-translate-x { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-y { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-z { + syntax: "*"; + inherits: false; + initial-value: 0; +} @layer properties { @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) { *, ::before, ::after, ::backdrop { --tw-space-y-reverse: 0; --tw-border-style: solid; + --tw-leading: initial; --tw-font-weight: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; @@ -624,6 +962,19 @@ --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; + --tw-backdrop-blur: initial; + --tw-backdrop-brightness: initial; + --tw-backdrop-contrast: initial; + --tw-backdrop-grayscale: initial; + --tw-backdrop-hue-rotate: initial; + --tw-backdrop-invert: initial; + --tw-backdrop-opacity: initial; + --tw-backdrop-saturate: initial; + --tw-backdrop-sepia: initial; + --tw-duration: initial; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-translate-z: 0; } } }