html,body,#root{height:100%}body{margin:0;min-width:320px;min-height:100vh}.material-icon{-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.material-icon--small{font-size:18px}.material-icon--medium{font-size:24px}.material-icon--large{font-size:36px}.material-icon--xlarge{font-size:48px}.material-icon[onclick]{cursor:pointer}.material-icon:hover{opacity:.8}.mobile-prompt-bar{position:fixed;bottom:var(--spacing-sm);left:var(--spacing-sm);right:var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:8px;z-index:100;box-shadow:0 2px 20px #00000026;margin-bottom:env(safe-area-inset-bottom,0)}.mobile-prompt-bar__content{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);align-items:flex-start}.mobile-prompt-bar__style-thumb{flex-shrink:0;padding:0;background:transparent;border:none;cursor:pointer;border-radius:6px;overflow:hidden;transition:opacity .15s ease}.mobile-prompt-bar__style-thumb:active{opacity:.8}.style-thumbnail-large{width:48px;height:64px;object-fit:cover;display:block;border-radius:6px;border:1px solid var(--color-border-secondary)}.mobile-prompt-bar__input-container{flex:1;display:flex;flex-direction:column}.mobile-prompt-bar__form{width:100%}.mobile-prompt-bar__input-wrapper{position:relative;display:flex;align-items:flex-start;background:transparent;border:none;transition:all .15s ease}.mobile-prompt-bar__textarea{flex:1;min-height:20px;max-height:120px;padding:0 12px;background:transparent;color:var(--color-text-primary);border:none;font-size:var(--font-size-sm);font-weight:400;outline:none;resize:none;font-family:inherit;line-height:20px;overflow-y:auto;display:block;margin:0;box-sizing:content-box}.mobile-prompt-bar__textarea::-webkit-scrollbar{width:4px}.mobile-prompt-bar__textarea::-webkit-scrollbar-track{background:transparent}.mobile-prompt-bar__textarea::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:2px}.mobile-prompt-bar__textarea::placeholder{color:var(--color-text-secondary);opacity:.6}.settings-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;transition:color .15s ease}.settings-btn:hover{color:var(--color-text-primary)}.settings-btn:active{opacity:.7}.settings-btn .material-icon{font-size:18px}.send-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:var(--color-text-primary);border:none;border-radius:4px;color:var(--color-bg-primary);cursor:pointer;transition:all .15s ease}.send-btn:hover:not(:disabled){background:var(--color-interactive-primary)}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn .material-icon{font-size:18px;color:var(--color-bg-primary)}.mobile-prompt-bar__style-label{padding:4px 8px;font-size:var(--font-size-xs);color:var(--color-text-primary);opacity:.8}.mobile-prompt-bar__style-label .style-text{font-weight:500}.spinner{width:18px;height:18px;border:2px solid var(--color-bg-tertiary);border-top-color:var(--color-bg-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-prompt-bar.keyboard-open{position:fixed;bottom:0}@supports (-webkit-touch-callout: none){.mobile-prompt-bar{margin-bottom:env(safe-area-inset-bottom,8px)}.prompt-input{font-size:16px}}.loading-dots{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;--loading-dot-color: var(--color-text-accent)}.loading-dots--small{gap:2px}.loading-dots--small .loading-dots__dot{width:4px;height:4px}.loading-dots--medium .loading-dots__dot{width:8px;height:8px}.loading-dots--large{gap:6px}.loading-dots--large .loading-dots__dot{width:12px;height:12px}.loading-dots__dot{background-color:var(--loading-dot-color);opacity:.2;animation:blink 1.5s infinite;border-radius:1px}@keyframes blink{0%,to{opacity:.2}50%{opacity:1;transform:scale(1.1)}}.loading-dots__dot:nth-child(1){animation-delay:0s}.loading-dots__dot:nth-child(2){animation-delay:.2s}.loading-dots__dot:nth-child(3){animation-delay:.4s}.loading-dots__dot:nth-child(4){animation-delay:.1s}.loading-dots__dot:nth-child(5){animation-delay:.5s}.loading-dots__dot:nth-child(6){animation-delay:.2s}.loading-dots__dot:nth-child(7){animation-delay:.3s}.loading-dots__dot:nth-child(8){animation-delay:.1s}.loading-dots__dot:nth-child(9){animation-delay:.4s}.job-card{position:relative;width:100%;aspect-ratio:1;border-radius:var(--border-radius-base);overflow:hidden;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);transition:all var(--transition-base);cursor:pointer}.job-card:hover{transform:translateY(-2px);border-color:var(--color-interactive-default);box-shadow:var(--effect-shadow-lg)}.job-card.job-card--light .job-image{background-color:var(--color-bg-image-light)}.job-card .job-image{width:100%;height:100%;object-fit:contain;display:block;transition:transform var(--transition-base);background-color:var(--color-bg-secondary);padding:8px;box-sizing:border-box}.job-card:hover .job-image{transform:scale(1.05)}.job-overlay{position:absolute;bottom:0;left:0;right:0;background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md);transform:translateY(100%);transition:transform var(--transition-base);border-top:1px solid var(--color-border-primary)}.job-card:hover .job-overlay{transform:translateY(0)}.job-overlay-content{display:flex;flex-direction:column;gap:2px}.job-date{color:var(--color-text-secondary);font-size:10px;font-weight:var(--font-weight-medium);opacity:.8;line-height:1.2}.job-style{color:var(--color-text-accent);font-size:11px;font-weight:var(--font-weight-medium);line-height:1.2;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-prompt{color:var(--color-text-primary);font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-loading{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);background-color:var(--color-bg-elevated)}.job-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-base);font-weight:var(--font-weight-medium)}.job-status-badge.queued{background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);border:var(--border-width-thin) solid var(--color-border-secondary)}.job-status-badge.processing{background-color:#f9e2af0d;color:var(--color-status-processing);border:var(--border-width-thin) solid var(--color-status-processing)}.job-status-badge.failed{background-color:var(--color-status-error-bg);color:var(--color-status-error);border:var(--border-width-thin) solid var(--color-status-error)}.job-failed{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:var(--border-width-thin) solid var(--color-status-error)}.job-failed-icon{font-size:var(--font-size-2xl);opacity:.8}.job-error-message{color:var(--color-status-error);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:center;line-height:var(--line-height-base);max-width:90%;word-wrap:break-word}.job-failed-prompt{color:var(--color-text-tertiary);font-size:var(--font-size-xs);text-align:center;opacity:.7;font-style:italic;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-thumbnail-status{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.job-thumbnail-missing{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-status-warning-bg);color:var(--color-status-warning);border:var(--border-width-thin) solid var(--color-status-warning);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.job-metadata{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:10px;color:var(--color-text-secondary)}.job-metadata-item:not(:last-child):after{content:"•";margin-left:var(--spacing-xs);opacity:.5}.job-metadata-tokens{font-family:var(--font-family-mono)}.job-download-button{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:32px;height:32px;border-radius:var(--border-radius-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all var(--transition-base);z-index:2;box-shadow:var(--effect-shadow-sm)}.job-card:hover .job-download-button{opacity:1}.job-download-button:hover{background:var(--color-bg-hover);border-color:var(--color-interactive-default);color:var(--color-interactive-default);transform:translateY(-1px)}.job-download-button:active{transform:translateY(0)}@media (hover: none){.job-download-button{opacity:.8}}.job-archive-button{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs);background:var(--color-bg-secondary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;opacity:0;transition:opacity var(--transition-base);z-index:2;color:var(--color-text-primary)}.job-card:hover .job-archive-button{opacity:1}.job-archive-button:hover{background:var(--color-status-error);border-color:var(--color-status-error);color:var(--color-text-inverse)}.job-archive-button:active{transform:scale(.95)}.job-progress-container{width:60%;height:2px;background:var(--color-bg-tertiary);border-radius:var(--border-radius-full);overflow:hidden;margin-top:var(--spacing-sm);position:relative}.job-progress-bar{height:100%;background:var(--color-interactive-default);border-radius:var(--border-radius-full);transition:width .1s linear}.timeout-badge{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);margin-top:var(--spacing-sm);max-width:90%;font-weight:var(--font-weight-medium);border:1px solid transparent}.timeout-badge-content{display:flex;align-items:center;gap:var(--spacing-xs);flex:1}.timeout-badge[data-severity=warning]{background:#fbbf241a;color:var(--color-text-accent);border-color:#fbbf244d}.timeout-badge[data-severity=critical]{background:#fbbf2426;color:#fbbf24;border-color:#fbbf24}.timeout-badge[data-severity=dead]{background:#ef44441a;color:#ef4444;border-color:#ef44444d}.timeout-retry-button{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:transparent;color:inherit;border:1px solid currentColor;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.timeout-retry-button:hover{background:currentColor;color:var(--color-bg-primary)}.job-card--pending{opacity:.85}.job-card__pending-indicator{position:absolute;top:var(--spacing-xs);left:var(--spacing-xs);right:var(--spacing-xs);background:var(--color-bg-secondary);border:var(--border-width-thin) solid var(--color-interactive-default);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-interactive-default);font-style:italic;z-index:10;text-align:center;box-shadow:var(--effect-shadow-sm)}@media (max-width: 768px){.job-card{aspect-ratio:1}.timeout-badge{font-size:10px;padding:.4rem .6rem}.timeout-badge button{font-size:10px;padding:.2rem .5rem}}.copy-button{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--color-bg-secondary);color:var(--color-text-primary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);font-family:var(--font-family-mono);cursor:pointer;transition:all var(--transition-base)}.copy-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-accent);color:var(--color-text-accent);box-shadow:var(--effect-glow-sm)}.copy-button:active{transform:scale(.95)}.copy-button-copied{background:var(--color-bg-secondary);border-color:var(--color-status-success);color:var(--color-status-success)}.copy-button-copied:hover{background:var(--color-bg-secondary);border-color:var(--color-status-success);color:var(--color-status-success);box-shadow:0 0 10px #86efac4d}.copy-button-medium{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.copy-button-small{padding:2px 6px;font-size:var(--font-size-xs);gap:2px}.scrollable{scrollbar-width:thin;scrollbar-color:var(--color-border-secondary) transparent}.scrollable::-webkit-scrollbar{width:4px}.scrollable::-webkit-scrollbar-track{background:transparent}.scrollable::-webkit-scrollbar-thumb{background-color:var(--color-border-secondary);border-radius:var(--border-radius-full)}.scrollable::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.job-list-container{height:100%;overflow-y:auto;padding:0}.background-toggle{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-secondary);color:var(--color-text-primary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);font-size:var(--font-size-sm);font-family:var(--font-family-mono);cursor:pointer;transition:all var(--transition-base)}.background-toggle:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-accent);color:var(--color-text-accent);box-shadow:var(--effect-glow-sm)}.background-toggle:active{transform:scale(.98)}.no-history{color:var(--color-text-secondary);opacity:.7;text-align:center;margin:32px 0 0;font-size:1em;letter-spacing:var(--letter-spacing-base)}.job-list-header-info{color:var(--color-text-secondary);font-size:.9em;letter-spacing:var(--letter-spacing-base);opacity:.7}.job-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-xs);padding-bottom:var(--spacing-xl)}.status-completed{color:var(--color-status-success);border:1px solid var(--color-status-success)}.status-processing{color:var(--color-status-warning);border:1px solid var(--color-status-warning)}.status-failed{color:var(--color-status-error);border:1px solid var(--color-status-error)}.job-list-loader{height:100px;display:flex;align-items:center;justify-content:center}.job-list-loading{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.spinner{width:24px;height:24px;border:2px solid var(--color-border-secondary);border-top-color:var(--color-text-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.job-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm);padding-top:var(--spacing-md);padding-bottom:var(--spacing-xl);align-content:start}.job-list.scrollable{composes:scrollable}.job-image-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-dark);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.job-image-modal{max-width:90vw;max-height:90vh;border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-lg);background:var(--color-bg-elevated);padding:0;animation:popIn .2s;box-shadow:var(--effect-shadow-xl);display:flex;flex-direction:column;overflow:hidden;position:relative}.job-thumbnail-strip{display:flex;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-bottom:var(--border-width-thin) solid var(--color-border-primary);overflow-x:auto;overflow-y:hidden;flex-shrink:0;height:80px;align-items:center}.job-thumbnail{flex-shrink:0;width:60px;height:60px;border-radius:var(--border-radius-sm);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all var(--transition-base);opacity:.6}.job-thumbnail:hover{opacity:.9;transform:scale(1.05)}.job-thumbnail.active{border-color:var(--color-interactive-default);opacity:1;box-shadow:0 0 0 2px var(--color-glow-green)}.job-thumbnail.failed{background:var(--color-status-error-bg);border-color:var(--color-status-error)}.job-thumbnail img{width:100%;height:100%;object-fit:cover}.job-thumbnail-error{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);opacity:.8}.job-modal-content{display:flex;flex-direction:row;flex:1;overflow:hidden}.job-modal-info{flex:0 0 320px;padding:var(--spacing-xl);background:var(--color-bg-secondary);border-right:var(--border-width-thin) solid var(--color-border-primary);display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto}.job-modal-id{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-family:var(--font-family-mono);opacity:.8;letter-spacing:var(--letter-spacing-base)}.job-modal-date{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.job-modal-status{color:var(--color-text-secondary);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.job-modal-status .status-completed{color:var(--color-status-completed);font-weight:var(--font-weight-medium)}.job-modal-status .status-processing{color:var(--color-status-processing);font-weight:var(--font-weight-medium)}.job-modal-status .status-failed{color:var(--color-status-failed);font-weight:var(--font-weight-medium)}.job-modal-actions{margin-top:var(--spacing-sm);display:flex;gap:var(--spacing-sm)}.job-modal-download-button,.job-modal-regenerate-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-secondary);color:var(--color-text-primary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);font-size:var(--font-size-sm);font-family:var(--font-family-mono);cursor:pointer;transition:all var(--transition-base)}.job-modal-download-button:hover,.job-modal-regenerate-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-interactive-hover);color:var(--color-interactive-hover);box-shadow:var(--effect-glow-sm)}.job-modal-download-button:active,.job-modal-regenerate-button:active{transform:scale(.95)}.job-modal-regenerate-button:disabled{opacity:.5;cursor:not-allowed}.job-modal-field{margin-top:var(--spacing-sm)}.job-modal-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs)}.job-modal-field-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.job-modal-field-value{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-base);word-break:break-word;padding-left:var(--spacing-sm)}.job-modal-prompt-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width-thin) solid var(--color-border-secondary)}.job-modal-prompt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs)}.job-modal-prompt-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.job-modal-prompt{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-base);word-break:break-word}.job-modal-error{color:var(--color-status-error);background:var(--color-status-error-bg);padding:var(--spacing-sm);border-radius:var(--border-radius-base);margin-top:var(--spacing-sm)}.job-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.job-modal-counter{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.job-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);color:var(--color-text-primary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-base)}.job-modal-close:hover{background:var(--color-status-error-bg);border-color:var(--color-status-error);color:var(--color-status-error)}.job-modal-image-container{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--color-bg-primary);min-width:0;position:relative}.job-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-full);color:var(--color-text-primary);font-size:var(--font-size-2xl);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);z-index:10;opacity:.8}.job-modal-nav:hover{opacity:1;background:var(--color-interactive-default);border-color:var(--color-interactive-default);color:var(--color-text-inverse);transform:translateY(-50%) scale(1.1)}.job-modal-nav-prev{left:var(--spacing-lg)}.job-modal-nav-next{right:var(--spacing-lg)}.job-modal-image-wrapper{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:0}.job-modal-image-wrapper img{max-width:100%;max-height:calc(85vh - 120px);object-fit:contain;border-radius:var(--border-radius-md);box-shadow:var(--effect-shadow-lg)}.job-modal-failed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-2xl);text-align:center}.job-modal-failed-icon{font-size:64px;opacity:.8}.job-modal-failed-message{color:var(--color-status-error);font-size:var(--font-size-lg);line-height:var(--line-height-base);max-width:400px}.job-modal-retry-button{padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-interactive-default);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.job-modal-retry-button:hover:not(:disabled){background:var(--color-interactive-hover);transform:translateY(-2px);box-shadow:var(--effect-shadow-lg)}.job-modal-retry-button:disabled{opacity:.5;cursor:not-allowed}.job-modal-hints{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);color:var(--color-text-tertiary);font-size:var(--font-size-xs);background:var(--color-bg-elevated);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-full);opacity:.7;pointer-events:none}@media (max-width: 768px){.job-image-modal{max-height:95vh}.job-modal-content{flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;max-height:calc(95vh - 80px)}.job-modal-info{flex:0 0 auto;max-height:none;overflow:visible;border-right:none;border-top:var(--border-width-thin) solid var(--color-border-primary);border-bottom:none;padding:var(--spacing-md);order:2}.job-modal-header{position:absolute;top:0;left:0;right:0;z-index:1001;background:var(--color-bg-elevated);padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--border-width-thin) solid var(--color-border-primary);margin:0}.job-thumbnail-strip{margin-top:50px}.job-modal-info .job-modal-header{position:absolute;top:0}.job-modal-image-container{flex:0 0 auto;min-height:0;padding:var(--spacing-md);order:1}.job-modal-image-wrapper img{max-height:50vh;width:100%;object-fit:contain}.job-thumbnail-strip{height:60px;padding:var(--spacing-sm)}.job-thumbnail{width:45px;height:45px}.job-modal-nav{width:40px;height:40px;font-size:var(--font-size-xl)}.job-modal-nav-prev{left:var(--spacing-sm)}.job-modal-nav-next{right:var(--spacing-sm)}.job-modal-hints{display:none}}@keyframes popIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.job-list-container{padding:var(--spacing-sm)}.job-list-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs);padding-bottom:var(--spacing-md)}.job-list{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs);padding:var(--spacing-xs)}.job-card-image{height:150px}.job-card-info{padding:var(--spacing-sm)}}.job-list-loading-more{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.job-list-end{grid-column:1 / -1;text-align:center;padding:var(--spacing-lg);color:var(--color-text-tertiary);font-size:var(--font-size-sm);opacity:.7}.job-list-error{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);color:var(--color-status-error);font-size:var(--font-size-base)}.model-selector{width:100%;margin-bottom:var(--spacing-lg)}.model-selector__pills{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);background:transparent;border:none;border-radius:0;padding:0;overflow:visible}.model-selector__pill{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);min-height:60px;position:relative}.model-selector__pill:hover:not(.active){background:var(--color-bg-hover);border-color:var(--color-border-focus);transform:translateY(-1px);color:var(--color-text-primary);z-index:1}.model-selector__pill.active{background:var(--color-bg-elevated);border:1px solid var(--color-interactive-default);color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-interactive-default) inset}.model-selector__pill.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--color-interactive-default);border-top-left-radius:var(--border-radius-sm);border-bottom-left-radius:var(--border-radius-sm)}.model-selector__pill-label{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin-bottom:2px;letter-spacing:-.02em}.model-selector__pill-description{font-family:var(--font-family-system);font-size:11px;opacity:.7;line-height:1.2;text-align:left}.model-selector__pill.active .model-selector__pill-description{opacity:.9;color:var(--color-text-accent)}@media (max-width: 400px){.model-selector__pills{grid-template-columns:1fr}.model-selector__pill{min-height:auto;padding:var(--spacing-sm)}}.image-controls{display:flex;flex-direction:column;gap:var(--spacing-lg)}.image-controls__group{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-primary)}.image-controls__group:last-child{border-bottom:none;padding-bottom:0}.image-controls__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding-left:var(--spacing-xs)}.image-controls__pills{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.image-controls__pill{flex:1;min-width:80px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family-mono);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.image-controls__pill:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:translateY(-1px)}.image-controls__pill.active{background:var(--color-bg-elevated);border-color:var(--color-interactive-default);color:var(--color-interactive-default);font-weight:var(--font-weight-bold);box-shadow:0 0 0 1px var(--color-interactive-default) inset}.image-controls__pill:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-disabled);border-color:transparent}.image-controls__pill--with-icon{flex-direction:column;gap:6px;padding:var(--spacing-md) var(--spacing-sm)}.image-controls__pill-icon{font-size:20px;opacity:.8}.image-controls__pill.active .image-controls__pill-icon{opacity:1}.image-controls__pill-text{font-size:11px}.image-controls__warning{font-size:var(--font-size-xs);color:var(--color-status-warning);padding:var(--spacing-xs)}.image-controls__slider{width:100%;height:4px;background:var(--color-bg-elevated);border-radius:var(--border-radius-full);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:var(--spacing-sm) 0}.image-controls__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-interactive-default);border-radius:var(--border-radius-full);cursor:pointer;transition:transform var(--transition-base);box-shadow:var(--effect-shadow-sm)}.image-controls__slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.character-selector{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.character-selector__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-sm);border-bottom:var(--border-width-thin) solid var(--color-border-primary)}.character-selector__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin:0}.character-selector__clear{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-elevated);color:var(--color-text-secondary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-base)}.character-selector__clear:hover{background:var(--color-bg-hover);border-color:var(--color-border-active)}.character-selector__scroll-panel{padding-right:var(--spacing-xs)}.character-selector__category{margin-bottom:var(--spacing-md)}.character-selector__category-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) 0}.character-selector__options{display:flex;flex-direction:column;gap:var(--spacing-xs)}.character-selector__option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);transition:all var(--transition-base);position:relative}.character-selector__option-clickable{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;cursor:pointer}.character-selector__option:hover{background:var(--color-bg-hover);border-color:var(--color-border-secondary);transform:translate(2px)}.character-selector__option.selected{background:var(--color-interactive-default);border-color:var(--color-interactive-default);color:var(--color-text-inverse)}.character-selector__option.selected .character-selector__option-name,.character-selector__option.selected .character-selector__option-breed{color:var(--color-text-inverse)}.character-selector__option-icon{font-size:var(--font-size-xl);width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.character-selector__option-text{flex:1;min-width:0}.character-selector__option-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-selector__option-breed{font-size:var(--font-size-xs);color:var(--color-text-secondary);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-selector__selected-info{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-interactive-default);border-radius:var(--border-radius-base);display:flex;align-items:center;gap:var(--spacing-sm)}.character-selector__selected-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.character-selector__selected-name{font-size:var(--font-size-sm);color:var(--color-interactive-default);font-weight:var(--font-weight-medium)}.character-selector__json-button{padding:var(--spacing-xs);background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s ease;opacity:0;min-width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-family:var(--font-family-mono);font-weight:700}.character-selector__option:hover .character-selector__json-button{opacity:1}.character-selector__json-button:hover{background:var(--color-interactive-hover);border-color:var(--color-text-accent);color:var(--color-text-accent);transform:scale(1.05)}.character-json-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;z-index:999}.character-json-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-bg-secondary);border:var(--border-width-medium) solid var(--color-border-primary);border-radius:var(--radius-lg);padding:0;z-index:1000;max-width:800px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--effect-shadow-lg)}.character-json-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:var(--border-width-thin) solid var(--color-border-primary);background:var(--color-bg-primary)}.character-json-modal__title-section{display:flex;align-items:center;gap:var(--spacing-md)}.character-json-modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-accent)}.character-json-modal__counter{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.character-json-modal__actions{display:flex;gap:var(--spacing-sm);align-items:center}.character-json-modal__navigation{display:flex;gap:var(--spacing-xs)}.character-json-modal__nav-button{background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-secondary);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);transition:all .2s ease}.character-json-modal__nav-button:hover:not(:disabled){background:var(--color-interactive-hover);border-color:var(--color-text-accent);color:var(--color-text-accent)}.character-json-modal__nav-button:disabled{opacity:.5;cursor:not-allowed}.character-json-modal__copy{background:var(--color-bg-tertiary);border:var(--border-width-thin) solid var(--color-border-secondary);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s ease}.character-json-modal__copy:hover{background:var(--color-interactive-hover);border-color:var(--color-text-accent);color:var(--color-text-accent)}.character-json-modal__copy.copied{background:var(--color-status-success);border-color:var(--color-status-success);color:var(--color-bg-primary)}.character-json-modal__close{background:transparent;border:none;color:var(--color-text-secondary);padding:var(--spacing-xs);font-size:var(--font-size-xl);cursor:pointer;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.character-json-modal__close:hover{background:var(--color-bg-tertiary);color:var(--color-text-accent)}.character-json-modal__content{flex:1;overflow:auto;padding:var(--spacing-md)}.character-json-modal__json{margin:0;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);padding:var(--spacing-md);border-radius:var(--radius-md);border:var(--border-width-thin) solid var(--color-border-secondary);overflow-x:auto}.character-json-modal__json .json-key{color:var(--color-interactive-active);background:none}.character-json-modal__json .json-string{color:var(--color-status-success);background:none}.character-json-modal__json .json-number{color:var(--color-status-warning);background:none}.character-json-modal__json .json-boolean{color:var(--color-status-info);background:none}.character-json-modal__json .json-null{color:var(--color-text-secondary);background:none}.collapsible-section{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-base);margin-bottom:var(--spacing-md);box-shadow:var(--effect-shadow-sm)}.collapsible-section__header{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-elevated);border:none;cursor:pointer;transition:background-color var(--transition-base)}.collapsible-section__header:hover{background:var(--color-bg-hover)}.collapsible-section__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em}.collapsible-section__actions{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-sm)}.collapsible-section__chevron{color:var(--color-text-tertiary);flex-shrink:0}.collapsible-section__header:not(:has(.collapsible-section__actions)) .collapsible-section__chevron{margin-left:auto}.collapsible-section__header:hover .collapsible-section__chevron{color:var(--color-text-secondary)}.collapsible-section__content{padding:var(--spacing-md);border-top:1px solid var(--color-border-primary)}.toggle-switch{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family-mono);transition:all var(--transition-base)}.toggle-switch:hover{color:var(--color-text-primary)}.toggle-switch input{display:none}.toggle-switch__track{width:36px;height:20px;background:var(--color-control-bg);border-radius:var(--border-radius-full);position:relative;transition:all var(--transition-base);border:1px solid var(--color-control-border);flex-shrink:0}.toggle-switch__thumb{width:14px;height:14px;background:var(--color-text-tertiary);border-radius:var(--border-radius-full);position:absolute;top:2px;left:2px;transition:all var(--transition-base)}.toggle-switch__label{transition:color var(--transition-base)}.toggle-switch.toggle-switch--active .toggle-switch__track{background:var(--color-control-bg-active);border-color:var(--color-control-border-active)}.toggle-switch.toggle-switch--active .toggle-switch__thumb{left:calc(100% - 16px);background:var(--color-control-text-active)}.toggle-switch.toggle-switch--active .toggle-switch__label{color:var(--color-status-success)}.mobile-drawer-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;animation:fadeIn .3s}.mobile-options-drawer{position:fixed;bottom:0;left:0;right:0;max-height:80vh;background:var(--color-bg-secondary);border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg);z-index:201;transition:transform .3s;animation:slideUp .3s;overflow:hidden;display:flex;flex-direction:column}.drawer-handle{width:40px;height:4px;background:var(--color-border-secondary);border-radius:2px;margin:var(--spacing-sm) auto;cursor:grab}.drawer-handle:active{cursor:grabbing}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary);flex-shrink:0}.drawer-header h3{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0}.close-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color .2s}.close-btn:hover{background:var(--color-bg-primary)}.close-btn:active{transform:scale(.95)}.drawer-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,0px))}.drawer-section{margin-bottom:var(--spacing-xl)}.drawer-section:last-child{margin-bottom:0}.drawer-section h4{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-bold)}.drawer-toggles{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (max-width: 768px){.drawer-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.close-btn{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}}.style-carousel{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg);height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.style-category{flex-shrink:0}.category-title{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;padding:0 var(--spacing-sm);font-weight:var(--font-weight-bold)}.style-cards-scroll{display:flex;gap:var(--spacing-md);overflow-x:auto;overflow-y:visible;padding:var(--spacing-sm);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.style-cards-scroll::-webkit-scrollbar{display:none}.style-card{flex-shrink:0;width:100px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary);border:2px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);cursor:pointer;transition:all .2s ease;scroll-snap-align:start}.style-card:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-primary);transform:translateY(-2px)}.style-card:active{transform:translateY(0) scale(.95)}.style-card.selected{background:var(--color-bg-tertiary);border-color:var(--color-text-primary);box-shadow:0 4px 12px #00000026}.style-card-preview{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-base);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary)}.style-card-emoji{font-size:2rem;line-height:1}.style-card-placeholder{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-align:center;line-height:1.2}.style-card-name{font-size:var(--font-size-xs);color:var(--color-text-primary);text-align:center;line-height:1.2;font-weight:var(--font-weight-medium);max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 768px){.style-card{min-width:88px;min-height:88px;padding:var(--spacing-sm)}.style-card-preview{width:48px;height:48px}.style-card-emoji{font-size:1.75rem}}.style-cards-scroll:after{content:"";position:absolute;top:50%;right:0;width:20px;height:40px;background:linear-gradient(to right,transparent,var(--color-bg-primary));pointer-events:none;transform:translateY(-50%);opacity:.7}.style-category:last-child .style-cards-scroll:after{display:none}.bottom-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:fadeIn .3s ease;pointer-events:auto}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--color-bg-elevated);border-top-left-radius:var(--border-radius-xl);border-top-right-radius:var(--border-radius-xl);box-shadow:0 -8px 32px #0003;z-index:1000;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease;transition:transform .2s ease;pointer-events:auto}.bottom-sheet-handle-container{padding:var(--spacing-sm) 0;display:flex;justify-content:center;cursor:grab}.bottom-sheet-handle{width:48px;height:4px;background:var(--color-border-primary);border-radius:var(--border-radius-full);opacity:.5}.bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary)}.bottom-sheet-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.bottom-sheet-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-xl);cursor:pointer;border-radius:var(--border-radius-full);transition:all .2s ease}.bottom-sheet-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.bottom-sheet-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--spacing-lg);padding-bottom:env(safe-area-inset-bottom,var(--spacing-lg))}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:var(--color-bg-primary);transition:height .3s ease}.mobile-layout__content{flex:1;overflow:hidden;padding-bottom:0}.mobile-layout__tabs{display:flex;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary);flex-shrink:0}.mobile-layout__tabs .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:transparent;color:var(--color-text-secondary);border:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;min-height:60px;justify-content:center}.mobile-layout__tabs .tab .material-symbols-outlined{font-size:1.5rem;transition:transform .2s}.mobile-layout__tabs .tab:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.mobile-layout__tabs .tab:active{transform:scale(.95)}.mobile-layout__tabs .tab.active{color:var(--color-text-primary);background:var(--color-bg-primary);border-bottom:2px solid var(--color-text-primary);font-weight:var(--font-weight-bold)}.mobile-layout__tabs .tab.active .material-symbols-outlined{transform:scale(1.1)}@media (orientation: landscape) and (max-height: 600px){.mobile-layout__tabs .tab{flex-direction:row;gap:var(--spacing-xs);min-height:48px}.mobile-layout__tabs .tab .material-symbols-outlined{font-size:1.25rem}.mobile-layout__tabs .tab span:last-child{font-size:var(--font-size-xs)}}@supports (padding: max(0px)){.mobile-layout{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}}@supports (-webkit-touch-callout: none){.mobile-layout{height:100vh;height:-webkit-fill-available}.mobile-layout__content{-webkit-overflow-scrolling:touch}}@media screen and (max-width: 768px){.mobile-layout input,.mobile-layout textarea,.mobile-layout select{font-size:16px}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.mobile-layout__tabs .tab .material-symbols-outlined{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.style-picker-grid{display:flex;flex-direction:column;gap:var(--spacing-lg)}.style-category{display:flex;flex-direction:column;gap:var(--spacing-sm)}.style-category-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin:0;padding:0 var(--spacing-xs)}.style-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.style-option{padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-base);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.style-option:active{transform:scale(.98)}.style-option.selected{background:var(--color-interactive-default);border-color:var(--color-interactive-default);color:var(--color-text-inverse)}.style-option-thumbnail{width:80px;height:80px;object-fit:cover;border-radius:var(--border-radius-sm);background:var(--color-bg-tertiary)}.style-option-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-primary);padding:var(--spacing-lg)}.login-card{background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:var(--border-radius-lg);padding:var(--spacing-3xl);text-align:center;max-width:400px;width:100%;box-shadow:var(--effect-glow-lg)}.login-title{color:var(--color-text-primary);font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);text-shadow:var(--effect-glow-sm)}.login-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-2xl)}.google-signin-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:var(--border-radius-base);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s}.google-signin-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px #0003}.google-icon{width:20px;height:20px}@media (max-width: 768px){.login-card{padding:var(--spacing-xl)}.login-title{font-size:var(--font-size-2xl)}}.app-layout{display:flex;height:100vh;width:100%;background-color:var(--color-bg-primary)}.app-layout__sidebar{flex:0 0 400px;min-width:320px;max-width:480px;height:100%;overflow-y:auto;overflow-x:hidden;background-color:var(--color-bg-secondary);border-right:var(--border-width-thin) solid var(--color-border-primary);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--effect-shadow-base)}.app-layout__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;background-color:var(--color-bg-primary)}@media (max-width: 768px){.app-layout{flex-direction:column}.app-layout__sidebar{flex:0 0 auto;max-width:100%;height:auto;max-height:40vh;border-right:none;border-bottom:var(--border-width-thin) solid var(--color-border-primary)}.app-layout__main{flex:1 1 auto;min-height:0}}.app-layout__sidebar::-webkit-scrollbar{width:8px}.app-layout__sidebar::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.app-layout__sidebar::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--border-radius-base)}.app-layout__sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-border-primary)}.sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg)}.sidebar__header{padding-bottom:var(--spacing-md);border-bottom:var(--border-width-thin) solid var(--color-border-primary);display:flex;justify-content:space-between;align-items:center}.sidebar__header-actions{display:flex;gap:var(--spacing-sm)}.sidebar__title{font-size:var(--font-size-2xl);color:var(--color-text-accent);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);margin:0;font-family:var(--font-family-mono)}.sidebar__content{display:flex;flex-direction:column;gap:var(--spacing-md)}.main-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:var(--spacing-lg);gap:var(--spacing-md)}.main-panel__header{flex:0 0 auto;padding-bottom:var(--spacing-md);border-bottom:var(--border-width-thin) solid var(--color-border-primary);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.main-panel__title{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);margin:0;font-family:var(--font-family-system);opacity:.9}.main-panel__content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.main-panel__content::-webkit-scrollbar{width:8px}.main-panel__content::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--border-radius-base)}.main-panel__content::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--border-radius-base)}.main-panel__content::-webkit-scrollbar-thumb:hover{background:var(--color-border-secondary)}.main-panel__actions{display:flex;gap:var(--spacing-sm);align-items:center}.logout-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-base);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm);font-family:var(--font-family-mono);display:flex;align-items:center;justify-content:center;min-height:36px}.logout-button:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-accent);color:var(--color-text-accent);box-shadow:var(--effect-glow-sm)}.logout-button:active{transform:scale(.98)}.logout-button:disabled{opacity:.5;cursor:not-allowed}.prompt-input{display:flex;flex-direction:column;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-base);overflow:hidden;box-shadow:var(--effect-shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.prompt-input:focus-within{border-color:var(--color-border-focus);box-shadow:var(--effect-shadow-md)}.prompt-input__field{height:120px;background:transparent;border:none;border-radius:0;color:var(--color-text-primary);font-family:var(--font-family-mono);padding:var(--spacing-md);font-size:var(--font-size-base);line-height:1.6;caret-color:var(--color-interactive-default);resize:none;overflow-y:auto;transition:none}.prompt-input__field:focus{outline:none;background:transparent}.prompt-input__field::placeholder{color:var(--color-text-tertiary);opacity:.7}.prompt-input__field:disabled{color:var(--color-text-disabled);background-color:var(--color-bg-disabled);opacity:.6}.prompt-input__footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border-primary);background:var(--color-bg-secondary);gap:var(--spacing-md)}.prompt-input__footer-left{display:flex;align-items:center;gap:var(--spacing-lg)}.prompt-input__button{height:36px;padding:0 var(--spacing-md);border:none;border-radius:var(--border-radius-sm);background:var(--color-interactive-default);color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family-mono);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--effect-shadow-sm);flex-shrink:0}.prompt-input__button:hover:not(:disabled){background:var(--color-interactive-hover);transform:translateY(-1px);box-shadow:var(--effect-shadow-md)}.prompt-input__button:active:not(:disabled){background:var(--color-interactive-active);transform:translateY(1px);box-shadow:var(--effect-shadow-sm)}.prompt-input__button:disabled{background:var(--color-bg-tertiary);color:var(--color-text-disabled);box-shadow:none;cursor:not-allowed;transform:none}.prompt-input__button .material-icon{font-size:16px}.prompt-input__field::-webkit-scrollbar{width:6px}.prompt-input__field::-webkit-scrollbar-track{background:transparent}.prompt-input__field::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--border-radius-full)}.prompt-input__field::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.style-selector{display:flex;flex-direction:column;gap:var(--spacing-sm)}.style-selector__header{padding-bottom:var(--spacing-sm);border-bottom:var(--border-width-thin) solid var(--color-border-primary)}.style-selector__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin:0}.style-selector__search{margin-bottom:var(--spacing-sm)}.style-selector__search-input{width:100%;box-sizing:border-box;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:all var(--transition-base)}.style-selector__search-input:focus{outline:none;border-color:var(--color-interactive-default);box-shadow:var(--effect-glow-sm)}.style-selector__search-input::placeholder{color:var(--color-text-tertiary)}.style-selector__options-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.style-selector__category{margin-bottom:var(--spacing-md)}.style-selector__category-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) 0}.style-selector__options{display:flex;flex-direction:column;gap:var(--spacing-xs)}.style-selector__option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-elevated);border:1px solid transparent;border-radius:var(--border-radius-base);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.style-selector__option:hover{background:var(--color-bg-hover);border-color:var(--color-border-secondary)}.style-selector__option.selected{background:linear-gradient(135deg,var(--color-bg-elevated) 0%,var(--color-bg-hover) 100%);border-color:var(--color-interactive-default);box-shadow:0 0 0 2px #00ff001a}.style-selector__option.selected:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--color-interactive-default)}.style-selector__option.selected .style-selector__option-name{color:var(--color-interactive-default);font-weight:var(--font-weight-semibold)}.style-selector__option.selected .style-selector__option-prompt{color:var(--color-text-primary)}.style-selector__option-icon{font-size:var(--font-size-2xl);width:72px;height:72px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--border-radius-sm);overflow:hidden;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);position:relative}.style-selector__option.selected .style-selector__option-icon{border-color:var(--color-interactive-default);box-shadow:0 0 0 1px var(--color-interactive-default) inset}.style-selector__option-thumbnail{width:100%;height:100%;object-fit:cover}.style-selector__option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.style-selector__option-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.2;letter-spacing:-.01em}.style-selector__option-prompt{font-size:var(--font-size-sm);color:var(--color-text-secondary);opacity:.8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.style-selector__json-button{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family-mono);padding:6px 10px;cursor:pointer;transition:all var(--transition-base);opacity:.7;flex-shrink:0;margin-left:auto}.style-selector__json-button:hover{border-color:var(--color-interactive-default);color:var(--color-interactive-default);opacity:1;background:var(--color-bg-tertiary)}.style-selector__option.selected .style-selector__json-button{opacity:.7;border-color:var(--color-interactive-default);color:var(--color-interactive-default)}.style-selector__option.selected .style-selector__json-button:hover{opacity:1;background:var(--color-interactive-default);color:var(--color-text-inverse);border-color:var(--color-interactive-default)}.style-selector__option--compact{padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-sm)}.style-selector__option--compact .style-selector__option-name{font-size:var(--font-size-sm)}.style-selector__option-emoji{font-size:var(--font-size-base);flex-shrink:0}.style-json-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.style-json-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:800px;max-height:80vh;background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--effect-shadow-lg);z-index:1001;display:flex;flex-direction:column}.style-json-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:var(--border-width-thin) solid var(--color-border-primary);background:var(--color-bg-elevated);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0}.style-json-modal__title-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.style-json-modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.style-json-modal__counter{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-family-mono)}.style-json-modal__actions{display:flex;gap:var(--spacing-sm);align-items:center}.style-json-modal__navigation{display:flex;gap:var(--spacing-xs)}.style-json-modal__nav-button{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);min-width:32px}.style-json-modal__nav-button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-secondary)}.style-json-modal__nav-button:disabled{opacity:.5;cursor:not-allowed}.style-json-modal__copy{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-interactive-default);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.style-json-modal__copy:hover{background:var(--color-interactive-hover)}.style-json-modal__copy.copied{background:var(--color-status-success)}.style-json-modal__close{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-xl);cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color var(--transition-base)}.style-json-modal__close:hover{color:var(--color-text-primary)}.style-json-modal__content{flex:1;overflow:auto;padding:var(--spacing-md)}.style-json-modal__json{background:var(--color-bg-secondary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);padding:var(--spacing-md);font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-primary);overflow-x:auto;white-space:pre;margin:0}.style-json-modal__json code{font-family:inherit}.style-json-modal__json .json-key{color:#61afef;font-weight:var(--font-weight-medium);background:none}.style-json-modal__json .json-string{color:#98c379;background:none}.style-json-modal__json .json-number{color:#d19a66;background:none}.style-json-modal__json .json-boolean{color:#c678dd;font-weight:var(--font-weight-medium);background:none}.style-json-modal__json .json-null{color:#e06c75;font-weight:var(--font-weight-medium);background:none}.collapsible-style-selector{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-base);margin-bottom:var(--spacing-md);overflow:hidden;box-shadow:var(--effect-shadow-sm)}.collapsible-style-selector__header{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-base)}.collapsible-style-selector__header:hover{background:var(--color-bg-hover)}.collapsible-style-selector__thumbnail{width:32px;height:32px;border-radius:var(--border-radius-sm);object-fit:cover;flex-shrink:0;border:1px solid var(--color-border-primary)}.collapsible-style-selector__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}.collapsible-style-selector__selected-name{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.collapsible-style-selector__chevron{color:var(--color-text-tertiary);flex-shrink:0;margin-left:auto}.collapsible-style-selector__auto-advance-status{font-size:var(--font-size-xs);color:var(--color-text-secondary);opacity:.7;margin-left:var(--spacing-xs);flex-shrink:0}.collapsible-style-selector__header:hover .collapsible-style-selector__chevron{color:var(--color-text-secondary)}.collapsible-style-selector__controls{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary);flex-wrap:wrap}.collapsible-style-selector__no-style{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-bg-secondary);border:1px solid transparent;transition:all var(--transition-base)}.collapsible-style-selector__no-style:hover{background:var(--color-bg-hover);border-color:var(--color-border-secondary)}.collapsible-style-selector__no-style--selected{background:var(--color-bg-hover);border-color:var(--color-interactive-default);color:var(--color-interactive-default)}.collapsible-style-selector__search{flex:1;min-width:120px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:inherit;box-sizing:border-box}.collapsible-style-selector__search:focus{outline:none;border-color:var(--color-interactive-default)}.collapsible-style-selector__search::placeholder{color:var(--color-text-tertiary)}.collapsible-style-selector__content{max-height:50vh;overflow-y:auto;padding:var(--spacing-md);border-bottom-left-radius:var(--border-radius-base);border-bottom-right-radius:var(--border-radius-base)}.prompt-preview__toggle{padding:4px 8px;background:var(--color-bg-secondary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base)}.prompt-preview__toggle:hover{background:var(--color-bg-elevated);color:var(--color-interactive-primary);border-color:var(--color-interactive-primary)}.prompt-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;animation:fadeIn .2s ease}.prompt-preview{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:800px;height:80vh;max-height:600px;background:var(--color-bg-primary);border:var(--border-width-thin) solid var(--color-border-secondary);border-radius:var(--border-radius-base);box-shadow:var(--effect-shadow-xl);z-index:10000;display:flex;flex-direction:column}.prompt-preview__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--border-width-thin) solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:var(--border-radius-base) var(--border-radius-base) 0 0}.prompt-preview__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.prompt-preview__actions{display:flex;gap:var(--spacing-xs)}.prompt-preview__copy{padding:2px 8px;background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.prompt-preview__copy:hover{background:var(--color-interactive-primary);color:var(--color-bg-primary);border-color:var(--color-interactive-primary)}.prompt-preview__copy.copied{background:var(--color-status-success);color:var(--color-bg-primary);border-color:var(--color-status-success)}.prompt-preview__close{width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--color-text-tertiary);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;line-height:1}.prompt-preview__close:hover{color:var(--color-status-error)}.prompt-preview__content{flex:1;overflow:auto;padding:var(--spacing-lg);margin:0;background:var(--color-bg-secondary);border-radius:0 0 var(--border-radius-base) var(--border-radius-base)}.prompt-preview__json{margin:0;padding:0;font-family:var(--font-family-mono);font-size:13px;line-height:1.6;color:var(--color-text-primary);white-space:pre;overflow-x:auto}.prompt-preview__json code{display:block;background:transparent;border:none;padding:0}.json-key{color:var(--core-blue);font-weight:600}.json-string{color:var(--core-green)}.json-number{color:var(--core-peach)}.json-boolean{color:var(--core-mauve)}.json-null{color:var(--core-red)}.prompt-preview__content::-webkit-scrollbar{width:8px}.prompt-preview__content::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--border-radius-base)}.prompt-preview__content::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--border-radius-base)}.prompt-preview__content::-webkit-scrollbar-thumb:hover{background:var(--color-interactive-primary)}.button{background-color:var(--color-bg-elevated);color:var(--color-text-primary);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-base);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-family-mono);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-base);position:relative;overflow:hidden;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-shadow:var(--effect-shadow-sm)}.button:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-interactive-default);transform:translateY(-1px);box-shadow:var(--effect-shadow-md)}.button:active:not(:disabled){background-color:var(--color-bg-active);transform:translateY(1px);box-shadow:var(--effect-shadow-sm)}.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.button--primary{background-color:var(--color-interactive-default);color:var(--color-text-inverse);border-color:var(--color-interactive-default)}.button--primary:hover:not(:disabled){background-color:var(--color-interactive-hover);border-color:var(--color-interactive-hover)}.button--error{color:var(--color-status-error);border-color:var(--color-status-error)}.button--error:hover:not(:disabled){background-color:var(--color-status-error);color:var(--color-text-inverse)}.button--success{color:var(--color-status-success);border-color:var(--color-status-success)}.button--success:hover:not(:disabled){background-color:var(--color-status-success);color:var(--color-text-inverse)}.image-generation-form{display:flex;flex-direction:column}.image-generation-form__sticky-section{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.image-generation-form__actions{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.image-generation-form__toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.image-generation-form__generate-button{width:100%;justify-content:center;padding:var(--spacing-md)!important;font-weight:600;letter-spacing:.5px;background-color:var(--color-primary)!important;color:var(--color-surface-base)!important}.image-generation-form__generate-button:hover:not(:disabled){background-color:var(--color-primary-hover)!important}.image-generation-form__scrollable-section{display:flex;flex-direction:column;gap:var(--spacing-md);padding-bottom:var(--spacing-xl)}.image-generation-form__controls{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ui-debugger-overlay{pointer-events:none;z-index:99999;position:absolute;top:0;left:0;width:100%;height:100%}.ui-debugger-highlight{position:absolute;border:2px solid #ff00ff;background-color:#ff00ff1a;pointer-events:none;transition:all .1s ease}.ui-debugger-tooltip{position:absolute;background-color:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:12px;box-shadow:0 4px 12px #00000080;pointer-events:none;min-width:200px;max-width:300px;border:1px solid #444}.ui-debugger-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #444}.ui-debugger-component{font-weight:700;color:#f0f}.ui-debugger-dims{color:#888}.ui-debugger-details{display:flex;flex-direction:column;gap:4px}.ui-debugger-row{display:flex;gap:8px}.ui-debugger-label{color:#888;min-width:60px}.ui-debugger-value{color:#ddd;word-break:break-all}.ui-debugger-hint{margin-top:8px;padding-top:4px;border-top:1px dashed #444;text-align:center;color:#888;font-size:10px;font-style:italic}.ui-debugger-toast{position:absolute;background-color:#0f0;color:#000;padding:6px 12px;border-radius:20px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;pointer-events:none;box-shadow:0 2px 8px #0000004d;animation:fadeOut 2s forwards;white-space:nowrap}@keyframes fadeOut{0%{opacity:0;transform:translateY(10px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}:root{--core-base: #1e1e2e;--core-mantle: #181825;--core-crust: #11111b;--core-surface0: #313244;--core-surface1: #45475a;--core-surface2: #585b70;--core-overlay0: #6c7086;--core-overlay1: #7f849c;--core-overlay2: #9399b2;--core-text: #cdd6f4;--core-subtext1: #bac2de;--core-subtext0: #a6adc8;--core-rosewater: #f5e0dc;--core-flamingo: #f2cdcd;--core-pink: #f5c2e7;--core-mauve: #cba6f7;--core-red: #f38ba8;--core-maroon: #eba0ac;--core-peach: #fab387;--core-yellow: #f9e2af;--core-green: #a6e3a1;--core-teal: #94e2d5;--core-sky: #89dceb;--core-sapphire: #74c7ec;--core-blue: #89b4fa;--core-lavender: #b4befe;--core-frost: #f7f8fc;--color-bg-primary: var(--core-base);--color-bg-secondary: var(--core-mantle);--color-bg-tertiary: var(--core-crust);--color-bg-elevated: var(--core-surface0);--color-bg-overlay: rgba(17, 17, 27, .8);--color-bg-hover: var(--core-surface0);--color-bg-active: var(--core-surface1);--color-bg-disabled: var(--core-mantle);--color-bg-image-light: var(--core-frost);--color-text-primary: var(--core-text);--color-text-secondary: var(--core-subtext1);--color-text-tertiary: var(--core-subtext0);--color-text-accent: var(--core-lavender);--color-text-inverse: var(--core-crust);--color-text-disabled: var(--core-overlay0);--color-text-link: var(--core-sky);--color-text-link-hover: var(--core-sapphire);--color-border-primary: var(--core-surface0);--color-border-secondary: var(--core-surface1);--color-border-active: var(--core-lavender);--color-border-focus: var(--core-blue);--color-border-disabled: var(--core-surface0);--color-status-success: var(--core-green);--color-status-success-bg: rgba(166, 227, 161, .1);--color-status-error: var(--core-red);--color-status-error-bg: rgba(243, 139, 168, .1);--color-status-warning: var(--core-yellow);--color-status-warning-bg: rgba(249, 226, 175, .1);--color-status-info: var(--core-sky);--color-status-info-bg: rgba(137, 220, 235, .1);--color-status-processing: var(--core-yellow);--color-status-queued: var(--core-overlay1);--color-status-completed: var(--core-green);--color-status-failed: var(--core-red);--color-interactive-default: var(--core-lavender);--color-interactive-hover: var(--core-blue);--color-interactive-active: var(--core-sapphire);--color-interactive-disabled: var(--core-overlay0);--color-control-bg: var(--core-surface0);--color-control-bg-hover: var(--core-surface1);--color-control-bg-active: var(--core-green);--color-control-text: var(--core-subtext0);--color-control-text-hover: var(--core-text);--color-control-text-active: var(--core-crust);--color-control-border: var(--core-surface1);--color-control-border-hover: var(--core-surface2);--color-control-border-active: var(--core-green);--color-button-primary-bg: var(--core-blue);--color-button-primary-bg-hover: var(--core-sapphire);--color-button-primary-border: var(--core-blue);--color-button-danger-bg: var(--core-red);--color-button-danger-bg-hover: var(--core-maroon);--color-button-danger-border: var(--core-red);--color-button-secondary-bg: var(--core-surface0);--color-button-secondary-bg-hover: var(--core-surface1);--color-button-secondary-border: var(--core-surface1);--color-overlay-light: rgba(205, 214, 244, .05);--color-overlay-medium: rgba(205, 214, 244, .1);--color-overlay-heavy: rgba(205, 214, 244, .2);--color-overlay-dark: rgba(17, 17, 27, .95);--color-shadow-light: rgba(17, 17, 27, .1);--color-shadow-medium: rgba(17, 17, 27, .2);--color-shadow-heavy: rgba(17, 17, 27, .4);--color-glow-green: rgba(166, 227, 161, .3);--color-glow-blue: rgba(137, 180, 250, .3);--color-glow-red: rgba(243, 139, 168, .3);--color-glow-yellow: rgba(249, 226, 175, .3);--color-focus-ring: var(--core-blue);--color-focus-glow: rgba(137, 180, 250, .2);--color-selection-bg: var(--core-surface1);--color-selection-text: var(--core-text);--color-glow-primary: rgba(180, 190, 254, .2);--color-glow-secondary: rgba(180, 190, 254, .1);--color-shadow-primary: rgba(17, 17, 27, .4);--color-shadow-secondary: rgba(17, 17, 27, .2);--font-family-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-family-system: "JetBrains Mono", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--line-height-tight: 1.25;--line-height-base: 1.6;--line-height-relaxed: 1.75;--letter-spacing-tight: -.01em;--letter-spacing-base: 0;--letter-spacing-wide: .025em;--spacing-unit: 8px;--spacing-xs: calc(var(--spacing-unit) * .5);--spacing-sm: calc(var(--spacing-unit) * 1);--spacing-md: calc(var(--spacing-unit) * 2);--spacing-lg: calc(var(--spacing-unit) * 3);--spacing-xl: calc(var(--spacing-unit) * 4);--spacing-2xl: calc(var(--spacing-unit) * 6);--spacing-3xl: calc(var(--spacing-unit) * 8);--border-width-thin: 1px;--border-width-base: 2px;--border-width-thick: 3px;--border-radius-none: 0;--border-radius-sm: 4px;--border-radius-base: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 20px;--border-radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-terminal: .1s linear;--animation-blink: 1s ease-in-out infinite;--animation-pulse: 2s cubic-bezier(.4, 0, .6, 1) infinite;--animation-scan: 8s linear infinite;--effect-glow-sm: 0 0 10px var(--color-glow-secondary);--effect-glow-base: 0 0 20px var(--color-glow-primary);--effect-glow-lg: 0 0 30px var(--color-glow-primary);--effect-shadow-sm: 0 1px 3px 0 var(--color-shadow-secondary);--effect-shadow-base: 0 4px 6px -1px var(--color-shadow-primary);--effect-shadow-lg: 0 10px 15px -3px var(--color-shadow-primary);--effect-shadow-xl: 0 20px 25px -5px var(--color-shadow-primary);--effect-text-glow: none;--effect-scanline-opacity: 0;--z-index-base: 0;--z-index-elevated: 10;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-overlay: 300;--z-index-modal: 400;--z-index-popover: 500;--z-index-tooltip: 600;--z-index-toast: 700;--z-index-max: 9999}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-text-accent)}.text-disabled{color:var(--color-text-disabled)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-elevated{background-color:var(--color-bg-elevated)}.status-success{color:var(--color-status-success)}.status-error{color:var(--color-status-error)}.status-warning{color:var(--color-status-warning)}.status-info{color:var(--color-status-info)}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family-system);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:var(--letter-spacing-base);min-height:100vh;position:relative;overflow-x:hidden;font-size:var(--font-size-base);line-height:var(--line-height-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-system);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-3xl);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-2xl);color:var(--color-text-primary)}h3{font-size:var(--font-size-xl);color:var(--color-text-secondary)}input,textarea,select{background:var(--color-bg-elevated);color:var(--color-text-primary);border:var(--border-width-thin) solid var(--color-border-primary);font-family:var(--font-family-system);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);outline:none;border-radius:var(--border-radius-base);transition:all var(--transition-base)}input:focus,textarea:focus,select:focus{border-color:var(--color-border-focus);background:var(--color-bg-secondary);box-shadow:0 0 0 3px #89b4fa1a}input::placeholder,textarea::placeholder{color:var(--color-text-disabled)}button{background:var(--color-bg-elevated);color:var(--color-text-primary);border:var(--border-width-thin) solid var(--color-border-primary);font-family:var(--font-family-system);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-lg);outline:none;border-radius:var(--border-radius-base);cursor:pointer;transition:all var(--transition-base)}button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-active);transform:translateY(-1px);box-shadow:var(--effect-shadow-base)}button:active:not(:disabled){transform:translateY(0);box-shadow:var(--effect-shadow-sm)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-text-link-hover);text-decoration:underline}code,pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background:var(--color-bg-elevated);border-radius:var(--border-radius-sm)}code{padding:2px 6px}pre{padding:var(--spacing-md);overflow-x:auto}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--border-radius-base)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--border-radius-base);border:3px solid var(--color-bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-active)}::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.card{background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-lg);box-shadow:var(--effect-shadow-sm)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base)}.slide-up{animation:slideUp var(--transition-base)}@media (max-width: 768px){html,body,#root{overflow:visible;height:100%;height:100dvh}body{min-height:100vh;min-height:-webkit-fill-available;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}@supports (padding: max(0px)){body{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}}input,textarea,select,button{font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}*{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}::-webkit-scrollbar{width:0px;background:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}a,button,[role=button],[tabindex]{display:flex;align-items:center;justify-content:center}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@supports (-webkit-touch-callout: none){.mobile-layout{height:100vh;height:-webkit-fill-available}body{position:fixed;overflow:hidden;width:100%;height:100%}#root{overflow:auto;height:100%;-webkit-overflow-scrolling:touch}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (max-width: 768px) and (prefers-color-scheme: dark){body{background-color:#000}}@media (max-width: 768px) and (orientation: landscape) and (max-height: 600px){.mobile-layout__tabs .tab{padding:var(--spacing-xs);font-size:var(--font-size-xs)}.mobile-prompt-bar{padding:var(--spacing-xs)}}
