*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}:root{--ds-stone-50: #FAFAF9;--ds-stone-100: #F5F5F4;--ds-stone-200: #E7E5E4;--ds-stone-300: #D6D3D1;--ds-stone-400: #A8A29E;--ds-stone-500: #78716C;--ds-stone-600: #57534E;--ds-stone-700: #44403C;--ds-stone-800: #292524;--ds-stone-900: #1C1917;--ds-stone-950: #0C0A09;--ds-cream: #FFFBF7;--ds-cream-50: #FFFDFB;--ds-white: #FFFFFF;--ds-terracotta-50: #FDF4F1;--ds-terracotta-100: #F9E4DD;--ds-terracotta-200: #F0C9BC;--ds-terracotta-300: #E3A894;--ds-terracotta-400: #D4856E;--ds-terracotta-500: #C7745A;--ds-terracotta-600: #B55D42;--ds-terracotta-700: #8F4832;--ds-terracotta-800: #6E3726;--ds-terracotta-900: #4A251A;--ds-success-50: #EDF3ED;--ds-success-100: #D9E6D9;--ds-success-200: #B8D0B8;--ds-success-500: #6B8E6B;--ds-success-600: #5A7A5A;--ds-success-700: #3D5A3D;--ds-warning-50: #FBF6EC;--ds-warning-100: #F5EAD4;--ds-warning-200: #EBDAB5;--ds-warning-500: #C9A55A;--ds-warning-600: #B08F42;--ds-warning-700: #7A6328;--ds-error-50: #FAEDED;--ds-error-100: #F3D6D6;--ds-error-200: #E5AEAE;--ds-error-500: #C76B6B;--ds-error-600: #B05555;--ds-error-700: #8B3D3D;--ds-info-50: #EDF3F5;--ds-info-100: #D6E4E9;--ds-info-200: #B5CDD6;--ds-info-500: #6B8E9E;--ds-info-600: #557A88;--ds-info-700: #3D5A66;--ds-blue-500: #3B82F6;--ds-blue-600: #2563EB;--ds-blue-700: #1D4ED8;--ds-amber-500: #F59E0B;--ds-amber-600: #D97706;--ds-amber-700: #B45309;--ds-violet-500: #8B5CF6;--ds-violet-600: #7C3AED;--ds-violet-700: #6D28D9;--ds-coral-500: #F97316;--ds-coral-600: #EA580C;--ds-coral-700: #C2410C;--ds-teal-500: #14B8A6;--ds-teal-600: #0D9488;--ds-teal-700: #0F766E;--ds-color-bg: var(--ds-cream);--ds-color-bg-card: var(--ds-white);--ds-color-bg-subtle: var(--ds-stone-50);--ds-color-bg-muted: var(--ds-stone-100);--ds-color-bg-emphasis: var(--ds-stone-200);--ds-color-bg-overlay: rgba(28, 25, 23, .5);--ds-color-text: var(--ds-stone-900);--ds-color-text-secondary: var(--ds-stone-600);--ds-color-text-muted: var(--ds-stone-500);--ds-color-text-subtle: var(--ds-stone-400);--ds-color-text-inverse: var(--ds-cream-50);--ds-color-border: var(--ds-stone-200);--ds-color-border-emphasis: var(--ds-stone-300);--ds-color-border-muted: var(--ds-stone-100);--ds-color-primary: var(--ds-terracotta-500);--ds-color-primary-hover: var(--ds-terracotta-600);--ds-color-primary-active: var(--ds-terracotta-700);--ds-color-primary-subtle: var(--ds-terracotta-50);--ds-color-primary-muted: var(--ds-terracotta-100);--ds-color-focus-ring: var(--ds-terracotta-100);--ds-color-focus-border: var(--ds-terracotta-500);--ds-font-display: "DM Serif Display", Georgia, "Times New Roman", serif;--ds-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ds-font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--ds-text-xs: .6875rem;--ds-text-sm: .8125rem;--ds-text-base: .9375rem;--ds-text-lg: 1.0625rem;--ds-text-xl: 1.25rem;--ds-text-2xl: 1.5rem;--ds-text-3xl: 2rem;--ds-text-4xl: 2.5rem;--ds-font-normal: 400;--ds-font-medium: 500;--ds-font-semibold: 600;--ds-font-bold: 700;--ds-leading-tight: 1.2;--ds-leading-snug: 1.35;--ds-leading-normal: 1.5;--ds-leading-relaxed: 1.6;--ds-space-0: 0;--ds-space-px: 1px;--ds-space-0-5: .125rem;--ds-space-1: .25rem;--ds-space-1-5: .375rem;--ds-space-2: .5rem;--ds-space-2-5: .625rem;--ds-space-3: .75rem;--ds-space-4: 1rem;--ds-space-5: 1.25rem;--ds-space-6: 1.5rem;--ds-space-8: 2rem;--ds-space-10: 2.5rem;--ds-space-12: 3rem;--ds-space-16: 4rem;--ds-space-20: 5rem;--ds-space-24: 6rem;--ds-radius-sm: 4px;--ds-radius-md: 6px;--ds-radius-lg: 8px;--ds-radius-xl: 12px;--ds-radius-2xl: 16px;--ds-radius-full: 9999px;--ds-shadow-xs: 0 1px 2px rgba(28, 25, 23, .04);--ds-shadow-sm: 0 2px 4px rgba(28, 25, 23, .06);--ds-shadow-md: 0 4px 8px rgba(28, 25, 23, .08);--ds-shadow-lg: 0 8px 16px rgba(28, 25, 23, .1);--ds-shadow-xl: 0 16px 32px rgba(28, 25, 23, .12);--ds-shadow-2xl: 0 24px 48px rgba(28, 25, 23, .14);--ds-shadow-focus: 0 0 0 3px var(--ds-terracotta-100);--ds-shadow-focus-error: 0 0 0 3px var(--ds-error-100);--ds-z-dropdown: 100;--ds-z-sticky: 200;--ds-z-modal-backdrop: 400;--ds-z-modal: 500;--ds-z-toast: 600;--ds-z-tooltip: 700;--ds-duration-fast: .1s;--ds-duration-normal: .2s;--ds-duration-slow: .3s;--ds-ease-default: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1)}[data-style=strict]{--ds-color-bg: #F8FAFC;--ds-color-bg-card: #FFFFFF;--ds-color-bg-subtle: #F1F5F9;--ds-color-bg-muted: #E2E8F0;--ds-color-bg-emphasis: #CBD5E1;--ds-color-bg-overlay: rgba(15, 23, 42, .5);--ds-color-text: #0F172A;--ds-color-text-secondary: #475569;--ds-color-text-muted: #64748B;--ds-color-text-subtle: #94A3B8;--ds-color-text-inverse: #F8FAFC;--ds-color-border: #E2E8F0;--ds-color-border-emphasis: #CBD5E1;--ds-color-border-muted: #F1F5F9;--ds-accent-50: #EFF6FF;--ds-accent-100: #DBEAFE;--ds-accent-200: #BFDBFE;--ds-accent-500: #3B82F6;--ds-accent-600: #2563EB;--ds-accent-700: #1D4ED8;--ds-accent-800: #1E40AF;--ds-color-primary: var(--ds-accent-600);--ds-color-primary-hover: var(--ds-accent-700);--ds-color-primary-active: var(--ds-accent-800);--ds-color-primary-subtle: var(--ds-accent-50);--ds-color-primary-muted: var(--ds-accent-100);--ds-error-50: #FEF2F2;--ds-error-100: #FEE2E2;--ds-error-500: #EF4444;--ds-error-600: #DC2626;--ds-error-700: #B91C1C;--ds-color-focus-ring: var(--ds-accent-100);--ds-color-focus-border: var(--ds-accent-500);--ds-font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ds-shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--ds-shadow-sm: 0 2px 4px rgba(15, 23, 42, .06);--ds-shadow-md: 0 4px 8px rgba(15, 23, 42, .08);--ds-shadow-lg: 0 8px 16px rgba(15, 23, 42, .1);--ds-shadow-xl: 0 16px 32px rgba(15, 23, 42, .12);--ds-shadow-2xl: 0 24px 48px rgba(15, 23, 42, .14);--ds-shadow-focus: 0 0 0 3px #C7D2FE;--ds-shadow-focus-error: 0 0 0 3px #FECACA;--ds-radius-sm: 3px;--ds-radius-md: 5px;--ds-radius-lg: 6px;--ds-radius-xl: 10px;--ds-radius-2xl: 14px}[data-style=strict][data-theme=dark]{--ds-color-bg: #0F172A;--ds-color-bg-card: #1E293B;--ds-color-bg-subtle: #334155;--ds-color-bg-muted: #475569;--ds-color-bg-emphasis: #64748B;--ds-color-bg-overlay: rgba(0, 0, 0, .7);--ds-color-text: #F8FAFC;--ds-color-text-secondary: #CBD5E1;--ds-color-text-muted: #94A3B8;--ds-color-text-subtle: #64748B;--ds-color-text-inverse: #0F172A;--ds-color-border: #334155;--ds-color-border-emphasis: #475569;--ds-color-border-muted: #1E293B;--ds-accent-400: #60A5FA;--ds-accent-500: #3B82F6;--ds-color-primary: var(--ds-accent-500);--ds-color-primary-hover: var(--ds-accent-400);--ds-color-primary-active: var(--ds-accent-600);--ds-color-primary-subtle: rgba(59, 130, 246, .15);--ds-color-primary-muted: rgba(59, 130, 246, .25);--ds-error-400: #F87171;--ds-error-500: #EF4444;--ds-color-focus-ring: rgba(59, 130, 246, .3);--ds-color-focus-border: var(--ds-accent-500);--ds-font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ds-shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--ds-shadow-sm: 0 2px 4px rgba(0, 0, 0, .35);--ds-shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--ds-shadow-lg: 0 8px 16px rgba(0, 0, 0, .45);--ds-shadow-xl: 0 16px 32px rgba(0, 0, 0, .5);--ds-shadow-2xl: 0 24px 48px rgba(0, 0, 0, .55);--ds-shadow-focus: 0 0 0 3px rgba(59, 130, 246, .35);--ds-shadow-focus-error: 0 0 0 3px rgba(248, 113, 113, .4);--ds-radius-sm: 3px;--ds-radius-md: 5px;--ds-radius-lg: 6px;--ds-radius-xl: 10px;--ds-radius-2xl: 14px}[data-theme=dark]{--ds-color-bg: var(--ds-stone-950);--ds-color-bg-card: var(--ds-stone-900);--ds-color-bg-subtle: var(--ds-stone-800);--ds-color-bg-muted: var(--ds-stone-700);--ds-color-bg-emphasis: var(--ds-stone-600);--ds-color-bg-overlay: rgba(0, 0, 0, .7);--ds-color-text: var(--ds-cream-50);--ds-color-text-secondary: var(--ds-stone-300);--ds-color-text-muted: var(--ds-stone-400);--ds-color-text-subtle: var(--ds-stone-500);--ds-color-text-inverse: var(--ds-stone-900);--ds-color-border: var(--ds-stone-700);--ds-color-border-emphasis: var(--ds-stone-600);--ds-color-border-muted: var(--ds-stone-800);--ds-color-primary: var(--ds-terracotta-400);--ds-color-primary-hover: var(--ds-terracotta-500);--ds-color-primary-active: var(--ds-terracotta-600);--ds-shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--ds-shadow-sm: 0 2px 4px rgba(0, 0, 0, .25);--ds-shadow-md: 0 4px 8px rgba(0, 0, 0, .3);--ds-shadow-lg: 0 8px 16px rgba(0, 0, 0, .35);--ds-shadow-xl: 0 16px 32px rgba(0, 0, 0, .4);--ds-shadow-2xl: 0 24px 48px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0}html{font-family:var(--ds-font-body);font-size:16px;line-height:var(--ds-leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:light dark}body{min-height:100vh;background-color:var(--ds-color-bg);color:var(--ds-color-text);font-size:var(--ds-text-base)}h1,h2,h3{font-family:var(--ds-font-display);font-weight:var(--ds-font-normal);line-height:var(--ds-leading-tight);color:var(--ds-color-text)}h4,h5,h6{font-family:var(--ds-font-body);font-weight:var(--ds-font-semibold);line-height:var(--ds-leading-snug);color:var(--ds-color-text)}h1{font-size:var(--ds-text-3xl)}h2{font-size:var(--ds-text-2xl)}h3{font-size:var(--ds-text-xl)}h4{font-size:var(--ds-text-lg)}h5{font-size:var(--ds-text-base)}h6{font-size:var(--ds-text-sm)}p{line-height:var(--ds-leading-normal)}small{font-size:var(--ds-text-sm)}a{color:var(--ds-color-primary);text-decoration:none;transition:color var(--ds-duration-fast) var(--ds-ease-default)}a:hover{color:var(--ds-color-primary-hover);text-decoration:underline}a:active{color:var(--ds-color-primary-active)}img,picture,video,canvas,svg{display:block;max-width:100%}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:transparent;border:none}ul[role=list],ol[role=list]{list-style:none}:focus-visible{outline:none;box-shadow:var(--ds-shadow-focus)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--ds-color-bg-subtle)}::-webkit-scrollbar-thumb{background:var(--ds-stone-300);border-radius:var(--ds-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--ds-stone-400)}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--ds-stone-800)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--ds-stone-600)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--ds-stone-500)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{color-scheme:light}:root{--topbar-h: 48px;--control-h: 32px;--control-h-sm: 28px;--gap: var(--ds-space-2);--gap-sm: var(--ds-space-1);--gap-xs: var(--ds-space-0-5);--pad-x: var(--ds-space-2-5);--pad-x-sm: var(--ds-space-2);--icon-size: 16px;--icon-btn-size: 32px;--icon-btn-size-sm: 28px;--radius: var(--ds-radius-sm);--radius-lg: var(--ds-radius-lg);--color-bg: var(--ds-color-bg);--color-bg-subtle: var(--ds-color-bg-subtle);--color-bg-muted: var(--ds-color-bg-muted);--color-border: var(--ds-color-border);--color-border-subtle: var(--ds-color-border-muted);--color-text: var(--ds-color-text);--color-text-muted: var(--ds-color-text-muted);--color-text-subtle: var(--ds-color-text-subtle);--btn-bg: var(--ds-color-bg-card);--btn-bg-hover: var(--ds-color-bg-muted);--btn-border: var(--ds-color-border);--btn-primary-bg: var(--ds-color-primary);--btn-primary-bg-hover: var(--ds-color-primary-hover);--btn-primary-border: var(--ds-color-primary);--btn-danger-bg: var(--ds-error-500);--btn-danger-bg-hover: var(--ds-error-600);--btn-danger-border: var(--ds-error-500);--btn-danger-subtle-bg: var(--ds-error-50);--btn-danger-subtle-bg-hover: var(--ds-error-100);--btn-danger-subtle-border: var(--ds-error-200);--btn-danger-subtle-text: var(--ds-error-700);--btn-active-bg: var(--ds-color-primary);--btn-active-border: var(--ds-color-primary);--status-success: var(--ds-success-700);--status-success-bg: var(--ds-success-100);--status-warning: var(--ds-warning-700);--status-warning-bg: var(--ds-warning-100);--status-error: var(--ds-error-700);--status-error-bg: var(--ds-error-100);--focus-ring: var(--ds-shadow-focus)}html.mode-canvas,body.mode-canvas{overflow:hidden;overscroll-behavior:none;overscroll-behavior-x:none;touch-action:none}html.mode-canvas body{overflow:hidden;overscroll-behavior:none;margin:0;padding:0}
