Monorepo for Tangled
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235@import "tailwindcss";
@theme { --font-sans: "InterVariable", "system-ui", sans-serif, ui-sans-serif; --font-mono: "IBMPlexMono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
/* ========================================================================= Semantic color tokens — synced from Figma "Design System" › semantic colors Names mirror the Figma variables verbatim (`/` → `-`). Light-mode values here; dark-mode overrides live in the prefers-color-scheme block below. ========================================================================= */
/* --- background --- */ --color-background-default: #ffffff; --color-background-subtle: #f9fafb; --color-background-inset: #f3f4f6; --color-background-muted: #e5e7eb; --color-background-canvas: #f3f4f6; --color-background-highlight: #fef08a; --color-background-success-subtle: #dcfce7; --color-background-success-subtle-hover: #bbf7d0; --color-background-success-emphasis: #16a34a; --color-background-success-emphasis-hover: #15803d; --color-background-danger-subtle: #ffe2e2; --color-background-danger-subtle-hover: #fecaca; --color-background-danger-emphasis: #fca5a5; --color-background-danger-emphasis-hover: #f87171; --color-background-warning-subtle: #fffbeb; --color-background-warning-subtle-hover: #fef3c7; --color-background-warning-emphasis: #f59e0b; --color-background-info-subtle: #eef2ff; --color-background-info-subtle-hover: #e0e7ff; --color-background-info-emphasis: #4f46e5;
/* --- foreground --- */ --color-foreground-default: #111827; --color-foreground-muted: #4b5563; --color-foreground-subtle: #6b7280; --color-foreground-placeholder: #9ca3af; --color-foreground-disabled: #d1d5db; --color-foreground-on-emphasis: #ffffff; --color-foreground-highlight: #854d0e; --color-foreground-success: #16a34a; --color-foreground-success-strong: #166534; --color-foreground-success-disabled: #16a34a80; --color-foreground-danger: #dc2626; --color-foreground-danger-strong: #991b1b; --color-foreground-warning: #d97706; --color-foreground-warning-strong: #92400e; --color-foreground-info: #4338ca; --color-foreground-info-strong: #3730a3; --color-foreground-link-default: #111827; --color-foreground-link-hover: #374151; --color-foreground-link-disabled: #9ca3af; --color-foreground-link-danger: #dc2626; --color-foreground-link-danger-hover: #ef4444; --color-foreground-link-success: #16a34a; --color-foreground-link-success-hover: #22c55e; --color-foreground-link-warning: #d97706; --color-foreground-link-warning-hover: #f59e0b; --color-foreground-link-info: #4f46e5; --color-foreground-link-info-hover: #6366f1;
/* --- border --- */ --color-border-default: #e5e7eb; --color-border-subtle: #f3f4f6; --color-border-strong: #d1d5db; --color-border-disabled: #e5e7eb; --color-border-focus: #9ca3af; --color-border-focus-success: #22c55e; --color-border-focus-danger: #ef4444; --color-border-success: #15803d; --color-border-danger: #fca5a5;
/* --- shadow (inner depth) --- */ --color-shadow-inner-strong: #d1d5db; --color-shadow-inner-strong-hover: #d1d5db; --color-shadow-inner-subtle: #e5e7eb;
--shadow-menu: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);}
@layer base { @font-face { font-family: "InterVariable"; src: url("/fonts/InterVariable.woff2") format("woff2-variations"); font-weight: 100 600; font-style: normal; font-display: swap; }
@font-face { font-family: "InterVariable"; src: url("/fonts/InterVariable-Italic.woff2") format("woff2-variations"); font-weight: 100 600; font-style: italic; font-display: swap; }
@font-face { font-family: "InterVariable"; src: url("/fonts/InterDisplay-Bold.woff2") format("woff2"); font-weight: bold; font-style: normal; font-display: swap; }
@font-face { font-family: "InterVariable"; src: url("/fonts/InterDisplay-BoldItalic.woff2") format("woff2"); font-weight: bold; font-style: italic; font-display: swap; }
@font-face { font-family: "IBMPlexMono"; src: url("/fonts/IBMPlexMono-Regular.woff2") format("woff2"); font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: "IBMPlexMono"; src: url("/fonts/IBMPlexMono-Italic.woff2") format("woff2"); font-weight: normal; font-style: italic; font-display: swap; }
@font-face { font-family: "IBMPlexMono"; src: url("/fonts/IBMPlexMono-Bold.woff2") format("woff2"); font-weight: bold; font-style: normal; font-display: swap; }
@font-face { font-family: "IBMPlexMono"; src: url("/fonts/IBMPlexMono-BoldItalic.woff2") format("woff2"); font-weight: bold; font-style: italic; font-display: swap; }
html { font-size: 16px; scrollbar-gutter: stable; }
@media (prefers-color-scheme: dark) { :root { /* --- background (Dark) --- */ --color-background-default: #1f2937; --color-background-subtle: #374151; --color-background-inset: #374151; --color-background-muted: #4b5563; --color-background-canvas: #111827; --color-background-highlight: #713f12; --color-background-success-subtle: #14532d; --color-background-success-subtle-hover: #166534; --color-background-success-emphasis: #15803d; --color-background-success-emphasis-hover: #166534; --color-background-danger-subtle: #7f1d1d; --color-background-danger-subtle-hover: #991b1b; --color-background-danger-emphasis: #b91c1c; --color-background-danger-emphasis-hover: #991b1b; --color-background-warning-subtle: #78350f; --color-background-warning-subtle-hover: #92400e; --color-background-warning-emphasis: #d97706; --color-background-info-subtle: #312e81; --color-background-info-subtle-hover: #3730a3; --color-background-info-emphasis: #4f46e5;
/* --- foreground (Dark) --- */ --color-foreground-default: #f3f4f6; --color-foreground-muted: #9ca3af; --color-foreground-subtle: #6b7280; --color-foreground-placeholder: #9ca3af; --color-foreground-disabled: #6b7280; --color-foreground-on-emphasis: #ffffff; --color-foreground-highlight: #fef08a; --color-foreground-success: #4ade80; --color-foreground-success-strong: #bbf7d0; --color-foreground-success-disabled: #15803d; --color-foreground-danger: #f87171; --color-foreground-danger-strong: #fecaca; --color-foreground-warning: #fbbf24; --color-foreground-warning-strong: #fde68a; --color-foreground-info: #818cf8; --color-foreground-info-strong: #c7d2fe; --color-foreground-link-default: #f3f4f6; --color-foreground-link-hover: #d1d5db; --color-foreground-link-disabled: #6b7280; --color-foreground-link-danger: #ef4444; --color-foreground-link-danger-hover: #f87171; --color-foreground-link-success: #22c55e; --color-foreground-link-success-hover: #4ade80; --color-foreground-link-warning: #f59e0b; --color-foreground-link-warning-hover: #fbbf24; --color-foreground-link-info: #6366f1; --color-foreground-link-info-hover: #818cf8;
/* --- border (Dark) --- */ --color-border-default: #374151; --color-border-subtle: #1f2937; --color-border-strong: #6b7280; --color-border-disabled: #4b5563; --color-border-focus: #d1d5db; --color-border-focus-success: #22c55e; --color-border-focus-danger: #ef4444; --color-border-success: #15803d; --color-border-danger: #991b1b;
/* --- shadow (Dark) --- */ --color-shadow-inner-strong: #030712; --color-shadow-inner-strong-hover: #1f2937; --color-shadow-inner-subtle: #111827; } }
body { @apply flex min-h-screen flex-col bg-background-canvas text-foreground-default transition-colors duration-200; font-size: 14px; }
a { @apply text-foreground-default no-underline hover:text-foreground-muted; }}