:root{--c-gray-50:#f7f9fd;--c-gray-100:#f2f7ff;--c-gray-150:#edf4f2;--c-gray-200:#e2e8f3;--c-gray-300:#c9d5eb;--c-gray-350:#c8d8d3;--c-gray-400:#93a3bd;--c-gray-500:#5a6f92;--c-gray-550:#4b625c;--c-gray-600:#43556f;--c-gray-700:#1a2030;--c-gray-800:#17332c;--c-gray-900:#0f1623;--c-blue-100:#edf3ff;--c-blue-200:#dfeafc;--c-blue-300:#c8d7f1;--c-blue-400:#98b7eb;--c-blue-500:#1a7bd4;--c-blue-600:#5c78a6;--c-blue-700:#1d4e89;--c-blue-800:#2f456a;--c-blue-900:#294466;--c-teal-100:#edf4f2;--c-teal-300:#c8d8d3;--c-teal-500:#0f7b6c;--c-teal-700:#0d6b5e;--c-orange-500:#ca6f1f;--c-red-300:#f1c6bd;--c-red-400:#fef1ee;--c-red-500:#d64545;--c-red-700:#b44532;--c-green-500:#0b8457;--c-purple-500:#8e44ad;--color-bg:var(--c-gray-50);--color-surface:#ffffff;--color-surface-raised:var(--c-gray-100);--color-surface-muted:var(--c-teal-100);--color-text:var(--c-gray-700);--color-text-muted:var(--c-gray-500);--color-text-subtle:var(--c-gray-600);--color-text-on-accent:#ffffff;--color-border:var(--c-gray-300);--color-border-strong:var(--c-gray-200);--color-border-input:var(--c-gray-300);--color-accent:var(--c-teal-500);--color-accent-hover:var(--c-teal-700);--color-accent-bg:var(--c-teal-100);--color-accent-border:var(--c-teal-300);--color-brand:var(--c-teal-500);--color-brand-hover:var(--c-teal-700);--color-brand-bg:var(--c-teal-100);--color-brand-border:var(--c-teal-300);--color-error:var(--c-red-500);--color-error-bg:var(--c-red-400);--color-error-border:var(--c-red-300);--color-success:var(--c-green-500);--color-warning:var(--c-orange-500);--color-focus-ring:0 0 0 3px rgba(15,123,108,0.18);--color-panel-bg:linear-gradient(180deg,#fbfdff,#f2f9f7);--color-panel-border:var(--c-teal-300);--color-panel-shadow:0 12px 32px rgba(3,8,25,0.22);--color-btn-editor-bg:linear-gradient(180deg,#0f7b6c,#0a5f54);--color-btn-editor-border:var(--c-teal-700);--color-btn-editor-hover-border:#3da898;--color-btn-editor-hover-shadow:0 6px 16px rgba(15,123,108,0.22);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Apple SD Gothic Neo",sans-serif;--font-mono:"SF Mono","Fira Code","Consolas",monospace;--text-xs:0.72rem;--text-sm:0.82rem;--text-base:0.88rem;--text-md:0.95rem;--text-lg:1.05rem;--text-xl:1.28rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--weight-normal:400;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.6;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--scrollbar-size:3px;--scrollbar-track:transparent;--scrollbar-thumb:rgba(90,111,146,0.35);--scrollbar-thumb-hover:rgba(90,111,146,0.55);--shadow-sm:0 1px 2px rgba(16,24,40,0.04);--shadow-md:0 6px 16px rgba(16,24,40,0.08);--shadow-lg:0 12px 32px rgba(3,8,25,0.22);--shadow-xl:0 18px 34px rgba(19,32,58,0.2)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);min-height:100%}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.scroll-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.scroll-thin::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.scroll-thin::-webkit-scrollbar-track{background:var(--scrollbar-track)}.scroll-thin::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}.scroll-thin::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scroll-thin::-webkit-scrollbar-corner{background:transparent}