@layer tokens,reset,layout,components,frame,responsive;@layer tokens{:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--app-bg: hsl(220 40% 98%);--app-bg-end: hsl(218 38% 95%);--surface: hsl(0 0% 100%);--surface-muted: hsl(222 35% 96%);--surface-glass: hsl(0 0% 100% / .74);--surface-glass-strong: hsl(0 0% 100% / .9);--border: hsl(220 24% 86%);--border-accent: hsl(224 86% 52% / .42);--ink: hsl(222 47% 10%);--muted: hsl(222 16% 42%);--primary: hsl(224 86% 52%);--primary-strong: hsl(224 86% 44%);--primary-soft: hsl(224 86% 52% / .08);--primary-soft-strong: hsl(224 86% 52% / .14);--secondary: hsl(259 78% 58%);--coral: #e84e68;--danger: #c92525;--danger-soft: hsl(0 72% 51% / .08);--danger-border: hsl(0 72% 51% / .32);--success: #15803d;--on-primary: #ffffff;--checker-base: #f8fafc;--grid-line: hsl(224 86% 52% / .07);--shadow: 0 22px 70px hsl(224 86% 52% / .12);--shadow-soft: 0 14px 34px hsl(222 47% 10% / .08);--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, ui-monospace, monospace;--target: 44px;--gutter: clamp(14px, 2vw, 28px);--fast: .18s ease;--radius: .75rem;background:var(--app-bg);color:var(--ink)}:root[data-theme=dark]{color-scheme:dark;--app-bg: hsl(225 28% 8%);--app-bg-end: hsl(225 25% 11%);--surface: hsl(224 25% 12%);--surface-muted: hsl(224 22% 17%);--surface-glass: hsl(224 25% 12% / .76);--surface-glass-strong: hsl(224 25% 12% / .92);--border: hsl(220 20% 26%);--border-accent: hsl(217 92% 66% / .5);--ink: hsl(220 35% 96%);--muted: hsl(220 15% 68%);--primary: hsl(217 92% 66%);--primary-strong: hsl(217 91% 73%);--primary-soft: hsl(217 92% 66% / .1);--primary-soft-strong: hsl(217 92% 66% / .18);--secondary: hsl(258 90% 76%);--coral: #fb7185;--danger: #ff8a83;--danger-soft: rgb(127 29 29 / .28);--danger-border: rgb(255 140 130 / .42);--success: #67d391;--on-primary: hsl(225 28% 8%);--checker-base: hsl(224 25% 10%);--grid-line: hsl(217 92% 66% / .08);--shadow: 0 24px 76px hsl(225 50% 3% / .52);--shadow-soft: 0 14px 34px hsl(225 50% 3% / .32)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--app-bg: hsl(225 28% 8%);--app-bg-end: hsl(225 25% 11%);--surface: hsl(224 25% 12%);--surface-muted: hsl(224 22% 17%);--surface-glass: hsl(224 25% 12% / .76);--surface-glass-strong: hsl(224 25% 12% / .92);--border: hsl(220 20% 26%);--border-accent: hsl(217 92% 66% / .5);--ink: hsl(220 35% 96%);--muted: hsl(220 15% 68%);--primary: hsl(217 92% 66%);--primary-strong: hsl(217 91% 73%);--primary-soft: hsl(217 92% 66% / .1);--primary-soft-strong: hsl(217 92% 66% / .18);--secondary: hsl(258 90% 76%);--coral: #fb7185;--danger: #ff8a83;--danger-soft: rgb(127 29 29 / .28);--danger-border: rgb(255 140 130 / .42);--success: #67d391;--on-primary: hsl(225 28% 8%);--checker-base: hsl(224 25% 10%);--grid-line: hsl(217 92% 66% / .08);--shadow: 0 24px 76px hsl(225 50% 3% / .52);--shadow-soft: 0 14px 34px hsl(225 50% 3% / .32)}}}@layer reset{*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;background:radial-gradient(circle at 76% 8%,var(--primary-soft-strong),transparent 34rem),linear-gradient(180deg,var(--app-bg),var(--app-bg-end) 48%,var(--app-bg));color:var(--ink)}a{color:inherit}button,input,select{font:inherit;accent-color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@layer layout{.app-shell{position:relative;display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh;min-height:100dvh;isolation:isolate;background:linear-gradient(90deg,var(--primary-soft),transparent 34%),linear-gradient(180deg,transparent,var(--primary-soft) 82%)}.app-shell:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 0 16%,var(--grid-line) 16% 16.1%,transparent 16.1% 42%,var(--grid-line) 42% 42.1%,transparent 42.1% 68%,var(--grid-line) 68% 68.1%,transparent 68.1%),linear-gradient(0deg,transparent 0 18%,var(--grid-line) 18% 18.1%,transparent 18.1% 58%,var(--grid-line) 58% 58.1%,transparent 58.1%);mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 86%,transparent 100%)}.app-shell.is-dragging:after{content:"Drop images to process locally";position:fixed;inset:18px;z-index:20;display:grid;place-items:center;pointer-events:none;border:2px dashed var(--primary);border-radius:var(--radius);background:var(--surface-glass-strong);color:var(--primary-strong);font-size:18px;font-weight:800;backdrop-filter:blur(14px)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:12px;height:100vh;height:100dvh;padding:20px;border-right:1px solid var(--border);background:var(--surface-glass);backdrop-filter:blur(18px)}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-row strong,.brand-row span{display:block}.brand-row strong{font-size:15px;font-weight:800}.brand-row span{color:var(--muted);font-size:12px}.brand-mark,.upload-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border-accent);border-radius:999px;color:var(--primary);background:linear-gradient(135deg,var(--surface-glass-strong),var(--primary-soft-strong)),var(--surface);box-shadow:0 14px 30px #1b53ee26}.brand-mark span{color:inherit;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.08em}.upload-icon{width:50px;height:50px;border-radius:var(--radius)}.tool-pill{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--target);padding:0 12px;border:1px solid transparent;border-radius:8px;color:var(--ink);background:transparent;text-align:left}.tool-pill.active{border-color:var(--border-accent);background:var(--primary-soft);color:var(--primary-strong);font-weight:700}.privacy-note{display:flex;gap:10px;margin-top:auto;padding:12px;border:1px solid var(--border-accent);border-radius:var(--radius);background:var(--primary-soft);color:var(--ink)}.privacy-note svg{flex-shrink:0;color:var(--primary)}.privacy-note p{margin:0;font-size:12px;line-height:1.45}.sidebar-legal{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.sidebar-legal a{color:inherit}.sidebar-stat{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--border);color:var(--muted);font-size:13px}.sidebar-stat strong{color:var(--ink)}.workspace{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0;height:100%;padding:var(--gutter)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.eyebrow{display:block;margin-bottom:7px;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.35em;text-transform:uppercase}.topbar h1{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,5rem);font-weight:700;letter-spacing:0;line-height:.96}.topbar-copy{margin:12px 0 0;color:var(--muted);font-size:1rem;line-height:1.6}.topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--target);border-radius:8px;border:1px solid transparent;font-weight:800;transition:transform var(--fast),border-color var(--fast),background var(--fast),box-shadow var(--fast)}.button:hover,.icon-button:hover{transform:translateY(-1px)}.button{padding:0 16px}.button.primary{color:var(--on-primary);background:var(--primary);box-shadow:0 14px 30px #1b53ee33}.button.primary:hover{background:var(--primary-strong)}.button.secondary{border-color:var(--border);color:var(--ink);background:var(--surface-glass);box-shadow:var(--shadow-soft)}.button.full{width:100%}.icon-button{width:42px;padding:0;border-color:var(--border);color:var(--ink);background:var(--surface-glass)}.workbench{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:minmax(0,1fr);gap:16px;flex:1;min-height:0}.stage-region,.inspector,.queue-strip{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,var(--surface-glass-strong),var(--surface-glass)),var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.stage-region{min-height:0;overflow:hidden}.empty-upload{position:relative;display:grid;place-items:center;align-content:center;gap:14px;height:100%;min-height:0;padding:26px;overflow:hidden;text-align:center}.empty-upload:before{content:"";position:absolute;inset:12%;z-index:-1;border:1px solid hsl(224 86% 52% / .08);border-radius:var(--radius);background:linear-gradient(90deg,transparent 0 28%,hsl(224 86% 52% / .1) 28% 28.2%,transparent 28.2% 60%,hsl(246 84% 62% / .08) 60% 60.2%,transparent 60.2%),linear-gradient(0deg,transparent 0 36%,hsl(224 86% 52% / .08) 36% 36.2%,transparent 36.2% 72%,hsl(246 84% 62% / .08) 72% 72.2%,transparent 72.2%)}.empty-upload h2{margin:8px 0 0;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.4rem);line-height:1}.empty-upload p{max-width:560px;margin:0;color:var(--muted);line-height:1.65}.upload-limits{color:var(--muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.upload-help-link{min-height:34px;padding:4px 8px;border:0;color:var(--primary);background:transparent;font-weight:800;text-decoration:underline;text-underline-offset:3px}.upload-help-link:hover{color:var(--primary-strong)}.device-expectation{display:flex;align-items:flex-start;gap:10px;width:min(100%,520px);padding:12px 14px;border:1px solid var(--border-accent);border-radius:10px;color:var(--muted);background:var(--primary-soft);text-align:left}.device-expectation svg{flex:0 0 auto;margin-top:2px;color:var(--primary)}.empty-upload .device-expectation p{display:grid;gap:3px;margin:0;font-size:12px;line-height:1.45}.device-expectation strong{color:var(--ink)}}@layer components{.preview-shell{display:flex;flex-direction:column;height:100%;min-height:0;padding:14px}.preview-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.preview-meta strong,.preview-meta span{display:block}.preview-meta strong{max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-meta span{color:var(--muted);font-size:12px}.preview-frame{position:relative;flex:1;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background-color:var(--checker-base);background-image:linear-gradient(45deg,rgba(100,116,139,.22) 25%,transparent 25%),linear-gradient(-45deg,rgba(100,116,139,.22) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(100,116,139,.22) 75%),linear-gradient(-45deg,transparent 75%,rgba(100,116,139,.22) 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px}.compare-view,.solo-image,.result-image,.original-image{width:100%;height:100%}.compare-view{position:absolute;inset:0;cursor:ew-resize;touch-action:pan-y;user-select:none}.compare-view.is-editing,.compare-view.is-studio{touch-action:none}.compare-view.is-editing{cursor:none}.edit-frame{position:absolute;z-index:2;border:1.5px dashed hsl(224 86% 52% / .6);border-radius:8px;box-shadow:0 0 0 9999px #0e15251a;pointer-events:none}.compare-view.is-studio{cursor:grab}.compare-view.is-studio:active{cursor:grabbing}.zoom-layer{position:absolute;inset:0;transform-origin:0 0}.zoom-controls{position:absolute;top:10px;right:10px;z-index:5;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px;color:var(--ink);background:var(--surface-glass-strong);box-shadow:var(--shadow-soft)}.zoom-controls button{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border:0;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer}.zoom-controls button:hover:not(:disabled){background:#1b53ee1a;color:var(--primary)}.zoom-controls button:disabled{opacity:.4;cursor:default}.zoom-controls .zoom-level{min-width:44px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.result-image,.original-image,.solo-image{position:absolute;inset:0;object-fit:contain;padding:18px}.original-image{filter:saturate(.96);pointer-events:none;user-select:none}.result-image{pointer-events:none;user-select:none}.compare-line{position:absolute;top:16px;bottom:16px;width:2px;background:var(--surface);box-shadow:0 0 0 1px #0e15252e,0 0 28px #1b53ee42;pointer-events:none}.compare-line span{position:absolute;top:50%;left:50%;width:34px;height:34px;border:2px solid var(--surface);border-radius:999px;background:var(--primary);transform:translate(-50%,-50%);box-shadow:0 10px 24px #0f172a38}.edit-brush-layer{position:absolute;inset:0;z-index:3;width:100%;height:100%;overflow:visible;pointer-events:none}.edit-stroke-preview{fill:none;stroke:#1b53ee6b;stroke-linecap:round;stroke-linejoin:round}.edit-stroke-preview.remove{stroke:#fb234e6b}.edit-stroke-preview.square{stroke-linecap:square;stroke-linejoin:miter}.edit-cursor{fill:#1b53ee1f;stroke:var(--primary);stroke-width:2}.edit-cursor.remove{fill:#fb234e1f;stroke:#fb234e}.processing-overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;align-content:center;gap:10px;padding:24px;background:#0f172a85;color:#fff;text-align:center;backdrop-filter:blur(5px);animation:overlay-fade-in .22s ease}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.processing-overlay.error{background:#7f1d1db3}.processing-overlay progress{width:min(280px,72%);height:6px;border:0;border-radius:0;background:#fff3}.processing-overlay progress::-webkit-progress-bar{background:#fff3}.processing-overlay progress::-webkit-progress-value,.processing-overlay progress::-moz-progress-bar{background:var(--primary)}.compare-control{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:12px;color:var(--muted);font-size:13px;font-weight:800}.compare-control input,.control-slider input{width:100%;accent-color:var(--primary)}}@layer components{.inspector{display:flex;flex-direction:column;gap:14px;min-height:0;padding:14px;overflow-x:hidden;overflow-y:auto}.panel-title{display:flex;align-items:center;gap:8px;margin-top:2px}.panel-title svg{color:var(--primary)}.panel-title h2{margin:0;font-size:15px}.muted-copy{margin:0;color:var(--muted);line-height:1.5}.preset-grid,.swatch-grid,.format-toggle{display:grid;gap:8px}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-option,.format-toggle button{min-height:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface-glass);color:var(--ink);font-size:13px;font-weight:800}.preset-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:visible}.preset-button{min-width:0;min-height:36px;padding:0 6px 0 10px;border:0;color:inherit;background:transparent;font-weight:800;text-align:center}.preset-option.selected,.format-toggle button.selected{border-color:var(--border-accent);background:var(--primary-soft);color:var(--primary-strong)}.control-slider{display:grid;gap:8px}.control-slider-header{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.control-slider label,.switch-row label{cursor:pointer}.control-slider strong{color:var(--ink)}.control-label{display:inline-flex;align-items:center;gap:6px;min-width:0}.help-tooltip{position:relative;display:inline-grid;place-items:center;flex-shrink:0}.help-trigger{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid hsl(224 86% 52% / .24);border-radius:999px;color:var(--primary);background:#1b53ee14}.help-trigger:focus-visible,.preset-button:focus-visible,.edit-toggle:focus-visible,.edit-mode-option button:focus-visible,.edit-actions button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.help-bubble{position:fixed;z-index:100;box-sizing:border-box;padding:9px 10px;border:1px solid hsl(224 86% 52% / .2);border-radius:8px;background:linear-gradient(135deg,#0d111bf5,#141929f5),#0d111b;box-shadow:0 18px 42px #0e152547;color:#f1f4f8;font-size:12px;font-weight:600;line-height:1.45;opacity:0;pointer-events:none;text-align:left;transform:translate(4px,-50%);visibility:hidden;overflow-wrap:break-word;transition:opacity .14s ease,transform .14s ease,visibility 0ms linear .14s}.help-bubble[data-placement=left]{transform:translate(-4px,-50%)}.help-bubble.is-visible{opacity:1;transform:translateY(-50%);visibility:visible;transition-delay:0ms}.switch-stack{display:grid;gap:8px}.switch-row{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;color:var(--ink);background:var(--surface-glass);font-size:13px;font-weight:700}.switch-row input{width:18px;height:18px;accent-color:var(--primary)}.switch-row>.control-label{flex:1}.edit-panel{display:grid;gap:10px}.edit-toggle,.edit-mode-option,.edit-actions button{min-height:38px;border:1px solid var(--border);border-radius:8px;background:var(--surface-glass);color:var(--ink);font-size:13px;font-weight:800}.edit-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px}.edit-toggle span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--primary);color:var(--on-primary);font-size:11px;line-height:1}.edit-toggle.active,.edit-mode-option.selected{border-color:var(--border-accent);background:var(--primary-soft);color:var(--primary-strong)}.edit-mode-grid,.edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.edit-hint{display:block;color:var(--muted);font-size:11px;font-weight:600;line-height:1.4}.studio-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.studio-tabs button{min-height:34px;padding:0 2px;border:1px solid var(--border);border-radius:8px;color:var(--ink);background:var(--surface-glass);font-size:12px;font-weight:700}.studio-tabs button.selected{border-color:var(--border-accent);background:var(--primary-soft);color:var(--primary-strong)}.studio-field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700}.studio-field input[type=color]{width:46px;height:30px;padding:2px;border:1px solid var(--border);border-radius:6px;background:transparent}.studio-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.studio-image-preview{display:flex;align-items:center;gap:10px}.studio-image-preview img{width:54px;height:54px;object-fit:cover;border:1px solid var(--border);border-radius:8px}.studio-image-preview strong{display:block;max-width:190px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.studio-link{padding:0;border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:700;text-decoration:underline}.studio-hint{margin:0;color:var(--muted);font-size:11px;font-weight:600;line-height:1.4}.studio-canvas-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0 0;color:var(--muted);font-size:12px;font-weight:700}.edit-mode-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-right:7px}.edit-mode-option button,.edit-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;border:0;color:inherit;background:transparent;font-weight:800}.edit-mode-option button{min-height:36px}.edit-actions button{padding:0 10px}.swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.swatch-grid button{display:grid;place-items:center;aspect-ratio:1;min-width:0;border:2px solid var(--border);border-radius:8px;background-color:var(--surface)}.swatch-grid button.selected{border-color:var(--ink);box-shadow:0 0 0 2px #1b53ee29}.checker-mini{width:100%;height:100%;border-radius:5px;background-image:linear-gradient(45deg,#cbd5e1 25%,transparent 25%),linear-gradient(-45deg,#cbd5e1 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cbd5e1 75%),linear-gradient(-45deg,transparent 75%,#cbd5e1 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.format-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}}@layer components{.queue-strip{display:flex;gap:10px;flex-shrink:0;padding:10px;overflow-x:auto;overflow-y:hidden;border-radius:var(--radius)}.queue-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;gap:8px;align-items:center;flex:0 0 250px;padding:8px;border:1px solid transparent;border-radius:8px}.queue-item.active{border-color:var(--border-accent);background:var(--primary-soft)}.queue-preview{position:relative;width:54px;height:54px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted)}.queue-preview img{width:100%;height:100%;object-fit:cover}.queue-name{min-width:0;border:0;background:transparent;text-align:left}.queue-name strong,.queue-name span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-name strong{color:var(--ink);font-size:13px}.queue-name span{color:var(--muted);font-size:12px}.notice{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--danger-border);border-radius:8px;background:var(--danger-soft);color:var(--danger)}.notice button{margin-left:auto;border:0;min-height:var(--target);padding-inline:10px;color:var(--ink);background:transparent;font-weight:800}.status-badge{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:var(--surface-glass);font-size:12px;font-weight:800;white-space:nowrap}.status-badge.complete{border-color:var(--border-accent);color:var(--success);background:var(--primary-soft)}.status-badge.failed{border-color:var(--danger-border);color:var(--danger);background:var(--danger-soft)}.status-dot{position:absolute;right:5px;bottom:5px;width:11px;height:11px;border:2px solid var(--surface);border-radius:999px;background:#f59e0b}.status-dot.complete{background:var(--success)}.status-dot.failed{background:var(--danger)}.status-dot.model,.status-dot.processing,.status-dot.refining{background:var(--primary)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}@layer components{.media-access-dialog{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:24px;overflow:auto;border:1px solid var(--border-accent);border-radius:18px;color:var(--ink);background:linear-gradient(145deg,var(--surface-glass-strong),var(--surface-glass)),var(--surface);box-shadow:0 26px 90px #05080f8c}.media-access-dialog::backdrop{background:#070a13b8;backdrop-filter:blur(7px)}.media-access-dialog__icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;border:1px solid var(--border-accent);border-radius:12px;color:var(--primary);background:var(--primary-soft)}.media-access-dialog__heading{display:grid;gap:7px}.media-access-dialog__heading h2{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,6vw,2.4rem);line-height:1.05}.media-access-dialog>p{margin:16px 0 0;color:var(--muted);line-height:1.6}.media-access-steps{display:grid;gap:10px;margin:18px 0;padding-left:24px;color:var(--ink);line-height:1.5}.media-access-steps li::marker{color:var(--primary);font-weight:900}.media-access-privacy{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:var(--surface-glass);font-size:13px;line-height:1.45}.media-access-privacy svg{flex:0 0 auto;color:var(--primary)}.media-access-dialog__actions{display:flex;gap:9px;margin-top:20px}.media-access-dialog__actions .button{flex:1}.media-access-dialog .media-access-browser-tip{display:flex;align-items:flex-start;gap:7px;margin-top:14px;font-size:12px}.media-access-browser-tip svg{flex:0 0 auto;margin-top:2px}@media(max-width:520px){.media-access-dialog{padding:20px;border-radius:14px}.media-access-dialog__actions{flex-direction:column}.media-access-dialog__actions .button{width:100%}}}@layer frame{.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 14px;border-radius:8px;color:var(--on-primary);background:var(--primary);font-size:12px;font-weight:800;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.theme-control{position:relative;isolation:isolate;display:inline-grid;grid-template-columns:repeat(2,1fr);align-items:center;flex:0 0 auto;width:76px;height:var(--target);padding:5px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface-muted);box-shadow:inset 0 1px 2px #0e152514,0 8px 22px #0e152514;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color var(--fast),background var(--fast),box-shadow var(--fast),transform .12s ease}.theme-control:hover{border-color:var(--border-accent);background:var(--primary-soft);box-shadow:inset 0 1px 2px #0e15250f,0 10px 26px var(--primary-soft-strong)}.theme-control:active{transform:scale(.96)}.theme-control__thumb{position:absolute;z-index:0;top:5px;left:5px;width:32px;height:32px;border:1px solid color-mix(in srgb,var(--border) 76%,transparent);border-radius:50%;background:var(--surface-glass-strong);box-shadow:0 1px 2px #0e15251f,0 4px 12px #0e15251a;transform:translate(0);transition:transform .42s cubic-bezier(.22,1.35,.36,1),background var(--fast),border-color var(--fast),box-shadow var(--fast)}.theme-control[data-active-theme=dark] .theme-control__thumb{transform:translate(34px)}.theme-control__icon{z-index:1;display:grid;place-items:center;width:32px;height:32px;opacity:.42;transform:scale(.76);transition:color .26s ease,opacity .26s ease,transform .42s cubic-bezier(.22,1.35,.36,1)}.theme-control__icon--sun{transform:rotate(-65deg) scale(.76)}.theme-control__icon--moon{transform:rotate(42deg) scale(.76)}.theme-control[data-active-theme=light] .theme-control__icon--sun{color:#c87908;opacity:1;transform:rotate(0) scale(1)}.theme-control[data-active-theme=dark] .theme-control__icon--moon{color:var(--primary);opacity:1;transform:rotate(0) scale(1)}.runtime-fallback{display:grid;align-content:center;justify-items:start;min-height:100vh;padding:clamp(28px,8vw,112px);background:radial-gradient(circle at 76% 8%,var(--primary-soft-strong),transparent 34rem),linear-gradient(180deg,var(--app-bg),var(--app-bg-end))}.runtime-fallback h1{max-width:14ch;margin:14px 0;font-family:var(--font-display);font-size:clamp(2.6rem,8vw,6.5rem);line-height:.94}.runtime-fallback p{max-width:58ch;margin:0 0 24px;color:var(--muted);line-height:1.65}.runtime-fallback button{min-height:var(--target);padding:0 18px;border:1px solid var(--primary);border-radius:8px;color:var(--on-primary);background:var(--primary);font-size:13px;font-weight:800}@media(max-width:720px){.theme-control{width:72px}.theme-control[data-active-theme=dark] .theme-control__thumb{transform:translate(30px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@layer responsive{@media(max-width:1100px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;min-height:100dvh}.sidebar{position:static;display:grid;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(160px,auto));align-items:center;height:auto;padding:12px 16px}.brand-row{margin-bottom:0}.privacy-note,.sidebar-legal,.sidebar-stat{display:none}.workspace{height:auto}.workbench{grid-template-columns:1fr;grid-template-rows:none;flex:none}.stage-region,.preview-shell,.empty-upload{min-height:520px}.preview-frame{min-height:380px}.inspector{max-height:none}}@media(max-width:720px){.sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar .brand-row{display:none}.tool-pill{justify-content:center;min-height:44px}.workspace{padding:12px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions,.button.secondary{width:100%}.button.secondary{flex:1}.stage-region,.empty-upload,.preview-shell{min-height:520px}.preview-frame{min-height:380px}.preview-meta{align-items:flex-start;flex-direction:column}.preview-meta strong{max-width:82vw}.preset-grid{grid-template-columns:1fr}.queue-strip{flex-direction:column}.queue-item{flex:none}.button,.icon-button,.preset-option,.preset-button,.format-toggle button,.edit-toggle,.edit-mode-option,.edit-mode-option button,.edit-actions button,.switch-row,.studio-tabs button{min-height:44px}.icon-button{width:44px}.help-trigger,.zoom-controls button{width:44px;min-width:44px;height:44px}.studio-field input[type=color]{width:44px;height:44px}}}
