:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#fff;--color-surface:#f7f7f5;--color-surface-raised:#fff;--color-text:#171717;--color-text-muted:#6f6f6b;--color-border:#e5e5e1;--color-border-strong:#cdcdc7;--color-action:#111;--color-action-hover:#2a2a2a;--color-action-text:#fff;--color-focus:#2563eb;--color-danger:#b42318;--color-danger-hover:#931c13;--color-danger-soft:#fef3f2;--color-success:#067647;--shadow-composer:0 18px 55px #0000001f, 0 2px 8px #0000000f;--radius-small:8px;--radius-medium:14px;--radius-large:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--color-backdrop:#111;--color-shimmer:#ededea;--color-overlay:#1111118c;--font-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-title:1.625rem;--control-height:40px;--control-height-icon:44px;--header-height:64px;--content-max:1440px;--composer-max:960px;--dur-fast:.12s;--dur-base:.16s;--dur-slow:.22s;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}body{background:var(--color-canvas);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,p,figure{margin:0}h1,h2,h3{letter-spacing:-.011em;overflow-wrap:anywhere;min-width:0;font-style:normal;font-weight:600;line-height:1.2}button,input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-small);transition:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100dvh;display:flex}.app__main{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--space-6) var(--space-7);flex:1;margin:0 auto}.header{z-index:20;background:color-mix(in srgb, var(--color-canvas) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.header__inner{align-items:center;gap:var(--space-5);width:100%;max-width:var(--content-max);min-height:var(--header-height);padding:0 var(--space-6);margin:0 auto;display:flex}.header__wordmark{align-items:center;display:inline-flex}.header__wordmark img{width:auto;height:28px;display:block}.header__nav{align-items:center;gap:var(--space-1);display:flex}.header__spacer{flex:1}.header__user{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);min-width:0;display:flex}.header__email{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.tab{min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-small);color:var(--color-text-muted);font-size:var(--text-base);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.tab:hover{color:var(--color-text);background:var(--color-surface)}.tab[aria-current=page]{color:var(--color-text);background:var(--color-surface);font-weight:600}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-head__title{font-size:var(--text-title)}.page-head__lead{margin-top:var(--space-2);color:var(--color-text-muted);max-width:62ch}.library-toolbar{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);text-align:center;flex-direction:column;display:flex}.state__title{font-size:var(--text-lg)}.state__body{color:var(--color-text-muted);max-width:48ch}.state--error{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-danger-soft)}.state--error .state__title{color:var(--color-danger)}.state__mark{border-radius:var(--radius-large);border:1px solid var(--color-border);background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-canvas) 100%);width:96px;height:96px}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-small);background:var(--color-surface-raised);color:var(--color-text);font-size:var(--text-base);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:500;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--color-surface)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.button--primary{background:var(--color-action);border-color:var(--color-action);color:var(--color-action-text)}.button--primary:hover:not(:disabled){background:var(--color-action-hover);border-color:var(--color-action-hover)}.button--danger-text{color:var(--color-danger);background:0 0;border-color:#0000}.button--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-action-text)}.button--danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}@media (width<=900px){.app__main{padding:var(--space-5) var(--space-5) var(--space-6)}.header__inner{padding:0 var(--space-5)}}@media (width<=640px){.header__inner{gap:var(--space-2);padding:0 var(--space-4)}.header__wordmark img{height:22px}.header__nav{gap:0}.header__nav .tab{padding:0 var(--space-2);font-size:var(--text-sm)}.header__spacer{display:none}.header__email{max-width:10ch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{gap:var(--space-5);flex-direction:column;display:flex}.page--explore,.page--iterate{padding-bottom:calc(var(--space-7) * 4)}.iterate-stage{max-height:60vh;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-backdrop);justify-content:center;align-items:center;display:flex}.iterate-stage img{object-fit:contain;border-radius:var(--radius-small);max-width:100%;max-height:55vh}.iterate-results__list{gap:var(--space-3);margin:var(--space-2) 0 0;padding:0 0 var(--space-2);list-style:none;display:flex;overflow-x:auto}.iterate-results__item{gap:var(--space-2);flex-direction:column;flex:0 0 160px;display:flex}.iterate-results__item img,.iterate-results__placeholder{border:1px solid var(--color-border);border-radius:var(--radius-medium);object-fit:cover;width:160px;height:160px}.iterate-results__placeholder{background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;justify-content:center;align-items:center;display:flex}.iterate-results__meta{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.iterate-results__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.iterate-results__actions .button{padding:0 var(--space-2);font-size:var(--text-xs);flex:auto}.page__error{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-danger-soft);color:var(--color-danger);margin:0}.page__batch-summary{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);flex-wrap:wrap;display:flex}.page__batch-summary-text{margin:0}.page__batch-summary-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page__batch-summary-option{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;display:inline-flex}.page__more{padding-top:var(--space-3);justify-content:center;display:flex}.masonry{align-items:flex-start;gap:var(--space-5);display:flex}.masonry__column{gap:var(--space-5);flex-direction:column;flex:1 1 0;min-width:0;display:flex}.masonry__item{min-width:0}.card{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.card__media{border-radius:var(--radius-medium);position:relative;overflow:hidden}.card__link{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);width:100%;height:100%;transition:border-color var(--dur-base) var(--ease-out);display:block}.card__link:hover{border-color:var(--color-border-strong)}.card__link img,.card__link video{object-fit:cover;width:100%;height:100%}.card__actions{top:var(--space-2);right:var(--space-2);gap:var(--space-2);opacity:0;transition:opacity var(--dur-base) var(--ease-out);display:flex;position:absolute}.card__media:hover .card__actions,.card__media:focus-within .card__actions{opacity:1}.card__actions:has(:focus-visible){opacity:1}.card__download,.card__remix,.card__iterate,.card__delete{width:var(--control-height-icon);height:var(--control-height-icon);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.card__download:hover,.card__remix:hover,.card__iterate:hover{background:var(--color-surface)}.card__delete:hover{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.card__placeholder{height:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;justify-content:center;align-items:center;display:flex}.card__placeholder--running{background:linear-gradient(100deg, var(--color-surface) 30%, var(--color-shimmer) 50%, var(--color-surface) 70%) var(--color-surface);animation:shimmer 1.6s var(--ease-in-out) infinite;background-size:300% 100%}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.card__placeholder--running{background:var(--color-surface);animation:none}}.card--failed{justify-content:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-danger-soft);flex-direction:column;display:flex}.card__failed-body{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.card__failed-title{color:var(--color-danger);margin:0;font-weight:600}.card__failed-text{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.card__failed-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.card__meta{gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;margin:0;display:flex}.card__meta-private{align-items:center;gap:3px;display:inline-flex}.card__price{font-size:var(--text-xs);color:var(--color-text-muted);opacity:0;transition:opacity var(--dur-base) var(--ease-out);margin:0}.card:hover .card__price,.card:focus-within .card__price{opacity:1}.stack-card{gap:var(--space-2);min-width:0;color:inherit;flex-direction:column;text-decoration:none;display:flex}.stack-card__media{position:relative}.stack-card__media:before,.stack-card__media:after{content:"";z-index:0;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);position:absolute;inset:0}.stack-card__media:before{transform:translate(5px,5px)}.stack-card__media:after{background:var(--color-canvas);transform:translate(10px,10px)}.stack-card__frame{z-index:1;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);width:100%;height:100%;transition:border-color var(--dur-base) var(--ease-out);position:relative;overflow:hidden}.stack-card:hover .stack-card__frame{border-color:var(--color-border-strong)}.stack-card__frame img{object-fit:cover;width:100%;height:100%;display:block}.stack-card__badge{z-index:2;top:var(--space-2);right:var(--space-2);padding:3px var(--space-2);background:color-mix(in oklab, var(--color-canvas) 65%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-text);font-size:var(--text-xs);border-radius:999px;align-items:center;gap:4px;font-weight:600;display:inline-flex;position:absolute}.composer{left:50%;bottom:var(--space-5);z-index:30;width:min(var(--composer-max), calc(100vw - var(--space-6) * 2));position:fixed;transform:translate(-50%)}.composer__inner{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface-raised);box-shadow:var(--shadow-composer);flex-direction:column;display:flex}.composer__top-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.composer__modes{gap:var(--space-1);display:flex}.mode{align-items:center;gap:var(--space-2);white-space:nowrap;min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-small);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:500;display:inline-flex}.mode[aria-pressed=true]{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);font-weight:600}.mode--batch{margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--color-border);border-radius:0 var(--radius-small) var(--radius-small) 0}.composer__project-badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);color:var(--color-text);font-size:var(--text-xs);display:flex}.composer__project-badge-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.composer__project-badge-clear{width:1.5rem;height:1.5rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.composer__project-badge-clear:hover{background:var(--color-surface-raised);color:var(--color-text)}.composer__prompt-wrap{position:relative}.composer__collapsible{gap:var(--space-3);flex-direction:column;display:flex}.dropzone{align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-medium);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:flex}.dropzone:hover,.dropzone--over{border-color:var(--color-action);color:var(--color-text)}.dropzone--filled{color:var(--color-text);cursor:default;border-style:solid}.dropzone__label{font-weight:500}.dropzone__hint{color:var(--color-text-muted);font-size:var(--text-xs)}.dropzone__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.dropzone__size{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap}.dropzone__clear{width:1.5rem;height:1.5rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.dropzone__clear:hover{background:var(--color-shimmer);color:var(--color-text)}.composer__prompt{width:100%;min-height:calc(1.5em * 2 + var(--space-4));max-height:calc(1.5em * 6 + var(--space-4));padding:var(--space-3);padding-right:calc(var(--space-3) + 2rem);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-canvas);resize:vertical;font-size:var(--text-md);line-height:1.5}.composer__prompt::placeholder{color:var(--color-text-muted)}.composer__prompt-toolbar{top:var(--space-2);right:var(--space-2);align-items:center;gap:var(--space-2);display:flex;position:absolute}.composer__drop-overlay{z-index:60;padding:var(--space-6);background:color-mix(in oklab, var(--color-canvas) 85%, transparent);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.composer__drop-overlay-box{align-items:center;gap:var(--space-3);max-width:24rem;padding:var(--space-6);border:2px dashed var(--color-action);border-radius:var(--radius-large);background:var(--color-surface);color:var(--color-text);font-size:var(--text-md);text-align:center;flex-direction:column;font-weight:500;display:flex}.composer__counter{font-size:var(--text-xs);color:var(--color-text-muted);text-align:right;margin:0}.composer__counter--danger{color:var(--color-danger)}.composer__batch-total{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;margin:0}.composer__mode-hint{max-width:26rem;font-size:var(--text-xs);color:var(--color-text-muted);text-align:right;margin:0}.composer__progress{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.composer__progress-track{background:var(--color-shimmer);border-radius:999px;width:160px;height:4px;overflow:hidden}.composer__progress-fill{background:var(--color-action);height:100%;transition:width var(--dur-base) var(--ease-out);border-radius:999px}.composer__progress-track--indeterminate .composer__progress-fill{width:40%;animation:progress-sweep 1.4s var(--ease-in-out) infinite}@keyframes progress-sweep{0%{transform:translate(-110%)}to{transform:translate(260%)}}.composer__progress-text{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media (prefers-reduced-motion:reduce){.composer__progress-track--indeterminate .composer__progress-fill{opacity:.4;width:100%;animation:none}}.composer__enhance-row{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.composer__enhance-button{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;background:0 0}.composer__enhance-button:hover:not(:disabled){background:var(--color-surface)}.composer__enhance-button:disabled{opacity:.5;cursor:not-allowed}.composer__enhance-error{font-size:var(--text-xs);color:var(--color-danger);margin:0}.composer__reference-trigger{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-raised);width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.composer__reference-trigger:hover{color:var(--color-text);background:var(--color-surface)}.composer__reference-trigger[data-state=open]{color:var(--color-text);border-color:var(--color-border-strong)}.composer__reference-trigger--locked{cursor:default;color:var(--color-action);border-color:var(--color-action);background:var(--color-surface)}.composer__reference-trigger[aria-busy=true]{opacity:.5;animation:reference-trigger-pulse 1.2s var(--ease-in-out) infinite}@keyframes reference-trigger-pulse{0%,to{opacity:.5}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.composer__reference-trigger[aria-busy=true]{opacity:.7;animation:none}}.composer__reference-trigger-badge{background:var(--color-action);min-width:1rem;height:1rem;color:var(--color-action-text);border-radius:999px;justify-content:center;align-items:center;padding:0 3px;font-size:.625rem;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-6px}.composer__references-popover{gap:var(--space-2);flex-direction:column;display:flex}.composer__references-header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.composer__references-title{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.composer__references-upload{align-items:center;gap:var(--space-2);display:flex}.composer__references-label-input{width:10rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-canvas);font-size:var(--text-xs)}.composer__references-upload-button{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;background:0 0;display:inline-flex}.composer__references-upload-button:hover:not(:disabled){background:var(--color-surface-raised)}.composer__references-upload-button:disabled{opacity:.5;cursor:not-allowed}.composer__references-error{font-size:var(--text-xs);color:var(--color-danger);margin:0}.composer__references-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.composer__references-grid{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.composer__reference-item{position:relative}.composer__reference-thumb{border:2px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer;background:var(--color-canvas);width:4.5rem;height:4.5rem;padding:0;display:block;position:relative;overflow:hidden}.composer__reference-thumb img{object-fit:cover;width:100%;height:100%}.composer__reference-thumb[aria-pressed=true]{border-color:var(--color-action)}.composer__reference-thumb:disabled{opacity:.4;cursor:not-allowed}.composer__reference-label{padding:2px var(--space-1);color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#0009;font-size:.625rem;line-height:1.2;position:absolute;inset:auto 0 0;overflow:hidden}.composer__reference-delete{border:1px solid var(--color-border);background:var(--color-surface-raised);width:1.25rem;height:1.25rem;color:var(--color-danger);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-6px;right:-6px}.composer__reference-delete:disabled{opacity:.5;cursor:not-allowed}.composer__controls{justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.composer__settings{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.composer__action{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.pill{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-canvas);cursor:pointer;font-size:var(--text-sm);white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:inline-flex}.pill:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface)}.pill:active:not(:disabled){transform:translateY(1px)}.pill:disabled{opacity:.5;cursor:not-allowed}.pill--static{cursor:default}.pill__label{color:var(--color-text-muted)}.pill__value{font-weight:600}.icon-button{width:var(--control-height-icon);height:var(--control-height-icon);border-radius:var(--radius-small);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--color-surface);color:var(--color-text)}.icon-button[aria-pressed=true]{background:var(--color-action);color:var(--color-action-text)}.tooltip{z-index:60;max-width:220px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-small);background:var(--color-action);color:var(--color-action-text);font-size:var(--text-xs);box-shadow:var(--shadow-composer);animation:tooltip-in var(--dur-fast) var(--ease-out);line-height:1.3}.tooltip[data-state=closed]{animation:tooltip-out var(--dur-fast) var(--ease-in)}.tooltip__arrow{fill:var(--color-action)}@keyframes tooltip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip-out{0%{opacity:1}to{opacity:0}}.popover{z-index:55;width:min(320px, calc(100vw - var(--space-5) * 2));padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface-raised);box-shadow:var(--shadow-composer)}.popover--wide{width:min(420px, calc(100vw - var(--space-5) * 2))}.popover--info{width:min(320px, calc(100vw - var(--space-5) * 2));gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.popover__search{width:100%;min-height:var(--control-height);margin-bottom:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small)}.popover__list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.option{justify-content:space-between;align-items:flex-start;gap:var(--space-3);width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);text-align:left;cursor:pointer;font-size:var(--text-base);background:0 0;border:0;flex-shrink:0;display:flex}.option:hover,.option[aria-selected=true]{background:var(--color-surface)}.option__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.option__title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.option__label{font-weight:600}.option__hint,.option__price{font-size:var(--text-xs);color:var(--color-text-muted)}.badge{padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;font-weight:500;display:inline-flex}.badge--unavailable{border-style:dashed}.option--unavailable{opacity:.45;cursor:not-allowed}.option--unavailable:hover{background:0 0}.price{align-items:center;gap:var(--space-1);display:flex}.price__amount{text-align:right;flex-direction:column;display:flex}.price__value{font-size:var(--text-base);white-space:nowrap;font-weight:600}.price__unit{font-size:var(--text-xs);color:var(--color-text-muted)}.price--error{max-width:32ch;font-size:var(--text-xs);color:var(--color-danger);margin:0}.price-detail{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;margin:0;display:flex}.price-detail>div{justify-content:space-between;gap:var(--space-3);display:flex}.price-detail dt{color:var(--color-text-muted)}.price-detail dd{text-align:right;margin:0;font-weight:500}.price-detail__notes{padding-left:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.dialog__overlay{z-index:50;background:var(--color-overlay);position:fixed;inset:0}.dialog{inset:var(--space-5);z-index:51;border-radius:var(--radius-large);background:var(--color-surface-raised);box-shadow:var(--shadow-composer);grid-template-columns:minmax(0,1fr) 360px;display:grid;position:fixed;overflow:hidden}.dialog__stage{min-width:0;min-height:0;padding:var(--space-5);background:var(--color-backdrop);justify-content:center;align-items:center;display:flex}.dialog__stage img{object-fit:contain;max-width:100%;max-height:100%}.dialog__stage-empty{color:var(--color-action-text)}.dialog__panel{border-left:1px solid var(--color-border);background:var(--color-surface-raised);flex-direction:column;min-width:0;min-height:0;display:flex}.dialog__panel-scroll{gap:var(--space-5);padding:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.dialog__heading{font-size:var(--text-lg)}.dialog__section{gap:var(--space-2);flex-direction:column;display:flex}.dialog__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:600}.dialog__prompt{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.dialog__meta{gap:var(--space-3);font-size:var(--text-sm);flex-direction:column;margin:0;display:flex}.dialog__meta>div{justify-content:space-between;gap:var(--space-3);display:flex}.dialog__meta dt{color:var(--color-text-muted)}.dialog__meta dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:500}.dialog__actions{gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.dialog__actions .button{flex:auto}.dialog--stack{padding:0;display:block}.stack-gallery{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;width:100%;height:100%;display:flex;overflow:auto hidden}.stack-gallery__slide{scroll-snap-align:start;flex:0 0 100%;grid-template-columns:minmax(0,1fr) 360px;min-width:0;display:grid;overflow:hidden}.stack-gallery__meta{gap:var(--space-4);min-height:0;padding:var(--space-5);border-left:1px solid var(--color-border);background:var(--color-surface-raised);flex-direction:column;display:flex;overflow-y:auto}.stack-gallery__actions{gap:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.stack-gallery__actions .button{flex:auto}.stack-gallery__nav{z-index:2;width:var(--control-height-icon);height:var(--control-height-icon);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.stack-gallery__nav:hover:not(:disabled){background:var(--color-surface)}.stack-gallery__nav:disabled{opacity:.4;cursor:not-allowed}.stack-gallery__nav--prev{left:var(--space-4)}.stack-gallery__nav--next{right:calc(360px + var(--space-4))}.stack-gallery__counter{bottom:var(--space-4);z-index:2;padding:3px var(--space-3);background:color-mix(in oklab, var(--color-canvas) 65%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-text);font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:999px;margin:0;position:absolute;left:50%;transform:translate(-50%)}@media (width<=900px){.stack-gallery__slide{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.stack-gallery__meta{border-left:0;border-top:1px solid var(--color-border);max-height:45dvh}.stack-gallery__nav--next{right:var(--space-4)}}.confirm-dialog__overlay{z-index:60;background:var(--color-overlay);position:fixed;inset:0}.confirm-dialog{z-index:61;width:min(400px, calc(100vw - var(--space-5) * 2));gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-large);background:var(--color-surface-raised);box-shadow:var(--shadow-composer);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.confirm-dialog__title{font-size:var(--text-lg);font-weight:600}.confirm-dialog__body{color:var(--color-text-muted)}.confirm-dialog__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.dialog__close{top:var(--space-3);right:var(--space-3);width:var(--control-height-icon);height:var(--control-height-icon);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute}.stack-gallery__download{z-index:2;top:var(--space-3);left:var(--space-3);align-items:center;gap:var(--space-2);height:var(--control-height-icon);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-raised);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;font-weight:500;text-decoration:none;display:inline-flex;position:absolute}.stack-gallery__download:hover{background:var(--color-surface)}.stack-gallery__view-toggle{z-index:2;top:var(--space-3);right:calc(var(--control-height-icon) + var(--space-4));width:var(--control-height-icon);height:var(--control-height-icon);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute}.stack-gallery__view-toggle:hover{background:var(--color-surface)}.stack-gallery__view-toggle[aria-pressed=true]{border-color:var(--color-text);color:var(--color-text);background:var(--color-surface)}.stack-gallery__grid{gap:var(--space-3);width:100%;height:100%;padding:var(--space-6) var(--space-4) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid;overflow-y:auto}.stack-gallery__grid-item{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);cursor:pointer;min-width:0;padding:0;overflow:hidden}.stack-gallery__grid-item:hover{border-color:var(--color-text-muted)}.stack-gallery__grid-item img,.stack-gallery__grid-item video{object-fit:cover;width:100%;height:100%;display:block}.stack-gallery__grid-item-empty{height:100%;color:var(--color-text-muted);font-size:var(--text-xs);justify-content:center;align-items:center;display:flex}.dialog__close:hover{background:var(--color-surface)}.composer__projects-popover{gap:var(--space-2);flex-direction:column;display:flex}.composer__projects-manage{padding:var(--space-2) var(--space-3);border:0;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);text-align:left;cursor:pointer;background:0 0}.composer__projects-manage:hover{color:var(--color-text)}.library-toolbar__manage{min-height:var(--control-height);padding:0 var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-small);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;align-items:center;display:inline-flex}.library-toolbar__manage:hover{color:var(--color-text);border-color:var(--color-border-strong)}.project-manager{flex-direction:column;padding:0;display:flex}.project-manager__title{padding:var(--space-4) var(--space-6) var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);font-size:var(--text-lg);font-weight:600}.project-manager__body{flex:1;min-height:0;display:flex}.project-manager__list-pane{gap:var(--space-3);width:240px;padding:var(--space-4);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.project-manager__new{gap:var(--space-2);flex-direction:column;display:flex}.project-manager__project-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.project-manager__project-item{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);color:var(--color-text);font-size:var(--text-sm);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;display:block;overflow:hidden}.project-manager__project-item:hover{background:var(--color-surface)}.project-manager__project-item[aria-current=true]{background:var(--color-surface);font-weight:600}.project-manager__detail-pane{min-width:0;padding:var(--space-5);flex:1;overflow-y:auto}.project-manager__detail{gap:var(--space-4);flex-direction:column;display:flex}.project-manager__field{gap:var(--space-1);flex-direction:column;display:flex}.project-manager__field-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.project-manager__input{min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-canvas);font-size:var(--text-base)}.project-manager__textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-canvas);font-size:var(--text-base);resize:vertical;font-family:inherit}.project-manager__save-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.project-manager__confirm{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-danger);display:inline-flex}.project-manager__section{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.project-manager__section-title{font-size:var(--text-sm);font-weight:600}.project-manager__hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.project-manager__summary{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);font-size:var(--text-sm);white-space:pre-wrap;margin:0}.project-manager__files{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.project-manager__file{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);flex-wrap:wrap;display:flex}.project-manager__file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);flex:auto;overflow:hidden}.project-manager__file-size{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.project-manager__file-status{padding:2px var(--space-2);border-radius:var(--radius-small);font-size:var(--text-xs);white-space:nowrap;font-weight:500}.project-manager__file-status--processing{background:var(--color-surface);color:var(--color-text-muted)}.project-manager__file-status--ready{background:var(--color-surface);color:var(--color-success)}.project-manager__file-status--error{background:var(--color-danger-soft);color:var(--color-danger)}.project-manager__file-delete{border-radius:var(--radius-small);width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.project-manager__file-delete:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}.project-manager__file-delete:disabled{opacity:.5;cursor:not-allowed}.project-manager__file-error{font-size:var(--text-xs);color:var(--color-danger);flex-basis:100%}@media (width<=900px){.composer{width:100%;position:sticky;bottom:0;transform:none}.page--explore{padding-bottom:var(--space-5)}.dialog{border-radius:0;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);inset:0}.dialog__panel{border-left:0;border-top:1px solid var(--color-border);max-height:55dvh}.project-manager__body{flex-direction:column}.project-manager__list-pane{border-right:0;border-bottom:1px solid var(--color-border);width:100%;max-height:40dvh}}@media (width<=599px){.composer__controls{align-items:stretch}.composer__action{row-gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;width:100%;margin-left:0}.composer__button-text{display:none}.composer__top-row{gap:var(--space-1)}.composer__modes{gap:0}.mode,.mode--batch{padding:0 6px}.composer__enhance-row{gap:var(--space-1)}.composer__enhance-row .icon-button{width:32px;height:32px}.composer__enhance-button{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.composer__settings{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.pill__label{display:none}.pill{gap:var(--space-1);padding:0 var(--space-2);flex-shrink:0}.pill__value{text-overflow:ellipsis;white-space:nowrap;max-width:9ch;overflow:hidden}.composer__collapsible{opacity:0;visibility:hidden;max-height:0;transition:max-height var(--dur-slow) var(--ease-out), opacity var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-slow);overflow:hidden}.composer__prompt-toolbar{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-slow)}.composer__prompt{min-height:var(--control-height);max-height:var(--control-height);padding-right:var(--space-3);resize:none;transition:min-height var(--dur-slow) var(--ease-out), max-height var(--dur-slow) var(--ease-out), padding-right var(--dur-slow) var(--ease-out)}.composer__inner:focus-within .composer__collapsible,.composer__inner[data-force-expanded=true] .composer__collapsible{opacity:1;visibility:visible;max-height:320px;transition:max-height var(--dur-slow) var(--ease-out), opacity var(--dur-base) var(--ease-out), visibility 0s linear 0s}.composer__inner:has([data-state=open]) .composer__collapsible{opacity:1;visibility:visible;max-height:320px;transition:max-height var(--dur-slow) var(--ease-out), opacity var(--dur-base) var(--ease-out), visibility 0s linear 0s}.composer__inner:focus-within .composer__prompt-toolbar,.composer__inner[data-force-expanded=true] .composer__prompt-toolbar{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--dur-base) var(--ease-out), visibility 0s linear 0s}.composer__inner:has([data-state=open]) .composer__prompt-toolbar{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--dur-base) var(--ease-out), visibility 0s linear 0s}.composer__inner:focus-within .composer__prompt,.composer__inner[data-force-expanded=true] .composer__prompt{min-height:calc(1.5em * 2 + var(--space-4));max-height:calc(1.5em * 6 + var(--space-4));padding-right:calc(var(--space-3) + 2rem)}.composer__inner:has([data-state=open]) .composer__prompt{min-height:calc(1.5em * 2 + var(--space-4));max-height:calc(1.5em * 6 + var(--space-4));padding-right:calc(var(--space-3) + 2rem)}}.auth-page{min-height:100dvh;padding:var(--space-5);background:var(--color-surface);place-items:center;display:grid}.auth-card{gap:var(--space-4);width:min(100%,420px);padding:var(--space-6);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-large);display:grid}.auth-card__title{font-size:var(--text-title)}.auth-card__lede,.auth-card__links{color:var(--color-text-muted);font-size:var(--text-sm)}.auth-card__links{gap:var(--space-3);flex-wrap:wrap;display:flex}.auth-card__links a{color:var(--color-text)}.auth-card__error{color:var(--color-danger);background:var(--color-danger-soft);padding:var(--space-3);border-radius:var(--radius-small)}.auth-card__success{color:var(--color-success)}.auth-field{gap:var(--space-2);font-size:var(--text-sm);display:grid}.auth-field input{min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-small);background:var(--color-canvas)}.auth-card__submit,.header__signout{min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-small);background:var(--color-action);color:var(--color-action-text);cursor:pointer;border:0}.auth-card__submit:hover,.header__signout:hover{background:var(--color-action-hover)}.auth-card__submit:disabled{opacity:.6;cursor:not-allowed}.header__user{align-items:center;gap:var(--space-3);display:flex}.header__signout{min-height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}
