| @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap'); |
|
|
| @tailwind base; |
| @tailwind components; |
| @tailwind utilities; |
|
|
| @layer base { |
| :root { |
| --paper: #f5f0e6; |
| --paper-strong: #efe5d1; |
| --paper-dark: #d8cfbd; |
| --ink: #111111; |
| --red: #e54b2b; |
| --orange: #ff9f1c; |
| --yellow: #ffd84d; |
| --green: #78c26d; |
| --steel: #8c8377; |
| --shadow: 8px 8px 0 #111111; |
| --shadow-sm: 4px 4px 0 #111111; |
| --shadow-lg: 12px 12px 0 #111111; |
| } |
|
|
| * { |
| box-sizing: border-box; |
| margin: 0; |
| padding: 0; |
| } |
|
|
| html { |
| scroll-behavior: smooth; |
| font-size: 16px; |
| -webkit-font-smoothing: antialiased; |
| -moz-osx-font-smoothing: grayscale; |
| } |
|
|
| body { |
| min-height: 100vh; |
| background: |
| linear-gradient(90deg, transparent 0, transparent calc(100% - 24px), #111111 calc(100% - 24px), #111111 100%), |
| linear-gradient(#00000010 1px, transparent 1px), |
| linear-gradient(90deg, #00000010 1px, transparent 1px), |
| var(--paper); |
| background-size: auto, 28px 28px, 28px 28px, auto; |
| color: var(--ink); |
| font-family: 'Space Grotesk', sans-serif; |
| line-height: 1.45; |
| overflow-x: hidden; |
| } |
|
|
| h1, |
| h2, |
| h3, |
| h4, |
| h5, |
| h6 { |
| font-family: 'Archivo', sans-serif; |
| font-weight: 900; |
| line-height: 0.92; |
| letter-spacing: -0.05em; |
| text-transform: uppercase; |
| } |
|
|
| a { |
| color: inherit; |
| } |
|
|
| button, |
| input { |
| font: inherit; |
| } |
|
|
| ::selection { |
| background: var(--yellow); |
| color: var(--ink); |
| } |
|
|
| ::-webkit-scrollbar { |
| width: 12px; |
| height: 12px; |
| } |
|
|
| ::-webkit-scrollbar-track { |
| background: var(--paper-dark); |
| } |
|
|
| ::-webkit-scrollbar-thumb { |
| background: var(--ink); |
| border: 2px solid var(--paper-dark); |
| } |
| } |
|
|
| @layer components { |
| .brutal-panel { |
| background: var(--paper); |
| border: 3px solid var(--ink); |
| box-shadow: var(--shadow); |
| position: relative; |
| } |
|
|
| .brutal-panel-alt { |
| background: var(--paper-strong); |
| border: 3px solid var(--ink); |
| box-shadow: var(--shadow-sm); |
| position: relative; |
| } |
|
|
| .neo-card { |
| background: var(--paper); |
| border: 3px solid var(--ink); |
| box-shadow: var(--shadow-sm); |
| position: relative; |
| transition: transform 0.15s ease, box-shadow 0.15s ease; |
| } |
|
|
| .neo-card:hover { |
| transform: translate(-2px, -2px); |
| box-shadow: 6px 6px 0 #111111; |
| } |
|
|
| .btn-primary, |
| .btn-secondary { |
| display: inline-flex; |
| align-items: center; |
| justify-content: center; |
| gap: 0.625rem; |
| border: 3px solid var(--ink); |
| padding: 0.9rem 1.25rem; |
| font-family: 'Archivo', sans-serif; |
| font-size: 0.95rem; |
| font-weight: 800; |
| letter-spacing: 0.02em; |
| text-transform: uppercase; |
| cursor: pointer; |
| transition: transform 0.08s ease, box-shadow 0.08s ease, background 0.12s ease; |
| } |
|
|
| .btn-primary { |
| background: var(--red); |
| color: var(--paper); |
| box-shadow: 6px 6px 0 #111111; |
| } |
|
|
| .btn-primary:hover:not(:disabled), |
| .btn-secondary:hover:not(:disabled) { |
| transform: translate(-2px, -2px); |
| } |
|
|
| .btn-primary:hover:not(:disabled) { |
| box-shadow: 8px 8px 0 #111111; |
| background: #cf3d1f; |
| } |
|
|
| .btn-primary:active:not(:disabled), |
| .btn-secondary:active:not(:disabled) { |
| transform: translate(4px, 4px); |
| box-shadow: none; |
| } |
|
|
| .btn-primary:disabled, |
| .btn-secondary:disabled { |
| opacity: 0.55; |
| cursor: not-allowed; |
| } |
|
|
| .btn-secondary { |
| background: var(--yellow); |
| color: var(--ink); |
| box-shadow: 5px 5px 0 #111111; |
| } |
|
|
| .input-field { |
| width: 100%; |
| border: 3px solid var(--ink); |
| background: #fffdf8; |
| color: var(--ink); |
| padding: 1rem 1rem; |
| font-family: 'IBM Plex Mono', monospace; |
| font-size: 0.95rem; |
| outline: none; |
| box-shadow: inset 0 0 0 0 #111111; |
| transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease; |
| } |
|
|
| .input-field::placeholder { |
| color: #6d665c; |
| } |
|
|
| .input-field:focus { |
| background: #fff7dc; |
| box-shadow: 4px 4px 0 #111111; |
| transform: translate(-1px, -1px); |
| } |
|
|
| .mono-url, |
| .mono-label { |
| font-family: 'IBM Plex Mono', monospace; |
| text-transform: uppercase; |
| } |
|
|
| .mono-url { |
| font-size: 0.86rem; |
| letter-spacing: 0.01em; |
| word-break: break-all; |
| } |
|
|
| .mono-label { |
| font-size: 0.72rem; |
| font-weight: 600; |
| letter-spacing: 0.08em; |
| } |
|
|
| .badge { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.5rem; |
| border: 2px solid var(--ink); |
| background: var(--yellow); |
| color: var(--ink); |
| padding: 0.35rem 0.65rem; |
| font-family: 'IBM Plex Mono', monospace; |
| font-size: 0.74rem; |
| font-weight: 600; |
| text-transform: uppercase; |
| box-shadow: 3px 3px 0 #111111; |
| } |
|
|
| .divider { |
| height: 3px; |
| width: 100%; |
| background: var(--ink); |
| } |
|
|
| .kicker { |
| font-family: 'IBM Plex Mono', monospace; |
| font-size: 0.75rem; |
| font-weight: 600; |
| letter-spacing: 0.08em; |
| text-transform: uppercase; |
| } |
|
|
| .paper-stack::before { |
| content: ''; |
| position: absolute; |
| inset: 10px -10px -10px 10px; |
| background: var(--orange); |
| border: 3px solid var(--ink); |
| z-index: -1; |
| } |
|
|
| .ink-stamp { |
| border: 3px solid var(--ink); |
| background: var(--ink); |
| color: var(--paper); |
| padding: 0.35rem 0.6rem; |
| font-family: 'IBM Plex Mono', monospace; |
| font-size: 0.72rem; |
| font-weight: 600; |
| text-transform: uppercase; |
| } |
| } |
|
|