:root{--bg-color:#0c0d0f;--bg-panel:#111214;--bg-btn:#17181a;--border-color:#2a2c2e;--border-panel:#1e1e20;--accent-color:#fe165c;--accent-hover:#e0104f;--text-primary:#f2f2f2;--text-secondary:#9aa0a6;--text-muted:#6b7075;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--transition:.2s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;height:100vh;line-height:1.5;overflow:hidden}#app{width:100vw;height:100vh;display:flex}.text-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.text-body{font-size:.95rem}.text-caption{color:var(--text-secondary);font-size:.85rem}.w-full{width:100%}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--accent-color);color:#000;border:2px solid #0000;padding:1rem 1.25rem;font-weight:600;box-shadow:0 4px 14px #fe165c33}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #fe165c4d}.btn-primary:active{transform:translateY(0)}.btn-primary svg{fill:#000!important}.btn-ghost{color:var(--text-secondary);background:0 0;padding:.5rem}.btn-ghost:hover{color:var(--text-primary);background-color:#ffffff1a}.sidebar{border-right:1px solid var(--border-panel);background-color:var(--bg-panel);z-index:10;flex-direction:column;flex-shrink:0;width:260px;padding:1.5rem;display:flex;position:relative}.sidebar-logo{cursor:pointer;text-align:left;border-radius:var(--radius-md);transition:opacity var(--transition);background:0 0;border:none;align-items:center;gap:.35rem;margin-bottom:2.5rem;padding:0;display:flex}.sidebar-logo:hover{opacity:.85}.logo-icon-img{object-fit:contain;flex-shrink:0;width:auto;height:30px;display:block;transform:translateY(-3px)}.logo-text-img{object-fit:contain;flex-shrink:0;width:auto;height:30px;display:block}.sidebar-footer{margin-top:auto;padding-top:1rem}.sidebar-settings-btn{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-muted);transition:all var(--transition);background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;display:flex}.sidebar-settings-btn:hover{color:var(--text-secondary);background:#ffffff0d}.sidebar-nav{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;display:flex}.nav-item:hover{color:var(--text-primary);background-color:#ffffff0d}.nav-item.active{color:var(--accent-color);background-color:#fe165c14}.main-content{flex-grow:1;position:relative;overflow:hidden}.view{opacity:0;pointer-events:none;flex-direction:column;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0;overflow-y:auto}.view.active{opacity:1;pointer-events:auto}.view-header{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-panel);background:#0c0d0fe6;padding:1.5rem 2.5rem;position:sticky;top:0}.generate-layout{flex-grow:1;gap:2rem;height:calc(100% - 85px);padding:1.5rem;display:flex}.prompt-panel{background:var(--bg-panel);border:1px solid var(--border-panel);border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;gap:1.5rem;width:440px;height:100%;padding:1.5rem 1rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-field{background-color:var(--bg-btn);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);transition:border-color var(--transition);resize:none;padding:1rem;font-size:.95rem}.input-field:focus{border-color:var(--text-secondary);outline:none}.input-field::placeholder{color:var(--text-muted)}.control-section{flex-direction:column;gap:1rem;margin-bottom:.5rem;display:flex}.control-header{align-items:center;gap:.5rem;display:flex}.control-title{letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;font-weight:700}.control-header svg{color:var(--accent-color);fill:var(--accent-color)}.selectable-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.selectable-grid.ratio-grid{grid-template-columns:repeat(5,1fr);gap:.4rem}.selectable-grid.quality-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.grid-btn,.icon-btn{background-color:var(--bg-btn);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.grid-btn:hover,.icon-btn:hover{color:var(--text-primary);background-color:#1e2024}.grid-btn.active,.icon-btn.active{color:var(--accent-color);background-color:#fe165c0d;border:1px solid var(--accent-color)!important}.grid-btn.active .icon{color:var(--accent-color)}.grid-btn .icon{filter:grayscale(50%);font-size:1.1rem;transition:filter .2s}.grid-btn.active .icon{filter:grayscale(0%)}.icon-btn{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.5rem 0}.ratio-icon{border:2px solid var(--text-secondary);border-radius:2px;transition:border-color .15s}.icon-btn.active .ratio-icon{border-color:var(--accent-color)}.aspect-1-1{width:16px;height:16px}.aspect-3-4{width:12px;height:16px}.aspect-4-3{width:16px;height:12px}.aspect-16-9{width:20px;height:11px}.aspect-9-16{width:11px;height:20px}.grid-btn.compact{text-align:center;justify-content:center}.result-area{background:var(--bg-panel);border-radius:var(--radius-lg);border:1px solid var(--border-panel);flex-grow:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.result-container{justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;display:flex}.empty-state,.loading-state{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.empty-icon{color:var(--border-color)}.image-result{border-radius:var(--radius-md);justify-content:center;max-width:100%;max-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0006}.image-result img{object-fit:contain;max-width:100%;max-height:calc(100vh - 150px);display:block}.image-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);opacity:0;background:#000000b3;gap:.5rem;padding:.25rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem;transform:translateY(-5px)}.image-result:hover .image-actions{opacity:1;transform:translateY(0)}.api-log{color:var(--text-primary);background:#00000080;border-radius:4px;margin-top:1rem;padding:.5rem 1rem;font-family:monospace;font-size:.8rem}.loader-ring{width:48px;height:48px;display:inline-block;position:relative}.loader-ring:after{content:" ";border:3px solid var(--accent-color);border-color:var(--accent-color) transparent var(--accent-color) transparent;border-radius:50%;width:40px;height:40px;margin:4px;animation:1.2s linear infinite loader-ring;display:block}@keyframes loader-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-content:start;gap:1.5rem;padding:1.5rem;display:grid}.gallery-empty{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:.5rem;padding:4rem 2rem;display:flex}.gallery-item{border-radius:var(--radius-md);aspect-ratio:1;background:var(--bg-panel);cursor:pointer;transition:transform var(--transition);border:1px solid var(--border-panel);position:relative;overflow:hidden}.gallery-item:hover{border-color:var(--border-color);transform:translateY(-4px)}.gallery-item img{object-fit:cover;width:100%;height:100%}.gallery-item-overlay{opacity:0;transition:opacity var(--transition);background:linear-gradient(#0000,#000000d9);flex-direction:column;gap:.2rem;padding:.6rem .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-prompt{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);margin:0;font-size:.75rem;line-height:1.3;overflow:hidden}.gallery-item-date{color:var(--text-muted);margin:0;font-size:.68rem;line-height:1.3}.gallery-item-delete{color:#ff453ab3;cursor:pointer;opacity:0;background:#0009;border:1px solid #ff453a66;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:opacity .15s,background .15s;display:flex;position:absolute;top:.4rem;right:.4rem}.gallery-item:hover .gallery-item-delete{opacity:1}.gallery-item-delete:hover{color:#ff453a;background:#ff453a40}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;opacity:0;pointer-events:none;background:#000c;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{background:var(--bg-panel);border:1px solid var(--border-panel);border-radius:var(--radius-lg);width:440px;max-height:90vh;padding:2.5rem;overflow-y:auto;box-shadow:0 20px 50px #0009}.settings-modal-content{width:500px!important;padding:2rem!important}.settings-modal-header{justify-content:space-between;align-items:center;display:flex}.settings-modal-title-row{align-items:center;gap:.65rem;display:flex}.settings-modal-subtitle{color:var(--text-muted);margin-top:.3rem;margin-bottom:0}.settings-section{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.1rem 1.25rem}.settings-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.875rem;font-size:.72rem;font-weight:600;display:flex}.settings-field-label{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:flex}.settings-badge{color:var(--accent-color);letter-spacing:0;text-transform:none;background:#fe165c14;border:1px solid #fe165c33;border-radius:20px;padding:.1rem .45rem;font-size:.65rem;font-weight:500}.settings-badge-required{background:#fe165c1f}.settings-divider{border:none;border-top:1px solid var(--border-panel);margin:1.25rem 0}.settings-api-grid{grid-template-columns:1fr;gap:1rem;display:grid}.settings-api-card{flex-direction:column;display:flex}.settings-api-card-top{flex:1;margin-bottom:.75rem}.settings-api-desc{color:var(--text-muted);margin-top:.3rem}.settings-api-card .input-field{width:100%}.settings-actions-row{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.settings-creds-grid{grid-template-columns:1fr;gap:.875rem;display:grid}.settings-creds-full{grid-column:auto}.settings-creds-grid .input-field{width:100%}.settings-creds-grid .auth-input-wrap{width:100%;display:flex}.settings-creds-grid .auth-input-wrap .input-field{flex:1;min-width:0}.gallery-lightbox{-webkit-backdrop-filter:blur(16px);z-index:300;opacity:0;pointer-events:none;background:#000000eb;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.gallery-lightbox.active{opacity:1;pointer-events:auto}.gallery-lightbox-inner{flex-direction:column;align-items:center;gap:1.25rem;max-width:90vw;max-height:90vh;display:flex;position:relative}.gallery-lightbox-img{object-fit:contain;border-radius:var(--radius-md);max-width:88vw;max-height:78vh;animation:.3s cubic-bezier(.16,1,.3,1) badge-pop;box-shadow:0 24px 64px #000000b3}.gallery-lightbox-prompt{color:var(--text-muted);text-align:center;max-width:600px;padding:0 1rem;font-size:.82rem;line-height:1.5}.gallery-lightbox-actions{align-items:center;gap:.75rem;display:flex}.gallery-lightbox-download{background:var(--accent-color);color:#000;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .15s,transform .15s;display:inline-flex;box-shadow:0 4px 14px #fe165c4d}.gallery-lightbox-download:hover{background:var(--accent-hover);transform:translateY(-1px)}.gallery-lightbox-close{width:42px;height:42px;color:var(--text-primary);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex;position:fixed;top:1.25rem;right:1.25rem}.gallery-lightbox-close:hover{background:#ffffff2e}.toast-container{z-index:150;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--radius-md);color:var(--text-primary);border-left:3px solid var(--accent-color);background:#1a1c1e;align-items:center;gap:.75rem;min-width:300px;padding:1rem 1.25rem;font-size:.9rem;font-weight:500;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;transform:translate(120%);box-shadow:0 10px 30px #00000080}.toast.show{transform:translate(0)}.toast.error{border-left-color:#ff453a}.toast-action{flex-direction:column;align-items:flex-start;gap:.4rem;min-width:300px;max-width:340px}.toast-action>span:first-child{align-self:flex-start;font-size:1.1rem}.toast-btn-action{border-radius:var(--radius-sm);color:#ff453a;cursor:pointer;background:#ff453a1f;border:1px solid #ff453a66;align-self:flex-end;margin-top:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;transition:background .15s}.toast-btn-action:hover{background:#ff453a38}.prompt-panel::-webkit-scrollbar{width:6px}.prompt-panel::-webkit-scrollbar-track{background:0 0}.prompt-panel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.prompt-panel::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.icon-star{color:var(--accent-color);font-size:1.1rem}.result-area{position:relative}.edit-panel{-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border-color);border-radius:0 0 var(--radius-lg) var(--radius-lg);z-index:20;background:#0d0e10f7;padding:1.25rem 1.5rem 1.5rem;transition:transform .38s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.edit-panel.active{transform:translateY(0)}.edit-panel:before{content:"";background:linear-gradient(90deg,#0000,#fe165c66,#0000);height:1px;transition:opacity .3s;position:absolute;top:-1px;left:15%;right:15%}.edit-panel-header{justify-content:space-between;align-items:center;margin-bottom:1.1rem;display:flex}.edit-panel-title-row{align-items:center;gap:.5rem;display:flex}.edit-input-row{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.edit-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);width:72px;height:72px;transition:border-color var(--transition);flex-shrink:0}.edit-thumb:hover{border-color:var(--text-muted)}.edit-textarea{resize:none;flex:1;min-height:72px;font-size:.9rem;line-height:1.55}.edit-panel-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.edit-hint{color:var(--text-muted);letter-spacing:.01em;font-size:.73rem}.edit-apply-btn{gap:.4rem;padding:.7rem 1.4rem;font-size:.9rem}.edit-apply-btn svg{flex-shrink:0}.btn-icon-sm{border-radius:var(--radius-sm);padding:.35rem}.version-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--accent-color);letter-spacing:.04em;pointer-events:none;background:#000000b8;border:1px solid #fe165c4d;border-radius:20px;align-items:center;gap:.35rem;padding:.22rem .65rem .22rem .5rem;font-size:.72rem;font-weight:700;animation:.25s cubic-bezier(.34,1.56,.64,1) badge-pop;display:flex;position:absolute;top:1rem;left:1rem}@keyframes badge-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.ref-control-header{justify-content:space-between;width:100%}.control-header-left{align-items:center;gap:.5rem;display:flex}.btn-add-ref{background:var(--bg-btn);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.btn-add-ref:hover{border-color:var(--accent-color);color:var(--accent-color);background:#fe165c0f}.ref-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.ref-empty{grid-column:1/-1;padding:.75rem 0 .25rem}.ref-empty .text-caption{line-height:1.5}.ref-item{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;border:1.5px solid var(--border-color);background:var(--bg-btn);transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.ref-item:hover{border-color:var(--text-muted);transform:scale(1.02)}.ref-item.active{border-color:var(--accent-color)}.ref-item img{object-fit:cover;width:100%;height:100%;display:block}.ref-item-check{background:var(--accent-color);opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:opacity .15s,transform .15s;display:flex;position:absolute;bottom:4px;right:4px;transform:scale(.6)}.ref-item.active .ref-item-check{opacity:1;transform:scale(1)}.ref-item-remove{width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;background:#000c;border:none;border-radius:4px;justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:flex;position:absolute;top:3px;right:3px}.ref-item:hover .ref-item-remove{opacity:1}.ref-item-remove:hover{color:#ff453a}.active-ref-indicator{border-radius:var(--radius-md);background:#fe165c0a;border:1px solid #fe165c2e;align-items:center;gap:.75rem;padding:.6rem .65rem .6rem .75rem;animation:.25s ref-indicator-in;display:flex}@keyframes ref-indicator-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.active-ref-thumb{object-fit:cover;border:1px solid #fe165c4d;border-radius:5px;flex-shrink:0;width:36px;height:36px}.active-ref-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.active-ref-label{color:var(--accent-color);letter-spacing:.03em;font-size:.75rem;font-weight:700}.btn-generate.ref-active{box-shadow:0 4px 18px #fe165c59}.ref-modal-content{width:420px}.ref-modal-preview{border-radius:var(--radius-md);border:1px solid var(--border-panel);background:var(--bg-btn);justify-content:center;align-items:center;max-height:220px;margin-top:1rem;animation:.2s badge-pop;display:flex;overflow:hidden}.ref-modal-preview img{object-fit:contain;max-width:100%;max-height:220px;display:block}.ref-modal-footer{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.ref-modal-footer .btn-ghost{gap:.5rem;font-size:.9rem}.prompt-input-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-btn);transition:border-color .2s}.prompt-input-card:focus-within{border-color:var(--text-secondary)}.prompt-input-card .prompt-textarea{border-radius:var(--radius-md) var(--radius-md) 0 0;resize:none;background:0 0;width:100%;height:130px;display:block;border:none!important;border-bottom:1px solid var(--border-color)!important}.prompt-input-card .prompt-textarea:focus{border-bottom-color:#ffffff0f!important}.prompt-toolbar{justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .45rem;display:flex}.prompt-toolbar-left{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.toolbar-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;align-items:center;gap:.35rem;padding:.32rem .65rem;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.toolbar-btn:hover{color:var(--text-secondary);border-color:var(--text-muted);background:#ffffff08}.toolbar-btn-accent{color:var(--accent-color);background:#fe165c08;border-color:#fe165c33}.toolbar-btn-accent:hover{border-color:var(--accent-color);background:#fe165c12}.toolbar-btn-accent:disabled{opacity:.5;cursor:not-allowed}@keyframes toolbar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toolbar-btn-accent.loading svg{animation:.8s linear infinite toolbar-spin}.attached-img-preview{border-radius:var(--radius-sm);background:#fe165c0d;border:1px solid #fe165c33;align-items:center;gap:.4rem;min-width:0;padding:.18rem .35rem .18rem .28rem;animation:.2s cubic-bezier(.34,1.56,.64,1) badge-pop;display:flex}.attached-img-thumb{object-fit:cover;border-radius:3px;flex-shrink:0;width:20px;height:20px}.attached-img-preview .text-caption{text-overflow:ellipsis;white-space:nowrap;max-width:110px;color:var(--accent-color);flex:1;font-size:.72rem;overflow:hidden}.btn-icon-only-xs{color:#c9ff0080;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:color .15s;display:flex}.btn-icon-only-xs:hover{color:#ff453a}.btn-clear-attach{color:#ff453ab3;cursor:pointer;background:0 0;border:1px solid #ff453a4d;border-radius:4px;flex-shrink:0;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.72rem;font-weight:500;transition:all .15s;display:inline-flex}.imgbb-modal-content{width:460px}.imgbb-modal-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.imgbb-steps{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.imgbb-step{color:var(--text-secondary);align-items:flex-start;gap:.75rem;font-size:.88rem;display:flex}.step-num{min-width:22px;height:22px;color:var(--accent-color);background:#c9ff001a;border:1px solid #c9ff004d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.75rem;font-weight:700;display:flex}.step-note{color:var(--text-muted);margin-top:.15rem;font-size:.75rem;display:block}.link-accent{color:var(--accent-color);font-weight:500;text-decoration:none}.link-accent:hover{text-decoration:underline}.btn-clear-attach:hover{color:#ff453a;background:#ff453a1a;border-color:#ff453a}.prompt-input-card.drag-over{border-color:var(--accent-color);background:#fe165c0a}.ref-modal-tabs{background:var(--bg-btn);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:.25rem;margin-bottom:1.25rem;padding:.25rem;display:flex}.ref-tab{border-radius:calc(var(--radius-md) - 2px);color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.5rem;font-size:.85rem;font-weight:500;transition:all .15s}.ref-tab:hover{color:var(--text-secondary)}.ref-tab.active{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}.ref-tab-content{display:none}.ref-tab-content.active{display:block}#imgbb-key-setup{padding:.15rem 0}.ref-drop-zone{border:1.5px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;min-height:168px;padding:2rem 1.5rem;transition:border-color .2s,background .2s;display:flex}.ref-drop-zone:hover{border-color:var(--text-muted);background:#ffffff05}.ref-drop-zone.drag-over{border-color:var(--accent-color);background:#fe165c0a;border-style:solid}.ref-file-preview{background:var(--bg-btn);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:.85rem;padding:.75rem;display:flex}.ref-file-preview img{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:56px;height:56px}.ref-file-info{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.ref-file-info .text-caption{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.btn-icon-only{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.btn-icon-only:hover{color:#ff453a;background:#ff453a1a}.auth-screen{z-index:200;background:var(--bg-color);justify-content:center;align-items:center;padding:1rem;animation:.4s auth-fade-in;display:flex;position:fixed;inset:0}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}.auth-bg-glow{pointer-events:none;background:radial-gradient(60% 50% at 50% 40%,#c9ff000d 0%,#0000 70%),radial-gradient(40% 40% at 80% 80%,#c9ff0008 0%,#0000 60%);position:absolute;inset:0}.auth-card{z-index:1;background:var(--bg-panel);border:1px solid var(--border-panel);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:2.5rem 2.25rem 2rem;animation:.45s cubic-bezier(.16,1,.3,1) auth-card-in;position:relative;box-shadow:0 24px 64px #0009,0 0 0 1px #c9ff000a}@keyframes auth-card-in{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo{border-bottom:1px solid var(--border-panel);justify-content:center;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.auth-logo-img{object-fit:contain;filter:brightness(0)invert();width:auto;max-width:260px;height:64px;display:block}.auth-panel{flex-direction:column;gap:0;display:flex}.auth-heading{margin-bottom:1.5rem}.auth-title{color:var(--text-primary);margin-bottom:.35rem;font-size:1.35rem;font-weight:700}.auth-subtitle{color:var(--text-muted);font-size:.85rem;line-height:1.5}.auth-fields{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{color:var(--text-muted);pointer-events:none;flex-shrink:0;position:absolute;left:.875rem}.auth-input{width:100%;padding-left:2.5rem!important;padding-right:2.5rem!important}.auth-toggle-pw{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:.2rem;display:flex;position:absolute;right:.75rem}.auth-toggle-pw:hover{color:var(--text-secondary)}.auth-error{color:#ff453a;border-radius:var(--radius-sm);background:#ff453a14;border:1px solid #ff453a33;margin-bottom:.75rem;padding:.55rem .875rem;font-size:.82rem;line-height:1.4}.auth-submit-btn{gap:.6rem;margin-top:.25rem}.auth-submit-btn svg{stroke:#000}.auth-security-badge{border-radius:var(--radius-sm);background:#c9ff000a;border:1px solid #c9ff001f;align-items:flex-start;gap:.75rem;margin-top:1.5rem;padding:.875rem 1rem;display:flex}.auth-security-icon{width:28px;height:28px;color:var(--accent-color);background:#c9ff001a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;display:flex}.auth-security-text{flex-direction:column;gap:.2rem;display:flex}.auth-security-label{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-color);font-size:.72rem;font-weight:700}.auth-security-desc{color:var(--text-muted);font-size:.75rem;line-height:1.5}@keyframes auth-shake{0%,to{transform:translate(0)}15%{transform:translate(-7px)}30%{transform:translate(6px)}45%{transform:translate(-5px)}60%{transform:translate(4px)}75%{transform:translate(-3px)}90%{transform:translate(2px)}}.auth-card.shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both auth-shake}.sidebar-logout-btn{color:#ff453a99!important}.sidebar-logout-btn:hover{color:#ff453a!important;background:#ff453a0f!important}.mobile-nav-logout{color:#ff453a8c!important}.mobile-nav-logout:hover{color:#ff453a!important}.mobile-nav{display:none}@media (width>=768px) and (width<=1023px){.sidebar{width:210px;padding:1.25rem}.prompt-panel{width:320px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (width<=767px){.auth-screen{align-items:flex-end;padding:0}.auth-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:95dvh;padding:2rem 1.25rem 2.5rem;overflow-y:auto}body{height:auto;overflow:auto}#app{flex-direction:column;height:auto;min-height:100dvh}.sidebar{display:none}.main-content{padding-bottom:64px;overflow:visible}.view{opacity:0;pointer-events:none;width:100%;height:auto;display:none;position:relative;top:auto;left:auto;overflow-y:visible}.view.active{opacity:1;pointer-events:auto;display:flex}.view-header{padding:1rem 1.25rem}.text-title{font-size:1.2rem}.generate-layout{flex-direction:column;gap:.875rem;height:auto;padding:.875rem;overflow-y:visible}.prompt-panel{width:100%;height:auto;max-height:none;padding:1.25rem;overflow-y:visible}.prompt-input-card .prompt-textarea{height:100px}.result-area{flex-shrink:0;min-height:72vw}.image-result img{max-height:70vw}.image-actions{opacity:1!important;transform:translateY(0)!important}.edit-panel{border-radius:0;padding:1rem 1rem 1.25rem}.edit-hint{display:none}.selectable-grid{grid-template-columns:repeat(2,1fr)}.selectable-grid.ratio-grid{grid-template-columns:repeat(5,1fr);gap:.3rem}.icon-btn{padding:.4rem 0;font-size:.75rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.625rem;padding:.875rem}.modal-overlay{align-items:flex-end;padding:0 0 64px}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:88dvh;padding:1.75rem 1.25rem 1.25rem;overflow-y:auto}.imgbb-modal-content,.ref-modal-content{width:100%}.settings-modal-content{width:100%!important}.settings-api-grid,.settings-creds-grid{grid-template-columns:1fr}.settings-creds-full{grid-column:auto}.settings-api-card-top{margin-bottom:.5rem}.toast-container{bottom:76px;left:1rem;right:1rem}.toast{min-width:unset}.mobile-nav{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-panel);z-index:50;background:#111214f7;height:64px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:0;font-size:.62rem;font-weight:500;display:flex}.mobile-nav-item:hover{color:var(--text-secondary)}.mobile-nav-item.active{color:var(--accent-color)}.mobile-nav-item.active svg{stroke:var(--accent-color)}.mobile-nav-settings{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:0;font-size:.62rem;font-weight:500;display:flex}.mobile-nav-settings:hover{color:var(--text-secondary)}}
