:root{--font-sans:"Pretendard Variable","Pretendard","Noto Sans KR","Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Fira Code","SF Mono",monospace;--font-display:var(--font-sans);--font-body:var(--font-sans);--color-brand-primary:#2b63f6;--color-brand-secondary:#1a3fb8;--color-brand-light:#eaf1ff;--color-brand-sky:#4d7def;--color-brand-deep:#12235c;--color-brand-wash:#f1f5ff;--color-brand-mist:#dce7ff;--color-accent:#f53;--color-accent-hover:#e8401f;--color-accent-light:#fff1ee;--color-pron:#2563eb;--color-kakao:#fee500;--color-kakao-fg:#191600;--color-brand-accent:var(--color-accent);--color-warning:#ff9500;--color-warning-bg:#fff4e0;--color-warning-dark:#c70;--color-success:#1fb877;--color-success-bg:#e6f7ef;--color-success-dark:#157a4d;--color-error:#f0454b;--color-error-bg:#fdeced;--color-error-dark:#a8181d;--color-bg-primary:#fff;--color-bg-secondary:#f4f7ff;--color-bg-tertiary:#e7edfa;--color-bg-inverse:#111827;--color-bg-elevated:#fff;--color-fg-primary:#16203a;--color-fg-secondary:#5b6680;--color-fg-tertiary:#9aa3b8;--color-fg-inverse:#fff;--color-fg-disabled:#c4c9d4;--color-text-primary:var(--color-fg-primary);--color-text-muted:var(--color-fg-secondary);--color-text-inverse:var(--color-fg-inverse);--color-border-light:#e6ebf5;--color-border-medium:#d2daec;--color-border-dark:#9ca3af;--color-border:var(--color-border-light);--fs-xs:11px;--text-xs:var(--fs-xs);--fs-sm:13px;--text-sm:var(--fs-sm);--fs-base:15px;--text-base:var(--fs-base);--fs-md:17px;--text-lg:var(--fs-md);--fs-lg:20px;--text-xl:var(--fs-lg);--fs-xl:24px;--text-2xl:var(--fs-xl);--fs-2xl:28px;--text-3xl:var(--fs-2xl);--fs-3xl:32px;--lh-tight:1.2;--leading-xs:var(--lh-normal);--lh-snug:1.3;--leading-sm:var(--lh-normal);--lh-normal:1.5;--leading-base:var(--lh-relaxed);--lh-relaxed:1.6;--leading-lg:var(--lh-normal);--lh-loose:1.75;--leading-xl:var(--lh-snug);--leading-2xl:var(--lh-snug);--leading-3xl:var(--lh-tight);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--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;--space-20:80px;--space-24:96px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--radius-full:999px;--shadow-card:0 1px 3px rgba(20,40,110,.05),0 8px 24px rgba(20,40,110,.07);--shadow-elevated:0 6px 16px rgba(20,40,110,.1),0 18px 48px rgba(20,40,110,.14);--shadow-fab:0 8px 22px rgba(255,85,51,.42),0 3px 8px rgba(0,0,0,.12);--shadow-blue:0 10px 30px rgba(27,79,216,.28);--shadow-overlay:0 8px 40px rgba(0,0,0,.16),0 2px 8px rgba(0,0,0,.08);--shadow-focus:0 0 0 3px rgba(27,79,216,.25);--shadow-focus-error:0 0 0 3px rgba(229,52,58,.25);--shadow-sm:var(--shadow-card);--shadow-md:var(--shadow-elevated);--shadow-lg:var(--shadow-overlay);--z-base:0;--z-raised:10;--z-sticky:100;--z-nav:200;--z-overlay:300;--z-modal:400;--z-toast:500;--transition-fast:150ms ease-out;--transition-base:200ms ease-out;--transition-slow:300ms ease-out;--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms;--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1)}@keyframes ts-skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes ts-scan-line{0%{transform:translateY(0);opacity:1}80%{transform:translateY(100%);opacity:1}81%{opacity:0}to{transform:translateY(0);opacity:0}}@keyframes ts-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ts-slide-in-right{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}.ts-skeleton{background:var(--color-bg-tertiary);border-radius:var(--radius-sm);animation:ts-skeleton-pulse 1.2s ease-in-out infinite}@tailwind base;@tailwind components;@tailwind utilities;@layer base{html{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{@apply bg-bg-primary text-text-primary}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{@apply bg-border rounded-full}}@layer utilities{.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}#app-modal-root>*{pointer-events:auto}