:root{color-scheme:light dark;--bg: #161826;--panel: #1c1f30;--panel-2: #22263a;--border: #2c3044;--border-strong: #3a3f58;--text: #e9e9ed;--text-dim: #9a9cae;--text-dimmer: #6d7089;--accent: #9184d9;--accent-dim: #4d4a72;--accent-glow: rgba(145, 132, 217, .18);--radius: 8px;--radius-sm: 6px;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:var(--bg)}body{color:var(--text)}.app{height:100dvh;width:100%;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:baseline;gap:.5rem;min-width:0}.brand h1{font-size:15px;font-weight:500;margin:0;white-space:nowrap}.subtitle{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version{font-size:10px;color:var(--text-dim);opacity:.6;white-space:nowrap;font-family:monospace}.mode-switch,.format-switch{flex:0 0 auto;display:flex;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.mode-switch button,.format-switch button{padding:.4rem .8rem;border:none;border-radius:5px;background:transparent;color:var(--text-dim);font-size:12px;cursor:pointer}.mode-switch button.active,.format-switch button.active{background:var(--accent-glow);color:var(--text);outline:1px solid var(--accent-dim)}.upload-layout,.camera-layout{flex:1 1 auto;min-height:0;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.dropzone{flex:1 1 auto;min-height:0;border:1.5px dashed var(--border-strong);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;text-align:center;padding:1rem}.dropzone input{display:none}.dropzone-icon{color:var(--accent)}.dropzone-title{font-size:14px}.dropzone-hint{font-size:12px;color:var(--text-dim)}.btn{padding:.55rem 0;border-radius:var(--radius-sm);font-size:13px;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn-secondary{background:transparent;border:1px solid var(--accent-dim);color:var(--text)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-dim)}.btn-danger{background:transparent;border:1px solid #c25b5b;color:#e0a5a5}.upload-controls{flex:0 0 auto;display:flex;gap:.5rem}.upload-controls .btn{flex:1}.queue-btn{flex:0 0 auto;width:100%}.camera-layout{flex-direction:row;gap:.5rem}.main-window{flex:2 1 0;min-width:0;border-radius:var(--radius);background:#0f1119;position:relative;overflow:hidden}.main-window video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.camera-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:1rem;color:var(--text-dim);font-size:13px}.camera-controls{position:absolute;bottom:.75rem;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1.5rem}.flip-btn,.btn-icon{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:#161826b3;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}.take-photo{width:58px;height:58px;border-radius:50%;border:3px solid var(--text);background:transparent;padding:3px;cursor:pointer}.take-photo span{display:block;width:100%;height:100%;border-radius:50%;background:var(--text)}.controls-spacer{width:19px;height:19px}.preview-window{flex:1 1 0;min-width:0;border-radius:var(--radius);background:var(--panel);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;padding:.5rem;gap:.5rem}.preview-window h2{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:0;font-weight:500}.preview-window img{flex:1;min-height:0;width:100%;height:100%;object-fit:contain;border-radius:var(--radius-sm)}.queue-strip{flex:0 0 auto;padding:0 1rem .5rem}.queue-strip-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.queue-strip h2{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:0;font-weight:500}.queue-strip-actions{display:flex;gap:.4rem}.btn-pill{font-size:10px;padding:3px 9px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--text-dim);cursor:pointer;white-space:nowrap}.btn-pill.active{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-glow)}.btn-pill.danger{color:#e0a5a5;border-color:#c25b5b}.btn-pill:disabled{opacity:.4;cursor:default}.strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem}.queue-item{flex:0 0 auto;width:104px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem;display:flex;flex-direction:column;gap:6px}.thumb{width:100%;height:52px;border-radius:6px;background:#0f1119;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-dimmer)}.thumb img{width:100%;height:100%;object-fit:cover}.queue-item-row{display:flex;align-items:center;justify-content:space-between;gap:4px}.filename{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{font-size:9px;text-transform:uppercase;color:var(--text-dim);width:fit-content;padding:1px 6px;border-radius:999px;border:1px solid var(--border-strong)}.status-done .status{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-glow)}.status-processing .status{color:var(--text);border-color:var(--accent-dim)}.status-error .status{color:#ff6b6b;border-color:#ff6b6b}.queue-item-buttons{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cancel,.retake{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:0;line-height:1;font-size:12px}.retake{color:var(--accent);font-size:13px}.output-bar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--border)}.download-btn{padding:.5rem 1rem;border:1px solid var(--accent-dim);color:var(--text);border-radius:var(--radius-sm);text-decoration:none;font-size:13px}.download-btn.disabled{pointer-events:none;opacity:.45}.empty-hint{opacity:.6;font-size:.85rem;margin:0}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0b12b3;display:flex;align-items:center;justify-content:center;padding:1rem}.dialog{max-width:92vw;max-height:88vh;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.dialog-title{display:flex;align-items:center;justify-content:space-between;font-size:13px}.dialog-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius-sm)}
