:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e2e8f0;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.uploader-container{width:100%}.drop-zone{border:1.5px dashed var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;transition:all .2s ease;background:var(--bg-app)}.drop-zone:hover{border-color:var(--accent);background:var(--bg-surface)}.drop-zone.dragging{border-color:var(--accent);background:var(--accent-light);border-style:solid}.upload-icon{font-size:32px;margin-bottom:var(--space-3);display:block;color:var(--text-tertiary)}.drop-zone h3{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1);letter-spacing:-.01em}.drop-zone p{color:var(--text-secondary);font-size:14px;margin-bottom:var(--space-3)}.file-types{color:var(--text-muted);font-size:12px;font-weight:400}.file-input{display:none}.selected-files{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.selected-files h4{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.file-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-app);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all .15s ease}.file-item:hover{background:var(--bg-hover)}.file-info{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.file-icon{font-size:20px;flex-shrink:0;color:var(--text-secondary)}.file-details{flex:1;min-width:0}.file-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.file-size{font-size:12px;color:var(--text-muted)}.remove-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all .15s ease;font-size:16px;line-height:1}.remove-btn:hover{background:var(--error-light);color:var(--error)}.upload-btn{width:100%;padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif}.upload-btn:hover{background:var(--accent-hover)}.upload-btn:active{transform:scale(.98)}@media(max-width:768px){.drop-zone{padding:var(--space-6)}.upload-icon{font-size:28px}}.placeholder-editor{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:0;margin-bottom:var(--space-4);overflow:hidden}.editor-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);background:var(--bg-app)}.editor-header h3{font-size:15px;font-weight:600;margin-bottom:var(--space-1);color:var(--text-primary);letter-spacing:-.01em}.detected-count{font-size:13px;color:var(--text-secondary);font-weight:400}.mode-selector-compact{display:inline-flex;gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--bg-app);border-bottom:1px solid var(--border-light)}.mode-selector-compact label{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;border:1px solid transparent;background:transparent;font-size:13px;font-weight:500;color:var(--text-secondary)}.mode-selector-compact label:hover{background:var(--bg-hover)}.mode-selector-compact label.active{background:var(--bg-surface);border-color:var(--border-medium);color:var(--text-primary)}.mode-selector-compact input[type=radio]{display:none}.placeholder-list{padding:var(--space-5)}.placeholder-table{width:100%;border-collapse:collapse}.placeholder-table thead{border-bottom:1px solid var(--border-light)}.placeholder-table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.placeholder-table td{padding:var(--space-3);border-bottom:1px solid var(--border-light)}.placeholder-table tbody tr:last-child td{border-bottom:none}.placeholder-table tbody tr:hover{background:var(--bg-hover)}.placeholder-label{font-size:13px;font-weight:500;color:var(--text-primary);font-family:Courier New,monospace}.placeholder-input{width:100%;background:var(--bg-app);border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:14px;color:var(--text-primary);transition:all .15s ease;font-family:Inter,sans-serif}.placeholder-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.placeholder-input::placeholder{color:var(--text-muted)}.placeholder-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-light)}.placeholder-item:last-child{border-bottom:none}.process-btn{margin:var(--space-5);margin-top:0;width:calc(100% - var(--space-8));padding:var(--space-2) var(--space-4);background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif}.process-btn:hover:not(:disabled){background:var(--accent-hover)}.process-btn:active:not(:disabled){transform:scale(.98)}.process-btn:disabled{opacity:.5;cursor:not-allowed}.ai-mode{padding:var(--space-5)}.api-key-section{margin-bottom:var(--space-4)}.api-key-section label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.api-key-input{width:100%;background:var(--bg-app);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:14px;color:var(--text-primary);transition:all .15s ease;font-family:Courier New,monospace}.api-key-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.get-key-link{display:inline-block;margin-top:var(--space-2);font-size:12px;color:var(--accent);text-decoration:none;font-weight:500}.get-key-link:hover{text-decoration:underline}.placeholder-preview{background:var(--bg-app);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.placeholder-preview h4{font-size:13px;color:var(--text-secondary);margin-bottom:var(--space-3);font-weight:600}.placeholder-preview ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.placeholder-preview li{background:var(--bg-surface);border:1px solid var(--border-light);padding:var(--space-1) var(--space-3);border-radius:999px;font-size:12px;font-family:Courier New,monospace;color:var(--text-secondary);font-weight:500}.ai-btn{background:var(--accent)}.ai-btn:hover:not(:disabled){background:var(--accent-hover)}@media(max-width:768px){.placeholder-table{display:none}.placeholder-list{display:flex;flex-direction:column}.mode-selector-compact{flex-direction:column;align-items:stretch}.mode-selector-compact label{text-align:center}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-app: #fafafa;--bg-surface: #ffffff;--bg-hover: #f5f5f5;--bg-active: #eeeeee;--border-light: #e5e5e5;--border-medium: #d4d4d4;--border-focus: #3b82f6;--text-primary: #171717;--text-secondary: #525252;--text-tertiary: #737373;--text-muted: #a3a3a3;--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: #dbeafe;--success: #22c55e;--success-light: #dcfce7;--error: #ef4444;--error-light: #fee2e2;--warning: #f59e0b;--warning-light: #fef3c7;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg-app);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-surface);border-bottom:1px solid var(--border-light);padding:var(--space-4) var(--space-6)}.header h1{font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.header h1 .icon{display:inline-block;margin-right:var(--space-2);font-size:16px}.subtitle{font-size:13px;color:var(--text-tertiary);font-weight:400;margin-top:2px}.content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:var(--space-8) var(--space-6)}.main{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);gap:var(--space-4)}.spinner{width:32px;height:32px;border:2px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading p{font-size:14px;color:var(--text-secondary);font-weight:500}.footer{text-align:center;padding:var(--space-6);border-top:1px solid var(--border-light);background:var(--bg-surface)}.footer p{color:var(--text-muted);font-size:12px;font-weight:400}.reset-btn{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif}.reset-btn:hover{background:var(--bg-hover);border-color:var(--border-medium);color:var(--text-primary)}.background-gradient{display:none}@media(max-width:768px){.content,.main{padding:var(--space-4)}.header{padding:var(--space-3) var(--space-4)}}
