@tailwind base; @tailwind components; @tailwind utilities; :root { --gray-1: oklch(98.5% 0 0); --gray-2: oklch(97% 0 0); --gray-3: oklch(92.2% 0 0); --gray-4: oklch(87% 0 0); --gray-6: oklch(55.6% 0 0); --gray-7: oklch(43.9% 0 0); --gray-8: oklch(37.1% 0 0); --gray-10: oklch(26.9% 0 0); --gray-12: oklch(14.5% 0 0); } * { box-sizing: border-box; margin: 0; padding: 0; } html, body { height: 100%; font-family: system-ui, sans-serif; -webkit-font-smoothing: antialiased; background: var(--gray-2); color: var(--gray-10); font-size: 16px; line-height: 1.5; } a { color: inherit; text-decoration: none; } [x-cloak] { display: none; } h1, h2, h3, h4, h5, h6 { color: var(--gray-12); } /* Header */ header { max-width: 1440px; margin: auto; padding: 0 30px; } header > div { display: flex; justify-content: space-between; align-items: center; height: 64px; } header nav { display: flex; align-items: center; gap: 26px; } header nav a { font-weight: 500; color: var(--gray-8); } header nav a:hover, header nav a.current { color: var(--gray-12); } /* Main */ main { max-width: 1440px; margin: 0 30px; display: flex; flex-direction: column; justify-content: space-between; min-height: calc(100vh - 65px); background: #fff; border: 1px solid var(--gray-3); } .hero { padding: 100px 50px; max-width: 880px; } .hero h1 { margin-bottom: 15px; font-size: 52px; font-weight: 600; letter-spacing: -1px; line-height: 1.05; } .hero p { font-size: 22px; color: var(--gray-7); } .hero .button { margin-top: 30px; display: inline-block; padding: 10px 16px; } .cards { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 50px; border-top: 1px solid var(--gray-3); } .cards a { padding: 30px 40px; border-right: 1px solid var(--gray-3); } .cards a:first-child { border-left: 1px solid var(--gray-3); } .cards a:hover { background: var(--gray-1); } .cards h3 { margin-bottom: 10px; font-size: 20px; font-weight: 600; letter-spacing: -0.4px; } .cards p { color: var(--gray-6); } /* Form */ .form-container { display: flex; flex-direction: column; justify-content: center; max-width: 400px; margin: auto; } .form-container h1 { font-size: 32px; letter-spacing: -0.5px; margin-bottom: 5px; } .form-container p { font-size: 18px; margin-bottom: 48px; color: var(--gray-6); } form { display: flex; flex-direction: column; gap: 24px; } label { margin-bottom: 4px; display: block; font-size: 14px; font-weight: 500; } input, textarea, button { width: 100%; border-radius: 4px; font: inherit; } input { height: 40px; border: 1px solid var(--gray-4); padding: 0 16px; } input[data-invalid='true'], textarea[data-invalid='true'] { border-color: #fb2c36; } input[data-invalid='true'] + div, textarea[data-invalid='true'] + div { color: #fb2c36; font-size: 14px; font-weight: 500; margin-top: 2px; } button { background: var(--gray-12); color: #fff; border: none; padding: 10px; font-weight: 500; } button:hover { background: var(--gray-10); } /* Alerts */ .alert { background: #fff; position: relative; padding: 12px 16px; font-size: 14px; min-width: 380px; font-weight: 500; border: 1px solid var(--gray-3); border-radius: 10px; animation: scale-up 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) both; } .alert-destructive { color: #fb2c36; background: #fb2c361a; border-color: #fb2c36; } .alert-success { color: #00a63e; background: #00a63e1a; border-color: #00a63e; } .flash-container { position: fixed; top: 80px; left: 0; right: 0; display: flex; flex-direction: column; align-items: center; } @keyframes scale-up { from { transform: scale(0.7); } to { transform: scale(1); } }