/* Derived from the checked-in Innovera theme. Native CSS, no Tailwind build required. */
@font-face {font-family: Inter; src: url("./fonts/InterVariableFonts.ttf") format("truetype-variations"); font-style:normal; font-weight:100 900; font-display:swap;}
:root {
  --color-primary-50: oklch(0.985 0.02 90);
  --color-primary-100: oklch(0.965 0.05 88);
  --color-primary-200: oklch(0.93 0.095 85);
  --color-primary-300: oklch(0.89 0.135 82);
  --color-primary-400: oklch(0.85 0.16 79);
  --color-primary-500: oklch(0.8033 0.1667 76.92);
  --color-primary-600: oklch(0.72 0.155 70);
  --color-primary-700: oklch(0.62 0.135 64);
  --color-primary-800: oklch(0.52 0.11 60);
  --color-primary-900: oklch(0.42 0.085 58);
  --color-primary-950: oklch(0.3 0.06 56);
  --color-greyscale-0: oklch(1 0 0);
  --color-greyscale-50: oklch(0.988 0.003 106.5);
  --color-greyscale-100: oklch(0.966 0.005 106.5);
  --color-greyscale-200: oklch(0.93 0.007 106.5);
  --color-greyscale-250: oklch(0.905 0.009 106.55);
  --color-greyscale-300: oklch(0.88 0.011 106.6);
  --color-greyscale-400: oklch(0.737 0.021 106.9);
  --color-greyscale-500: oklch(0.58 0.031 107.3);
  --color-greyscale-600: oklch(0.466 0.025 107.3);
  --color-greyscale-650: oklch(0.43 0.024 107.35);
  --color-greyscale-700: oklch(0.394 0.023 107.4);
  --color-greyscale-800: oklch(0.286 0.016 107.4);
  --color-greyscale-900: oklch(0.228 0.013 107.4);
  --color-greyscale-950: oklch(0.153 0.006 107.1);
  --color-success-50: oklch(0.98 0.02 155);
  --color-success-100: oklch(0.955 0.045 155);
  --color-success-200: oklch(0.91 0.09 154);
  --color-success-300: oklch(0.85 0.14 153);
  --color-success-400: oklch(0.77 0.17 152);
  --color-success-500: oklch(0.69 0.17 150);
  --color-success-600: oklch(0.6 0.15 150);
  --color-success-700: oklch(0.51 0.125 151);
  --color-success-800: oklch(0.43 0.1 152);
  --color-success-900: oklch(0.37 0.08 153);
  --color-success-950: oklch(0.26 0.06 154);
  --color-error-50: oklch(0.971 0.013 17);
  --color-error-100: oklch(0.936 0.032 17);
  --color-error-200: oklch(0.885 0.062 18);
  --color-error-300: oklch(0.808 0.114 19);
  --color-error-400: oklch(0.704 0.18 20);
  --color-error-500: oklch(0.63 0.23 21);
  --color-error-600: oklch(0.565 0.225 22);
  --color-error-700: oklch(0.5 0.2 22);
  --color-error-800: oklch(0.44 0.17 22);
  --color-error-900: oklch(0.39 0.135 22);
  --color-error-950: oklch(0.26 0.09 22);
  --color-viz-sky: oklch(0.8079 0.0731 228.7);
  --color-viz-cerulean: oklch(0.6484 0.1101 219);
  --color-viz-navy: oklch(0.2931 0.0623 237.01);
  --color-viz-amber: oklch(0.8253 0.1706 79.94);
  --color-viz-orange: oklch(0.7341 0.1794 56.11);
  --color-viz-slate: oklch(0.52 0.07 236);
  --color-leo: oklch(0.6503 0.2207 28.39);

    --radius-sm: calc(var(--radius) * 0.6);
    --radius-md: calc(var(--radius) * 0.8);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) * 1.4);
    --radius-2xl: calc(var(--radius) * 1.8);
    --radius-3xl: calc(var(--radius) * 2.2);
    --radius-4xl: calc(var(--radius) * 2.6);

