:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-text-tertiary:#9ca3af;--color-text-info:#1d4ed8;--color-background-primary:#fff;--color-background-secondary:#f3f4f6;--color-background-info:#eff6ff;--color-border-primary:#d1d5db;--color-border-secondary:#e5e7eb;--color-border-tertiary:#f3f4f6;--color-border-info:#bfdbfe;--border-radius-md:8px;--border-radius-lg:12px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{height:100%;overflow:hidden}body{touch-action:manipulation;max-width:100%;height:100%;color:var(--color-text-primary);background:#fafafa;margin:0;overflow:hidden}#root{width:100%;height:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{background:#fafafa;flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.site-header{border-bottom:1px solid var(--color-border-secondary);background:var(--color-background-primary);flex-shrink:0}.site-header-inner,.site-footer-inner{padding:.85rem 1.25rem}.site-header-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-header-actions{align-items:center;gap:.75rem;display:flex}.site-credits-badge{border-radius:var(--border-radius-md);background:var(--color-background-secondary);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.site-brand,.site-footer-brand{color:inherit;align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.site-logo{width:32px;height:32px;display:block}.site-title{letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.site-footer{border-top:1px solid var(--color-border-secondary);background:var(--color-background-primary);flex-shrink:0}.site-footer-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-footer-logo{width:20px;height:20px;display:block}.site-footer-brand{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.site-footer-copy{color:var(--color-text-tertiary);margin:0;font-size:.75rem}.app{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;padding:.85rem 1.25rem 1rem;display:flex}.app-layout{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);background:var(--color-background-primary);flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:0;min-width:0;min-height:0;max-height:calc(100% - .5rem);display:grid;overflow:hidden}.app-column{flex-direction:column;gap:1.25rem;min-height:0;padding:1.25rem;display:flex;overflow-y:auto}.app-column:not(:last-child){border-right:1px solid var(--color-border-secondary)}.variables-section{flex-shrink:0}.variables-section .section-title,.template-section .section-title,.results-section .section-title{flex-shrink:0;margin-bottom:.75rem;font-size:1.125rem}.template-section .accordion-trigger-label,.variables-section .accordion-trigger-label{flex-shrink:0;font-size:1.125rem}.app-column-setup .generate-controls{flex-direction:column;flex-shrink:0;align-items:stretch;gap:12px}.app-column-setup .count-control{flex-wrap:wrap}.app-column-setup .count-control input[type=range]{flex:1;min-width:120px}.section.results-section{flex:1;min-height:0;overflow:hidden}.results-scroll{flex:1;min-height:0;padding-right:2px;overflow-y:auto}.results-sentinel{justify-content:center;align-items:center;min-height:48px;margin-top:8px;display:flex}.app-column-results .results-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.section{flex-direction:column;gap:.5rem;display:flex}.section-divider{border-top:1px solid var(--color-border-secondary);padding-top:1.25rem}.accordion-section{gap:0}.accordion-trigger{width:100%;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .75rem;padding:0;transition:margin-bottom .3s;display:flex}.accordion-trigger-label{margin:0;font-size:1.125rem;font-weight:500}.accordion-chevron{color:var(--color-text-tertiary);flex-shrink:0;transition:transform .3s}.accordion-chevron-expanded{transform:rotate(180deg)}.accordion-panel{min-height:0;transition:height .3s;overflow:hidden}.accordion-panel-inner{flex-direction:column;gap:.5rem;display:flex}.accordion-section:not(.accordion-section-open) .accordion-trigger{margin-bottom:0}@media (prefers-reduced-motion:reduce){.accordion-trigger,.accordion-chevron,.accordion-panel{transition:none}}.section-title{color:var(--color-text-secondary);margin:0 0 .75rem;font-size:.8125rem;font-weight:500}.label{color:var(--color-text-secondary);font-size:.8125rem}.label-muted{color:var(--color-text-tertiary)}.label-inline{color:var(--color-text-secondary);font-size:.8125rem}.help,.hint{color:var(--color-text-tertiary);margin:0;font-size:.75rem}.hint.price-estimate{margin-top:.35rem}.error{border-radius:var(--border-radius-md);color:#b91c1c;background:#fef2f2;margin:0;padding:.75rem 1rem;font-size:.875rem}.textarea{resize:vertical;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);background:var(--color-background-primary);width:100%;min-height:120px;padding:10px;font-size:.875rem}.textarea:focus,.select:focus,input[type=number]:focus{outline-offset:1px;outline:2px solid #93c5fd}.reference-row{flex-wrap:wrap;gap:8px;display:flex}.reference-thumb,.reference-add{border-radius:var(--border-radius-md);width:64px;height:64px;position:relative;overflow:hidden}.reference-thumb{border:1px solid var(--color-border-secondary);background:var(--color-background-secondary);position:relative}.reference-thumb img{object-fit:cover;width:100%;height:100%}.reference-remove{color:#fff;background:#0000008c;border:none;border-radius:50%;width:18px;height:18px;padding:0;font-size:12px;line-height:1;position:absolute;top:2px;right:2px}.reference-add{border:1px dashed var(--color-border-primary);color:var(--color-text-tertiary);background:0 0;font-size:1.25rem}.variable-list{flex-direction:column;gap:10px;display:flex}.variable-card{background:var(--color-background-primary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);flex-shrink:0;max-height:min(360px,45vh);padding:12px 14px;overflow-y:auto}.variable-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.variable-name{flex-shrink:0;font-size:.875rem;font-weight:500}.mode-badge{border-radius:var(--border-radius-md);white-space:nowrap;padding:2px 10px;font-size:.75rem}.mode-exactly_one{background:var(--color-background-info);color:var(--color-text-info)}.mode-any_of,.mode-at_least{background:var(--color-background-secondary);color:var(--color-text-secondary)}.variable-controls{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.variable-controls-fields{align-items:center;gap:8px;display:flex}.variable-mode-select{flex-shrink:0}.select{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);background:#fff;padding:4px 8px;font-size:.8125rem}.select-block{width:100%;padding:7px 10px}.image-settings{gap:.35rem}.image-settings .label+.select-block{margin-bottom:.65rem}.range-inputs,.inline-label{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:.75rem;display:flex}.range-inputs input,.inline-label input{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);width:56px;padding:4px 6px}.option-list{flex-wrap:wrap;gap:6px;display:flex}.option-chip{border-radius:var(--border-radius-md);border:1px solid var(--color-border-info);background:var(--color-background-info);color:var(--color-text-info);align-items:center;gap:4px;padding:5px 12px;font-size:.8125rem;display:inline-flex}.chip-remove{color:inherit;opacity:.7;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.option-add-input{border-radius:var(--border-radius-md);border:1px dashed var(--color-border-primary);color:var(--color-text-primary);background:0 0;min-width:120px;padding:5px 12px;font-size:.8125rem}.option-add-input::placeholder{color:var(--color-text-tertiary)}.option-add-input:focus{outline-offset:1px;border-style:solid;outline:2px solid #93c5fd}.btn-ghost,.btn-primary{border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary);color:var(--color-text-secondary);background:#fff;padding:7px 14px;font-size:.8125rem}.btn-sm{padding:5px 10px;font-size:.75rem}.btn-ghost:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-background-info);color:var(--color-text-info);border-color:var(--color-border-info);padding:9px 18px;font-weight:500}.generate-controls{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.count-control{align-items:center;gap:12px;display:flex}.count-control input[type=range]{width:160px}.count-value{min-width:28px;font-size:.875rem;font-weight:500}.results-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:.75rem;display:flex}.results-header .section-title{margin-bottom:0}.results-empty{text-align:center;color:var(--color-text-tertiary);border:1px dashed var(--color-border-secondary);border-radius:var(--border-radius-lg);background:var(--color-background-secondary);margin:0;padding:2rem 1rem;font-size:.8125rem}.results-count{color:var(--color-text-tertiary);font-weight:400}.results-actions{gap:6px;display:flex}.results-batches{flex-direction:column;gap:1.25rem;display:flex}.results-batch{flex-direction:column;gap:.5rem;display:flex}.results-batch-header{border-bottom:1px solid var(--color-border-secondary);justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:.25rem;display:flex}.results-batch-info{flex:1;min-width:0}.results-batch-header .btn-ghost{flex-shrink:0}.results-batch-title-row{align-items:baseline;gap:0;min-width:0;display:flex}.results-batch-title{color:var(--color-text-primary);min-width:0;margin:0;font-size:.75rem;font-weight:500;line-height:1.35}.results-batch-model-wrap{flex-shrink:0;position:relative}.results-batch-model{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.75rem;font-weight:500;line-height:1.35}.results-batch-model:hover{color:var(--color-text-info)}.results-batch-model:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #93c5fd}.results-batch-cost-popover{z-index:20;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary);min-width:148px;padding:8px 10px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0f172a1f}.results-batch-cost-row{color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:16px;margin:0;font-size:.6875rem;line-height:1.4;display:flex}.results-batch-cost-row+.results-batch-cost-row{margin-top:4px}.results-batch-cost-label{color:var(--color-text-tertiary)}.results-batch-title-copyable{text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;width:auto;max-width:100%;padding:0;display:block;overflow:hidden}.results-batch-title-copyable:hover{color:var(--color-text-info)}.results-batch-title-copyable:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.results-batch-meta{color:var(--color-text-tertiary);margin:0;font-size:.6875rem}.results-batch-error{color:#b91c1c}.results-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.result-card{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);overflow:hidden}.result-loading{border-style:dashed}.result-image{aspect-ratio:1;background:var(--color-background-secondary);justify-content:center;align-items:center;display:flex;position:relative}.result-image img{object-fit:cover;width:100%;height:100%}.result-image-previewable{cursor:zoom-in}.result-preview-popover{z-index:100;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);background:var(--color-background-primary);pointer-events:none;width:320px;height:320px;padding:6px;position:fixed;box-shadow:0 12px 32px #0f172a2e}.result-preview-popover img{object-fit:contain;border-radius:calc(var(--border-radius-lg) - 4px);width:100%;height:100%;display:block}.reference-uploading{background:#ffffffa6;position:absolute;inset:0}.reference-uploading:after{content:"";border:2px solid var(--color-border-primary);border-top-color:var(--color-text-info);border-radius:50%;width:18px;height:18px;margin:auto;animation:.8s linear infinite spin;position:absolute;inset:0}.placeholder-icon{border:2px solid var(--color-text-tertiary);opacity:.5;border-radius:4px;width:28px;height:28px}.result-checkbox{position:absolute;top:6px;left:6px}.result-external-link{width:24px;height:24px;color:var(--color-text-secondary);background:#ffffffeb;border-radius:4px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:6px;right:6px;box-shadow:0 1px 4px #0f172a2e}.result-external-link:hover{color:var(--color-text-primary);background:#fff}.result-cost-badge{color:#fff;opacity:0;pointer-events:none;background:#0f172ac7;border-radius:4px;padding:2px 6px;font-size:.625rem;font-weight:500;line-height:1.3;transition:opacity .15s;position:absolute;bottom:6px;left:6px}.result-image:hover .result-cost-badge{opacity:1}.result-label{color:var(--color-text-secondary);margin:0;padding:6px 8px;font-size:.6875rem;line-height:1.35}.spinner{border:2px solid var(--color-border-primary);border-top-color:var(--color-text-info);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1024px){.app{padding:.65rem .75rem .75rem}input,select,textarea{font-size:16px}.app-layout{grid-template-rows:minmax(0,42vh) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-column-setup{min-height:0;overflow-y:auto}.app-column-results{min-height:0;overflow:hidden}.app-column-results .results-section{flex:1;min-height:0}.app-column:not(:last-child){border-right:none;border-bottom:1px solid var(--color-border-secondary)}.app-column-results .results-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.variable-card{max-height:min(240px,32vh)}.variables-section.section-divider{padding-top:1rem}.variables-section{flex-shrink:1;min-height:0}}@media (width<=560px){.site-header-inner{padding-inline:.85rem}.site-footer-inner{flex-direction:column;align-items:flex-start;gap:.35rem;padding-inline:.85rem}.app{padding:.5rem .65rem .65rem}.app-column{gap:.85rem;padding:.85rem}.generate-controls{flex-direction:column;align-items:stretch}.count-control input[type=range]{width:100%;min-width:0}.results-header{flex-direction:column;align-items:flex-start}}.auth-loading{width:100%;height:100%;color:var(--color-text-secondary);place-items:center;display:grid}.auth-gate{background:#fafafa;place-items:center;width:100%;height:100%;padding:1.5rem;display:grid}.auth-gate-card{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);background:var(--color-background-primary);text-align:center;flex-direction:column;align-items:center;gap:.75rem;width:min(100%,24rem);padding:2rem;display:flex}.auth-gate-logo{width:48px;height:48px}.auth-gate-title{margin:0;font-size:1.5rem}.auth-gate-copy{color:var(--color-text-secondary);margin:0}.auth-gate-button{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);background:var(--color-background-primary);color:var(--color-text-primary);margin-top:.5rem;padding:.55rem 1rem}.auth-gate-button:hover,.auth-gate-button-secondary{background:var(--color-background-secondary)}.auth-gate-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;display:flex}.auth-gate-error{text-align:left;margin:0}.auth-loading-hint{text-align:center;max-width:22rem;line-height:1.45}.auth-debug{border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary);text-align:left;max-width:min(100%,22rem);margin-top:1rem;padding:.75rem}.auth-debug-title{color:var(--color-text-secondary);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.auth-debug-list{gap:.45rem;margin:0;display:grid}.auth-debug-list div{gap:.1rem;display:grid}.auth-debug-list dt{color:var(--color-text-tertiary);font-size:.6875rem}.auth-debug-list dd{color:var(--color-text-primary);word-break:break-all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}
