*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--surface: #1a1a1a;--surface-hover: #242424;--border: #2a2a2a;--text: #e8e8e8;--text-muted: #888;--accent: #7c6aef;--accent-hover: #6b58e0;--danger: #ef4444;--radius: 10px;--accent-glow: rgba(124, 106, 239, .15);--accent-border: rgba(124, 106, 239, .4)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.app{max-width:920px;margin:0 auto;padding:2rem 1.5rem}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}header h1{font-size:1.5rem;font-weight:600}.header-right{display:flex;align-items:center;gap:.75rem}.btn-restart-comfyui{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.8rem;padding:.3rem .75rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-restart-comfyui:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.btn-restart-comfyui:disabled{opacity:.5;cursor:default}.btn-signout{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.8rem;padding:.3rem .75rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-signout:hover{border-color:var(--text-muted);color:var(--text)}.btn-history{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.8rem;padding:.3rem .75rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.btn-history:hover{border-color:var(--text-muted);color:var(--text)}.btn-history.active{background:var(--surface-hover);border-color:rgba(var(--model-rgb),.45);color:var(--text)}.status{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.status.checking .status-dot{background:#eab308}.status.connected .status-dot{background:#22c55e}.status.error .status-dot{background:var(--danger)}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:3rem 2rem;text-align:center;transition:border-color .2s,background .2s}.upload-zone.dragging{border-color:var(--accent);background:#7c6aef0d}.upload-zone p{margin-bottom:.5rem;color:var(--text-muted)}.upload-zone .hint{font-size:.8rem;color:var(--text-muted);opacity:.7;margin-top:1rem}.file-link{color:var(--accent);cursor:pointer;text-decoration:underline}.prompt-section{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.prompt-input{width:100%;max-width:100%;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s}.prompt-input:focus{border-color:rgb(var(--model-rgb));box-shadow:0 0 0 3px rgba(var(--model-rgb),.15)}.prompt-input.negative{border-color:#444}.prompt-input.enhanced{background:var(--surface);border-color:var(--accent);color:var(--text-muted);font-size:.85rem;cursor:default;opacity:.85;resize:none;overflow:hidden}.prompt-footer{display:flex;align-items:center;justify-content:space-between}.prompt-hint{font-size:.78rem;color:var(--text-muted);opacity:.5}.ai-toggle{display:flex;align-items:center;gap:.65rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ai-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ai-toggle-track{position:relative;width:42px;height:24px;background:var(--border);border-radius:12px;flex-shrink:0;transition:background .2s}.ai-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000059;transition:transform .2s}.ai-toggle input:checked~.ai-toggle-track{background:rgb(var(--model-rgb))}.ai-toggle input:checked~.ai-toggle-track:after{transform:translate(18px)}.ai-toggle input:disabled~.ai-toggle-track{opacity:.45}.ai-toggle-label{font-size:.9rem;color:var(--text);white-space:nowrap}.ai-toggle[data-tooltip]{position:relative}.ai-toggle[data-tooltip]:before,.ai-toggle[data-tooltip]:after{content:"";position:absolute;bottom:calc(100% + 8px);left:0;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;transform:translateY(4px)}.ai-toggle[data-tooltip]:before{content:attr(data-tooltip);background:#2c2c2e;color:var(--text);font-size:.78rem;line-height:1.45;padding:.5rem .75rem;border-radius:7px;border:1px solid var(--border);white-space:normal;width:240px;box-shadow:0 4px 16px #0006;z-index:10}.ai-toggle[data-tooltip]:after{content:"";border:5px solid transparent;border-top-color:var(--border);bottom:calc(100% + 0px);left:18px;width:0;padding:0;background:none;box-shadow:none;border-radius:0}.ai-toggle[data-tooltip]:hover:before,.ai-toggle[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}.controls-section{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:500}.model-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.625rem}.model-card{display:flex;flex-direction:column;gap:.3rem;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;transition:border-color .2s,background .2s,box-shadow .2s}.model-card:hover:not(.active):not(:disabled){border-color:var(--text-muted);background:var(--surface-hover)}.model-card.active{border-color:rgba(var(--model-rgb),.45);background:rgba(var(--model-rgb),.12);box-shadow:0 0 12px rgba(var(--model-rgb),.12)}.model-card:disabled{opacity:.5;cursor:not-allowed}.model-card-name{font-size:.88rem;font-weight:600;color:var(--text)}.model-card-desc{font-size:.73rem;color:var(--text-muted);line-height:1.4}.controls-secondary{display:flex;gap:2rem}.segmented-control{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.segment{padding:.45rem .9rem;background:none;border:none;color:var(--text-muted);font-size:.85rem;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}.segment:not(:last-child){border-right:1px solid var(--border)}.segment.active{background:rgb(var(--model-rgb));color:#fff}.segment:hover:not(.active):not(:disabled){background:var(--surface-hover);color:var(--text)}.segment:disabled{opacity:.5;cursor:not-allowed}.generate-section{display:flex;gap:.75rem;padding-top:1.5rem}.btn-create{flex:1;padding:.85rem 2rem;background:rgb(var(--model-rgb));color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s}.btn-create:hover:not(:disabled){background:rgb(var(--model-rgb));box-shadow:0 4px 20px rgba(var(--model-rgb),.4);filter:brightness(1.12)}.btn-create:active:not(:disabled){transform:scale(.985)}.btn-create:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{padding:.85rem 1.5rem;background:none;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.btn-cancel:hover{background:var(--danger);color:#fff}.progress{margin-top:1.25rem;background:var(--surface);border-radius:var(--radius);overflow:hidden;position:relative;height:32px}.progress-bar{height:100%;background:linear-gradient(90deg,rgba(var(--model-rgb),.75),rgba(var(--model-rgb),1));transition:width .08s linear;border-radius:var(--radius);box-shadow:0 0 12px rgba(var(--model-rgb),.4)}.progress-bar.finishing{transition:width .5s ease}.progress span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.8rem;font-weight:500}.loading{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2rem;color:var(--text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;animation:fadeIn .6s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.result-thumbnail{max-width:45%;border-radius:var(--radius);border:1px solid var(--border);cursor:zoom-in;transition:opacity .15s ease,transform .15s ease}.result-thumbnail:hover{opacity:.9;transform:scale(1.02)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease both;cursor:zoom-out}.lightbox-inner{position:relative;cursor:default}.lightbox-inner img{display:block;max-width:90vw;max-height:90vh;border-radius:var(--radius);box-shadow:0 12px 50px #0009}.lightbox-info{position:absolute;bottom:0;left:0;right:0;padding:3rem 1.15rem 1rem;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.88) 55%,rgba(0,0,0,.88) 100%);border-radius:0 0 var(--radius) var(--radius);display:flex;flex-direction:column;gap:.5rem;z-index:2;opacity:0;pointer-events:none;transition:opacity .35s ease}.lightbox-info-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.lightbox-info-left,.lightbox-info-actions{display:flex;align-items:center;gap:.5rem}.lightbox-gentime{font-size:.7rem;color:#ffffffbf;white-space:nowrap}.lightbox-download{display:inline-flex;align-items:center;line-height:1.8;color:#ffffffe0;text-decoration:none;font-size:.73rem;font-weight:500;background:#000000b3;border:1px solid rgba(255,255,255,.22);padding:.2rem .65rem;border-radius:20px;letter-spacing:.02em;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .15s ease,border-color .15s ease,color .15s ease}.lightbox-download:hover{background:#ffffff29;border-color:#ffffff52;color:#fff}.lightbox-prompt-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:1.8rem;box-sizing:border-box;line-height:1;color:#fff;font-size:.73rem;font-weight:500;background:linear-gradient(90deg,#ff326e73,#ff9b1473,#ebdc0073,#1ed25073,#149bff73,#9b28ff73);border:1px solid rgba(255,255,255,.35);padding:0 .75rem 0 .55rem;border-radius:20px;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.lightbox-prompt-toggle--user{padding-left:.65rem;background:#000000b3}.lightbox-prompt-toggle:hover{box-shadow:inset 0 0 0 100px #ffffff1a;border-color:#ffffff8c}.prompt-toggle-icon{display:inline-flex;align-items:center;flex-shrink:0}.lightbox-top-left{position:absolute;top:.75rem;left:.75rem;z-index:3;display:flex;align-items:center;opacity:0;pointer-events:none;transition:opacity .35s ease}@media (hover: hover){.lightbox-inner:hover .lightbox-top-left{opacity:1;pointer-events:auto}}@media (hover: none){.lightbox-inner:not(.idle) .lightbox-top-left{opacity:1;pointer-events:auto}}.lightbox-select-btn{display:inline-flex;align-items:center;line-height:1.8;color:#ffffffe6;font-size:.73rem;font-weight:500;background:#ffffff1f;border:1px solid rgba(255,255,255,.35);padding:.2rem .65rem;border-radius:20px;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease}.lightbox-select-btn:hover{background:#fff3;border-color:#fff6}.lightbox-top-right{position:absolute;top:.75rem;right:.75rem;z-index:3;display:flex;align-items:center;opacity:0;pointer-events:none;transition:opacity .35s ease}@media (hover: hover){.lightbox-inner:hover .lightbox-top-right{opacity:1;pointer-events:auto}}@media (hover: none){.lightbox-inner:not(.idle) .lightbox-top-right{opacity:1;pointer-events:auto}}.lightbox-delete{display:inline-flex;align-items:center;line-height:1.8;color:#fff;font-size:.73rem;font-weight:500;background:#ef444473;border:1px solid rgba(239,68,68,.55);padding:.2rem .65rem;border-radius:20px;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease}.lightbox-delete:hover{background:#ef4444;border-color:#b91c1c}.lightbox-delete-confirm{display:flex;align-items:center;gap:.35rem}.lightbox-delete-confirm>span{font-size:.73rem;color:#ffffffc7;white-space:nowrap}.lightbox-delete-confirm button{display:inline-flex;align-items:center;height:1.8rem;padding:0 .65rem;border-radius:20px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#ffffffe0;font-size:.73rem;cursor:pointer;transition:background .15s,border-color .15s}.lightbox-delete-confirm-yes{background:#ef444473!important;border-color:#ef44448c!important}.lightbox-delete-confirm-yes:hover{background:#ef4444!important;border-color:#b91c1c!important}.lightbox-delete-confirm button:first-of-type:hover{background:#ef444473;border-color:#ef44448c}.lightbox-delete-confirm button:last-of-type:hover{background:#fff3}.lightbox-model{display:inline-flex;align-self:flex-start;flex-shrink:0;color:#fffffff2;font-size:.73rem;font-weight:500;padding:.2rem .65rem;border-radius:20px;white-space:nowrap;letter-spacing:.02em;border:1px solid rgba(255,255,255,.22);background:#7c6aefb3}.lightbox-model.badge-imagine-lite{background:#65c81ab3}.lightbox-model.badge-imagine-2{background:#0ea5e9b3}.lightbox-model.badge-imagine-2-neo{background:#dc143cb3}.lightbox-model.badge-imagine-pro{background:#7c6aefb3}@keyframes promptFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-prompt-wrap{position:relative}.lightbox-prompt{font-size:.8rem;color:#ffffffd1;line-height:1.55;margin:0}.lightbox-prompt-sizer{visibility:hidden;pointer-events:none}.lightbox-prompt-active{position:absolute;top:0;left:0;right:0;animation:promptFadeIn .4s ease both}@media (hover: hover){.lightbox-inner:hover .lightbox-info{opacity:1;pointer-events:auto}}@media (hover: none){.lightbox-inner:not(.idle) .lightbox-info{opacity:1;pointer-events:auto}}.lightbox-history-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000e0;display:flex;flex-direction:column;align-items:center;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .3s ease}.lightbox-history-panel.visible{opacity:1;pointer-events:auto}.lightbox-history-panel .history{width:100%;max-width:960px;margin:2.25rem auto 0;padding:0 1.5rem 1.5rem}.lightbox-back{position:absolute;top:1.25rem;left:1.5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.8rem;font-weight:500;padding:.35rem .9rem;border-radius:20px;cursor:pointer;letter-spacing:.02em;transition:background .15s ease,border-color .15s ease;z-index:1002}.lightbox-back:hover{background:#ffffff29;border-color:#ffffff52}.lightbox-close{position:absolute;top:1.25rem;right:1.5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.82rem;padding:.35rem .85rem;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:.3rem;letter-spacing:.02em;transition:background .15s ease,border-color .15s ease;z-index:1002}.lightbox-close:hover{background:#ffffff29;border-color:#ffffff52}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff12;border:1px solid rgba(255,255,255,.14);color:#fff;font-size:1.6rem;width:2.75rem;height:5rem;padding:0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease;z-index:1001}.lightbox-arrow:hover{background:#ffffff29;border-color:#ffffff47}.lightbox-prev{left:1.25rem}.lightbox-next{right:1.25rem}.result-prompt{margin-top:.75rem;font-size:.85rem;color:var(--text-muted);line-height:1.5;max-width:600px;margin-left:auto;margin-right:auto}.btn-regen{padding:.85rem 1.5rem;background:none;color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,opacity .25s}.btn-regen:hover:not(:disabled){background:rgba(var(--model-rgb),.12);border-color:rgba(var(--model-rgb),.45)}.btn-regen:disabled{opacity:.35;cursor:default}.btn-regen-wrap{position:relative;display:inline-block}.btn-regen-wrap[data-tooltip]:before,.btn-regen-wrap[data-tooltip]:after{content:"";position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.btn-regen-wrap[data-tooltip]:before{content:attr(data-tooltip);background:#2c2c2e;color:var(--text);font-size:.78rem;line-height:1.45;padding:.5rem .75rem;border-radius:7px;border:1px solid var(--border);white-space:normal;width:200px;box-shadow:0 4px 16px #0006;z-index:10;transform:translate(-50%) translateY(4px)}.btn-regen-wrap[data-tooltip]:after{content:"";border:5px solid transparent;border-top-color:var(--border);bottom:calc(100% + 0px);width:0;padding:0;background:none;box-shadow:none;border-radius:0;transform:translate(-50%) translateY(0)}.btn-regen-wrap[data-tooltip]:has(.btn-regen:disabled):hover:before,.btn-regen-wrap[data-tooltip]:has(.btn-regen:disabled):hover:after{opacity:1;transform:translate(-50%) translateY(0)}.btn-download{display:inline-flex;align-items:center;margin-top:1rem;padding:.5rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:.85rem;cursor:pointer;transition:background .2s,border-color .2s}.btn-download:hover{background:var(--surface-hover)}.batch-result{display:flex;flex-direction:column;align-items:center;gap:.75rem}.batch-images{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;width:100%}.batch-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1 1 0;min-width:0;max-width:200px}.batch-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);cursor:zoom-in;transition:opacity .15s ease,transform .15s ease}.batch-item img:hover{opacity:.9;transform:scale(1.02)}.batch-item .btn-download{margin-top:0}.error{margin-top:1rem;padding:.85rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.35);border-radius:var(--radius);color:#fca5a5;font-size:.9rem}.history{margin-top:1.5rem}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.history-header h3{font-size:1.25rem;font-weight:600;color:var(--text);margin:0}.history-header-actions{display:flex;align-items:center;gap:.5rem}.history-pill-btn{display:inline-flex;align-items:center;height:1.8rem;font-size:.78rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:0 .75rem;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s,background .15s}.history-pill-btn:hover{border-color:var(--text-muted);color:var(--text)}.history-pill-danger{background:#ef444473;border-color:#ef44448c;color:#fff}.history-pill-danger:hover{background:#ef4444;border-color:#b91c1c;color:#fff}.history-select-count{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.history-clear-confirm{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--fg)}.history-clear-confirm button{padding:.15rem .55rem;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;font-size:.78rem;transition:background .15s}.history-clear-confirm button:hover{background:var(--surface-hover)}.history-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.history-filter-pill{display:inline-flex;align-items:center;height:1.6rem;font-size:.72rem;font-weight:500;color:var(--text-muted);background:rgba(var(--pill-rgb),.12);border:1px solid rgba(var(--pill-rgb),.25);border-radius:20px;padding:0 .6rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.history-filter-pill:hover{background:rgba(var(--pill-rgb),.22);border-color:rgba(var(--pill-rgb),.4);color:var(--text)}.history-filter-pill.active{background:rgba(var(--pill-rgb),.35);border-color:rgba(var(--pill-rgb),.6);color:#fff}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.history-item{position:relative;cursor:pointer;transition:opacity .3s ease}.history-items-hidden .history-item{opacity:0}.history-item:hover img{border-color:var(--accent);transition:border-color .2s}.history-item.selected img{border-color:var(--accent);border-width:2px}.history-item.multi-selected img{border-color:var(--accent);border-width:2px;opacity:.8}.history-item-checkbox{position:absolute;top:.4rem;left:.4rem;width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:border-color .15s,background .15s;pointer-events:none}.history-item-checkbox.checked{background:var(--accent);border-color:var(--accent)}.history-item-checkbox.checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.65rem;color:#fff;font-weight:700;line-height:1}.history-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);display:block}.history-item-view,.history-item-delete{position:absolute;top:.4rem;opacity:0;transition:opacity .2s,background .2s,border-color .2s,color .2s;height:1.8rem;padding:0 .65rem;border-radius:20px;background:#000000b3;border:1px solid rgba(255,255,255,.22);color:#ffffffe0;font-size:.73rem;font-weight:500;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.history-item-view{left:.4rem}.history-item-delete{right:.4rem;background:#ef444473;border-color:#ef44448c;color:#fff}.history-item:hover .history-item-view,.history-item:hover .history-item-delete{opacity:1}.history-item-view:hover{background:#ffffff29;border-color:#ffffff52;color:#fff}.history-item-delete:hover{background:#ef4444;border-color:#b91c1c}.history-item-model-badge{position:absolute;bottom:.4rem;left:.4rem;display:inline-flex;align-items:center;height:1.8rem;white-space:nowrap;padding:0 .65rem;border-radius:20px;border:1px solid rgba(255,255,255,.22);color:#fffffff2;font-size:.73rem;font-weight:500;letter-spacing:.02em;opacity:0;transition:opacity .2s;pointer-events:none}.history-item:hover .history-item-model-badge{opacity:1}.history-item-confirm{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);background:#000000c7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.history-item-confirm span{color:#ffffffe6;font-size:.8rem;font-weight:500}.history-item-confirm-btns{display:flex;gap:.4rem}.history-item-confirm-btns button{display:inline-flex;align-items:center;height:1.8rem;padding:0 .7rem;border-radius:20px;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#ffffffe6;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.history-item-confirm-btns button:first-of-type{background:#ef444473;border-color:#ef44448c;color:#fff}.history-item-confirm-btns button:first-of-type:hover{background:#ef4444;border-color:#b91c1c}.history-item-confirm-btns button:last-of-type:hover{background:#ffffff38}.history-prompt{margin-top:.4rem;font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;text-align:center}.login-card h1{font-size:1.3rem;font-weight:600;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-input{width:100%;padding:.8rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;font-family:inherit;outline:none;text-align:center;letter-spacing:.1em;transition:border-color .2s}.login-input:focus{border-color:var(--accent)}.login-error{font-size:.85rem;color:#fca5a5;margin:0}.login-btn{width:100%;padding:.8rem;margin-top:.25rem}@media (max-width: 600px){html,body{overflow-x:hidden;max-width:100%}.app{padding:1rem .75rem;max-width:100%;box-sizing:border-box}header{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem}header h1{font-size:1.1rem}.header-right{flex-wrap:wrap;gap:.5rem}.status{font-size:0;gap:0}.status-dot{width:8px;height:8px}.btn-history,.btn-restart-comfyui,.btn-signout{font-size:.72rem;padding:.25rem .6rem}.generator,.prompt-section,.progress{max-width:100%;box-sizing:border-box}.prompt-input{font-size:.9rem;padding:.75rem}.prompt-hint{display:none}.ai-toggle-label{font-size:.75rem}.model-cards{grid-template-columns:repeat(2,1fr);gap:.5rem}.model-card{padding:.5rem}.model-card-name{font-size:.8rem}.model-card-desc{font-size:.65rem}.controls-secondary{flex-direction:column;gap:.75rem}.control-group-label{font-size:.72rem}.segment{padding:.5rem .7rem;font-size:.82rem}.generate-section{flex-direction:column}.btn-create{width:100%;padding:.85rem;font-size:1rem}.btn-cancel{width:100%}.progress span{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}.result-thumbnail{max-width:85%}.batch-item{max-width:45%}.lightbox-inner img{max-width:95vw;max-height:85vh}.lightbox-arrow{width:2rem;height:3.5rem;font-size:1.2rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{top:.75rem;right:.75rem;font-size:.72rem;padding:.25rem .65rem}.lightbox-back{top:.75rem;left:.75rem;font-size:.72rem;padding:.25rem .65rem}.lightbox-info{padding:2.5rem .75rem .75rem}.lightbox-prompt{font-size:.72rem}.lightbox-model,.lightbox-download,.lightbox-prompt-toggle{font-size:.65rem;height:1.5rem}.lightbox-gentime{font-size:.62rem}.lightbox-history-panel .history{padding:0 .75rem 1rem;margin-top:3.5rem}.history-header h3{font-size:1rem}.history-filters{gap:.3rem}.history-filter-pill{height:1.4rem;font-size:.65rem;padding:0 .5rem}.history-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.history-item-view,.history-item-delete,.history-item-model-badge{height:1.4rem;font-size:.62rem;padding:0 .45rem}.history-prompt{font-size:.65rem}.history-header-actions{gap:.35rem}.history-pill-btn{height:1.5rem;font-size:.68rem;padding:0 .55rem}}
