@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-primary:#0a0a0b;--bg-secondary:#111113;--bg-tertiary:#18181b;--bg-elevated:#1c1c1f;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-tertiary:#8b8b95;--text-muted:#85858f;--accent-blue:#ffffffe6;--accent-blue-hover:#fff;--accent-blue-subtle:#ffffff14;--accent-blue-border:#fff3;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff26;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-xl:0 16px 48px #0009;--sidebar-width:320px;--input-height:52px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--interactive-transition-properties:color, background-color, border-color, box-shadow, opacity, transform, width, height, left, right, top, bottom;--transition-easing:cubic-bezier(.4, 0, .2, 1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*{scrollbar-width:thin;scrollbar-color:var(--border-default) var(--bg-primary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{flex-direction:column;width:100%;height:100dvh;max-height:100dvh;display:flex}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{outline-offset:2px;color:inherit;background:0 0;border:none;outline:2px solid #0000;font-family:inherit}.immersive-app{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(button,a[href],input,textarea,select,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline-offset:3px;outline:2px solid #fffffff2;box-shadow:0 0 0 5px #ffffff24}.visual-sidebar{z-index:100;width:var(--sidebar-width);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transition:transform .24s var(--transition-easing);background:#121214;border-right:1px solid #2a2a2f;flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0;transform:translate(-100%)}.visual-sidebar.open{transform:translate(0)}.sidebar-backdrop{display:none}.sidebar-header{border-bottom:1px solid #2a2a2f;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:16px 18px;display:flex}.sidebar-heading{gap:3px;min-width:0;display:grid}.sidebar-heading strong{color:var(--text-primary);font-size:14px;font-weight:650}.sidebar-heading span{color:#8f8f98;font-size:10px;line-height:1.35}.back-to-chat{height:30px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 8px;font-size:11px;display:inline-flex}.back-to-chat:hover{color:var(--text-primary);background:#ffffff0e}.back-to-chat svg{width:13px;height:13px}.sidebar-body{overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.sidebar-section{border-bottom:1px solid #252529;gap:14px;padding:18px;display:grid}.section-title{color:#9a9aa3;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:700}.selection-indicator{background:#17171a;border:1px solid #303035;border-radius:10px;align-items:center;gap:9px;min-width:0;padding:10px;display:flex}.selection-tag{color:#a8c7f0;background:#202a36;border-radius:5px;flex:none;padding:3px 6px;font-family:SF Mono,Consolas,monospace;font-size:10px}.selection-name{color:#b4b4bb;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;line-height:1.35;overflow:hidden}.visual-empty-state{background:#17171a;border:1px solid #303035;border-radius:10px;gap:5px;padding:13px 14px;display:grid}.visual-empty-state strong{color:#d2d2d7;font-size:11px}.visual-empty-state span{color:#909099;font-size:10px;line-height:1.45}.visual-tool-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.quick-actions{gap:5px;display:flex}.quick-btn,.outline-toggle{color:#a5a5ad;background:0 0;border:1px solid #35353a;border-radius:8px;justify-content:center;align-items:center;min-height:30px;padding:0 9px;font-size:10px;font-weight:550;display:inline-flex}.quick-btn:hover:not(:disabled),.outline-toggle:hover{color:var(--text-primary);border-color:#505057}.quick-btn:disabled{opacity:.38;cursor:not-allowed}.outline-toggle.active{color:#d6e8ff;background:#243245;border-color:#496889}.property-group,.property-subsection{gap:8px;min-width:0;display:grid}.property-subsection{gap:10px}.property-subtitle{color:#b0b0b7;font-size:11px;font-weight:600}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.property-label{color:#a0a0a8;font-size:10px;font-weight:550}.visual-ai-scope,.visual-ai-hint{color:#85858e;margin:0;font-size:10px;line-height:1.45}.visual-ai-scope{color:#b0b0b7}.visual-ai-feedback{color:#b6b6bd;background:#17171a;border:1px solid #303035;border-radius:8px;padding:9px 10px;font-size:10px;line-height:1.45}.visual-ai-feedback.success{color:#bfe3ca;border-color:#31543d}.visual-ai-feedback.error{color:#e9b0b0;border-color:#5a3538}.property-input,.property-textarea{width:100%;color:var(--text-primary);font:inherit;background:#17171a;border:1px solid #303035;border-radius:9px;font-size:12px}.property-input{height:36px;padding:0 10px}.property-textarea{resize:vertical;min-height:82px;padding:10px 11px;line-height:1.45}.property-textarea.compact{min-height:68px}.property-input:focus,.property-textarea:focus{border-color:#505057;outline:0}.property-input::placeholder,.property-textarea::placeholder{color:#75757e}.color-input-row{align-items:center;gap:7px;min-width:0;display:flex}.color-swatch{background:#17171a;border:1px solid #303035;border-radius:9px;flex:none;width:36px;height:36px;overflow:hidden}.color-swatch input[type=color]{cursor:pointer;border:0;width:150%;height:150%;margin:-25%}.color-input-row .property-input{min-width:0}.range-row{align-items:center;gap:8px;min-height:36px;display:flex}.property-range{accent-color:#c8c8cd;width:100%;min-width:0}.range-row output{color:#a0a0a8;text-align:right;flex:none;width:32px;font-size:10px}.sidebar-btn{color:#111114;background:#ededed;border:1px solid #ededed;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:11px;font-weight:650;display:inline-flex}.sidebar-btn:hover:not(:disabled){background:#fff;border-color:#fff}.sidebar-btn:disabled{opacity:.42;cursor:not-allowed}.sidebar-btn.secondary{color:var(--text-secondary);background:0 0;border-color:#35353a}.sidebar-btn.secondary:hover:not(:disabled){color:var(--text-primary);background:#ffffff0a;border-color:#505057}.sidebar-actions{padding:18px}.sidebar-btn.danger{color:#e9aaaa;background:0 0;border-color:#543536;width:100%}.sidebar-btn.danger:hover:not(:disabled){color:#ffd0d0;background:#b2414114;border-color:#714142}@media (width<=1024px){.sidebar-backdrop{z-index:99;opacity:0;pointer-events:none;transition:opacity var(--transition-base);background:#0000008c;display:block;position:fixed;inset:0}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}}.stage-container{transition:margin-left var(--transition-slow);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.stage-container.with-sidebar{margin-left:var(--sidebar-width)}.empty-state{text-align:center;z-index:1;opacity:1;transition-property:var(--interactive-transition-properties);transition-duration:.6s;transition-timing-function:var(--transition-easing);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0;transform:scale(1)}.empty-state.fade-out{opacity:0;pointer-events:none;transform:scale(1.05)}.empty-content{flex-direction:column;align-items:center;gap:20px;display:flex}.empty-content h1{letter-spacing:-.04em;background:linear-gradient(#fff 0%,#a1a1aa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,10vw,5rem);font-weight:700;animation:.8s ease-out fadeInUp}.empty-content p{color:var(--text-secondary);max-width:400px;font-size:1.1rem;animation:.8s ease-out .1s backwards fadeInUp}.surprise-button{color:var(--text-primary);border-radius:var(--radius-full);transition-property:var(--interactive-transition-properties);transition-duration:.2s;transition-timing-function:var(--transition-easing);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;gap:10px;padding:14px 28px;font-size:14px;font-weight:500;animation:.8s ease-out .2s backwards fadeInUp;display:flex}.surprise-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff3;transform:translateY(-3px);box-shadow:0 8px 24px #0000004d}.surprise-button:active:not(:disabled){transform:translateY(-1px)}.surprise-button:disabled{opacity:.6;cursor:not-allowed}.surprise-button svg{width:16px;height:16px;color:var(--text-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.api-key-prompt{flex-direction:column;align-items:center;gap:16px;animation:.8s ease-out .2s backwards fadeInUp;display:flex}.api-key-prompt-text{color:var(--text-secondary);margin:0;font-size:14px}.api-key-prompt-btn{color:var(--text-primary);border-radius:var(--radius-full);transition-property:var(--interactive-transition-properties);transition-duration:.2s;transition-timing-function:var(--transition-easing);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;gap:8px;padding:12px 24px;font-size:13px;font-weight:500;display:flex}.api-key-prompt-btn:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.api-key-prompt-btn svg{width:14px;height:14px;color:var(--text-secondary)}.api-key-prompt-note{color:var(--text-muted);font-size:12px}.session-group{justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.session-group.active-session{opacity:1;z-index:10}.session-group.past-session,.session-group.future-session{opacity:0;pointer-events:none}.artifact-grid{grid-template-columns:repeat(3,1fr);gap:20px;width:95%;max-width:1400px;height:70vh;max-height:700px;padding:20px;display:grid}.artifact-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.3s;transition-timing-function:var(--transition-easing);flex-direction:column;animation:.5s ease-out backwards cardEnter;display:flex;position:relative;overflow:hidden}.artifact-grid .artifact-card:first-child{animation-delay:50ms}.artifact-grid .artifact-card:nth-child(2){animation-delay:.1s}.artifact-grid .artifact-card:nth-child(3){animation-delay:.15s}.artifact-card:hover{border-color:var(--border-strong)}.artifact-card:active{border-color:var(--text-muted)}.artifact-open-hit{z-index:2;border-radius:inherit;background:0 0;position:absolute;inset:0}.artifact-open-hit:focus-visible{outline-offset:-3px}.artifact-header{z-index:3;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:relative}.artifact-regenerate-btn{border:1px solid var(--border-default);min-height:28px;color:var(--text-tertiary);background:var(--bg-secondary);border-radius:7px;padding:0 9px;font-size:10px;font-weight:600}.artifact-regenerate-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.artifact-style-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.artifact-card-inner{background:var(--bg-primary);flex:1;min-height:280px;position:relative;overflow:hidden}.preview-overflow-warning{z-index:4;color:#fbbf24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1f1607eb;border:1px solid #fbbf2459;border-radius:8px;align-items:center;gap:7px;min-height:28px;padding:0 9px;font-size:10px;font-weight:600;display:flex;position:absolute;bottom:10px;right:10px}.preview-overflow-warning button{border-radius:var(--radius-full);color:inherit;font:inherit;background:#ffffff1a;padding:3px 7px}.artifact-error{z-index:3;color:var(--text-secondary);text-align:center;background:var(--bg-secondary);place-content:center;gap:8px;padding:32px;display:grid;position:absolute;inset:0}.artifact-error strong{color:var(--text-primary);font-size:14px}.artifact-error span{max-width:36ch;font-size:13px;line-height:1.5}.artifact-error small{color:var(--text-muted);font-size:11px}.artifact-retry-btn{border-radius:var(--radius-full);min-height:36px;color:var(--text-primary);background:#ffffff14;border:1px solid #ffffff2e;justify-self:center;margin-top:6px;padding:0 14px;font-size:12px;font-weight:600}.artifact-retry-btn:hover{background:#ffffff24;border-color:#ffffff4d}.artifact-iframe{pointer-events:none;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.stage-container.mode-focus .artifact-card{opacity:0;pointer-events:none;transition-property:var(--interactive-transition-properties);transition-duration:.4s;transition-timing-function:var(--transition-easing);transform:scale(.9)}.stage-container.mode-focus .artifact-card,.stage-container.mode-focus .artifact-card.focused{transition:none!important}.stage-container.mode-focus .artifact-card.focused{opacity:1;pointer-events:auto;z-index:20;cursor:default;width:min(90vw,1100px);height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;position:absolute;top:68px;bottom:160px;left:50%;transform:translate(-50%)}.stage-container.mode-focus .artifact-card.focused .artifact-card-inner{background:0 0}.stage-container.mode-focus.with-sidebar .artifact-card.focused{width:min(90%,1000px);bottom:20px;left:50%}.stage-container.mode-focus .artifact-card.focused .artifact-header{display:none}.stage-container.mode-focus .artifact-card.focused .artifact-iframe{pointer-events:auto}.generating-indicator{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);color:var(--text-secondary);background:#000c;align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.generating-pulse{background:var(--text-secondary);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite generating-pulse}@keyframes generating-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.artifact-card.generating{border-color:var(--accent-blue-border)}.generating-overlay{background:var(--bg-primary);z-index:10;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.code-stream-preview{color:#4ade80;white-space:pre-wrap;word-break:break-all;max-height:100%;padding:16px;font-family:SF Mono,Consolas,monospace;font-size:11px;line-height:1.5;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 30%);mask-image:linear-gradient(#0000,#000 30%)}.element-toolbar{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;opacity:0;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);pointer-events:none;align-items:center;gap:4px;padding:6px;display:flex;position:fixed;transform:translateY(8px)}.element-toolbar.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.toolbar-input{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:180px;height:32px;color:var(--text-primary);padding:0 10px;font-size:12px}.toolbar-input::placeholder{color:var(--text-muted)}.toolbar-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;justify-content:center;align-items:center;display:flex}.toolbar-btn:hover{background:var(--border-subtle);color:var(--text-primary)}.toolbar-btn.danger:hover{color:#f87171;background:#ef44441a}.toolbar-divider{background:var(--border-default);width:1px;height:20px;margin:0 4px}.viewport-selector{position:relative}.viewport-menu{z-index:140;border-radius:var(--radius-lg);background:#18181b;border:1px solid #ffffff14;width:min(220px,100vw - 24px);min-width:0;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:auto;right:0;box-shadow:0 12px 28px #00000052}.viewport-menu-item{min-height:38px;color:var(--text-secondary);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:0 10px;display:grid}.viewport-menu-item:hover,.viewport-menu-item[aria-checked=true]{color:var(--text-primary);background:#ffffff12}.viewport-menu-item span:first-child{font-size:12px;font-weight:600}.viewport-menu-item small{color:var(--text-tertiary);font-size:10px}.viewport-check{color:#7ee2a8;text-align:center;font-size:12px}.bottom-bar{z-index:100;width:100%;max-width:760px;transition-property:var(--interactive-transition-properties);transition-duration:.3s;transition-timing-function:var(--transition-easing);padding:0 24px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.stage-container.with-sidebar .bottom-bar{left:calc(50% + var(--sidebar-width) / 2)}.bottom-bar.is-visual-mode{display:none}.input-container{transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:#17171a;border:1px solid #303035;border-radius:18px;gap:6px;padding:10px;display:grid;box-shadow:0 12px 30px #00000047}.input-container:focus-within{border-color:#4a4a50}.input-container.loading{border-color:#38383e}.composer-primary{align-items:flex-end;gap:10px;min-height:46px;display:flex}.composer-toolbar{border-top:1px solid #fff1;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding-top:7px;display:flex}.composer-tools{align-items:center;gap:4px;min-width:0;display:flex}.composer-key-hint{color:#888891;text-align:right;flex:0 auto;font-size:10px;line-height:1.3}.composer-context{color:#92929b;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;line-height:1.3;overflow:hidden}.visual-edit-btn{height:30px;color:var(--text-secondary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-size:11px;display:inline-flex}.visual-edit-btn:hover{color:var(--text-primary);background:#ffffff0e}.visual-edit-btn.active{color:var(--text-primary);background:#ffffff14;border-color:#ffffff1a}.visual-edit-btn svg{width:16px;height:16px}.input-field-wrap{flex:1;min-width:0;max-height:120px;overflow:hidden}.input-field{resize:none;width:100%;min-height:46px;max-height:120px;font:inherit;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-color:#4a4a50 transparent;scrollbar-width:thin;background:0 0;border:0;padding:12px 10px 8px;font-size:14px;line-height:1.5;display:block;overflow-y:auto}.input-field:focus,.input-field:focus-visible{box-shadow:none;outline:0}.input-field::placeholder{color:#777780;opacity:1}.loading-indicator{min-height:46px;color:var(--text-secondary);align-items:center;gap:10px;max-height:84px;padding:8px 10px;font-size:13px;display:flex;position:relative;overflow:hidden}.loading-text{overflow-wrap:anywhere;scrollbar-color:#4a4a50 transparent;scrollbar-width:thin;max-height:60px;padding-right:4px;line-height:1.45;animation:.3s ease-out slideInFromLeft;display:block;overflow:hidden auto}.loading-dots{gap:4px;display:flex}.loading-dots span{background:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite loadingDot}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.send-btn{color:#101012;cursor:pointer;width:36px;height:36px;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:#ededed;border:1px solid #ededed;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin:5px;display:flex}.send-btn:hover:not(:disabled){background:#fff;border-color:#fff;transform:translateY(-1px)}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{color:#66666e;cursor:not-allowed;background:#29292d;border-color:#323237}.send-btn svg{width:16px;height:16px}.attachment-tray{color:var(--text-secondary);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#18181be6;border:1px solid #ffffff1a;border-radius:14px;gap:7px;margin:0 10px 8px;padding:9px;display:grid;box-shadow:0 8px 24px #0000003d}.attachment-tray-summary{color:var(--text-tertiary);padding:0 2px;font-size:11px}.attachment-tray-list{scrollbar-width:thin;flex-wrap:wrap;gap:7px;max-height:126px;padding-bottom:2px;display:flex;overflow-y:auto}.attachment-item{background:#ffffff09;border:1px solid #ffffff14;border-radius:10px;flex:none;grid-template-columns:42px minmax(92px,138px) 24px;align-items:center;gap:7px;padding:5px;display:grid}.attachment-preview{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:7px;width:42px;height:42px;padding:0;overflow:hidden}.attachment-preview img{object-fit:cover;width:100%;height:100%;display:block}.attachment-details{gap:4px;min-width:0;display:grid}.attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.attachment-details select{width:100%;height:22px;color:var(--text-tertiary);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:5px;padding:0 4px;font-size:10px}.attachment-remove{width:24px;height:24px;color:var(--text-tertiary);background:0 0;border-radius:6px;font-size:17px}.attachment-remove:hover{color:var(--text-primary);background:#ffffff14}.attach-btn{height:30px;color:var(--text-tertiary);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-size:11px;display:inline-flex}.attach-btn:hover{color:var(--text-primary);background:#ffffff0e}.attach-btn svg{width:14px;height:14px}.attach-btn input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.action-menu{z-index:120;opacity:0;transition-property:var(--interactive-transition-properties);transition-duration:.2s;transition-timing-function:var(--transition-easing);pointer-events:none;-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);background:#18181bd9;border:1px solid #ffffff14;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;top:16px;right:16px;transform:translateY(-8px);box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff0a}.stage-container.mode-focus .action-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.action-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-tertiary);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.action-btn:hover{color:var(--text-primary);background:#ffffff14}.action-btn.active{color:var(--text-primary);background:#ffffff26}.action-btn svg{width:16px;height:16px}.action-dropdown{position:relative}.dropdown-trigger{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);height:40px;color:var(--text-primary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;display:flex}.dropdown-trigger:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.dropdown-menu{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);opacity:0;pointer-events:none;min-width:200px;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);transform-origin:100% 0;background:#18181bf2;border:1px solid #ffffff1a;padding:6px;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-8px)scale(.95);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d}.dropdown-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.dropdown-separator{background:#ffffff14;height:1px;margin:5px 8px}.dropdown-item{width:100%;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.dropdown-item:hover{color:var(--text-primary);background:#ffffff14}.dropdown-item:active{background:#ffffff1f}.dropdown-item:disabled{opacity:.45;cursor:not-allowed}.dropdown-item svg{opacity:.7;width:15px;height:15px}.dropdown-item:hover svg{opacity:1}.dropdown-section{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 12px 4px;font-size:10px;font-weight:600}.dropdown-divider{background:var(--border-subtle);height:1px;margin:6px 0}.theme-dropdown{position:relative}.theme-trigger{border-radius:var(--radius-full);height:38px;color:var(--text-secondary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;display:flex}.theme-trigger:hover:not(:disabled){color:var(--text-primary);background:#ffffff14;border-color:#ffffff26}.theme-trigger:disabled{opacity:.5;cursor:not-allowed}.theme-trigger svg{opacity:.7;width:14px;height:14px}.theme-trigger-colors{gap:3px;display:flex}.theme-trigger-colors .theme-color-dot{width:10px;height:10px;box-shadow:0 0 4px}.theme-menu{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);opacity:0;pointer-events:none;width:260px;max-height:400px;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);transform-origin:0 100%;z-index:200;background:#18181bf2;border:1px solid #ffffff1a;padding:8px;position:absolute;bottom:calc(100% + 12px);left:0;overflow-y:auto;transform:translateY(8px)scale(.95);box-shadow:0 12px 40px #0006,inset 0 1px #ffffff0d}.theme-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.theme-menu-header{padding:4px 4px 8px}.theme-search{border-radius:var(--radius-md);width:100%;height:34px;color:var(--text-primary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:#ffffff0d;border:1px solid #ffffff14;padding:0 12px;font-size:12px}.theme-search:focus{outline-offset:2px;border-color:var(--accent-blue);background:#ffffff14;outline:2px solid #0000}.theme-search::placeholder{color:var(--text-muted)}.theme-menu-section{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:12px 8px 6px;font-size:10px;font-weight:600}.theme-item{border-radius:var(--radius-md);width:100%;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px;display:flex}.theme-item:hover{background:#ffffff0f}.theme-item.active{background:#3b82f626;box-shadow:inset 0 0 0 1px #3b82f64d}.theme-item.active .theme-name{color:var(--accent-blue)}.theme-name{color:var(--text-primary);font-size:13px;font-weight:450}.theme-colors{gap:4px;display:flex}.theme-color-dot{border:2px solid #0003;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0003}.action-divider{background:var(--border-subtle);width:1px;height:24px;margin:0 2px}.style-chips-panel{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);z-index:120;background:#18181bf2;border:1px solid #ffffff1a;width:340px;animation:.2s cubic-bezier(.4,0,.2,1) slideDown;position:absolute;top:70px;right:16px;box-shadow:0 12px 40px #0006,inset 0 1px #ffffff0d}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.style-chips-header{color:var(--text-primary);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.style-chips-close{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:#ffffff0f;border:none;justify-content:center;align-items:center;font-size:16px;display:flex}.style-chips-close:hover{color:var(--text-primary);background:#ffffff1f}.style-chips-grid{flex-wrap:wrap;gap:8px;padding:16px;display:flex}.style-chip{border-radius:var(--radius-full);height:34px;color:var(--text-secondary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;justify-content:center;align-items:center;padding:0 16px;font-size:12px;font-weight:500;display:flex}.style-chip:hover:not(:disabled){color:var(--text-primary);background:#ffffff1a;border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.style-chip:disabled{opacity:.5;cursor:not-allowed}.export-dropdown{position:relative}.export-menu{min-width:220px;max-height:70vh;overflow-y:auto}.dropdown-submenu{position:relative}.dropdown-submenu-trigger{justify-content:space-between;align-items:center;width:100%;display:flex}.submenu-arrow{opacity:.5;margin-left:auto;padding-left:8px;font-size:14px}.dropdown-submenu-content{border-left:1px solid #ffffff14;margin-top:2px;margin-left:12px;padding-left:24px;display:none}.dropdown-submenu-content.open{display:block}.dropdown-submenu-content .dropdown-item{padding:8px 12px;font-size:12px}.header-btn.has-key{color:var(--text-primary);border-color:#ffffff26}.header-btn.needs-key{color:var(--text-secondary)}.input-options-menu{position:static}.input-options-btn{height:30px;color:var(--text-tertiary);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-size:11px;display:inline-flex}.input-options-btn:hover:not(:disabled),.input-options-btn.active{color:var(--text-primary);background:#ffffff0e}.input-options-btn.has-theme{color:var(--text-primary)}.selected-theme-icon{display:inline-flex}.input-options-btn:disabled{opacity:.5;cursor:not-allowed}.input-options-dropdown{z-index:200;background:#19191c;border:1px solid #35353a;border-radius:14px;width:300px;animation:.15s cubic-bezier(.4,0,.2,1) slideUp;position:absolute;bottom:calc(100% + 12px);left:24px;overflow:hidden;box-shadow:0 18px 45px #0000006b}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.input-options-tabs{border-bottom:1px solid #ffffff0f;display:flex}.input-options-tab{color:var(--text-tertiary);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:12px;font-weight:500;display:flex}.input-options-tab:hover{color:var(--text-secondary);background:#ffffff0a}.input-options-tab.active{color:var(--text-primary);background:#ffffff0f}.input-options-content{max-height:260px;overflow-y:auto}.input-options-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.input-options-list{padding:6px}.input-options-selection-note{color:var(--text-tertiary);margin:0;padding:10px 12px 4px;font-size:10px;line-height:1.4}.input-options-item{width:100%;color:var(--text-secondary);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.input-options-item:hover{color:var(--text-primary);background:#ffffff14}.input-options-item.active{color:var(--accent-blue);background:#3b82f626}.input-options-item-text{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.theme-option{justify-content:space-between;align-items:center;display:flex}.theme-option-name{font-weight:450}.theme-option-colors{gap:4px;display:flex}.theme-option-meta{align-items:center;gap:9px;display:flex}.theme-option-check{width:12px;color:var(--text-primary);text-align:center;font-size:11px}.theme-option-colors .theme-color-dot{border:2px solid #0003;border-radius:50%;width:12px;height:12px}.model-picker{flex:none;position:relative}.model-picker-trigger{height:30px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.model-picker-trigger:hover,.model-picker-trigger[aria-expanded=true]{color:var(--text-primary);background:#ffffff0e}.model-picker-trigger svg{transition:transform var(--transition-fast);margin-left:auto}.model-picker-trigger svg.open,.model-show-all svg.open{transform:rotate(180deg)}.model-picker-popover{z-index:180;width:min(440px,100vw - 32px);max-height:min(680px,100vh - 140px);color:var(--text-primary);background:#18181b;border:1px solid #35353a;border-radius:16px;padding:18px;position:absolute;bottom:calc(100% + 12px);left:0;overflow-y:auto;box-shadow:0 24px 60px #0000007a}.model-picker-heading,.model-provider-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.model-picker-heading>div{gap:4px;display:grid}.model-picker-heading strong{font-size:14px}.model-picker-heading span,.model-provider-heading span{color:var(--text-tertiary);font-size:10px;line-height:1.4}.model-catalog-date{flex:none;padding-top:2px}.model-picker-section,.model-provider-group{gap:7px;margin-top:14px;display:grid}.model-picker-section h3,.model-provider-group h3{color:var(--text-tertiary);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.model-recommendations,.model-provider-groups,.model-provider-group{gap:7px;display:grid}.model-option{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:#ffffff09;border:1px solid #fff1;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 12px;display:flex}.model-option:hover{color:var(--text-primary);background:#fff1;border-color:#ffffff24;transform:translateY(-1px)}.model-option.selected{background:#ffffff14;border-color:#ffffff38}.model-option-copy{gap:3px;min-width:0;display:grid}.model-option-name{color:var(--text-primary);align-items:center;gap:6px;font-size:12px;font-weight:650;display:flex}.model-preview-badge{color:#fcd34d;letter-spacing:.04em;text-transform:uppercase;background:#fcd34d17;border:1px solid #fcd34d29;border-radius:999px;padding:2px 5px;font-size:8px}.model-preview-badge.neutral{color:var(--text-muted);background:#ffffff0f}.model-option-description{color:var(--text-tertiary);white-space:normal;font-size:10px;line-height:1.35}.model-option-price{color:var(--text-secondary);font-size:10px}.model-option-note{color:var(--text-muted);font-size:9px;line-height:1.35}.model-connection{color:var(--text-muted);flex:none;margin-top:1px;font-size:9px}.model-connection.connected{color:#86efac}.model-show-all{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;margin-top:9px;padding:9px 4px 2px;font-size:10px;display:flex}.model-show-all:hover{color:var(--text-primary)}.model-show-all svg{transition:transform var(--transition-fast)}@media (width<=640px){.model-picker-trigger{max-width:132px}.model-picker-popover{left:12px;right:12px;bottom:calc(82px + var(--safe-bottom));width:auto;max-height:min(70vh,620px);position:fixed}}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:400;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{-webkit-backdrop-filter:blur(16px);background:#18181bf2;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:440px;animation:.25s cubic-bezier(.4,0,.2,1) modalSlideIn;box-shadow:0 24px 64px #00000080,inset 0 1px #ffffff0d}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.92)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--text-primary);font-size:18px;font-weight:600}.modal-close{background:var(--bg-tertiary);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);justify-content:center;align-items:center;font-size:20px;display:flex}.modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.modal-body{padding:24px}.modal-description{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.6}.modal-description a{color:var(--accent-blue);text-decoration:none}.modal-description a:hover{text-decoration:underline}.api-key-input-group{margin-bottom:20px}.api-key-input{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;height:48px;color:var(--text-primary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);padding:0 16px;font-size:14px}.api-key-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-subtle)}.api-key-input::placeholder{color:var(--text-muted)}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-btn{border-radius:var(--radius-md);height:40px;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);padding:0 20px;font-size:14px;font-weight:500}.modal-btn.primary{color:var(--text-primary);background:#ffffff1f;border:1px solid #fff3}.modal-btn.primary:hover:not(:disabled){background:#ffffff2e;border-color:#ffffff4d}.modal-btn.primary:disabled{opacity:.5;cursor:not-allowed}.modal-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-secondary)}.modal-btn.secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.modal-hint{color:var(--text-muted);text-align:center;margin-top:16px;font-size:12px}.error-modal{max-width:480px}.modal-header.error{gap:12px}.modal-header.error h2{flex:1}.error-icon{font-size:24px;line-height:1}.error-message{color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.6}.retry-timer{border-radius:var(--radius-md);color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf244d;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.error-suggestion{background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:20px;padding:16px}.error-suggestion strong{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.error-suggestion p{color:var(--text-primary);margin:0;font-size:14px;line-height:1.5}.shortcuts-modal{max-width:520px}.shortcuts-content{max-height:60vh;padding:20px 24px;overflow-y:auto}.shortcut-group{margin-bottom:20px}.shortcut-group:last-child{margin-bottom:0}.shortcut-group-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:600}.shortcut-list{flex-direction:column;gap:8px;display:flex}.shortcut-item{background:var(--bg-tertiary);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.shortcut-keys{align-items:center;gap:4px;display:flex}.keyboard-key{background:var(--bg-primary);border:1px solid var(--border-default);min-width:28px;height:28px;color:var(--text-primary);box-shadow:0 2px 0 var(--border-default);border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.key-separator{color:var(--text-muted);margin:0 2px;font-size:12px}.shortcut-description{color:var(--text-secondary);font-size:13px}.shortcuts-footer{border-top:1px solid var(--border-subtle);text-align:center;padding:16px 24px}.shortcuts-tip{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.shortcuts-tip .keyboard-key{min-width:24px;height:24px;font-size:11px}.image-preview-modal{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;animation:.25s cubic-bezier(.4,0,.2,1) modalSlideIn;display:flex;position:relative;overflow:hidden}.image-preview-modal .modal-header{width:100%}.image-preview-modal img{object-fit:contain;border-radius:12px;width:calc(100% - 32px);max-width:100%;max-height:80vh;margin:16px;box-shadow:0 24px 64px #00000080}.image-preview-modal .modal-close{z-index:10;background:#18181bf2;border:1px solid #ffffff26;border-radius:50%;width:36px;height:36px;font-size:20px;position:static}.image-preview-name{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:12px;font-size:13px;overflow:hidden}.share-preview-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:min(390px,100vw - 32px);padding:0;animation:.25s cubic-bezier(.4,0,.2,1) modalSlideIn}.share-preview-modal .share-preview-card{margin:16px 16px 12px}.share-preview-modal .share-copy-btn{width:calc(100% - 32px);margin:0 16px 16px}.share-preview-card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden}.share-preview-iframe{background:#fff;width:100%;height:180px;overflow:hidden}.share-preview-iframe iframe{pointer-events:none;transform-origin:0 0;border:none;width:400%;height:400%;transform:scale(.25)}.share-preview-info{border-top:1px solid var(--border-subtle);padding:12px}.share-preview-style{color:var(--text-primary);margin-bottom:4px;font-size:12px;font-weight:600}.share-preview-prompt{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.share-copy-btn{border-radius:var(--radius-md);width:100%;height:40px;color:var(--text-primary);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:#ffffff1a;border:1px solid #fff3;font-size:13px;font-weight:500}.share-copy-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.share-copy-btn:disabled{opacity:.6;cursor:wait}.privacy-modal{grid-template-rows:auto minmax(0,1fr);max-width:520px;max-height:min(720px,100dvh - 40px);display:grid;overflow:hidden}.share-options{border:0;gap:8px;margin:0 16px 12px;padding:0;display:grid}.share-options legend{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:11px;font-weight:600}.share-options label{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;align-items:flex-start;gap:9px;padding:9px;display:flex}.share-options label:has(input:checked){background:#ffffff0d;border-color:#ffffff40}.share-options span,.share-options small{display:block}.share-options strong{font-size:12px}.share-options small{color:var(--text-muted);margin-top:2px;font-size:10px;line-height:1.35}.share-options .share-prompt-option{color:var(--text-secondary);border-color:#0000;align-items:center;font-size:11px}.shared-presentation{background:#fff;position:fixed;inset:0;overflow:hidden}.shared-presentation iframe{border:0;width:100%;height:100%;display:block}.shared-presentation-caption{color:#f4f4f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e0e10c7;border:1px solid #ffffff29;border-radius:999px;max-width:min(520px,100vw - 32px);padding:8px 12px;font-size:11px;position:fixed;bottom:16px;right:16px}.privacy-modal .modal-header{justify-content:flex-start;gap:12px}.confirm-dialog{max-width:460px}.privacy-header-content{align-items:center;gap:12px;display:flex}.privacy-icon{border-radius:var(--radius-md);color:#22c55e;background:#22c55e26;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.privacy-body{grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:0;display:grid}.privacy-scroll{overscroll-behavior:contain;scrollbar-color:#4a4a50 transparent;scrollbar-width:thin;min-height:0;padding:24px 24px 8px;overflow:hidden auto}.privacy-list{margin:0 0 20px;padding:0;list-style:none}.privacy-list li{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:4px;padding:14px 0;display:flex}.privacy-list li:last-child{border-bottom:none}.privacy-list li strong{color:var(--text-primary);font-size:14px;font-weight:600}.privacy-list li span{color:var(--text-secondary);font-size:13px;line-height:1.4}.privacy-terms{color:var(--text-muted);text-align:center;margin-bottom:20px;font-size:12px}.privacy-terms a{color:var(--accent-blue);text-decoration:none}.privacy-terms a:hover{text-decoration:underline}.privacy-actions{border-top:1px solid var(--border-subtle);background:#18181bfa;justify-content:center;padding:16px 24px 20px}.privacy-accept-btn{min-width:160px}.provider-key-modal{background:#18181b;border-radius:16px;max-width:720px;max-height:min(720px,100dvh - 32px);overflow:hidden;box-shadow:0 20px 56px #0000006b}.provider-key-modal .modal-header{padding:18px 20px}.provider-key-layout{grid-template-columns:164px minmax(0,1fr);padding:0;display:grid;overflow:auto}.provider-key-tabs{border-right:1px solid var(--border-subtle);background:#141416;flex-direction:column;gap:4px;padding:16px 10px;display:flex}.provider-key-tab{min-width:0;color:var(--text-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex;position:relative}.provider-key-tab:hover{color:var(--text-primary);background:#ffffff0a}.provider-key-tab.selected{color:var(--text-primary);background:#ffffff12;border-color:#ffffff1a}.provider-status-dot{background:#55555d;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.provider-status-dot.connected{background:#62d594;box-shadow:0 0 0 3px #62d5941a}.provider-tab-copy{gap:2px;min-width:0;display:grid}.provider-tab-copy strong,.provider-tab-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.provider-tab-copy strong{font-size:12px;font-weight:600}.provider-tab-copy small{color:var(--text-muted);font-size:10px}.provider-key-form{min-width:0;padding:24px}.provider-detail-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.provider-eyebrow{color:var(--text-muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.provider-detail-header h3{color:var(--text-primary);font-size:18px;font-weight:600}.provider-key-link{border:1px solid var(--border-default);color:var(--text-secondary);white-space:nowrap;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:600;text-decoration:none}.provider-key-link:hover{color:var(--text-primary);border-color:#ffffff40}.provider-detail-copy{max-width:52ch;color:var(--text-secondary);margin:14px 0 20px;font-size:13px;line-height:1.55}.provider-detail-copy a,.security-notice a,.provider-data-row a{color:inherit;text-underline-offset:3px}.api-key-input-group{margin-bottom:0;position:relative}.api-key-label{color:var(--text-secondary);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.api-key-input.error{border-color:#ef6464;box-shadow:0 0 0 3px #ef64641f}.api-key-error{color:#f58b8b;margin-top:8px;font-size:12px;line-height:1.45}.remember-me-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;margin:16px 0 10px;font-size:13px;display:flex;position:relative}.remember-me-label input[type=checkbox]{opacity:0;cursor:pointer;width:18px;height:18px;margin:0;position:absolute}.remember-checkbox{color:#0a0a0b;pointer-events:none;background:#111113;border:1px solid #6a6a72;border-radius:5px;flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid}.remember-checkbox svg{opacity:0;width:12px;height:12px;transform:scale(.7)}.remember-me-label input[type=checkbox]:checked+.remember-checkbox{background:#f4f4f5;border-color:#f4f4f5}.remember-me-label input[type=checkbox]:checked+.remember-checkbox svg{opacity:1;transform:scale(1)}.remember-me-label input[type=checkbox]:focus-visible+.remember-checkbox{outline-offset:3px;outline:2px solid #fffffff2;box-shadow:0 0 0 5px #ffffff24}.remember-me-label input[type=checkbox]:disabled+.remember-checkbox{opacity:.55;cursor:not-allowed}.remember-me-label:hover{color:var(--text-primary)}.security-notice{color:var(--text-muted);text-align:left;background:0 0;margin:0;padding:0;font-size:12px}.provider-validation-status{min-height:34px;color:var(--text-secondary);align-items:center;gap:8px;margin:12px 0 -4px;font-size:12px;display:flex}.button-spinner{border:2px solid #ffffff47;border-top-color:currentColor;border-radius:50%;flex:0 0 14px;width:14px;height:14px;animation:.7s linear infinite providerSpinner}@keyframes providerSpinner{to{transform:rotate(360deg)}}.provider-key-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.provider-save-btn{justify-content:center;align-items:center;gap:8px;min-width:190px;display:inline-flex}.provider-save-btn[aria-busy=true]:disabled{opacity:.82}.provider-data-row{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:14px;display:flex}.provider-data-row span{color:var(--text-muted);gap:14px;font-size:11px;display:flex}.provider-data-row button{color:var(--text-muted);background:0 0;padding:3px 0;font-size:11px}.provider-data-row button:hover{color:#f58b8b}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:10px}.provider-key-modal{border-radius:16px;max-height:calc(100dvh - 20px)}.provider-key-modal .modal-header{padding:15px 16px}.provider-key-layout{grid-template-columns:minmax(0,1fr)}.provider-key-tabs{border-right:0;border-bottom:1px solid var(--border-subtle);scrollbar-width:none;flex-direction:row;gap:6px;padding:10px 12px;overflow-x:auto}.provider-key-tabs::-webkit-scrollbar{display:none}.provider-key-tab{flex:none;padding:9px 10px}.provider-tab-copy small{display:none}.provider-key-form{padding:18px 16px 16px}.provider-detail-copy{margin:12px 0 18px}.provider-key-actions{flex-direction:column-reverse}.provider-key-actions .modal-btn,.provider-save-btn{width:100%}.provider-data-row{flex-direction:column;align-items:flex-start;gap:12px}}.drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#00000080;justify-content:flex-end;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer-content{background:var(--bg-secondary);border-left:1px solid var(--border-default);flex-direction:column;width:100%;max-width:500px;height:100%;animation:.3s cubic-bezier(.4,0,.2,1) slideIn;display:flex}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:22px 28px;display:flex}.drawer-header h2{color:var(--text-primary);font-size:16px;font-weight:600}.close-button{width:32px;height:32px;color:var(--text-secondary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:18px;display:flex}.close-button:hover{color:var(--text-primary);background:#ffffff0e}.drawer-body{-webkit-overflow-scrolling:touch;flex:1;padding:28px;overflow-y:auto}.code-block{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#e5e5e5;white-space:pre-wrap;word-break:break-all;padding:16px;font-family:SF Mono,Consolas,monospace;font-size:12px;line-height:1.6;overflow-x:auto}.drawer-actions{flex-direction:column;gap:10px;display:flex}.drawer-btn{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);height:44px;color:var(--text-primary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.drawer-btn:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.drawer-btn.secondary{color:var(--text-secondary);background:#ffffff0d;border-color:#ffffff14}.drawer-btn.secondary:hover{color:var(--text-primary);background:#ffffff12;border-color:#ffffff1f}.drawer-btn.small{border-radius:10px;height:34px;padding:0 12px;font-size:12px}.drawer-hint{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.5}.project-memory-panel{gap:18px;display:grid}.project-memory-intro,.project-memory-limit{color:var(--text-secondary);font-size:13px;line-height:1.55}.project-memory-limit{color:var(--text-muted);font-size:11px}.project-memory-empty{border:1px solid var(--border-subtle);color:var(--text-muted);text-align:center;border-radius:12px;padding:20px;font-size:13px;line-height:1.5}.project-memory-list{gap:8px;list-style:none;display:grid}.project-memory-list li{border:1px solid var(--border-subtle);background:#ffffff06;border-radius:10px;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;min-height:48px;padding:8px 8px 8px 12px;display:grid}.project-memory-list li span{overflow-wrap:anywhere;color:var(--text-primary);font-size:13px;line-height:1.45}.project-memory-list li button{width:32px;height:32px;color:var(--text-muted);border-radius:8px;font-size:18px}.project-memory-list li button:hover{color:#f58b8b;background:#ef64641a}.project-memory-clear{color:#f58b8b;border:1px solid #ef646440;border-radius:9px;justify-self:start;min-height:38px;padding:0 13px;font-size:12px;font-weight:600}.project-memory-clear:hover{background:#ef646414}.history-list{flex-direction:column;gap:8px;display:flex}.history-toolbar{align-items:center;gap:8px;margin-bottom:16px;display:flex}.history-search{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);height:40px;color:var(--text-primary);flex:1;padding:0 14px;font-size:13px}.history-search:focus{border-color:var(--border-strong);outline:0}.history-actions button{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);padding:6px 12px;font-size:12px}.history-actions button:hover{background:var(--bg-elevated);color:var(--text-primary)}.history-item{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);flex-direction:row;align-items:center;gap:8px;padding:10px 12px 10px 16px;display:flex}.history-item:hover{background:var(--bg-elevated);border-color:var(--border-default)}.history-item.active{border-color:var(--accent-blue-border);background:var(--accent-blue-subtle)}.history-item-content{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;gap:4px;padding:4px 0;display:flex}.history-delete-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);cursor:pointer;opacity:0;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.history-item:hover .history-delete-btn{opacity:1}.history-delete-btn:hover{color:#ef4444;background:#ef444426}.history-prompt{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:500;display:-webkit-box;overflow:hidden}.history-meta{color:var(--text-tertiary);font-size:11px}.variations-container{flex-direction:column;gap:16px;display:flex}.variation-suggestions{flex-direction:column;gap:12px;display:flex}.suggestions-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.suggestions-hint{color:var(--text-secondary);font-size:13px}.regenerate-btn{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);align-items:center;gap:4px;padding:6px 12px;font-size:12px;display:flex}.regenerate-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.regenerate-btn:disabled{opacity:.5;cursor:not-allowed}.suggestion-card{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);flex-direction:column;gap:6px;padding:16px;display:flex}.suggestion-card:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-strong);transform:translateY(-1px)}.suggestion-card:disabled{opacity:.6;cursor:not-allowed}.suggestion-card.building{border-color:var(--accent-blue-border);background:var(--accent-blue-subtle)}.suggestion-name{color:var(--text-primary);font-size:14px;font-weight:600}.suggestion-desc{color:var(--text-secondary);font-size:13px;line-height:1.5}.suggestion-loading{color:var(--text-tertiary);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.back-to-suggestions{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);text-align:center;cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);margin-top:8px;padding:12px 16px;font-size:13px}.back-to-suggestions:hover{background:var(--bg-elevated);color:var(--text-primary)}.variations-grid{flex-direction:column;gap:16px;display:flex}.variation-card{width:100%;color:inherit;text-align:left;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);overflow:hidden}.variation-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.variation-preview{background:#fff;height:160px;overflow:hidden}.variation-preview iframe{pointer-events:none;transform-origin:0 0;border:none;width:400%;height:400%;transform:scale(.25)}.variation-label{color:var(--text-primary);border-top:1px solid var(--border-subtle);padding:12px 16px;font-size:13px;font-weight:500}.loading-state{color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;padding:48px;font-size:14px;display:flex}.chip{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-full);height:32px;color:var(--text-secondary);transition-property:var(--interactive-transition-properties);transition-duration:.15s;transition-timing-function:var(--transition-easing);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.chip:hover{background:var(--bg-elevated);color:var(--text-primary)}.chip.active{background:var(--accent-blue-subtle);border-color:var(--accent-blue-border);color:var(--accent-blue)}.export-sheet{gap:22px;display:grid}.export-sheet section{gap:10px;display:grid}.export-sheet h3{color:var(--text-primary);margin:0;font-size:14px}.export-sheet p{color:var(--text-tertiary);margin:0;font-size:12px;line-height:1.5}.export-sheet-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.export-sheet-grid button{min-height:42px;color:var(--text-secondary);text-align:left;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:9px 10px}.export-sheet-grid button:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-default)}.export-sheet-grid.compact button{text-transform:capitalize;min-height:34px}.export-conversion-warnings{color:var(--text-secondary);border-radius:var(--radius-sm);background:#f59e0b14;border:1px solid #f59e0b40;padding:10px 12px;font-size:11px;line-height:1.45}.export-conversion-warnings ul{gap:4px;margin:7px 0 0;padding-left:18px;display:grid}.nav-arrow{-webkit-backdrop-filter:blur(12px);width:48px;height:48px;color:var(--text-secondary);opacity:0;transition-property:var(--interactive-transition-properties);transition-duration:.3s;transition-timing-function:var(--transition-easing);z-index:120;background:#18181bd9;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 20px #0000004d}.nav-arrow:hover{color:var(--text-primary);background:#18181bf2;border-color:#ffffff26;transform:translateY(-50%)scale(1.08);box-shadow:0 6px 28px #0006}.nav-arrow:active{transform:translateY(-50%)scale(.95)}.nav-arrow.left{left:20px}.nav-arrow.right{right:20px}.immersive-app:hover .nav-arrow{opacity:1}.nav-arrow svg{transition:transform .2s}.nav-arrow.left:hover svg{transform:translate(-2px)}.nav-arrow.right:hover svg{transform:translate(2px)}.stage-container.with-sidebar .nav-arrow.left{left:calc(var(--sidebar-width) + 20px)}.toast{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-full);color:var(--text-primary);z-index:300;background:#18181bf2;border:1px solid #ffffff1a;align-items:center;gap:10px;padding:14px 24px;font-size:13px;font-weight:500;animation:.4s cubic-bezier(.34,1.56,.64,1) toastIn;display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d}.toast-success{border-color:#ffffff26}.toast-success:before{content:"";background:var(--text-primary);border-radius:50%;width:8px;height:8px}.toast-error{border-color:#ef44444d}.toast-error:before{content:"";background:#ef4444;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #ef444480}@keyframes toastIn{0%{transform:translate(-50%)translateY(20px)scale(.9)}to{transform:translate(-50%)translateY(0)scale(1)}}@keyframes toastOut{0%{transform:translate(-50%)translateY(0)scale(1)}to{transform:translate(-50%)translateY(-10px)scale(.95)}}.toast.exiting{animation:.3s ease-in forwards toastOut}.header-controls{z-index:90;pointer-events:none;align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:16px}.header-controls>*{pointer-events:auto}.header-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.header-right{z-index:100;align-items:center;gap:8px;display:flex;position:fixed;top:16px;right:16px}.header-btn{-webkit-backdrop-filter:blur(12px);width:38px;height:38px;color:var(--text-secondary);transition-property:var(--interactive-transition-properties);transition-duration:.2s;transition-timing-function:var(--transition-easing);background:#18181bd9;border:1px solid #ffffff14;border-radius:14px;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:500;display:flex;box-shadow:0 2px 8px #0003}.header-btn:hover{color:var(--text-primary);background:#18181bf2;border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.header-btn:active{transform:translateY(0);box-shadow:0 2px 6px #0003}.header-btn svg{width:16px;height:16px;transition:transform .2s}.header-btn:hover svg{transform:scale(1.1)}.credits-footer{color:var(--text-secondary);z-index:50;white-space:nowrap;opacity:1;font-size:11px;position:fixed;bottom:8px;right:16px}.credits-link{color:var(--text-primary);opacity:.95;text-decoration:none}.credits-link:hover{opacity:1;text-decoration:underline}@media (width<=640px){.credits-footer{font-size:10px;bottom:6px;right:12px}}.image-gen{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;gap:28px;display:grid}.image-gen-intro{border-bottom:1px solid var(--border-subtle);gap:5px;padding-bottom:20px;display:grid}.image-gen-intro p{color:#a0a0a8;margin:0;font-size:13px;line-height:1.55}.image-gen-intro span{color:#a0a0a8;font-size:11px}.image-gen-form{gap:24px;display:grid}.image-gen-field{border:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.image-gen-label{color:#96969f;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:700}.image-gen-textarea{resize:vertical;width:100%;min-height:132px;color:var(--text-primary);font:inherit;background:#17171a;border:1px solid #303035;border-radius:12px;padding:14px 15px;font-size:13px;line-height:1.55}.image-gen-textarea::placeholder{color:#686870}.image-gen-textarea:focus{border-color:#4a4a50;outline:0}.image-gen-model-options{gap:8px;display:grid}.image-gen-model-options button{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #2d2d32;border-radius:11px;gap:5px;padding:13px 14px;display:grid}.image-gen-model-options button:hover{color:var(--text-primary);background:#ffffff06;border-color:#414147}.image-gen-model-options button.selected{color:var(--text-primary);background:#ffffff0b;border-color:#5a5a61}.image-gen-model-heading{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.image-gen-model-heading strong{color:#dedee2;font-size:12px;font-weight:650}.image-gen-model-heading span{color:#909099;letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:9px}.image-gen-model-options small{color:#a0a0a8;white-space:normal;font-size:11px;line-height:1.4}.image-gen-model-options em{color:#a0a0a8;font-size:10px;font-style:normal}.image-gen-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.image-gen-select-wrap{position:relative}.image-gen-select{width:100%;height:42px;color:var(--text-primary);appearance:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#17171a;border:1px solid #303035;border-radius:10px;padding:0 36px 0 12px;font-size:12px}.image-gen-select:focus{border-color:#4a4a50;outline:0}.image-gen-select-wrap:after{content:"";border-right:1.5px solid var(--text-tertiary);border-bottom:1.5px solid var(--text-tertiary);pointer-events:none;width:6px;height:6px;position:absolute;top:50%;right:14px;transform:translateY(-65%)rotate(45deg)}.image-gen-select:disabled,.image-gen-select-wrap[data-disabled=true]{opacity:.55}.image-gen-select option{color:#f5f5f5;background:#151518}.image-gen-estimate{color:#8b8b94;margin-top:-12px;font-size:10px;line-height:1.45}.image-gen-actions{align-items:center;gap:10px;display:flex}.image-gen-btn{min-height:42px;color:var(--text-secondary);background:0 0;border:1px solid #35353a;border-radius:10px;padding:0 15px;font-size:12px;font-weight:600}.image-gen-btn:hover:not(:disabled){color:var(--text-primary);border-color:#505057}.image-gen-btn.primary{color:#111114;background:#ededed;border-color:#ededed;flex:1}.image-gen-btn.primary:hover:not(:disabled){color:#111114;background:#fff;border-color:#fff}.image-gen-btn.quiet{border-color:#0000}.image-gen-btn:disabled{opacity:.45;cursor:not-allowed}.image-gen-error{color:#f4d9d9;background:#b0404014;border-left:2px solid #e870709e;justify-content:space-between;align-items:flex-start;gap:16px;padding:13px 14px;display:flex}.image-gen-error strong{margin-bottom:4px;font-size:11px;display:block}.image-gen-error p{color:#f4d9d9c7;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.45}.image-gen-error-close{color:#f4d9d9b8;background:0 0;padding:2px;font-size:18px;line-height:1}.image-gen-results{border-top:1px solid var(--border-subtle);gap:13px;padding-top:24px;display:grid}.image-gen-results-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.image-gen-results-heading strong{color:var(--text-primary);font-size:12px}.image-gen-results-heading span{color:var(--text-muted);font-size:10px}.image-gen-grid{gap:14px;display:grid}.image-gen-card{border:1px solid #2d2d32;border-radius:12px;grid-template-columns:116px minmax(0,1fr);display:grid;overflow:hidden}.image-gen-thumb{aspect-ratio:1;background:#111113;border-right:1px solid #2d2d32;grid-row:1/span 2;padding:7px}.image-gen-thumb img{object-fit:cover;border-radius:7px;width:100%;height:100%;display:block}.image-gen-meta{align-content:start;gap:6px;min-width:0;padding:12px 13px 7px;display:grid}.image-gen-prompt{color:var(--text-primary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.image-gen-sub{color:var(--text-muted);overflow-wrap:anywhere;font-size:9px}.image-gen-card-actions{align-items:center;gap:7px;padding:0 13px 12px;display:flex}@media (width<=520px){.image-gen-settings{grid-template-columns:1fr}.image-gen-actions{flex-direction:column;align-items:stretch}.image-gen-card{grid-template-columns:96px minmax(0,1fr)}.image-gen-card-actions{flex-direction:column;align-items:stretch}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}@media (width<=1024px){.session-group{justify-content:stretch;align-items:stretch}.artifact-grid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;grid-template-columns:1fr;align-content:start;gap:16px;width:100%;max-width:none;height:100%;max-height:none;padding:80px 16px 160px;overflow-y:auto}.artifact-card{min-height:300px}.visual-sidebar{width:100%;max-width:320px}.stage-container.mode-focus .artifact-card.focused{width:96vw;height:auto;top:70px;bottom:150px}.stage-container.mode-focus.with-sidebar .artifact-card.focused{width:96vw;bottom:20px;left:50%}.bottom-bar{max-width:calc(100% - 32px);bottom:16px}.stage-container.with-sidebar .bottom-bar{left:50%}.mode-btn span,.header-controls.hide-on-mobile{display:none}.action-btn{width:40px;height:40px}.nav-arrow{width:52px;height:52px}.modal-content{max-width:90vw}.drawer-content{max-width:380px}.export-dropdown .dropdown-menu,.action-dropdown .dropdown-menu{transform-origin:100% 0;border-radius:12px;min-width:220px;max-height:60vh;position:absolute;inset:calc(100% + 8px) 0 auto auto;overflow-y:auto}}@media (width<=640px){.empty-state{padding:calc(64px + var(--safe-top)) 20px calc(150px + var(--safe-bottom))}.empty-content h1{font-size:2.5rem}.empty-content p{padding:0 16px;font-size:.95rem}.surprise-button{padding:12px 20px;font-size:13px}.bottom-bar{bottom:calc(12px + var(--safe-bottom));width:auto;max-width:none;padding:0;right:12px;transform:none;left:12px!important}.input-container{border-radius:16px;padding:9px}.input-field,.input-field-wrap{max-height:104px}.composer-toolbar{align-items:flex-start}.composer-key-hint{display:none}.composer-tools{flex-wrap:wrap;max-width:100%}.attachment-tray{margin-inline:0}.attachment-item{grid-template-columns:38px minmax(82px,118px) 24px}.attachment-preview{width:38px;height:38px}.action-menu{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));gap:4px;padding:4px}.action-btn{width:36px;height:36px}.action-btn.small{width:30px;height:30px}.modal-overlay{padding:12px;padding-top:calc(12px + var(--safe-top));padding-bottom:calc(12px + var(--safe-bottom))}.modal-content{max-width:100%;max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));border-radius:16px;margin:0;overflow-y:auto}.privacy-modal{max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));overflow:hidden}.privacy-modal .modal-header{min-height:64px;padding:12px 16px}.privacy-modal .modal-header h2{min-width:0;font-size:16px;line-height:1.25}.privacy-modal .privacy-icon{width:34px;height:34px}.privacy-modal .privacy-icon svg{width:20px;height:20px}.privacy-modal .privacy-body{min-height:0;padding:0;overflow:hidden}.privacy-scroll{padding:16px 16px 6px}.privacy-scroll .modal-description{margin-bottom:10px;font-size:13px;line-height:1.45}.privacy-list{margin-bottom:10px}.privacy-list li{gap:3px;padding:10px 0}.privacy-list li strong{font-size:13px}.privacy-list li span,.privacy-terms{font-size:12px;line-height:1.4}.privacy-terms{margin-bottom:10px}.privacy-actions{padding:12px 16px calc(12px + var(--safe-bottom))}.modal-body{padding:16px}.modal-actions{flex-direction:column}.modal-btn{width:100%}.share-preview-modal{width:calc(100% - 24px);max-width:320px}.drawer-content{max-width:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.export-drawer-overlay{align-items:flex-end}.export-drawer{border-top:1px solid var(--border-default);width:100%;height:auto;max-height:min(78dvh,720px);animation:exportSheetIn .2s var(--transition-easing);border-left:0;border-radius:20px 20px 0 0;padding-top:0}@keyframes exportSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer-body{padding:16px;padding-bottom:calc(16px + var(--safe-bottom))}.header-controls{top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left))}.header-right{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right))}.header-btn{border-radius:12px;width:34px;height:34px;padding:0}.nav-arrow{display:none}.style-chips-panel{top:calc(60px + var(--safe-top));width:auto;max-height:50vh;left:12px;right:12px;overflow-y:auto}.theme-menu{width:calc(100vw - 48px);max-width:300px}.visual-sidebar{width:100%;max-width:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.visual-sidebar .sidebar-body{padding-bottom:calc(16px + var(--safe-bottom))}.sidebar-body,.drawer-body,.theme-menu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.stage-container.mode-focus .artifact-card.focused{top:calc(112px + var(--safe-top));bottom:calc(176px + var(--safe-bottom));z-index:110;pointer-events:auto;opacity:1;border-radius:12px;width:auto;height:auto;min-height:0;position:fixed;left:8px;right:8px;transform:none}.stage-container.mode-focus.with-sidebar .artifact-card.focused{width:auto;bottom:8px;left:8px;right:8px;transform:none}.stage-container.mode-focus .action-menu{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));opacity:1;pointer-events:auto;z-index:130;position:fixed;transform:translateY(0)}.stage-container.mode-focus.with-sidebar .action-menu{opacity:0;pointer-events:none}.stage-container.with-sidebar .visual-sidebar{z-index:200;width:100%;max-width:100%;position:fixed;top:0;bottom:0;left:0}.artifact-grid{padding-top:calc(70px + var(--safe-top));padding-bottom:calc(140px + var(--safe-bottom));padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right))}.credits-footer{bottom:calc(130px + var(--safe-bottom));opacity:.6;font-size:10px;left:50%;right:auto;transform:translate(-50%)}.variation-suggestions{gap:10px}.suggestion-card{padding:14px}.history-item{padding:12px}.image-gen-grid{grid-template-columns:1fr}.image-gen-card{grid-template-columns:100px 1fr}.export-dropdown .dropdown-menu,.action-dropdown .dropdown-menu{transform-origin:100% 0;border-radius:12px;min-width:200px;max-width:calc(100vw - 24px);max-height:50vh;position:absolute;inset:calc(100% + 8px) 0 auto auto;overflow-y:auto}.input-options-dropdown{width:auto;position:fixed;bottom:80px;left:12px;right:12px}.credits-footer{bottom:calc(130px + var(--safe-bottom));opacity:.6;text-align:center;font-size:10px;position:fixed;left:50%;right:auto;transform:translate(-50%)}.image-gen-form{padding:12px}.image-gen-textarea{min-height:80px}.image-gen-row{grid-template-columns:1fr 1fr;gap:8px}.image-gen-btn{width:100%}.image-gen-actions{flex-direction:column}.toast{bottom:calc(90px + var(--safe-bottom));max-width:calc(100% - 48px);padding:12px 18px;font-size:12px}.theme-menu{transform-origin:bottom;width:auto;max-width:none;max-height:50vh;position:fixed;bottom:80px;left:12px;right:12px}.shortcuts-content{max-height:50vh}.shortcut-item{flex-direction:column;align-items:flex-start;gap:8px}.api-key-input{font-size:16px}}@media (width<=380px){.empty-content h1{font-size:2rem}.input-field{font-size:13px}.theme-trigger{padding:0 10px;font-size:12px}.theme-trigger-colors,.attach-btn span{display:none}}@media (height<=500px) and (orientation:landscape){.credits-footer{display:none}.empty-content h1{font-size:2rem}.empty-content p{display:none}.bottom-bar{bottom:8px}.stage-container.mode-focus .artifact-card.focused{top:calc(76px + var(--safe-top));bottom:calc(148px + var(--safe-bottom));height:auto;min-height:0}}@media (hover:none) and (pointer:coarse){.artifact-card:hover{border-color:var(--border-default);box-shadow:none;transform:none}.action-btn:hover{background:0 0}.artifact-card:active{opacity:.9;transform:scale(.98)}.action-btn:active{background:#ffffff1a}.artifact-card{cursor:pointer;-webkit-tap-highlight-color:#ffffff1a}.artifact-iframe{pointer-events:none}.stage-container.mode-focus .artifact-card.focused .artifact-iframe{pointer-events:auto}.dropdown-item,.theme-item{min-height:48px;padding:14px 12px}.style-chip{height:40px;padding:0 18px}button,.chip,.style-chip,.action-btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.action-btn{min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:1s linear infinite spin}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-elevated) 50%, var(--bg-tertiary) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes scalePulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #ffffff1a}50%{box-shadow:0 0 30px #ffffff26}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(2)}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(circle,#fff3 0%,#0000 70%);width:100%;height:100%;transition:transform .5s ease-out,opacity .3s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.ripple-effect:active:after{opacity:1;transition:transform,opacity;transform:translate(-50%,-50%)scale(2)}.stagger-children>*{animation:.4s ease-out backwards slideInFromBottom}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}@keyframes progressShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.7}}@keyframes cardEnter{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes focusExpand{0%{opacity:0;transform:translate(-50%)scale(.9)}to{opacity:1;transform:translate(-50%)scale(1)}}.dotted-glow-background{z-index:0;pointer-events:none;position:absolute;inset:0}.ref-viewer-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:300;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ref-viewer{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);max-width:800px;max-height:80vh;box-shadow:var(--shadow-xl);overflow:hidden}.ref-viewer-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ref-viewer-title{color:var(--text-primary);font-size:14px;font-weight:500}.ref-viewer-actions{gap:8px;display:flex}.ref-viewer-actions button{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);height:32px;color:var(--text-secondary);padding:0 12px;font-size:12px}.ref-viewer img{object-fit:contain;max-width:100%;max-height:calc(80vh - 60px);display:block}.inspect-section{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.inspect-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:12px;font-size:12px;font-weight:600}.inspect-preview{justify-content:center;margin-bottom:12px;display:flex}.inspect-frame{border-radius:var(--radius-md);border:1px solid var(--border-default);background:#fff;overflow:hidden}.inspect-frame iframe{border:none;display:block}.inspect-chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.inspect-grid{flex-direction:column;gap:12px;display:flex}.inspect-card{background:var(--bg-primary);border-radius:var(--radius-sm);padding:12px}.inspect-label{color:var(--text-tertiary);margin-bottom:8px;font-size:11px;font-weight:500}.token-list{flex-wrap:wrap;gap:6px;display:flex}.token-list code{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;padding:4px 8px;font-family:SF Mono,Consolas,monospace;font-size:11px}.inspect-kv{border-top:1px solid var(--border-subtle);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.inspect-kv:first-of-type{border-top:none}.inspect-findings{gap:8px;display:grid}.inspect-finding{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);grid-template-columns:62px 1fr;gap:8px;padding:9px 10px;font-size:12px;line-height:1.45;display:grid}.inspect-finding strong{text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em;font-size:10px}.inspect-finding.error{border-color:#ef444459}.inspect-finding.warning{border-color:#f59e0b59}.inspect-ok{color:var(--text-secondary);font-size:13px}.history-toolbar{gap:8px;margin-bottom:16px;display:flex}.history-toolbar .history-search{flex:1;margin-bottom:0}.history-actions{justify-content:flex-end;margin-bottom:12px;display:flex}.history-actions button{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);height:32px;color:var(--text-secondary);padding:0 12px;font-size:12px}.tooltip-wrapper{display:inline-flex;position:relative}.tooltip{z-index:1000;color:#fff;white-space:nowrap;pointer-events:none;background:#1d1d20;border:1px solid #3a3a40;border-radius:8px;align-items:center;gap:8px;max-width:min(240px,100vw - 16px);padding:7px 10px;font-size:12px;font-weight:550;line-height:1.25;animation:.12s ease-out tooltipFade;display:flex;position:fixed;box-shadow:0 8px 24px #00000061}.tooltip[data-ready=false]{visibility:hidden}.tooltip-text{color:#fffffff5;text-overflow:ellipsis;overflow:hidden}.tooltip-shortcut{color:#ffffffbd;background:#ffffff1a;border-radius:4px;flex:none;padding:2px 5px;font-family:system-ui,-apple-system,sans-serif;font-size:10px;font-weight:650}@keyframes tooltipFade{0%{opacity:0}to{opacity:1}}
