:root{--gray-0:#ffffff;--gray-25:#fafbfc;--gray-50:#f5f6f8;--gray-100:#eef0f3;--gray-150:#e6e9ee;--gray-200:#dde1e7;--gray-300:#c8ced7;--gray-400:#9aa3b0;--gray-500:#6b7482;--gray-600:#4f5866;--gray-700:#373e4a;--gray-800:#232832;--gray-900:#151920;--blue-50:#eef4ff;--blue-100:#dce7fe;--blue-200:#b9cffc;--blue-500:#3a6ff0;--blue-600:#2b5bd7;--blue-700:#2249b3;--blue-800:#1b3a8c;--bg:var(--gray-0);--bg-subtle:var(--gray-50);--bg-sidebar:var(--gray-50);--bg-hover:var(--gray-100);--bg-active:var(--gray-150);--bg-inset:var(--gray-25);--overlay:rgb(21 25 32/40%);--border:var(--gray-200);--border-subtle:var(--gray-100);--border-strong:var(--gray-300);--text:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--text-disabled:var(--gray-400);--text-on-accent:#ffffff;--accent:var(--blue-600);--accent-hover:var(--blue-700);--accent-subtle:var(--blue-50);--accent-border:var(--blue-200);--link:var(--blue-700);--focus:var(--blue-500);--success:#11704a;--success-subtle:#e7f5ee;--success-border:#b5ddc9;--warning:#8f5300;--warning-subtle:#fff5e3;--warning-border:#f1d29b;--danger:#c0301c;--danger-hover:#a12716;--danger-subtle:#fdeeec;--danger-border:#f3c2bb;--viz-1:#2b5bd7;--viz-2:#13a08a;--viz-3:#e08a1e;--viz-4:#8b5cf6;--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI","Malgun Gothic",sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:28px;--lh-tight:1.3;--lh-normal:1.5;--lh-relaxed:1.7;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--shadow-sm:0 1px 2px rgb(21 25 32/6%);--shadow-md:0 4px 16px rgb(21 25 32/10%),0 1px 3px rgb(21 25 32/6%);--shadow-lg:0 24px 64px rgb(21 25 32/18%),0 2px 8px rgb(21 25 32/8%);--control-h:36px;--control-h-sm:30px;--control-h-lg:44px;--control-fs:var(--fs-md);--sidebar-w:248px;--rail-w:64px;--topbar-h:56px;--page-max:1200px;--page-narrow:760px;--page-form:680px;--page-gutter:clamp(16px,3vw,40px);--chat-col:768px;--ease:cubic-bezier(.2,.8,.2,1);--dur:.16s}@media (max-width:1023px),(pointer:coarse){:root{--control-h:44px;--control-h-sm:40px;--control-fs:16px}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}html{text-size-adjust:100%}body,html{max-width:100%;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);font-feature-settings:"ss06";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;overflow-wrap:anywhere}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3,h4{font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:-.01em}ol,ul{margin:0;padding:0}canvas,img,svg,video{display:block;max-width:100%}img,video{height:auto}svg{flex-shrink:0}a{color:inherit;text-decoration:none}button,input,optgroup,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}input,select,textarea{accent-color:var(--accent)}table{border-collapse:collapse}fieldset{margin:0;border:0;min-width:0}fieldset,legend{padding:0}code,kbd,pre,samp{font-family:var(--font-mono)}hr{border:0;border-top:1px solid var(--border);margin:var(--sp-4) 0}summary{cursor:pointer}[hidden]{display:none!important}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background:var(--blue-100)}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}.num,.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:2000;left:var(--sp-3);top:-80px;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);background:var(--text);color:var(--text-on-accent);font-weight:var(--fw-semibold)}.skip-link:focus{top:var(--sp-3)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.no-print{display:none!important}body{background:#fff}}