/** biome-ignore-all lint/correctness/noUnknownTypeSelector: view transitions require me to put transition name in there */ @import "tailwindcss"; @import "tw-animate-css"; @custom-variant dark (&:is(.dark *)); @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --font-sans: var(--font-anuphan); --font-mono: var(--font-geist-mono); --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-chart-5: var(--chart-5); --color-chart-4: var(--chart-4); --color-chart-3: var(--chart-3); --color-chart-2: var(--chart-2); --color-chart-1: var(--chart-1); --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: var(--primary-foreground); --color-primary: var(--primary); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --color-mention-foreground: var(--mention-foreground); --color-mention-background: var(--mention-background); --color-mention-hover: var(--mention-hover); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); } :root { --radius: 0.65rem; --background: oklch(1 0 0); --foreground: oklch(0.141 0.005 285.823); --card: oklch(1 0 0); --card-foreground: oklch(0.141 0.005 285.823); --popover: oklch(1 0 0); --popover-foreground: oklch(0.141 0.005 285.823); --primary: oklch(0.623 0.214 259.815); --primary-foreground: oklch(0.97 0.014 254.604); --secondary: oklch(0.967 0.001 286.375); --secondary-foreground: oklch(0.21 0.006 285.885); --muted: oklch(0.967 0.001 286.375); --muted-foreground: oklch(0.552 0.016 285.938); --accent: oklch(0.967 0.001 286.375); --accent-foreground: oklch(0.21 0.006 285.885); --destructive: oklch(0.577 0.245 27.325); --border: oklch(0.92 0.004 286.32); --input: oklch(0.92 0.004 286.32); --ring: oklch(0.623 0.214 259.815); --chart-1: oklch(0.646 0.222 41.116); --chart-2: oklch(0.6 0.118 184.704); --chart-3: oklch(0.398 0.07 227.392); --chart-4: oklch(0.828 0.189 84.429); --chart-5: oklch(0.769 0.188 70.08); --sidebar: oklch(0.985 0 0); --sidebar-foreground: oklch(0.141 0.005 285.823); --sidebar-primary: oklch(0.623 0.214 259.815); --sidebar-primary-foreground: oklch(0.97 0.014 254.604); --sidebar-accent: oklch(0.967 0.001 286.375); --sidebar-accent-foreground: oklch(0.21 0.006 285.885); --sidebar-border: oklch(0.92 0.004 286.32); --sidebar-ring: oklch(0.623 0.214 259.815); --mention-foreground: color-mix( in oklab, hsl(228.785 calc(1 * 100%) 79.02% / 1) 100%, #000 0% ); --mention-background: color-mix( in oklab, hsl(234.935 calc(1 * 85.556%) 64.706% / 0.23921568627450981) 100%, hsl(0 0% 0% / 0.23921568627450981) 0% ); --mention-hover: hsl(234.935 calc(1 * 85.556%) 64.706% / 1); } .dark { --background: oklch(0.141 0.005 285.823); --foreground: oklch(0.985 0 0); --card: oklch(0.21 0.006 285.885); --card-foreground: oklch(0.985 0 0); --popover: oklch(0.21 0.006 285.885); --popover-foreground: oklch(0.985 0 0); --primary: oklch(0.546 0.245 262.881); --primary-foreground: oklch(0.985 0 0); --secondary: oklch(0.274 0.006 286.033); --secondary-foreground: oklch(0.985 0 0); --muted: oklch(0.274 0.006 286.033); --muted-foreground: oklch(0.705 0.015 286.067); --accent: oklch(0.274 0.006 286.033); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); --ring: oklch(0.488 0.243 264.376); --chart-1: oklch(0.488 0.243 264.376); --chart-2: oklch(0.696 0.17 162.48); --chart-3: oklch(0.769 0.188 70.08); --chart-4: oklch(0.627 0.265 303.9); --chart-5: oklch(0.645 0.246 16.439); --sidebar: oklch(0.21 0.006 285.885); --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.546 0.245 262.881); --sidebar-primary-foreground: oklch(0.379 0.146 265.522); --sidebar-accent: oklch(0.274 0.006 286.033); --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(1 0 0 / 10%); --sidebar-ring: oklch(0.488 0.243 264.376); color-scheme: dark; } @layer base { * { @apply border-border outline-ring/50; } body { @apply bg-background text-foreground; } } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } input[type="number"] { appearance: textfield; -moz-appearance: textfield; /* Firefox */ } *:has(.blocker) { z-index: 0; position: relative; } * { scrollbar-width: thin; scrollbar-color: var(--color-blue-500) var(--card); } @theme { --animate-phonerotate: phonerotate 3s ease infinite; @keyframes phonerotate { 0% { transform: rotate(0deg); opacity: 0%; } 10% { opacity: 100%; } 40% { transform: rotate(0deg); } 60% { transform: rotate(90deg); } 90% { opacity: 100%; } 100% { transform: rotate(90deg); opacity: 0%; } } } img { user-select: none; -webkit-user-drag: none; } .vintage-filter { filter: sepia(0.7) contrast(1.1) brightness(0.9) hue-rotate(-10deg) saturate(1.3); position: relative; display: block; } .vintage-filter::after { content: ""; position: absolute; inset: 0; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAPklEQVR42mN8//HLfwYiADMzKq2dD8OgwIyMDEMCwDIAqQFI6wCi8uQwBSA5dA5A0gMiYQAI2hkaQGBiAFeuBUDmBQsjBgAAAABJRU5ErkJggg==") repeat; opacity: 0.08; pointer-events: none; border-radius: inherit; } ::view-transition-group(fade), ::view-transition-image-pair(fade), ::view-transition-old(fade), ::view-transition-new(fade) { /* animation: none; */ mix-blend-mode: normal; transform: none; } ::view-transition-old(fade) { opacity: 1; animation: vt-fade-out 250ms ease forwards; } ::view-transition-new(fade) { opacity: 0; animation: vt-fade-in 250ms ease forwards; } @keyframes vt-fade-out { to { opacity: 0; } } @keyframes vt-fade-in { to { opacity: 1; } } [contenteditable="true"]:empty::before { content: attr(data-placeholder); color: #a0a0a0; pointer-events: none; } [contenteditable="true"]:focus { outline: none; }