:root{--primitive-orange-100: #FDE9D9;--primitive-orange-200: #FBCFAD;--primitive-orange-300: #F7AC78;--primitive-orange-400: #F09355;--primitive-orange-500: #E8834A;--primitive-orange-600: #D4703A;--primitive-orange-700: #B85A28;--primitive-orange-800: #8F4218;--primitive-neutral-0: #FFFFFF;--primitive-neutral-50: #FAFAF8;--primitive-neutral-100: #F5F4F1;--primitive-neutral-150: #EDECE8;--primitive-neutral-200: #E5E4E0;--primitive-neutral-300: #CFCEC9;--primitive-neutral-400: #9E9D99;--primitive-neutral-500: #6B6A66;--primitive-neutral-600: #4A4A47;--primitive-neutral-700: #2E2E2C;--primitive-neutral-800: #242422;--primitive-neutral-850: #1C1C1A;--primitive-neutral-900: #1A1A18;--primitive-neutral-950: #111110;--primitive-blue-100: #EFF6FF;--primitive-blue-500: #3B82F6;--primitive-blue-600: #2563EB;--primitive-blue-800: #1E40AF;--primitive-blue-900: #1E3A5F;--primitive-yellow-100: #FFFBEB;--primitive-yellow-500: #F59E0B;--primitive-yellow-800: #92400E;--primitive-yellow-900: #451A03;--primitive-red-100: #FEE2E2;--primitive-red-500: #EF4444;--primitive-red-800: #991B1B;--primitive-red-900: #7F1D1D;--primitive-green-100: #D1FAE5;--primitive-green-800: #065F46;--primitive-green-900: #064E3B;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace}[data-theme=light],:root{--color-bg-base: var(--primitive-neutral-50);--color-bg-surface: var(--primitive-neutral-0);--color-bg-overlay: var(--primitive-neutral-0);--color-bg-sidebar: var(--primitive-neutral-100);--color-bg-hover: var(--primitive-neutral-150);--color-bg-active: var(--primitive-neutral-200);--color-bg-subtle: var(--primitive-neutral-100);--color-text-primary: var(--primitive-neutral-900);--color-text-secondary: var(--primitive-neutral-500);--color-text-muted: var(--primitive-neutral-400);--color-text-inverse: var(--primitive-neutral-0);--color-accent: var(--primitive-orange-500);--color-accent-hover: var(--primitive-orange-600);--color-accent-subtle: var(--primitive-orange-100);--color-accent-fg: var(--primitive-neutral-0);--color-border: var(--primitive-neutral-200);--color-border-strong: var(--primitive-neutral-300);--color-border-focus: var(--primitive-orange-500);--color-tip: var(--primitive-blue-500);--color-tip-bg: var(--primitive-blue-100);--color-tip-text: var(--primitive-blue-800);--color-warning: var(--primitive-yellow-500);--color-warning-bg: var(--primitive-yellow-100);--color-warning-text:var(--primitive-yellow-800);--color-danger: var(--primitive-red-500);--color-danger-bg: var(--primitive-red-100);--color-danger-text: var(--primitive-red-800);--color-success: var(--primitive-green-800);--color-success-bg: var(--primitive-green-100);--color-difficulty-easy-bg: var(--primitive-green-100);--color-difficulty-easy-text: var(--primitive-green-800);--color-difficulty-medium-bg: var(--primitive-yellow-100);--color-difficulty-medium-text: var(--primitive-yellow-800);--color-difficulty-hard-bg: var(--primitive-red-100);--color-difficulty-hard-text: var(--primitive-red-800);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}[data-theme=dark]{--color-bg-base: var(--primitive-neutral-850);--color-bg-surface: var(--primitive-neutral-800);--color-bg-overlay: var(--primitive-neutral-800);--color-bg-sidebar: var(--primitive-neutral-900);--color-bg-hover: var(--primitive-neutral-700);--color-bg-active: var(--primitive-neutral-600);--color-bg-subtle: var(--primitive-neutral-700);--color-text-primary: var(--primitive-neutral-50);--color-text-secondary: var(--primitive-neutral-400);--color-text-muted: var(--primitive-neutral-500);--color-text-inverse: var(--primitive-neutral-900);--color-accent: var(--primitive-orange-500);--color-accent-hover: var(--primitive-orange-400);--color-accent-subtle: var(--primitive-orange-800);--color-accent-fg: var(--primitive-neutral-0);--color-border: var(--primitive-neutral-700);--color-border-strong: var(--primitive-neutral-600);--color-border-focus: var(--primitive-orange-400);--color-tip-bg: var(--primitive-blue-900);--color-tip-text: var(--primitive-blue-100);--color-warning-bg: var(--primitive-yellow-900);--color-warning-text:var(--primitive-yellow-100);--color-danger-bg: var(--primitive-red-900);--color-danger-text: var(--primitive-red-100);--color-difficulty-easy-bg: var(--primitive-green-900);--color-difficulty-easy-text: #6EE7B7;--color-difficulty-medium-bg: #78350F;--color-difficulty-medium-text: #FCD34D;--color-difficulty-hard-bg: var(--primitive-red-900);--color-difficulty-hard-text: #FCA5A5;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .24);--shadow-md: 0 4px 12px rgba(0, 0, 0, .32);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .48)}:root{--comp-sidebar-width: 260px;--comp-titlebar-height: 40px;--comp-titlebar-inset: 76px;--comp-sidebar-bg: var(--color-bg-sidebar);--comp-sidebar-item-radius: var(--radius-md);--comp-node-indent: 12px;--comp-step-num-size: 26px;--comp-step-num-bg: var(--color-accent);--comp-step-num-fg: var(--color-accent-fg);--comp-tag-bg: var(--color-bg-hover);--comp-tag-text: var(--color-text-secondary);--comp-tag-radius: var(--radius-full);--comp-callout-radius: var(--radius-md);--comp-btn-primary-bg: var(--color-accent);--comp-btn-primary-bg-hover: var(--color-accent-hover);--comp-btn-primary-fg: var(--color-accent-fg);--comp-btn-primary-radius: var(--radius-md);--comp-btn-ghost-bg: transparent;--comp-btn-ghost-bg-hover: var(--color-bg-hover);--comp-btn-ghost-fg: var(--color-text-secondary);--comp-btn-ghost-radius: var(--radius-md);--comp-input-bg: var(--color-bg-hover);--comp-input-bg-focus: var(--color-bg-surface);--comp-input-border: transparent;--comp-input-border-focus: var(--color-border-focus);--comp-input-radius: var(--radius-md);--comp-input-text: var(--color-text-primary);--comp-input-placeholder: var(--color-text-muted);--comp-cook-right-pane-width: 280px;--comp-cook-step-num-size: 36px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:var(--font-sans);font-size:var(--text-base);background:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:var(--font-sans)}.kpr-ctx-menu{background:var(--color-bg-overlay);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:4px;min-width:160px;display:flex;flex-direction:column;outline:none}.kpr-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-sans);color:var(--color-text-primary);text-align:left;transition:background .08s;cursor:pointer;border:none;background:none}.kpr-ctx-item svg{color:var(--color-text-muted);flex-shrink:0}.kpr-ctx-item:hover,.kpr-ctx-item.cdk-focused{background:var(--color-bg-hover)}.kpr-ctx-item--danger{color:var(--color-danger)}.kpr-ctx-item--danger svg{color:var(--color-danger)}.kpr-ctx-item--danger:hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent)}.kpr-ctx-divider{height:1px;background:var(--color-border);margin:4px 0}.cdk-drag-preview{pointer-events:none;display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--color-bg-overlay);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-family:var(--font-sans);font-size:13px;color:var(--color-text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
