@import "tailwindcss"; /* * krypco design tokens — brand-led, dark, calm, premium. * Accents come from the official mark (magenta / blue / green). * Components use tokens only — never hardcode hex in JSX. */ @theme { /* Surfaces — near-black zinc layering */ --color-background: #07070a; --color-card: #0e0e12; --color-popover: #121218; --color-border: #23232c; --color-input: #2a2a34; /* Text */ --color-foreground: #f4f4f5; --color-muted: #14141a; --color-muted-foreground: #9b9ba8; /* Brand primary — logo magenta #952082 */ --color-accent: #952082; --color-accent-hover: #b0289a; --color-accent-foreground: #fff7fc; --color-accent-muted: rgb(149 32 130 / 0.16); /* Public-proof secondary — logo green */ --color-proof: #009d63; --color-proof-hover: #1bb57a; --color-proof-muted: rgb(0 157 99 / 0.14); /* Depth / trust blue from mark */ --color-depth: #004f8d; --color-depth-muted: rgb(0 79 141 / 0.18); /* Status — chain semantics */ --color-pending: #e8b84a; --color-pending-muted: rgb(232 184 74 / 0.12); --color-confirmed: #34d399; --color-confirmed-muted: rgb(52 211 153 / 0.12); --color-anchored: #5b9fd4; --color-anchored-muted: rgb(91 159 212 / 0.14); /* Shape */ --radius-sm: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-xl: 1rem; --radius-2xl: 1.25rem; } @theme inline { --font-sans: var(--font-body), ui-sans-serif, system-ui, sans-serif; --font-display: var(--font-display), ui-sans-serif, system-ui, sans-serif; --font-mono: var(--font-mono), ui-monospace, "SF Mono", Menlo, monospace; } :root { color-scheme: dark; } body { background: var(--color-background); color: var(--color-foreground); font-family: var(--font-sans); } /* Subtle grain — atmosphere without purple blob clichés */ body::before { content: ""; pointer-events: none; position: fixed; inset: 0; z-index: 50; opacity: 0.035; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); } /* Phones / reduced motion: drop grain (cheaper paint) */ @media (max-width: 640px), (prefers-reduced-motion: reduce) { body::before { display: none; } } /* Comfortable tap targets on small screens */ @media (max-width: 640px) { input, textarea, select { font-size: 16px; /* avoids iOS zoom-on-focus */ } } ::selection { background: var(--color-accent); color: var(--color-accent-foreground); } /* Display type utility */ .font-display { font-family: var(--font-display); } /* Marketing section rhythm */ .section-pad { padding-block: clamp(4rem, 10vw, 7.5rem); } .prose-measure { max-width: 38rem; } /* Hybrid journey connector line */ .journey-line { background: linear-gradient( 90deg, var(--color-accent) 0%, var(--color-depth) 50%, var(--color-proof) 100% ); } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }