@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-full{min-height:100%}.animate-spin{animation:var(--animate-spin)}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[var\(--bg-base\)\]{background-color:var(--bg-base)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--font-geist-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--bg-base:#f4f6fb;--bg-card:#fff;--bg-card-hover:#f8faff;--bg-muted:#f1f3f9;--border:#e2e8f4;--border-focus:#6366f1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--brand:#6366f1;--brand-light:#eef2ff;--brand-dark:#4f46e5;--success:#10b981;--success-light:#ecfdf5;--success-dark:#059669;--warning:#f59e0b;--danger:#ef4444;--danger-light:#fef2f2;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 10px 30px #0f172a1a, 0 4px 8px #0f172a0a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}@media (prefers-color-scheme:dark){:root{--bg-base:#0b0f1a;--bg-card:#141929;--bg-card-hover:#1a2035;--bg-muted:#1e2540;--border:#2a3354;--border-focus:#818cf8;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#4a5578;--brand:#818cf8;--brand-light:#1e2055;--brand-dark:#6366f1;--success:#34d399;--success-light:#052e16;--success-dark:#10b981;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 30px #00000080}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:var(--bg-base);color:var(--text-primary);line-height:1.6}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.step-badge{background:var(--brand-light);width:28px;height:28px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.step-badge.active{background:var(--brand);color:#fff}.pill-group{flex-wrap:wrap;gap:.5rem;display:flex}.pill{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:.375rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s}.pill:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.pill.selected{border-color:var(--brand);background:var(--brand);color:#fff}.topic-chip{border:1.5px dashed var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.8125rem;transition:all .15s;display:inline-flex}.topic-chip:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light);border-style:solid}.form-input,.form-select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;color:var(--text-primary);outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.form-input:focus,.form-select:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 15%, transparent)}}.form-input::placeholder{color:var(--text-muted)}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;display:grid}.admin-model-grid{grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:.75rem;display:grid}.column-row{border-radius:var(--radius-sm);background:var(--bg-muted);grid-template-columns:minmax(0,1fr) minmax(120px,160px) auto;align-items:center;gap:.5rem;padding:.5rem;display:grid}.toggle-wrap{cursor:pointer;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);-webkit-user-select:none;user-select:none;align-items:center;gap:.625rem;padding:.625rem .875rem;transition:all .15s;display:flex}.toggle-wrap:hover,.toggle-wrap.active{border-color:var(--brand);background:var(--brand-light)}.toggle-wrap input[type=checkbox]{display:none}.toggle-track{background:var(--border);border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle-wrap.active .toggle-track{background:var(--brand)}.toggle-wrap.active .toggle-track:after{transform:translate(16px)}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:600;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:not(:disabled):hover{background:var(--brand-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:not(:disabled):active{transform:translateY(0)}.btn-success{background:var(--success);color:#fff}.btn-success:not(:disabled):hover{background:var(--success-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);border:1.5px solid var(--border);background:0 0}.btn-ghost:not(:disabled):hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.btn-danger-ghost{color:var(--danger);background:0 0;border:1.5px solid #0000;padding:.375rem .625rem;font-size:.8125rem}.btn-danger-ghost:not(:disabled):hover{background:var(--danger-light);border-color:var(--danger)}.progress-track{background:var(--bg-muted);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--brand), var(--success));border-radius:999px;height:100%;transition:width .4s}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.queued{background:var(--warning)}.status-dot.running{background:var(--brand);animation:1.2s ease-in-out infinite pulse-dot}.status-dot.done{background:var(--success)}.status-dot.failed{background:var(--danger)}.download-link{border-radius:var(--radius-sm);align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.download-link.csv{background:var(--success-light);color:var(--success-dark)}.download-link.json{background:var(--brand-light);color:var(--brand-dark)}.download-link.xlsx{color:#2e7d32;background:#e8f5e9}.download-link:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}@media (prefers-color-scheme:dark){.download-link.xlsx{color:#81c784;background:#1b3c1f}}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.625rem;margin-top:.75rem;display:grid}.stats-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem}.stats-card-title{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.375rem;font-size:.75rem;font-weight:700;overflow:hidden}.stats-row{color:var(--text-muted);justify-content:space-between;font-size:.75rem;line-height:1.6;display:flex}.stats-row strong{color:var(--text-primary);font-weight:600}.bar-row{align-items:center;gap:.375rem;margin-top:.25rem;font-size:.6875rem;display:flex}.bar-track{background:var(--bg-muted);border-radius:999px;flex:1;height:6px;overflow:hidden}.bar-fill{background:var(--brand);border-radius:999px;height:100%}.bar-label{text-align:right;min-width:2.5rem;color:var(--text-muted)}.history-list{flex-direction:column;gap:.375rem;margin-top:.75rem;display:flex}.history-item{border-radius:var(--radius-sm);background:var(--bg-muted);cursor:pointer;border:1px solid #0000;align-items:center;gap:.625rem;padding:.5rem .75rem;transition:background .15s;display:flex}.history-item:hover{background:var(--brand-light);border-color:var(--brand)}.history-topic{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;font-weight:600;overflow:hidden}.history-meta{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.type-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:700;display:inline-block}.type-chip.numeric{color:#1d4ed8;background:#dbeafe}.type-chip.categorical{color:#be185d;background:#fce7f3}.type-chip.date{color:#92400e;background:#fef3c7}.type-chip.boolean{color:#065f46;background:#d1fae5}@media (prefers-color-scheme:dark){.type-chip.numeric{color:#93c5fd;background:#1e3a5f}.type-chip.categorical{color:#f9a8d4;background:#4a1942}.type-chip.date{color:#fcd34d;background:#3d2a00}.type-chip.boolean{color:#6ee7b7;background:#052e16}}.shimmer{background:linear-gradient(90deg, var(--bg-muted) 25%, var(--bg-card-hover) 50%, var(--bg-muted) 75%);border-radius:var(--radius-sm);background-size:800px 100%;animation:1.4s linear infinite shimmer}.preview-table-wrap{border-radius:var(--radius-md);border:1px solid var(--border);margin-top:1rem;overflow-x:auto}.preview-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.8125rem;font-family:var(--font-geist-mono), monospace}.preview-table th{background:var(--bg-muted);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:160px;padding:.5rem .75rem;font-weight:700;overflow:hidden}.preview-table td{border-bottom:1px solid var(--border);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:160px;padding:.4375rem .75rem;overflow:hidden}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:hover td{background:var(--bg-muted)}.preview-table td.missing{color:var(--text-muted);font-style:italic}.section-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.section-header h2{color:var(--text-primary);font-size:1rem;font-weight:700}.ai-badge{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.6875rem;font-weight:700;display:inline-flex}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-spin{animation:1s linear infinite spin}.animate-fadeIn{animation:.25s fadeIn}@media (max-width:640px){.card{padding:1rem}.quality-grid,.admin-model-grid,.column-row{grid-template-columns:1fr}.column-row .btn-danger-ghost{width:100%}.history-item{flex-direction:column;align-items:flex-start}.history-meta{white-space:normal}.toggle-wrap{flex-wrap:wrap;align-items:flex-start}.btn{white-space:normal}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
