:root{--brand-red:#d81830;--brand-red-hover:#b0142a;--brand-red-press:#8c1023;--brand-red-soft:#d818301a;--ink-900:#0e1116;--ink-700:#2a3340;--ink-500:#5b6776;--ink-300:#a6b0bd;--ink-100:#e5e8ee;--surface-0:#fff;--surface-soft:#f6f7f9;--data-blue:#2f6bff;--data-blue-badge:#2e68f0;--data-green:#0c8150;--data-green-rgb:12, 129, 80;--data-amber:#e89b1e;--data-amber-text:#946009;--data-amber-rgb:232, 155, 30;--data-amber-soft:rgba(var(--data-amber-rgb), .12);--font-ui:-apple-system, BlinkMacSystemFont, "Noto Sans KR", "Malgun Gothic", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--shadow-1:0 1px 0 #0e11160a, 0 1px 2px #0e11160a;--shadow-2:0 4px 12px #0e11160f, 0 1px 2px #0e11160a;--on-brand:#fff;--brand-red-rgb:216, 24, 48;--data-blue-rgb:47, 107, 255;--fs-caption:11px;--fs-body:12px;--fs-ui:13px;--fs-md:14px;--fs-h2:16px;--fs-h1:28px;--radius-ctl:4px;--radius-card:10px;--radius-pill:999px;--header-h:64px;--subbar-h:44px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);color:var(--ink-900);background:var(--surface-0);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font-family:inherit}#app-root{flex-direction:column;min-height:100vh;display:flex}:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--data-blue);outline-offset:2px}@keyframes fv-spin{to{transform:rotate(360deg)}}@keyframes fv-pulse{0%,to{opacity:1}50%{opacity:.35}}.fv-spin{animation:.8s linear infinite fv-spin;display:inline-flex}.fv-progress-fill{transition:width .32s ease-out}.fv-skeleton{background:var(--ink-100);border-radius:6px;animation:1.2s ease-in-out infinite fv-pulse}@media (prefers-reduced-motion:reduce){.fv-spin{animation:1.2s ease-in-out infinite fv-pulse}.fv-progress-fill{transition:none}.fv-skeleton{animation:none}}.fv-grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.fv-scroll-x{overflow-x:auto}.fv-row-link{cursor:pointer;transition:background-color .12s ease-out}.fv-row-link:hover>td,.fv-row-link:focus-within>td{background:var(--surface-soft)}.fv-icon-btn{color:var(--ink-500);transition:color .12s ease-out,background .12s ease-out}.fv-icon-btn:not(:disabled):hover,.fv-icon-btn:not(:disabled):focus-visible{color:var(--ink-900)}.fv-icon-btn-danger:not(:disabled):hover,.fv-icon-btn-danger:not(:disabled):focus-visible{color:var(--brand-red)}.fv-btn{transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out}.fv-btn:not(:disabled):hover{--fv-btn-bg:var(--brand-red-hover)}.fv-btn:not(:disabled):active{--fv-btn-bg:var(--brand-red-press)}.fv-btn-secondary{transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out}.fv-btn-secondary:not(:disabled):hover{--fv-btn-bg:var(--surface-soft);border-color:var(--ink-300)!important}.fv-nav-btn,.fv-chip,.fv-tab,.fv-sort-th{transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out}.fv-nav-btn:not(:disabled):hover,.fv-tab:not(:disabled):hover,.fv-sort-th:not(:disabled):hover{--fv-nav-bg:var(--surface-soft);--fv-tab-bg:var(--surface-soft)}.fv-chip:not([aria-pressed=true]):hover{border-color:var(--ink-500)!important}