--app-header-height:4rem; --sticky-top:var(--app-header-height); --text-size-scale:1; --font-sans:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",Meiryo,sans-serif; --font-heading:var(--font-sans); --font-serif:Merriweather,"Hiragino Mincho ProN","Yu Mincho",Georgia,serif; --font-mono:"Geist Mono",ui-monospace,monospace;
}
:root, .light {

    --background: var(--color-greyscale-0);
    --canvas: var(--color-greyscale-50);
    --foreground: var(--color-greyscale-950);
    --card: var(--color-greyscale-0);
    --card-foreground: var(--color-greyscale-950);
    --popover: var(--color-greyscale-0);
    --popover-foreground: var(--color-greyscale-950);
    --primary: var(--color-primary-500);
    --primary-foreground: var(--color-primary-950);
    --primary-text: var(--color-primary-800);
    --muted: var(--color-greyscale-100);
    --muted-foreground: var(--color-greyscale-600);
    --widget-label: var(--color-greyscale-700);
    --widget-text: var(--color-greyscale-900);
    /* A widget's outline, its header's bottom line and its stuck header's top: one solid color, the 5% line a header
       draws over the card, so every edge of a widget reads the same whatever is behind it. */
    --widget-border: color-mix(in oklab, var(--card), var(--foreground) 5%);
    --accent: var(--color-greyscale-100);
    --accent-foreground: var(--color-greyscale-900);
    --destructive: var(--color-error-600);
    --success: var(--color-success-700);
    --success-foreground: var(--color-greyscale-0);
    --border: var(--color-greyscale-200);
    --input: var(--color-greyscale-300);
    --ring: var(--color-primary-500);
    --viz-1: var(--color-viz-cerulean);
    --viz-2: var(--color-viz-orange);
    --viz-3: var(--color-viz-navy);
    --viz-4: var(--color-viz-amber);
    --viz-5: var(--color-viz-sky);
    --viz-focus: var(--color-viz-orange);
    --viz-muted: var(--color-viz-sky);
    --viz-track: var(--color-greyscale-100);
    --chart-1: var(--viz-1);
    --chart-2: var(--viz-2);
    --chart-3: var(--viz-3);
    --chart-4: var(--viz-4);
    --chart-5: var(--viz-5);
    --radius: 0.45rem;
    --sidebar: var(--color-greyscale-50);
    --sidebar-foreground: var(--color-greyscale-950);
    --sidebar-primary: var(--color-primary-500);
    --sidebar-primary-foreground: var(--color-primary-950);
    --sidebar-accent: var(--color-greyscale-100);
    --sidebar-accent-foreground: var(--color-greyscale-900);
    --sidebar-border: var(--color-greyscale-200);
    --sidebar-ring: var(--color-primary-500);
}
.dark {

    --background: var(--color-greyscale-950);
    --canvas: var(--color-greyscale-950);
    --foreground: var(--color-greyscale-50);
    --card: var(--color-greyscale-900);
    --card-foreground: var(--color-greyscale-50);
    --popover: var(--color-greyscale-900);
    --popover-foreground: var(--color-greyscale-50);
    --primary: var(--color-primary-500);
    --primary-foreground: var(--color-primary-950);
    --primary-text: var(--color-primary-500);
    --muted: var(--color-greyscale-800);
    --muted-foreground: var(--color-greyscale-400);
    --widget-label: var(--color-greyscale-300);
    --widget-text: var(--color-greyscale-100);
    --widget-border: color-mix(in oklab, var(--card), var(--foreground) 5%);
    --accent: var(--color-greyscale-800);
    --accent-foreground: var(--color-greyscale-50);
    --destructive: var(--color-error-400);
    --success: var(--color-success-400);
    --success-foreground: var(--color-greyscale-950);
    --border: oklch(1 0 0 / 10%);
    --input: oklch(1 0 0 / 15%);
    --ring: var(--color-primary-500);
    --viz-1: var(--color-viz-cerulean);
    --viz-2: var(--color-viz-orange);
    --viz-3: var(--color-viz-sky);
    --viz-4: var(--color-viz-amber);
    --viz-5: var(--color-viz-slate);
    --viz-focus: var(--color-viz-orange);
    --viz-muted: var(--color-viz-slate);
    --viz-track: var(--color-greyscale-800);
    --chart-1: var(--viz-1);
    --chart-2: var(--viz-2);
    --chart-3: var(--viz-3);
    --chart-4: var(--viz-4);
    --chart-5: var(--viz-5);
    --sidebar: var(--color-greyscale-900);
    --sidebar-foreground: var(--color-greyscale-50);
    --sidebar-primary: var(--color-primary-500);
    --sidebar-primary-foreground: var(--color-primary-950);
    --sidebar-accent: var(--color-greyscale-800);
    --sidebar-accent-foreground: var(--color-greyscale-50);
    --sidebar-border: oklch(1 0 0 / 10%);
    --sidebar-ring: var(--color-primary-500);
}
[data-text-size="compact"]{--text-size-scale:1;}
[data-text-size="default"]{--text-size-scale:calc(16 / 14);}
[data-text-scope]{--text-scope-scale:var(--text-size-scale);--spacing:calc(0.25rem * var(--text-scope-scale));}
[data-text-scope]>header,[data-text-scope] [data-chat-header],[data-slot="widget-card-header"],[data-text-scope-reset]{--text-scope-scale:1;--spacing:0.25rem;}
.typo-h1 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(3rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(3.5rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: -0.015em;
}
.typo-h2 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(2.5rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(3rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: -0.01em;
}
.typo-h3 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(2rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(2.5rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: -0.01em;
}
.typo-h4 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(1.5rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(2rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: -0.005em;
}
.typo-h5 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(1.25rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.75rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: 0;
}
.typo-h6 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(1.125rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.625rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: 0;
}
.typo-doc-h1 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(1.5rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(2rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: -0.005em;
}
.typo-doc-h2 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(1.25rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.75rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: 0;
}
.typo-doc-h3 {
    font-family: var(--font-heading);
    font-size: round(nearest, calc(1.125rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.625rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
    letter-spacing: 0;
}
.typo-body-lg {
    font-family: var(--font-sans);
    font-size: round(nearest, calc(1.125rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.875rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 400;
}
.typo-body-md {
    font-family: var(--font-sans);
    font-size: round(nearest, calc(1rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.625rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 400;
}
.typo-body-sm {
    font-family: var(--font-sans);
    font-size: round(nearest, calc(0.875rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.375rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 400;
}
.typo-label-lg {
    font-family: var(--font-sans);
    font-size: round(nearest, calc(1rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.625rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
}
.typo-label-md {
    font-family: var(--font-sans);
    font-size: round(nearest, calc(0.875rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.375rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
}
.typo-label-sm {
    font-family: var(--font-sans);
    font-size: round(nearest, calc(0.75rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.125rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 500;
}
.typo-caption {
    font-family: var(--font-sans);
    font-size: round(nearest, calc(0.75rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 400;
}
.typo-welcome {
    font-family: var(--font-serif);
    font-size: round(nearest, calc(1.25rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1.75rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 400;
    letter-spacing: 0;
}
.typo-overline {
    font-family: var(--font-sans);
    font-size: round(nearest, calc(0.6875rem * var(--text-scope-scale, 1)), 1px);
    line-height: round(nearest, calc(1rem * var(--text-scope-scale, 1)), 1px);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.cover-mask {
    mask-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1164 513' preserveAspectRatio='none'><filter id='f' x='0' y='0' width='1198.56' height='547.504' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'><feGaussianBlur stdDeviation='47'/></filter><path d='M1005.69 432.068C888.685 355.068 657.185 339.568 127.185 262.568C-17.8147 231.568 355.685 238.568 416.185 234.568C476.685 230.568 265.685 182.068 120.185 121.568C-25.3147 61.0681 865.685 118.568 955.685 121.568C1045.69 124.568 1056.69 170.068 1086.19 265.568C1115.69 361.068 1122.69 509.068 1005.69 432.068Z' fill='black' filter='url(%23f)'/></svg>"),
        linear-gradient(to right, transparent 0%, #000 8%, #000 84%, transparent 100%),
        linear-gradient(to bottom, #000 0%, #000 72%, transparent 100%);
    mask-size: 100% 100%;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-composite: intersect;
}
.cover-under-header {
    mask-image: linear-gradient(to bottom, transparent var(--app-header-height), #000 calc(var(--app-header-height) + 7rem));
}
.cover-mask-soft {
    mask-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1164 513' preserveAspectRatio='none'><filter id='f' x='0' y='0' width='1198.56' height='547.504' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'><feGaussianBlur stdDeviation='47'/></filter><path d='M1005.69 432.068C888.685 355.068 657.185 339.568 127.185 262.568C-17.8147 231.568 355.685 238.568 416.185 234.568C476.685 230.568 265.685 182.068 120.185 121.568C-25.3147 61.0681 865.685 118.568 955.685 121.568C1045.69 124.568 1056.69 170.068 1086.19 265.568C1115.69 361.068 1122.69 509.068 1005.69 432.068Z' fill='black' filter='url(%23f)'/></svg>"),
        linear-gradient(to right, transparent 0%, #000 8%, #000 84%, transparent 100%),
        linear-gradient(to bottom, #000 0%, #000 72%, transparent 100%);
    mask-size: 108% 112%, 100% 100%, 100% 100%;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-composite: intersect;
}
/* This file defines tokens and type/mask classes, not a component library. */
