:root{--ink-950: rgb(8, 8, 12);--ink-900: rgb(10, 10, 10);--ink-800: rgb(31, 31, 35);--ink-700: rgb(43, 43, 43);--ink-600: rgb(67, 67, 67);--ink-500: rgb(110, 110, 125);--ink-450: rgb(110, 110, 114);--ink-400: rgb(112, 112, 120);--ink-350: rgb(165, 165, 165);--bg-app: rgb(250, 250, 250);--surface: rgb(255, 255, 255);--surface-active: rgb(244, 244, 245);--paper: rgb(252, 252, 251);--border: rgb(230, 230, 230);--border-subtle: rgb(242, 242, 242);--border-input: rgb(214, 214, 214);--accent: #b4a899;--accent-strong: #9b8e7e;--accent-tint: #f3f0ec;--accent-tint-2: #e7e1d9;--accent-ink: #5d5448;--accent-line: #d8cfc4;--frost-bg: rgba(255, 255, 255, .92);--frost-bg-solid: rgba(255, 255, 255, .97);--frost-blur: blur(12px);--frost-bg-translucent: rgba(255, 255, 255, .6);--radius-sm: 6px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 18px;--radius-pill: 999px;--shadow-xs: 0px 1px 2px 0px rgba(16, 24, 40, .05);--shadow-sm: 0px 1px 3px 0px rgba(16, 24, 40, .1), 0px 1px 2px 0px rgba(16, 24, 40, .06);--shadow-md: 0px 4px 8px -2px rgba(16, 24, 40, .1), 0px 2px 4px -2px rgba(16, 24, 40, .06);--shadow-lg: 0px 12px 16px -4px rgba(16, 24, 40, .08), 0px 4px 6px -2px rgba(16, 24, 40, .03);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--control-size: 2rem;--control-size-lg: 2.25rem;--icon-size: 1rem;--font-sans: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--danger-ink: rgb(180, 30, 18);--danger-icon: rgb(210, 50, 38);--danger-bg: rgb(254, 243, 242);--text-strong: var(--ink-950);--text-primary: var(--ink-700);--text-secondary: var(--ink-450);--text-muted: var(--ink-500);--text-placeholder: var(--ink-350);--text-on-dark: #fff}.ds-island,.Island{--padding: 0;box-sizing:border-box;position:relative;background-color:var(--ds-island-bg, var(--frost-bg));-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border:1px solid var(--ds-island-border, var(--border));border-radius:var(--ds-island-radius, var(--radius-lg));box-shadow:var(--ds-island-shadow, var(--shadow-lg));padding:calc(var(--padding) * var(--space-1));transition:box-shadow .3s ease-in-out}.ds-iconbtn,button.standalone{display:flex;justify-content:center;align-items:center;padding:0;width:var(--button-width, var(--control-size));height:var(--button-height, var(--control-size));box-sizing:border-box;border:1px solid var(--button-border, var(--border));border-radius:var(--button-radius, var(--radius));cursor:pointer;background-color:var(--button-bg, var(--surface));color:var(--button-color, var(--ink-800));font-family:var(--font-sans);transition:background-color .14s,border-color .14s,color .14s}.ds-iconbtn>*,button.standalone>*{pointer-events:none}.ds-iconbtn svg,button.standalone svg{width:var(--icon-size);height:var(--icon-size)}.ds-iconbtn:hover,button.standalone:hover{background-color:var(--button-hover-bg, var(--surface-active));border-color:var(--button-hover-border, var(--button-border, var(--border)));color:var(--button-hover-color, var(--button-color, var(--ink-900)))}.ds-iconbtn:active,button.standalone:active{background-color:var(--button-active-bg, var(--accent-tint));border-color:var(--button-active-border, var(--accent-strong))}.ds-iconbtn.active,button.standalone.active{background-color:var(--button-selected-bg, var(--accent-tint));border-color:var(--button-selected-border, var(--accent-strong));color:var(--button-selected-color, var(--accent-ink))}.ds-iconbtn.active:hover,button.standalone.active:hover{background-color:var(--button-selected-hover-bg, var(--accent-tint-2))}.ds-iconbtn.active svg,button.standalone.active svg{color:var(--button-selected-color, var(--accent-ink))}@media (max-width: 730px){.ds-iconbtn,button.standalone{width:var(--mobile-button-size, var(--control-size));height:var(--mobile-button-size, var(--control-size))}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-app)}.app{max-width:1100px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-8)}h1{font-size:1.4rem;color:var(--text-strong);margin:0 0 var(--space-1)}.subtitle{color:var(--text-secondary);margin:0 0 var(--space-6);font-size:.9rem}.config-bar{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-5);border-radius:var(--radius-lg)}.field{display:flex;flex-direction:column;gap:var(--space-1);font-size:.8rem;color:var(--text-secondary)}.field--grow{flex:1 1 220px}input,select{font-family:var(--font-sans);font-size:.9rem;color:var(--text-primary);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}input:focus,select:focus{outline:none;border-color:var(--accent-strong)}input[aria-invalid=true]{border-color:var(--danger-icon)}.btn{font-family:var(--font-sans);font-size:.9rem;font-weight:600;padding:var(--space-2) var(--space-5);border-radius:var(--radius);border:1px solid var(--ink-950);background:var(--ink-950);color:var(--text-on-dark);cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--ghost{background:var(--surface);color:var(--text-primary);border-color:var(--border-input)}.dropzone{border:2px dashed var(--accent-line);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;color:var(--text-secondary);background:var(--paper);cursor:pointer}.dropzone--over{border-color:var(--accent-strong);background:var(--accent-tint)}.toolbar{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-3)}.toolbar .spacer{flex:1}.batch{width:100%;border-collapse:collapse;font-size:.85rem}.batch th{text-align:left;font-weight:600;color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.batch td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:top}.batch input{width:100%}.thumb{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-active);display:block}.filename{color:var(--text-muted);font-size:.75rem;margin-top:var(--space-1);word-break:break-all}.path-error{color:var(--danger-ink);font-size:.72rem;margin-top:var(--space-1)}.status{font-weight:600;text-transform:capitalize}.status--queued{color:var(--text-muted)}.status--encoding,.status--uploading{color:var(--accent-ink)}.status--done{color:#1e824c}.status--error{color:var(--danger-ink)}.status-detail{color:var(--danger-ink);font-size:.72rem;margin-top:var(--space-1);font-weight:400}.empty{color:var(--text-muted);font-size:.85rem;padding:var(--space-4) 0}
