@import "tailwindcss"; @import "@cloudflare/kumo/styles"; @source "../node_modules/@cloudflare/kumo/dist"; @custom-variant dark (&:is(.dark *)); @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --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.5rem; --background: oklch(0.986 0.008 151); --foreground: oklch(0.215 0.025 157); --card: oklch(1 0 0); --card-foreground: oklch(0.215 0.025 157); --popover: oklch(1 0 0); --popover-foreground: oklch(0.215 0.025 157); --primary: oklch(0.48 0.11 155); --primary-foreground: oklch(0.985 0.01 150); --secondary: oklch(0.945 0.026 152); --secondary-foreground: oklch(0.28 0.058 156); --muted: oklch(0.95 0.012 151); --muted-foreground: oklch(0.47 0.025 157); --accent: oklch(0.88 0.06 150); --accent-foreground: oklch(0.25 0.055 155); --destructive: oklch(0.58 0.19 25); --destructive-foreground: oklch(0.985 0.01 150); --border: oklch(0.89 0.016 151); --input: oklch(0.89 0.016 151); --ring: oklch(0.54 0.11 155); --color-kumo-brand: var(--primary); --color-kumo-brand-hover: oklch(0.42 0.12 155); --color-kumo-focus: var(--ring); --color-kumo-link: var(--primary); --text-color-kumo-brand: var(--primary); --text-color-kumo-link: var(--primary); --color-kumo-success: oklch(0.52 0.13 155); --color-kumo-success-tint: oklch(0.93 0.045 152); --color-kumo-badge-green: oklch(0.48 0.11 155); } * { border-color: var(--border); } html { background: var(--background); color: var(--foreground); } body { min-height: 100svh; background: radial-gradient(circle at 12% 8%, color-mix(in oklch, var(--accent) 36%, transparent), transparent 30%), linear-gradient(180deg, color-mix(in oklch, var(--background) 90%, white), var(--background)); color: var(--foreground); font-family: Arial, Helvetica, sans-serif; letter-spacing: 0; } button, a, [role="button"] { -webkit-tap-highlight-color: transparent; } ::selection { background: color-mix(in oklch, var(--primary) 22%, transparent); } @keyframes page-enter { from { opacity: 0; } to { opacity: 1; } } @keyframes route-transition { from { opacity: 0; transform: translateY(0.375rem); } to { opacity: 1; transform: translateY(0); } } @keyframes loading-progress { 0% { transform: translateX(-100%); } 55% { transform: translateX(-18%); } 100% { transform: translateX(100%); } } @keyframes dialog-panel-enter { from { opacity: 0; transform: translate(-50%, -48%) scale(0.97); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } } .page-enter { animation: page-enter 180ms ease-out both; } .route-transition { animation: route-transition 180ms ease-out both; } .table-row-enter { animation: page-enter 160ms ease-out both; } .dialog-panel-enter { animation: dialog-panel-enter 160ms ease-out both; } :where([role="presentation"].fixed.inset-0.bg-kumo-recessed) { z-index: 40; } .teatea-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.375rem; min-height: 2.5rem; border-radius: var(--radius-md); font-weight: 600; line-height: 1.25; white-space: nowrap; transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease, opacity 140ms ease; } .teatea-button :where(svg) { flex-shrink: 0; } .teatea-button:focus-visible, .teatea-control:focus-visible, .teatea-select-trigger:focus-visible, :where([data-kumo-component="Select"][data-kumo-part="trigger"]):focus-visible { outline: none; box-shadow: 0 0 0 3px color-mix(in oklch, var(--ring) 24%, transparent); } .teatea-button-default { border: 1px solid var(--primary); background: var(--primary); color: var(--primary-foreground); } .teatea-button-default:hover { background: color-mix(in oklch, var(--primary) 88%, black); border-color: color-mix(in oklch, var(--primary) 88%, black); } .teatea-button-outline, .teatea-button-secondary { border: 1px solid var(--border); background: var(--card); color: var(--foreground); } .teatea-button-outline:hover, .teatea-button-secondary:hover, .teatea-button-ghost:hover { border-color: color-mix(in oklch, var(--primary) 45%, var(--border)); background: color-mix(in oklch, var(--secondary) 72%, white); color: var(--accent-foreground); } .teatea-button-ghost { border: 1px solid transparent; background: transparent; color: var(--foreground); } .teatea-button-destructive { border: 1px solid var(--destructive); background: var(--destructive); color: var(--destructive-foreground); } .teatea-control, .teatea-select-trigger, :where([data-kumo-component="Select"][data-kumo-part="trigger"]) { min-height: 2.5rem; width: 100%; border: 1px solid var(--input); border-radius: var(--radius-md); background: var(--card); color: var(--foreground); font-size: 0.875rem; font-weight: 500; line-height: 1.35; box-shadow: 0 1px 2px color-mix(in oklch, var(--foreground) 7%, transparent); transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease; } .teatea-control { padding: 0.5rem 0.75rem; } .teatea-select-trigger, :where([data-kumo-component="Select"][data-kumo-part="trigger"]) { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; appearance: none; outline: none; padding: 0.5rem 0.75rem; text-align: left; } .teatea-control:hover, .teatea-select-trigger:hover, :where([data-kumo-component="Select"][data-kumo-part="trigger"]):hover { border-color: color-mix(in oklch, var(--primary) 45%, var(--input)); background: color-mix(in oklch, var(--secondary) 34%, white); } .teatea-select-trigger[data-open="true"] { border-color: color-mix(in oklch, var(--primary) 58%, var(--input)); background: var(--card); } .teatea-control::placeholder { color: var(--muted-foreground); } .teatea-control:disabled, .teatea-button:disabled, .teatea-select-trigger:disabled, :where([data-kumo-component="Select"][data-kumo-part="trigger"][data-disabled]) { cursor: not-allowed; opacity: 0.55; } .teatea-select-trigger :where(svg), .teatea-select :where(svg), :where([data-kumo-component="Select"][data-kumo-part="trigger"]) :where(svg) { color: var(--primary); } .teatea-select-panel { position: fixed; z-index: 60; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--card); color: var(--foreground); padding: 0.375rem; box-shadow: 0 18px 44px color-mix(in oklch, var(--foreground) 14%, transparent), 0 0 0 1px color-mix(in oklch, var(--primary) 10%, transparent); animation: page-enter 120ms ease-out both; } .teatea-select-option { display: flex; min-height: 2.25rem; width: 100%; cursor: pointer; align-items: center; justify-content: space-between; gap: 0.625rem; border: 0; border-radius: calc(var(--radius-md) - 2px); background: transparent; color: var(--foreground); padding: 0.5rem 0.625rem; text-align: left; font-size: 0.875rem; outline: none; } .teatea-select-option[data-highlighted="true"], .teatea-select-option:hover { background: var(--secondary); color: var(--secondary-foreground); } .teatea-select-option:focus-visible { box-shadow: inset 0 0 0 2px color-mix(in oklch, var(--ring) 36%, transparent); } .teatea-select-option[data-selected="true"] { color: var(--primary); font-weight: 600; } .teatea-select-option:disabled { cursor: not-allowed; opacity: 0.5; } :where([role="listbox"]:has([data-kumo-component="Select"][data-kumo-part="option"])) { z-index: 60; outline: none; max-height: min(18rem, var(--available-height, 18rem)); min-width: var(--anchor-width, 12rem); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--card); color: var(--foreground); padding: 0.375rem; box-shadow: 0 18px 44px color-mix(in oklch, var(--foreground) 14%, transparent), 0 0 0 1px color-mix(in oklch, var(--primary) 10%, transparent); } :where([data-kumo-component="Select"][data-kumo-part="option"]) { min-height: 2.25rem; cursor: pointer; outline: none; border-radius: calc(var(--radius-md) - 2px); padding: 0.5rem 0.625rem; color: var(--foreground); font-size: 0.875rem; } :where([data-kumo-component="Select"][data-kumo-part="option"][data-highlighted]), :where([data-kumo-component="Select"][data-kumo-part="option"]):hover { background: var(--secondary); color: var(--secondary-foreground); } :where([data-kumo-component="Select"][data-kumo-part="option"][data-selected]) { color: var(--primary); font-weight: 600; } .teatea-checkbox :where([data-kumo-component="Checkbox"]) { border: 1px solid var(--input); border-radius: var(--radius-sm); background: var(--card); color: var(--primary-foreground); } .teatea-badge { border-radius: var(--radius-sm); font-weight: 600; } .teatea-card { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); color: var(--card-foreground); box-shadow: 0 1px 2px color-mix(in oklch, var(--foreground) 6%, transparent), 0 0 0 1px color-mix(in oklch, var(--primary) 4%, transparent); } .teatea-card-header { background: color-mix(in oklch, var(--secondary) 18%, var(--card)); } .teatea-table { width: 100%; border-collapse: collapse; color: var(--foreground); } .teatea-table :where(thead) { border-bottom: 1px solid var(--border); background: var(--secondary); } .teatea-table :where(th) { color: var(--muted-foreground); font-weight: 600; } .teatea-table :where(tbody tr:hover) { background: color-mix(in oklch, var(--secondary) 42%, transparent); } .teatea-dialog { inset: 0 !important; height: fit-content; margin: auto !important; max-width: calc(100vw - 1.5rem); min-width: min(calc(100vw - 1.5rem), 48rem) !important; transform: none !important; translate: 0 0 !important; width: min(calc(100vw - 1.5rem), 48rem) !important; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--card); color: var(--foreground); box-shadow: 0 26px 80px color-mix(in oklch, var(--foreground) 16%, transparent), 0 0 0 1px color-mix(in oklch, var(--primary) 10%, transparent); } .loading-progress { width: 55%; animation: loading-progress 900ms ease-in-out infinite; } @media (prefers-reduced-motion: reduce) { .page-enter, .route-transition, .table-row-enter, .dialog-panel-enter, .teatea-select-panel, .loading-progress { animation: none; } }