:root{--color-bg: #ffffff;--color-bg-alt: #fafafa;--color-bg-card: #ffffff;--color-bg-hover: #f5f5f5;--color-bg-skeleton: #eee;--color-text: #111111;--color-text-muted: #666666;--color-text-faint: #999999;--color-border: #e3e3e3;--color-border-card: #ddd;--color-accent: #2962ff;--color-accent-text: #ffffff;--color-link: #2962ff;--color-success: #2e7d32;--color-success-bg: #e6f4ea;--color-error: #c62828;--color-error-bg: #fdecea;--color-warning: #ef6c00;--color-warning-bg: #fff4e5;--color-info: #1a56db;--color-info-bg: #e7f0ff;--color-shadow: rgba(0, 0, 0, .08);--color-shadow-deep: rgba(0, 0, 0, .12);--color-surface: #ffffff;--color-surface-alt: #f5f5f5;--color-input-bg: #ffffff;--color-input-border: #ddd;--color-input-border-focus: #2962ff;--color-nav-bg: #fafafa;--color-nav-active-bg: #2962ff;--color-nav-active-text: #ffffff;--color-nav-label: #999999;--color-toast-success-bg: #e6f4ea;--color-toast-error-bg: #fdecea;--color-toast-info-bg: #e7f0ff;--color-toast-warning-bg: #fff4e5;--color-toast-success: #2e7d32;--color-toast-error: #c62828;--color-toast-info: #1a56db;--color-toast-warning: #ef6c00;--color-toast-border: #ddd;--color-toast-text: #111111;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--font-size-xs: .72rem;--font-size-sm: .85rem;--font-size-base: .92rem;--font-size-md: 1rem;--font-size-lg: 1.15rem;--font-size-xl: 1.6rem;--font-size-2xl: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 12px;--transition-fast: .15s ease;--transition-normal: .25s ease;--shadow-sm: 0 1px 3px var(--color-shadow);--shadow-md: 0 4px 14px var(--color-shadow);--shadow-lg: 0 8px 30px var(--color-shadow-deep);--content-max-width: 1200px;--sidebar-width: 220px}[data-theme=dark]{--color-bg: #121212;--color-bg-alt: #1e1e1e;--color-bg-card: #1e1e1e;--color-bg-hover: #2a2a2a;--color-bg-skeleton: #333333;--color-text: #e0e0e0;--color-text-muted: #9e9e9e;--color-text-faint: #757575;--color-border: #333333;--color-border-card: #444444;--color-accent: #64b5f6;--color-accent-text: #000000;--color-link: #64b5f6;--color-success: #81c784;--color-success-bg: #1b3a1b;--color-error: #e57373;--color-error-bg: #3a1b1b;--color-warning: #ffb74d;--color-warning-bg: #3a2b1b;--color-info: #64b5f6;--color-info-bg: #1b2b3a;--color-shadow: rgba(0, 0, 0, .3);--color-shadow-deep: rgba(0, 0, 0, .5);--color-surface: #1e1e1e;--color-surface-alt: #2a2a2a;--color-input-bg: #2a2a2a;--color-input-border: #444444;--color-input-border-focus: #64b5f6;--color-nav-bg: #181818;--color-nav-active-bg: #64b5f6;--color-nav-active-text: #000000;--color-nav-label: #757575;--color-toast-success-bg: #1b3a1b;--color-toast-error-bg: #3a1b1b;--color-toast-info-bg: #1b2b3a;--color-toast-warning-bg: #3a2b1b;--color-toast-success: #81c784;--color-toast-error: #e57373;--color-toast-info: #64b5f6;--color-toast-warning: #ffb74d;--color-toast-border: #444444;--color-toast-text: #e0e0e0}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,sans-serif;transition:background var(--transition-normal),color var(--transition-normal)}body{font-size:var(--font-size-base);line-height:1.5}:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-radius:var(--radius-sm)}body{overflow-x:hidden}@keyframes skeleton-pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton{background:var(--color-bg-skeleton);border-radius:var(--radius-sm);animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes step-pulse{0%{opacity:1}50%{opacity:.35}to{opacity:1}}.run-step-current{animation:step-pulse 1.2s ease-in-out infinite}.toast-container{position:fixed;top:var(--spacing-4);right:var(--spacing-4);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-2);max-width:360px}.theme-toggle{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.theme-toggle:hover{background:var(--color-bg-hover)}
