:root{--background: oklch(.97 .01 80.72);--foreground: oklch(.3 .04 30.2);--navbar-height: 4rem;--card: oklch(.97 .01 80.72);--card-foreground: oklch(.3 .04 30.2);--popover: oklch(.97 .01 80.72);--popover-foreground: oklch(.3 .04 30.2);--primary: oklch(.52 .13 144.17);--primary-foreground: oklch(1 0 0);--secondary: oklch(.96 .02 147.64);--secondary-foreground: oklch(.43 .12 144.31);--muted: oklch(.94 .01 74.42);--muted-foreground: oklch(.45 .05 39.21);--accent: oklch(.9 .05 146.04);--accent-foreground: oklch(.43 .12 144.31);--destructive: oklch(.54 .19 26.72);--border: oklch(.92 .015 74.64);--input: oklch(.88 .02 74.64);--ring: oklch(.52 .13 144.17);--chart-1: oklch(.67 .16 144.21);--chart-2: oklch(.58 .14 144.18);--chart-3: oklch(.52 .13 144.17);--chart-4: oklch(.43 .12 144.31);--chart-5: oklch(.22 .05 145.73);--sidebar: oklch(.94 .01 74.42);--sidebar-foreground: oklch(.3 .04 30.2);--sidebar-primary: oklch(.52 .13 144.17);--sidebar-primary-foreground: oklch(1 0 0);--sidebar-accent: oklch(.9 .05 146.04);--sidebar-accent-foreground: oklch(.43 .12 144.31);--sidebar-border: oklch(.92 .015 74.64);--sidebar-ring: oklch(.52 .13 144.17);--destructive-foreground: oklch(1 0 0);--font-sans: Montserrat, sans-serif;--font-serif: Merriweather, serif;--font-mono: Source Code Pro, monospace;--radius: .5rem;--shadow-2xs: 0px 4px 8px -1px hsl(0 0% 0% / .05);--shadow-xs: 0px 4px 8px -1px hsl(0 0% 0% / .05);--shadow-sm: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 1px 2px -2px hsl(0 0% 0% / .1);--shadow: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 1px 2px -2px hsl(0 0% 0% / .1);--shadow-md: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 2px 4px -2px hsl(0 0% 0% / .1);--shadow-lg: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 4px 6px -2px hsl(0 0% 0% / .1);--shadow-xl: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 8px 10px -2px hsl(0 0% 0% / .1);--shadow-2xl: 0px 4px 8px -1px hsl(0 0% 0% / .25);--tracking-normal: 0em}.dark,[data-theme=dark]{--background: oklch(.27 0 106.64);--foreground: oklch(.81 .01 93.01);--card: oklch(.27 0 106.64);--card-foreground: oklch(.98 .01 95.1);--popover: oklch(.31 0 106.6);--popover-foreground: oklch(.92 0 106.48);--primary: oklch(.67 .13 38.76);--primary-foreground: oklch(1 0 0);--secondary: oklch(.98 .01 95.1);--secondary-foreground: oklch(.31 0 106.6);--muted: oklch(.22 0 106.71);--muted-foreground: oklch(.77 .02 99.07);--accent: oklch(.21 .01 95.42);--accent-foreground: oklch(.97 .01 98.88);--destructive: oklch(.64 .21 25.33);--border: oklch(.44 .008 106.89);--input: oklch(.43 .01 100.22);--ring: oklch(.59 .17 253.06);--chart-1: oklch(.56 .13 43);--chart-2: oklch(.69 .16 290.41);--chart-3: oklch(.21 .01 95.42);--chart-4: oklch(.31 .05 289.32);--chart-5: oklch(.56 .13 42.06);--sidebar: oklch(.24 0 67.71);--sidebar-foreground: oklch(.81 .01 93.01);--sidebar-primary: oklch(.33 0 0);--sidebar-primary-foreground: oklch(.99 0 0);--sidebar-accent: oklch(.17 0 106.62);--sidebar-accent-foreground: oklch(.81 .01 93.01);--sidebar-border: oklch(.96 0 0);--sidebar-ring: oklch(.77 0 0);--destructive-foreground: oklch(1 0 0);--radius: .5rem;--shadow-2xs: 0px 4px 8px -1px hsl(0 0% 0% / .05);--shadow-xs: 0px 4px 8px -1px hsl(0 0% 0% / .05);--shadow-sm: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 1px 2px -2px hsl(0 0% 0% / .1);--shadow: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 1px 2px -2px hsl(0 0% 0% / .1);--shadow-md: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 2px 4px -2px hsl(0 0% 0% / .1);--shadow-lg: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 4px 6px -2px hsl(0 0% 0% / .1);--shadow-xl: 0px 4px 8px -1px hsl(0 0% 0% / .1), 0px 8px 10px -2px hsl(0 0% 0% / .1);--shadow-2xl: 0px 4px 8px -1px hsl(0 0% 0% / .25)}@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-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --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); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); --color-destructive-foreground: var(--destructive-foreground); --font-sans: var(--font-sans); --font-mono: var(--font-mono); --font-serif: var(--font-serif); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --shadow-2xs: var(--shadow-2xs); --shadow-xs: var(--shadow-xs); --shadow-sm: var(--shadow-sm); --shadow: var(--shadow); --shadow-md: var(--shadow-md); --shadow-lg: var(--shadow-lg); --shadow-xl: var(--shadow-xl); --shadow-2xl: var(--shadow-2xl);}:root{--site-shell-background: var(--background);--site-shell-foreground: var(--foreground);--site-shell-card: var(--card);--site-shell-border: var(--border);--site-shell-primary: var(--primary);--site-shell-primary-foreground: var(--primary-foreground);--site-shell-accent: var(--accent);--site-shell-accent-foreground: var(--accent-foreground);--site-shell-muted-foreground: var(--muted-foreground);--site-shell-navbar-height: var(--navbar-height);--site-shell-font-sans: var(--font-sans);--site-shell-radius: var(--radius);--site-shell-shadow: var(--shadow-sm)}:root{--page-text: var(--foreground);--page-text-strong: color-mix(in oklab, var(--foreground) 92%, black);--page-text-soft: color-mix( in oklab, var(--muted-foreground) 88%, var(--foreground) 12% );--page-muted: var(--muted-foreground);--page-muted-strong: color-mix( in oklab, var(--muted-foreground) 72%, var(--foreground) 28% );--page-card-border: color-mix(in oklab, var(--border) 92%, var(--foreground) 8%);--page-card-shadow: color-mix(in oklab, var(--foreground) 12%, transparent);--page-card-bg: color-mix(in oklab, var(--card) 90%, white);--panel-bg: color-mix(in oklab, var(--card) 84%, white);--panel-bg-soft: color-mix(in oklab, var(--secondary) 78%, white);--panel-border: var(--border);--panel-border-soft: color-mix(in oklab, var(--border) 84%, var(--accent) 16%);--canvas-border: color-mix(in oklab, var(--border) 76%, var(--primary) 24%);--canvas-bg: color-mix(in oklab, var(--background) 42%, white);--accent: var(--primary);--accent-strong: color-mix(in oklab, var(--primary) 88%, black);--accent-muted: color-mix( in oklab, var(--primary) 68%, var(--muted-foreground) 32% );--secondary-bg: color-mix(in oklab, var(--secondary) 82%, white);--secondary-border: color-mix(in oklab, var(--border) 85%, var(--primary) 15%);--secondary-bg-hover: color-mix(in oklab, var(--accent) 35%, white);--hint-bg: color-mix(in oklab, var(--accent) 30%, white);--hint-text: var(--accent-foreground)}html,body,#app{min-height:100%;width:100%;margin:0;padding:0}body{font-family:var(--font-sans),"PingFang SC","Noto Sans SC",sans-serif;color:var(--foreground);background:var(--background)}*{box-sizing:border-box}.page-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(circle at top left,color-mix(in oklab,var(--primary) 18%,transparent),transparent 34%),radial-gradient(circle at right center,color-mix(in oklab,var(--accent) 30%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in oklab,var(--background) 74%,white) 0%,var(--background) 100%)}.shell-slot{flex:none}.page-main{flex:1;display:flex;min-height:calc(100vh - var(--site-shell-navbar-height, 4rem));min-height:calc(100dvh - var(--site-shell-navbar-height, 4rem));padding:clamp(20px,3vw,32px) clamp(12px,2vw,20px)}.container{display:flex;flex:1;flex-direction:column;min-width:0;width:min(1120px,100%);margin:0 auto;padding:clamp(20px,2.5vw,30px);border:1px solid var(--page-card-border);border-radius:calc(var(--radius) * 4.5);background:var(--page-card-bg);box-shadow:0 22px 60px var(--page-card-shadow);backdrop-filter:blur(8px)}.hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:clamp(18px,2vw,24px)}.hero-copy{max-width:620px}.hero-kicker{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-muted)}.hero h1{margin:0;font-size:clamp(32px,4vw,44px);line-height:1.05;color:var(--page-text-strong)}.hero-description{margin:12px 0 0;font-size:15px;line-height:1.65;color:var(--page-text-soft)}.hero-status{min-width:160px;padding:16px 18px;border:1px solid var(--panel-border-soft);border-radius:calc(var(--radius) * 2.5);background:var(--panel-bg-soft);text-align:left;box-shadow:var(--shadow-xs)}.status-label{display:block;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--page-muted-strong)}.status-value{font-size:32px;line-height:1;color:var(--page-text)}.workspace{display:flex;flex:1;flex-direction:column;min-width:0;padding:clamp(16px,2vw,22px);border:1px solid var(--panel-border);border-radius:calc(var(--radius) * 3);background:var(--panel-bg);box-shadow:inset 0 1px #ffffff73}.workspace-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.workspace-heading>div{min-width:0}.workspace-heading h2{margin:0 0 8px;font-size:22px;color:var(--page-text-strong)}.workspace-heading p{margin:0;color:var(--page-muted)}.legend{display:flex;flex-wrap:wrap;gap:14px;margin:2px 0 0;padding:0;list-style:none;justify-content:flex-end;flex:1 1 280px;color:var(--page-muted);font-size:14px}.legend li{display:inline-flex;gap:8px;align-items:center}.legend-swatch{width:10px;height:10px;border-radius:999px}.legend-control{background:var(--legend-control)}.legend-guide{background:var(--legend-guide)}.legend-curve{background:var(--legend-curve)}.workspace-body{display:flex;flex:1;gap:18px;min-width:0;align-items:flex-start}.canvas-stage{flex:1 1 auto;min-width:0}.my-canvas{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:2 / 1;border:1px solid var(--canvas-border);border-radius:calc(var(--radius) * 2);background:var(--canvas-bg);cursor:crosshair;box-shadow:inset 0 1px #fff9}@media (max-width: 900px){.workspace-body{flex-direction:column}.legend{justify-content:flex-start}}@media (max-width: 720px){.page-main{padding:16px 12px}.container{padding:18px;border-radius:calc(var(--radius) * 4)}.hero,.workspace-heading{flex-direction:column}.hero-status{min-width:0;width:100%}.workspace{padding:16px}.legend{flex:1 1 auto}}.toolbar[data-v-239af21c]{display:flex;flex:0 0 240px;flex-direction:column;gap:14px;width:240px;padding:16px;border:1px solid var(--panel-border-soft);border-radius:calc(var(--radius) * 2.5);background:var(--panel-bg-soft);box-shadow:var(--shadow-xs)}.toolbar-section[data-v-239af21c]{display:flex;flex-direction:column;gap:8px}.toolbar-label[data-v-239af21c]{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--page-muted-strong)}.toolbar-label-row[data-v-239af21c]{display:flex;justify-content:space-between;align-items:center}.toolbar-value[data-v-239af21c]{font-size:20px;line-height:1.1;color:var(--page-text-strong)}.toolbar-value-inline[data-v-239af21c]{min-width:3.2em;text-align:right;font-size:16px;font-variant-numeric:tabular-nums;color:var(--page-text-strong)}.toolbar-meta[data-v-239af21c]{margin:0;color:var(--page-muted);font-size:14px;line-height:1.4}.toolbar-range[data-v-239af21c]{width:100%;margin:0;accent-color:var(--accent)}.toolbar-scale[data-v-239af21c]{display:flex;justify-content:space-between;color:var(--page-muted);font-size:12px;font-variant-numeric:tabular-nums}.toolbar-group[data-v-239af21c]{display:flex;flex-direction:column;gap:10px}.toolbar-button[data-v-239af21c]{width:100%;padding:11px 18px;border:1px solid transparent;border-radius:calc(var(--radius) * 1.5);font:inherit;font-weight:600;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.toolbar-button[data-v-239af21c]:hover:not(:disabled){transform:translateY(-1px)}.toolbar-button-primary[data-v-239af21c]{color:#fffef9;background:var(--accent)}.toolbar-button-primary[data-v-239af21c]:hover:not(:disabled){background:var(--accent-strong)}.toolbar-button-secondary[data-v-239af21c]{color:var(--page-text);border-color:var(--secondary-border);background:var(--secondary-bg)}.toolbar-button-secondary[data-v-239af21c]:hover:not(:disabled){background:var(--secondary-bg-hover)}.toolbar-button[data-v-239af21c]:disabled{color:#8a968f;background:#dde5dd;border-color:#dde5dd;cursor:not-allowed;transform:none}.toolbar-hint[data-v-239af21c]{margin:0;padding:10px 12px;border-radius:calc(var(--radius) * 1.5);background:var(--hint-bg);color:var(--hint-text);font-size:14px;line-height:1.5}@media (max-width: 900px){.toolbar[data-v-239af21c]{width:100%;flex:1 1 auto}}
