| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- @import "tailwindcss";
- @theme inline {
- --font-mono: 'Geist Mono', 'Courier New', Courier, monospace;
- }
- * {
- box-sizing: border-box;
- scroll-behavior: smooth;
- }
- html {
- background: #09090b;
- }
- html,
- body,
- #root {
- min-height: 100%;
- background: #09090b;
- color: #e5e5e5;
- font-family: var(--font-mono);
- line-height: 1.55;
- overflow-x: hidden;
- }
- body {
- margin: 0;
- }
- @layer base {
- button,
- input,
- textarea,
- select {
- font: inherit;
- }
- }
- a {
- color: inherit;
- text-decoration: none;
- }
- ::selection {
- background: #dc2626;
- color: #fff;
- }
- /* Scrollbar */
- ::-webkit-scrollbar {
- width: 5px;
- }
- ::-webkit-scrollbar-track {
- background: transparent;
- }
- ::-webkit-scrollbar-thumb {
- background: #2a2a2a;
- border-radius: 4px;
- }
- ::-webkit-scrollbar-thumb:hover {
- background: #444;
- }
- /* Custom checkbox */
- input[type="checkbox"] {
- appearance: none;
- -webkit-appearance: none;
- width: 15px;
- height: 15px;
- border: 1px solid #333;
- background: #111;
- cursor: pointer;
- position: relative;
- flex-shrink: 0;
- transition: all 150ms;
- }
- input[type="checkbox"]:hover {
- border-color: #555;
- }
- input[type="checkbox"]:checked {
- border-color: #dc2626;
- background: #dc2626;
- }
- input[type="checkbox"]:checked::after {
- content: '';
- position: absolute;
- left: 4px;
- top: 1px;
- width: 4px;
- height: 8px;
- border: solid white;
- border-width: 0 1.5px 1.5px 0;
- transform: rotate(45deg);
- }
- input[type="checkbox"]:focus-visible {
- outline: 1px solid #dc2626;
- outline-offset: 2px;
- }
- /* Select options for dark bg */
- select option {
- background: #111;
- color: #e5e5e5;
- }
- /* Focus ring */
- input:focus-visible,
- textarea:focus-visible,
- select:focus-visible {
- outline: none;
- }
- /* Film grain */
- @keyframes grain {
- 0%, 100% { transform: translate(0, 0); }
- 10% { transform: translate(-2%, -2%); }
- 20% { transform: translate(2%, 2%); }
- 30% { transform: translate(-1%, 3%); }
- 40% { transform: translate(3%, -1%); }
- 50% { transform: translate(-3%, 1%); }
- 60% { transform: translate(1%, -3%); }
- 70% { transform: translate(-2%, 2%); }
- 80% { transform: translate(2%, -2%); }
- 90% { transform: translate(-1%, 1%); }
- }
- body::before {
- content: '';
- position: fixed;
- inset: -50%;
- width: 200%;
- height: 200%;
- 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.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
- opacity: 0.025;
- pointer-events: none;
- z-index: 0;
- animation: grain 8s steps(10) infinite;
- }
|