[data-slot="toaster"][data-stack] [data-slot="toast"] {
position: absolute;
--y: translateY(0);
opacity: 1;
z-index: var(--z-index, 1);
transform: var(--y) translateX(var(--swipe-x, 0px));
transition:
transform 350ms cubic-bezier(0.21, 0.8, 0.4, 1),
opacity 350ms,
height 350ms;
animation: ev-toast-enter 350ms cubic-bezier(0.21, 0.8, 0.4, 1) backwards;
}
@keyframes ev-toast-enter {
from {
opacity: 0;
translate: 0 var(--enter-y, 100%);
}
to {
opacity: 1;
translate: 0 0;
}
}
[data-slot="toaster"][data-stack][data-y-position="bottom"] [data-slot="toast"] {
bottom: 0;
--lift: -1;
--enter-y: 100%;
}
[data-slot="toaster"][data-stack][data-y-position="top"] [data-slot="toast"] {
top: 0;
--lift: 1;
--enter-y: -100%;
}
[data-slot="toaster"][data-stack] [data-slot="toast"][data-state="closed"] {
--y: translateY(var(--enter-y));
opacity: 0;
}
[data-slot="toaster"][data-stack]
[data-slot="toast"][data-state="open"][data-front="false"] {
--y: translateY(calc(var(--lift) * var(--gap) * var(--index)))
scale(calc(1 - var(--index) * 0.05));
height: var(--front-height);
}
[data-slot="toaster"][data-stack] [data-slot="toast"][data-front="false"] > * {
opacity: 0;
transition: opacity 300ms;
}
[data-slot="toaster"][data-stack] [data-slot="toast"][data-visible="false"] {
opacity: 0;
pointer-events: none;
}
[data-slot="toaster"][data-stack]:hover [data-slot="toast"][data-state="open"],
[data-slot="toaster"][data-stack]:focus-within
[data-slot="toast"][data-state="open"] {
--y: translateY(calc(var(--lift) * var(--offset)));
height: var(--initial-height);
}
[data-slot="toaster"][data-stack]:hover [data-slot="toast"] > *,
[data-slot="toaster"][data-stack]:focus-within [data-slot="toast"] > *,
[data-slot="toaster"][data-stack]:hover [data-slot="toast"][data-visible="false"],
[data-slot="toaster"][data-stack]:focus-within
[data-slot="toast"][data-visible="false"] {
opacity: 1;
pointer-events: auto;
}
[data-slot="toaster"][data-stack] [data-slot="toast"]::after {
content: "";
position: absolute;
left: 0;
width: 100%;
height: calc(var(--gap) + 1px);
}
[data-slot="toaster"][data-stack][data-y-position="bottom"]
[data-slot="toast"]::after {
bottom: 100%;
}
[data-slot="toaster"][data-stack][data-y-position="top"]
[data-slot="toast"]::after {
top: 100%;
}
[data-slot="toaster"][data-stack] [data-slot="toast"][data-swiping="true"] {
transition: none;
}
@keyframes ev-toast-life {
from {
--ev-life: 0;
}
to {
--ev-life: 1;
}
}
[data-slot="toaster"][data-stack]
[data-slot="toast"][data-autodismiss="true"][data-state="open"] {
animation:
ev-toast-enter 350ms cubic-bezier(0.21, 0.8, 0.4, 1) backwards,
ev-toast-life var(--life) linear;
}
[data-slot="toaster"][data-stack]:hover
[data-slot="toast"][data-autodismiss="true"],
[data-slot="toaster"][data-stack]:focus-within
[data-slot="toast"][data-autodismiss="true"] {
animation-play-state: running, paused;
}
@keyframes ev-toast-fade-in {
from {
opacity: 0;
}
}
@media (prefers-reduced-motion: reduce) {
[data-slot="toaster"][data-stack] [data-slot="toast"] {
transition:
transform 1ms linear,
opacity 200ms;
animation: ev-toast-fade-in 200ms;
}
[data-slot="toaster"][data-stack]
[data-slot="toast"][data-autodismiss="true"][data-state="open"] {
animation:
ev-toast-fade-in 200ms,
ev-toast-life var(--life) linear;
}
}
@theme inline {
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
--radius-2xl: calc(var(--radius) + 8px);
--shadow-card: 0 1px 2px 0 rgb(0 0 0 / 0.30);
--shadow-elevated:
0 4px 12px -2px rgb(0 0 0 / 0.40),
0 2px 4px -2px rgb(0 0 0 / 0.30);
--shadow-overlay: 0 16px 48px -12px rgb(0 0 0 / 0.60);
--font-sans: var(--font-inter, "Inter"), ui-sans-serif, system-ui, sans-serif;
--font-serif: var(--font-playfair, "Playfair Display"), ui-serif, Georgia, serif;
--font-mono: var(--font-inter, "Inter"), ui-monospace, monospace;
--font-display: var(--font-playfair, "Playfair Display"), ui-serif, Georgia, serif;
--color-background: var(--background);
--color-card: var(--card);
--color-popover: var(--popover);
--color-muted: var(--muted);
--color-hover: var(--hover);
--color-ink: var(--ink);
--color-ink-mid: var(--ink-mid);
--color-ink-soft: var(--ink-soft);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-brand: var(--brand);
--color-primary: var(--primary);
--color-on-primary: var(--on-primary);
--color-secondary: var(--secondary);
--color-on-secondary: var(--on-secondary);
--color-positive: var(--positive);
--color-on-positive: var(--on-positive);
--color-accent-trace: var(--accent-trace);
--color-on-accent-trace: var(--on-accent-trace);
--color-accent-debug: var(--accent-debug);
--color-on-accent-debug: var(--on-accent-debug);
--color-accent-info: var(--accent-info);
--color-on-accent-info: var(--on-accent-info);
--color-accent-warn: var(--accent-warn);
--color-on-accent-warn: var(--on-accent-warn);
--color-accent-error: var(--accent-error);
--color-on-accent-error: var(--on-accent-error);
--color-chart-1: var(--chart-1);
--color-chart-2: var(--chart-2);
--color-chart-3: var(--chart-3);
--color-chart-4: var(--chart-4);
--color-chart-5: var(--chart-5);
}
:root,
.dark {
--background: #070d18;
--card: #16233c;
--popover: #1d2c49;
--muted: #26375c;
--hover: color-mix(in srgb, var(--ink) 8%, transparent);
--ink: #e6e1d3;
--ink-mid: color-mix(in srgb, var(--ink) 82%, transparent);
--ink-soft: color-mix(in srgb, var(--ink) 65%, transparent);
--border: color-mix(in srgb, var(--ink) 14%, transparent);
--input: color-mix(in srgb, var(--ink) 20%, transparent);
--ring: #2a9d8f;
--brand: #001e4e;
--primary: #2a9d8f;
--on-primary: #070d18;
--secondary: #0d1526;
--on-secondary: var(--ink);
--positive: #2e9e5b;
--on-positive: #070d18;
--accent-trace: #6b7fa0;
--on-accent-trace: #070d18;
--accent-debug: #2a9d8f;
--on-accent-debug: #070d18;
--accent-info: #4a90d9;
--on-accent-info: #070d18;
--accent-warn: #f2c94c;
--on-accent-warn: #070d18;
--accent-error: #ef5b52;
--on-accent-error: #070d18;
--chart-1: #2a9d8f;
--chart-2: #2e9e5b;
--chart-3: #f2c94c;
--chart-4: #e58aae;
--chart-5: #4a90d9;
--radius: 0.375rem;
--control-radius: calc(var(--radius) - 2px);
--control-py: 0.5rem;
--control-px: 2rem;
--control-text: 1rem;
--display-scale: 1;
--band-py: 2.25rem;
--band-py-tight: 2rem;
--sidebar-width: 14rem;
--page-max: 90rem;
--page-px: 1rem;
--ev-shell-offset: 0px;
}
@media (min-width: 640px) {
:root {
--radius: 0.5rem;
--page-px: 1.5rem;
}
}
@media (min-width: 768px) {
:root {
--band-py: 4rem;
--band-py-tight: 3.5rem;
}
}
@media (min-width: 1024px) {
:root {
--page-px: 3rem;
}
}
@theme inline {
--color-foreground: var(--ink);
--color-card-foreground: var(--ink);
--color-popover-foreground: var(--ink);
--color-primary-foreground: var(--on-primary);
--color-secondary-foreground: var(--on-secondary);
--color-accent: var(--hover);
--color-accent-foreground: var(--ink);
--color-destructive: var(--accent-error);
--color-destructive-foreground: var(--on-accent-error);
--color-sidebar: var(--secondary);
--color-sidebar-foreground: var(--ink);
--color-sidebar-primary: var(--primary);
--color-sidebar-primary-foreground: var(--on-primary);
--color-sidebar-accent: var(--hover);
--color-sidebar-accent-foreground: var(--ink);
--color-sidebar-border: var(--border);
--color-sidebar-ring: var(--ring);
--color-main-brand: var(--brand);
--color-main-black: var(--background);
--color-main-surface: var(--secondary);
--color-main-card: var(--card);
--color-main-mist: #e6e1d3;
--color-main-accent-t1: var(--accent-debug);
--color-main-accent-t2: var(--positive);
--color-main-accent-t3: var(--accent-warn);
--color-main-accent-t4: var(--chart-4);
--color-level-trace: var(--accent-trace);
--color-level-debug: var(--accent-debug);
--color-level-info: var(--accent-info);
--color-level-warn: var(--accent-warn);
--color-level-error: #da251d;
}
:root,
.dark {
--ink: white;
--ink-mid: #e6e1d3;
--ink-soft: color-mix(in srgb, #e6e1d3 65%, transparent);
--hover: color-mix(in srgb, #e6e1d3 8%, transparent);
--border: color-mix(in srgb, #e6e1d3 14%, transparent);
--input: color-mix(in srgb, #e6e1d3 20%, transparent);
--on-secondary: white;
}