@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Regular.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:500;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Medium.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:600;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-SemiBold.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Bold.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:800;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-ExtraBold.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/jetbrains-mono@latest/latin-400-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:500;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/jetbrains-mono@latest/latin-500-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:600;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/jetbrains-mono@latest/latin-600-normal.woff2) format("woff2")}:root{--slate-0: #ffffff;--slate-25: #fafbfc;--slate-50: #f4f6f9;--slate-100: #eaeef3;--slate-200: #dde3ec;--slate-300: #c6cedb;--slate-400: #98a3b5;--slate-500: #6a7689;--slate-600: #4d586a;--slate-700: #38414f;--slate-800: #252c38;--slate-900: #161c25;--slate-950: #0c1017;--indigo-50: #eef0ff;--indigo-100: #e0e3ff;--indigo-200: #c6caff;--indigo-300: #a3a7ff;--indigo-400: #7d7ef9;--indigo-500: #5d5bef;--indigo-600: #4b44e0;--indigo-700: #3d34c2;--indigo-800: #322c9c;--indigo-900: #2a277b;--cyan-50: #ecfdff;--cyan-100: #cff7fe;--cyan-200: #a4eefc;--cyan-300: #66e0f6;--cyan-400: #25c8e6;--cyan-500: #06aacb;--cyan-600: #0888a8;--cyan-700: #0d6c87;--green-100: #d6f5e1;--green-500: #16a34a;--green-600: #138a3f;--amber-100: #fdecc8;--amber-500: #e08a00;--amber-600: #c06f00;--red-100: #fce0e0;--red-500: #dc2626;--red-600: #c11d1d;--presence-1: #5d5bef;--presence-2: #06aacb;--presence-3: #16a34a;--presence-4: #e08a00;--presence-5: #e0457b;--presence-6: #8b5cf6;--presence-7: #0ea5e9;--presence-8: #ea580c;--surface-canvas: #f6f8fb;--surface-app: var(--slate-25);--surface-panel: var(--slate-0);--surface-raised: var(--slate-0);--surface-sunken: var(--slate-50);--surface-hover: var(--slate-100);--surface-active: var(--indigo-50);--surface-overlay: rgba(12, 16, 23, .45);--text-strong: var(--slate-900);--text-body: var(--slate-800);--text-muted: var(--slate-500);--text-faint: var(--slate-400);--text-on-primary: #ffffff;--text-link: var(--indigo-600);--border-subtle: var(--slate-200);--border-strong: var(--slate-300);--border-focus: var(--indigo-500);--divider: var(--slate-100);--primary: var(--indigo-500);--primary-hover: var(--indigo-600);--primary-press: var(--indigo-700);--primary-soft: var(--indigo-50);--primary-soft-text: var(--indigo-700);--ring-primary: rgba(93, 91, 239, .32);--accent: var(--cyan-500);--accent-soft: var(--cyan-50);--accent-text: var(--cyan-700);--success: var(--green-500);--success-soft: var(--green-100);--warning: var(--amber-500);--warning-soft: var(--amber-100);--danger: var(--red-500);--danger-hover: var(--red-600);--danger-soft: var(--red-100);--canvas-grid: #e4e9f0;--canvas-grid-bold: #d4dbe6;--node-fill: #ffffff;--node-border: var(--slate-300);--node-border-sel: var(--indigo-500);--edge-stroke: var(--slate-500);--edge-stroke-sel: var(--indigo-500);--anchor-dot: var(--indigo-500)}[data-theme=dark]{--surface-app: var(--slate-900);--surface-panel: var(--slate-850, #1d2430);--surface-raised: #1d2430;--surface-sunken: var(--slate-950);--surface-hover: var(--slate-800);--surface-active: rgba(93, 91, 239, .18);--text-strong: var(--slate-50);--text-body: var(--slate-100);--text-muted: var(--slate-400);--text-faint: var(--slate-500);--border-subtle: var(--slate-700);--border-strong: var(--slate-600);--divider: var(--slate-800);--primary: var(--indigo-400);--primary-hover: var(--indigo-300);--primary-soft: rgba(93, 91, 239, .18);--primary-soft-text: var(--indigo-200)}:root{--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base:14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 38px;--text-5xl: 48px;--text-6xl: 60px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extra: 800;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-caps: .06em;--font-display: var(--weight-extra) var(--text-4xl)/var(--leading-tight) var(--font-sans);--font-h1: var(--weight-bold) var(--text-2xl)/var(--leading-snug) var(--font-sans);--font-h2: var(--weight-bold) var(--text-xl)/var(--leading-snug) var(--font-sans);--font-h3: var(--weight-semibold) var(--text-lg)/var(--leading-snug) var(--font-sans);--font-body: var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-sans);--font-body-strong:var(--weight-semibold) var(--text-base)/var(--leading-normal) var(--font-sans);--font-label: var(--weight-medium) var(--text-sm)/var(--leading-snug) var(--font-sans);--font-caption: var(--weight-regular) var(--text-xs)/var(--leading-snug) var(--font-sans);--font-mono-sm: var(--weight-medium) var(--text-xs)/1.4 var(--font-mono)}.ds-overline{font:var(--weight-semibold) var(--text-2xs)/1 var(--font-sans);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}:root{--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 12px;--space-6: 16px;--space-7: 20px;--space-8: 24px;--space-9: 32px;--space-10: 40px;--space-11: 48px;--space-12: 64px;--space-14: 80px;--space-16: 96px;--grid-fine: 8px;--grid-snap: 40px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(18, 28, 45, .06);--shadow-sm: 0 1px 3px rgba(18, 28, 45, .08), 0 1px 2px rgba(18, 28, 45, .05);--shadow-md: 0 4px 12px rgba(18, 28, 45, .1), 0 2px 4px rgba(18, 28, 45, .06);--shadow-lg: 0 12px 28px rgba(18, 28, 45, .14), 0 4px 8px rgba(18, 28, 45, .07);--shadow-xl: 0 24px 56px rgba(18, 28, 45, .2), 0 8px 16px rgba(18, 28, 45, .1);--shadow-float: 0 6px 20px rgba(18, 28, 45, .12), 0 0 0 1px rgba(18, 28, 45, .05);--ring-width: 3px;--focus-ring: 0 0 0 var(--ring-width) var(--ring-primary);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s;--sidebar-w: 248px;--topbar-h: 48px;--toolbar-h: 44px;--container-max:1120px}:root{--color-bg: var(--surface-app);--color-panel: var(--surface-panel);--color-border: var(--border-subtle);--color-border-strong: var(--border-strong);--color-text: var(--text-body);--color-muted: var(--text-muted);--color-accent: var(--primary);--color-accent-hover: var(--primary-hover);--color-accent-press: var(--primary-press);--color-danger: var(--danger);--color-danger-hover: var(--danger-hover);--color-success: var(--success);--color-warning: var(--warning);--radius-sm: var(--radius-xs);font-family:var(--font-sans);color:var(--text-body);background:var(--surface-app)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:var(--font-body);color:var(--text-body);background:var(--surface-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:contain;-webkit-text-size-adjust:100%}h1,h2,h3,h4,p{word-break:keep-all}h1{font:var(--font-h1);color:var(--text-strong);letter-spacing:var(--tracking-tight)}h2{font:var(--font-h2);color:var(--text-strong);letter-spacing:var(--tracking-snug)}h3{font:var(--font-h3);color:var(--text-strong)}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}::selection{background:var(--primary-soft);color:var(--primary-soft-text)}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}button{font:var(--font-body-strong);cursor:pointer;border:1px solid var(--border-subtle);background:var(--surface-panel);border-radius:var(--radius-md);padding:7px 13px;color:var(--text-body);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}button:active:not(:disabled){transform:translateY(.5px) scale(.985)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button.primary:active:not(:disabled){background:var(--primary-press);border-color:var(--primary-press)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}input,textarea,select{font:var(--font-body);padding:8px 11px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel);color:var(--text-body);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}:focus-visible{outline:none}button:focus-visible,a:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-md)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:999px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
