:root{--font-family-primary:Geist;--font-family-stack:Geist, "Geist Fallback", system-ui, -apple-system, sans-serif;--font-size-base:16px;--font-weight-base:400;--font-line-height-base:24px;--font-size-xs:14px;--font-size-sm:16px;--font-size-md:19px;--font-size-lg:30px;--color-text-primary:lab(93.736% 0 0);--color-text-secondary:lab(56.268% 0 0);--color-text-tertiary:lab(65.896% 0 0);--color-surface-base:#000;--color-surface-muted:lab(.0177803% 0 0);--color-border-default:lab(90% 0 0);--color-border-hover:lab(40% 0 0);--space-1:4px;--space-2:6px;--space-3:12px;--space-4:14px;--space-5:32px;--radius-xs:4px;--motion-duration-instant:.1s;--motion-duration-fast:.15s;--motion-duration-normal:.3s;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444}*{box-sizing:border-box}body{font-family:var(--font-family-stack);font-size:var(--font-size-base);font-weight:var(--font-weight-base);line-height:var(--font-line-height-base);color:var(--color-text-primary);background:var(--color-surface-base);-webkit-font-smoothing:antialiased;margin:0}#app{min-height:100vh}.layout{max-width:1000px;padding:var(--space-5);gap:var(--space-5);margin:0 auto;display:grid}.heroCard,.panel{background:var(--color-surface-muted);border:1px solid var(--color-border-default);border-radius:var(--radius-xs);padding:var(--space-5)}.heroCard h1{margin:0 0 var(--space-3);font-size:var(--font-size-lg);font-weight:500;line-height:1.2}.heroCard p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.controls{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.field{gap:var(--space-2);flex-direction:column;display:flex}.field span{font-size:var(--font-size-xs);color:var(--color-text-secondary)}input,select,textarea{border:1px solid var(--color-border-default);border-radius:var(--radius-xs);padding:var(--space-2) var(--space-3);font-family:var(--font-family-stack);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface-base);width:100%;transition:border-color var(--motion-duration-fast) ease, outline var(--motion-duration-fast) ease}textarea{resize:vertical;min-height:80px;line-height:var(--font-line-height-base)}input:hover,select:hover,textarea:hover{border-color:var(--color-border-hover)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px;border-color:var(--color-text-primary)}input[type=file]{padding:var(--space-2);background:var(--color-surface-base);border:1px dashed var(--color-border-default);cursor:pointer}input[type=file]:hover{border-color:var(--color-text-secondary)}input[type=file]::file-selector-button{background:var(--color-text-primary);color:var(--color-surface-base);border:1px solid var(--color-text-primary);border-radius:var(--radius-xs);padding:var(--space-1) var(--space-3);margin-right:var(--space-3);cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);transition:background-color var(--motion-duration-fast) ease}input[type=file]::file-selector-button:hover{background:var(--color-text-secondary);border-color:var(--color-text-secondary)}.muted{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.checkboxField{align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--space-1) 0;display:flex}.checkboxField input{width:16px;height:16px;accent-color:var(--color-text-primary);cursor:pointer;margin:0}.checkboxField input:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}.checkboxField span{font-size:var(--font-size-sm);color:var(--color-text-primary)}button{border:1px solid var(--color-border-default);border-radius:var(--radius-xs);padding:var(--space-2) var(--space-4);cursor:pointer;font-weight:500;font-size:var(--font-size-xs);font-family:var(--font-family-stack);background:var(--color-text-primary);color:var(--color-surface-base);transition:background-color var(--motion-duration-fast) ease, opacity var(--motion-duration-fast) ease;justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}button.secondary{background:var(--color-surface-muted);color:var(--color-text-primary);border-color:var(--color-border-default)}button.ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}button:not(:disabled):hover{background:var(--color-text-secondary);color:var(--color-surface-base)}button:not(:disabled):active{background:var(--color-text-tertiary);color:var(--color-surface-base);transform:scale(.98)}button.secondary:not(:disabled):hover{background:var(--color-border-default);color:var(--color-text-primary)}button.ghost:not(:disabled):hover{color:var(--color-text-primary);background:var(--color-surface-muted)}button:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.metaRow{gap:var(--space-5);margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-surface-base);border-radius:var(--radius-xs);border:1px solid var(--color-border-default);flex-wrap:wrap;display:flex}.metaRow p{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.metaRow strong{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:400}.metaRow span{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.tableWrap{border:1px solid var(--color-border-default);border-radius:var(--radius-xs);background:var(--color-surface-base);overflow:auto}table{border-collapse:collapse;width:100%;min-width:1000px}th,td{border-bottom:1px solid var(--color-border-default);padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top}th{color:var(--color-text-secondary);font-weight:500;font-size:var(--font-size-xs);background:var(--color-surface-muted);z-index:10;position:sticky;top:0}tr{transition:background-color var(--motion-duration-fast) ease}tr:hover td{background:var(--color-surface-muted)}tr:last-child td{border-bottom:none}.mono{font-family:var(--font-mono,monospace);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.pill{border-radius:var(--radius-xs);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);align-items:center;gap:var(--space-2);border:1px solid var(--color-border-default);background:var(--color-surface-base);font-weight:500;display:inline-flex}.pill:before{content:"";border-radius:50%;width:6px;height:6px;display:block}.pill[data-status=queued]{color:var(--color-text-secondary)}.pill[data-status=queued]:before{background:var(--color-text-secondary)}.pill[data-status=translating]{color:var(--color-warning)}.pill[data-status=translating]:before{background:var(--color-warning);animation:pulse var(--motion-duration-normal) infinite alternate}@keyframes pulse{0%{opacity:1}to{opacity:.4}}.pill[data-status=done]{color:var(--color-success)}.pill[data-status=done]:before{background:var(--color-success)}.pill[data-status=error]{color:var(--color-danger)}.pill[data-status=error]:before{background:var(--color-danger)}.translationCell{min-width:320px}.translationCell textarea{background:var(--color-surface-base);border:1px solid #0000}.translationCell textarea:hover{background:var(--color-surface-muted);border-color:var(--color-border-default)}.translationCell textarea:focus-visible{background:var(--color-surface-base);border-color:var(--color-text-primary);outline:2px solid var(--color-text-primary);outline-offset:2px}.progressRow{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);background:var(--color-surface-base);padding:var(--space-4);border-radius:var(--radius-xs);border:1px solid var(--color-border-default);display:flex}.progressTrack{border-radius:var(--radius-xs);background:var(--color-surface-muted);flex:1;height:8px;position:relative;overflow:hidden}.progressFill{background:var(--color-text-primary);height:100%;transition:width var(--motion-duration-normal) ease}.progressRow .muted{font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:right;min-width:48px;font-weight:500}.filtersRow{gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-default);grid-template-columns:1fr minmax(200px,240px);align-items:end;display:grid}.emptyState{margin:var(--space-5);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-5);background:var(--color-surface-muted);border-radius:var(--radius-xs);border:1px dashed var(--color-border-default)}.errorBanner{background:var(--color-surface-muted);border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--space-4);border-radius:var(--radius-xs);align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);margin:0;display:flex}.errorText{color:var(--color-danger);font-size:var(--font-size-xs);margin-top:var(--space-2)}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=900px){.layout{padding:var(--space-4);gap:var(--space-4)}.heroCard,.panel{padding:var(--space-4)}.filtersRow{grid-template-columns:1fr}.metaRow{gap:var(--space-3)}}
