@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";:root{--font-sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", "Fira Code", monospace;--color-text:#1c2724;--color-text-muted:#66706b;--color-text-light:#fff;--color-surface:#fff;--color-surface-strong:#fffdf7;--color-surface-quiet:#ffffff94;--color-surface-inverse:#1f2c29;--color-border:#1c27241f;--color-border-strong:#1c27243d;--color-accent:#2a65f6;--color-accent-strong:#2a65f6;--color-accent-soft:#2a65f61f;--color-success:#3f0;--color-success-soft:#33ff00ac;--color-warning:#ff6200;--color-warning-soft:#ff6200a4;--color-danger:#ff5722;--color-danger-soft:#ff57221f;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--shadow-soft:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow-card:0 1px 3px #0000000a, 0 4px 12px #0000000a;--shadow-accent:0 2px 8px #2a65f633;--transition-base:.15s cubic-bezier(.4, 0, .2, 1);--content-width:1280px}.field{gap:.55rem;display:grid}.field-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:700}.field-hint{color:var(--color-text-soft);font-size:.7rem}.field-control{width:100%;min-height:2.5rem;color:var(--color-text);transition:border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.7rem 1rem}.field-control:focus{background:#fff;border-color:#2a65f6;outline:none;box-shadow:0 0 0 3px #2a65f61a}.field-control-select,.field-control-select:focus{box-shadow:none;background:#fff;border-color:#e2e8f0;outline:none}.field-control-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M4.5 6.75L9 11.25L13.5 6.75' stroke='%23212724' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:.9rem .9rem;padding-right:2.75rem}.field-control::placeholder{color:#94a09a}.field-control-textarea{resize:vertical;min-height:30rem}.surface-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f}.surface-card h2,.surface-card h3{letter-spacing:-.05em}.camera-workspace,.batch-screen,.describe-screen,.voiceover-screen,.camera-screen,.gallery-screen{--hud:#f7f8f5f0;--muted:#f7f8f58f;--line:#ffffff24;--panel:#0f1110d6;--accent:#6f9cff;color:var(--hud);background:radial-gradient(circle at 50% 38%,#252825 0%,#121513 46%,#070807 100%)}.camera-workspace .workspace-surface,.batch-screen .workspace-surface,.describe-screen .workspace-surface,.voiceover-screen .workspace-surface{border:1px solid var(--line);background:#0e100fc2;box-shadow:0 1.5rem 4rem #00000029}.workspace-eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:.59rem;font-weight:800}.workspace-label{border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.55rem;padding-bottom:.7rem;font-size:.7rem;font-weight:700;display:flex}.workspace-label>span{color:var(--accent);font-family:var(--font-mono)}.workspace-muted{color:var(--muted)}@media (prefers-reduced-motion:reduce){.camera-workspace *,.batch-screen *,.describe-screen *,.voiceover-screen *{transition-duration:.001ms!important;animation-duration:.001ms!important}}*{box-sizing:border-box}html{font-size:16px}body{min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0}#app{min-height:100vh}.brand-logo{object-fit:contain;width:100%;max-width:100px;height:auto;margin-bottom:7px;display:block}.app-loading[data-v-e21a878d]{color:#eff0ebad;text-align:center;place-content:center;justify-items:center;gap:.8rem;min-height:100%;display:grid}.ascii-loader[data-v-e21a878d]{color:#2a65f6;font:700 1.25rem/1 var(--font-mono);letter-spacing:.12em;align-items:center;gap:.15rem;display:flex}.ascii-loader b[data-v-e21a878d]{text-align:center;min-width:1ch;display:inline-block}.ascii-loader b[data-v-e21a878d]:after{content:"|";animation:.9s steps(4,end) infinite ascii-frame-e21a878d}.app-loading p[data-v-e21a878d]{font:.7rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0}.loading-dots[data-v-e21a878d]{vertical-align:bottom;width:2.4ch;animation:.9s steps(4,end) infinite loading-dots-e21a878d;display:inline-block;overflow:hidden}@keyframes ascii-frame-e21a878d{0%,24%{content:"|"}25%,49%{content:"/"}50%,74%{content:"-"}75%,to{content:"\\"}}@keyframes loading-dots-e21a878d{0%{width:0}25%{width:.8ch}50%{width:1.6ch}75%,to{width:2.4ch}}@media (prefers-reduced-motion:reduce){.ascii-loader b[data-v-e21a878d]:after,.loading-dots[data-v-e21a878d]{animation:none}.ascii-loader b[data-v-e21a878d]:after{content:"|"}}.app-root[data-v-e18e8531]{isolation:isolate;filter:invert()hue-rotate(180deg);background:#050505;min-height:100vh}html,body{background:#fff;min-height:100%}.app-root img,.app-root video,.app-root canvas,.camera-sheet-layer img,.camera-sheet-layer video,.camera-sheet-layer canvas,.upscale-modal img,.upscale-modal video,.upscale-modal canvas,.camera-sheet-layer,.upscale-modal{filter:invert()hue-rotate(180deg)}.route-loading-layer[data-v-e18e8531]{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050505e6;place-items:center;display:grid;position:fixed;inset:0}.route-loading-layer[data-v-e18e8531] .app-loading{width:100%;min-height:100vh}.camera-route-enter-active,.camera-route-leave-active{will-change:opacity, transform;transition:opacity .18s,transform .18s}.camera-route-enter-from,.camera-route-leave-to{opacity:0;transform:translateY(.3rem)}@media (prefers-reduced-motion:reduce){.camera-route-enter-active,.camera-route-leave-active{transition:none}}
