@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary:#f7f1e8;--bg-secondary:rgba(255, 251, 246, 0.92);--bg-card:rgba(255, 255, 255, 0.92);--bg-input:#fffaf4;--accent:#c76f8a;--accent-hover:#b85f7c;--accent-2:#f3d7b6;--text:#33251f;--text-dim:#7d6a60;--text-bright:#33251f;--border:#eadccd;--success:#2f9b72;--error:#d95757;--radius:18px;--radius-sm:12px}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;background:radial-gradient(circle at top left,rgba(255,214,229,.4),transparent 34rem),radial-gradient(circle at bottom right,rgba(243,215,182,.45),transparent 30rem),var(--bg-primary);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-primary);z-index:9999;display:flex;align-items:center;justify-content:center}.login-overlay.hidden{display:none}.login-card{background:var(--bg-card);padding:40px;border-radius:var(--radius);text-align:center;min-width:340px;box-shadow:0 20px 60px rgba(86,55,35,.15);border:1px solid var(--border)}.login-card input,.login-logo{font-size:48px;margin-bottom:12px}.login-card h2{font-size:22px;color:var(--text-bright);margin-bottom:4px}.login-card p{font-size:13px;color:var(--text-dim);margin-bottom:20px}.login-card input{width:100%;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:inherit}.login-card input:focus{outline:0;border-color:var(--accent)}.login-card .btn{width:100%;padding:12px;font-size:14px}.login-error{color:var(--error);font-size:13px;margin-top:10px}.logo,header{display:flex;align-items:center}header{background:var(--bg-secondary);padding:16px 24px;border-bottom:1px solid var(--border);justify-content:space-between;backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(86,55,35,.06)}.logo{gap:12px}.logo-icon{font-size:28px}.logo h1{font-size:22px;font-weight:700;color:var(--text-bright)}.logo-sub{font-size:13px;color:var(--text-dim);margin-left:4px}.btn-logout,.parallel-options label,.timeout-options label{padding:6px 12px;border:1px solid var(--border);cursor:pointer;color:var(--text-dim);transition:all .2s}.btn-logout{background:0 0;border-radius:var(--radius-sm);font-size:14px}.btn-logout:hover{border-color:var(--accent);color:var(--accent)}.tabs{display:flex;gap:0;padding:16px 24px 0;background:0 0}.tab{padding:12px 28px;background:var(--bg-secondary);color:var(--text-dim);font-size:14px;font-weight:500;cursor:pointer;border-radius:var(--radius) var(--radius)0 0;transition:background .2s,border-color .2s;font-family:inherit;position:relative;letter-spacing:.01em;border:1px solid transparent;border-bottom:none}.tab:hover{color:var(--text);background:rgba(255,255,255,.7)}.tab.active{color:var(--text-bright);background:var(--bg-card);font-weight:600;border-color:var(--border);box-shadow:0-2px 12px rgba(199,111,138,.08)}.tab.active::after{content:"";position:absolute;bottom:-1px;left:12px;right:12px;height:3px;background:linear-gradient(90deg,var(--accent),#d9789a);border-radius:3px 3px 0 0}.tab-icon{margin-right:8px;font-size:15px}.workspace{display:grid;grid-template-columns:420px 1fr;gap:0;padding:0 24px 24px;min-height:calc(100vh - 120px)}.input-panel{background:var(--bg-card);border-radius:0 0 var(--radius) var(--radius);padding:20px;overflow-y:auto;max-height:calc(100vh - 120px);border:1px solid var(--border);border-top:none}.image-slot.has-image .slot-input,.image-slot.has-image .slot-plus,.parallel-options input[type=radio],.tab-content,.timeout-options input[type=radio]{display:none}.image-slot.has-image .slot-remove,.tab-content.active{display:block}.section{margin-bottom:20px;padding:14px 16px;background:rgba(255,255,255,.5);border-radius:var(--radius-sm);border:1px solid rgba(234,220,205,.6);transition:border-color .2s}.section:hover{border-color:rgba(199,111,138,.25)}.parallel-options,.timeout-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.parallel-options label,.timeout-options label{display:flex;align-items:center;gap:4px;border-radius:8px;background:var(--bg-card);font-size:13px}.parallel-options label:hover,.timeout-options label:hover{border-color:var(--accent);color:var(--text-bright)}.parallel-options label:has(input:checked),.timeout-options label:has(input:checked){background:var(--accent);color:#fff;border-color:var(--accent)}.section h3{font-size:13px;font-weight:600;margin-bottom:10px;color:var(--text-bright);letter-spacing:.01em}.row{display:flex;gap:12px}.field{flex:1}.field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px}.image-slots{display:flex;gap:8px;flex-wrap:wrap}.image-slot{width:72px;height:72px;border:2px dashed var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;transition:all .2s;background:var(--bg-input)}.image-slot:hover{border-color:var(--accent)}.image-slot .slot-plus{font-size:24px;color:var(--text-dim);pointer-events:none}.image-slot .slot-input,.image-slot .slot-preview{width:100%;height:100%;position:absolute;top:0;left:0}.image-slot .slot-input{opacity:0;cursor:pointer;z-index:1}.image-slot .slot-preview{object-fit:cover}.image-slot .slot-remove{position:absolute;top:2px;right:2px;background:var(--error);color:#fff;border:0;border-radius:50%;width:18px;height:18px;font-size:10px;cursor:pointer;display:none;z-index:3;line-height:18px;text-align:center}.idea-row{display:flex;gap:8px;align-items:flex-start}.idea-row textarea{flex:1;resize:none}.btn-idea{padding:8px 14px;white-space:nowrap;background:linear-gradient(135deg,#c76f8a,#d9789a);color:#fff;border:0;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.btn-idea:hover{transform:translateY(-1px);box-shadow:0 3px 12px rgba(199,111,138,.3)}.btn-idea:disabled{opacity:.5;cursor:wait}.btn-idea.loading{animation:pulse 1.5s infinite}input[type=password],input[type=text],select,textarea{width:100%;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;resize:vertical;transition:border-color .2s}.inpaint-controls-col textarea:focus,input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent)}.btn-generate{width:100%;padding:14px;background:linear-gradient(135deg,var(--accent),#b85f7c);color:#fff;border:0;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;font-family:inherit;margin-top:8px}.btn-generate:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(199,111,138,.3)}.btn-generate:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-generate.loading{animation:pulse 1.5s infinite}.btn-icon{margin-right:6px}.output-panel{padding:20px;overflow-y:auto;max-height:calc(100vh - 120px);border-left:1px solid var(--border)}.progress-section{background:var(--bg-card);border-radius:var(--radius);padding:18px;margin-bottom:16px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(86,55,35,.06)}.progress-log{background:var(--bg-primary);border-radius:var(--radius-sm);padding:12px;max-height:200px;overflow-y:auto;font-family:"Fira Code",monospace;font-size:12px;line-height:1.6;color:var(--text-dim)}.progress-log .log-line{margin-bottom:2px}.progress-log .log-status{color:var(--accent)}.media-card .card-actions button.delete-btn:hover,.progress-log .log-error{color:var(--error)}.progress-log .log-success{color:var(--success)}.result-section{background:var(--bg-card);border-radius:var(--radius);padding:18px;margin-bottom:16px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(86,55,35,.06)}.result-card{text-align:center}.result-card.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:stretch}.parallel-result-slot{min-height:240px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);padding:12px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:6px;color:var(--text-dim)}.parallel-result-slot.completed{border-style:solid;border-color:rgba(76,175,80,.35);background:rgba(76,175,80,.04)}.parallel-result-slot.failed{border-style:solid;border-color:rgba(229,57,53,.35);background:rgba(229,57,53,.04)}.parallel-result-slot.canceled{border-style:solid;border-color:rgba(199,111,138,.25);background:rgba(199,111,138,.04)}.parallel-result-slot .slot-status{font-weight:600;color:var(--text-bright);text-align:center}.parallel-result-slot .slot-sub{font-size:12px;opacity:.8;text-align:center}.slot-log{width:100%;max-height:130px;overflow-y:auto;background:rgba(0,0,0,.03);border:1px solid var(--border);border-radius:8px;padding:7px;margin:4px 0;text-align:left;font-size:11px;line-height:1.45}.slot-log-line{word-break:break-word;margin-bottom:3px}.slot-log-line.status{color:var(--text)}.slot-log-line,.slot-log-line.log{color:var(--text-dim)}.slot-log-line.success{color:#2e7d32}.slot-log-line.error{color:#c62828}.result-card img{max-width:100%;max-height:500px;object-fit:contain;border-radius:var(--radius-sm);cursor:pointer;transition:transform .2s}.result-grid .parallel-result-slot img{max-height:400px;object-fit:contain}.result-card img:hover{transform:scale(1.02)}.result-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;justify-content:center}.meta-tag{background:var(--bg-input);padding:4px 10px;border-radius:20px;font-size:12px;color:var(--text-dim)}.result-actions{display:flex;gap:8px;justify-content:center;margin-top:12px}.history-section{background:var(--bg-card);border-radius:var(--radius);padding:18px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(86,55,35,.06)}.history-section h3{font-size:14px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.result-title{display:flex;align-items:center;gap:12px}.btn-clear-all{margin-left:auto;background:rgba(229,57,53,.08);color:#e53935;border:1px solid rgba(229,57,53,.25);border-radius:20px;padding:5px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-clear-all:hover{background:rgba(229,57,53,.15);border-color:rgba(229,57,53,.5);transform:scale(1.03)}.btn-refresh{background:0 0;border:0;cursor:pointer;font-size:14px;transition:transform .3s}.btn-refresh:hover{transform:rotate(180deg)}.history-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.history-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-input);cursor:pointer;transition:transform .2s}.history-item:hover{transform:translateY(-2px)}.history-item img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.history-item .item-info{padding:4px 6px;font-size:9px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item .item-actions{display:flex;gap:2px;padding:3px 6px;border-top:1px solid var(--border);justify-content:space-around;opacity:0;transition:opacity .2s}.history-item:hover .item-actions{opacity:1}.history-item .item-actions button{background:0 0;color:var(--text-dim);font-size:11px;padding:1px 3px;border-radius:4px}.history-item .item-actions button:hover,.media-card .card-actions button:hover{color:var(--text-bright);background:var(--bg-secondary)}.history-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;flex-wrap:wrap}.btn,.history-item .item-actions button{border:0;cursor:pointer;transition:all .2s}.btn{padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:inherit}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--text-dim)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{opacity:.8}.btn-icon-only,.btn-sm{padding:4px 8px;font-size:11px;border-radius:4px}.btn-icon-only{background:rgba(0,0,0,.6);color:#fff;border:0;padding:4px 6px;cursor:pointer;font-size:12px}.btn-icon-only:hover{background:rgba(0,0,0,.8)}.modal,.modal-overlay{top:0;left:0;width:100%;height:100%;z-index:10000}.modal{display:none;position:fixed}.modal.active{display:flex;align-items:center;justify-content:center}.modal-overlay{position:absolute;background:rgba(0,0,0,.85);cursor:pointer}.modal-content{position:relative;max-width:90vw;max-height:90vh;z-index:10001}.modal-content img{max-width:90vw;max-height:85vh;border-radius:var(--radius)}.modal-close{position:absolute;top:-12px;right:-12px;background:var(--accent);color:#fff;border:0;border-radius:50%;width:32px;height:32px;font-size:18px;cursor:pointer;z-index:2}.modal-small{background:var(--bg-card);padding:24px;border-radius:var(--radius);min-width:360px}.modal-small h3,.modal-small input{margin-bottom:16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.modal-info{text-align:center;padding:8px;color:var(--text-dim);font-size:12px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}#tab-media{padding:0 24px 24px}.media-manager{background:var(--bg-card);border-radius:var(--radius);padding:24px;min-height:calc(100vh - 160px);border:1px solid var(--border);box-shadow:0 2px 12px rgba(86,55,35,.06)}.media-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.media-main{min-width:0}.media-main-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.media-main-header h3{font-size:17px;font-weight:700;margin:0}.media-main-header .media-stats{font-size:12px;color:var(--text-dim);padding:4px 10px;background:var(--bg-input);border-radius:16px;margin:0}.media-sidebar{background:var(--bg-secondary);border-radius:var(--radius);padding:18px;border:1px solid var(--border);position:sticky;top:20px}.sidebar-section{margin-bottom:16px}.sidebar-label{display:block;font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:6px;letter-spacing:.3px}.sidebar-section input,.sidebar-section select{width:100%;padding:8px 10px;font-size:13px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);transition:border-color .2s}.sidebar-section input:focus,.sidebar-section select:focus{border-color:var(--accent);outline:0}.sidebar-actions{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--border)}.sidebar-btn{width:100%;text-align:center;padding:8px 12px!important;font-size:13px}.media-toolbar,.media-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap}.media-toolbar{justify-content:space-between;margin-bottom:18px;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.media-toolbar h3{font-size:17px;font-weight:700}.media-toolbar-actions{gap:8px}.media-search{width:100%!important;padding:8px 10px!important;font-size:13px!important}.media-stats{font-size:12px;color:var(--text-dim);margin-bottom:16px;padding:8px 12px;background:var(--bg-input);border-radius:var(--radius-sm)}.media-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.media-card{background:var(--bg-input);border-radius:var(--radius-sm);overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease;border:1px solid rgba(234,220,205,.6)}.media-card.selected,.media-card:hover{border-color:var(--accent)}.media-card .card-checkbox{position:absolute;top:6px;left:6px;z-index:2;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.media-card .card-image{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;cursor:pointer}.media-card .card-body{padding:4px 6px}.media-card .card-name{font-size:9px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.media-card .card-meta{font-size:8px;color:var(--text-dim);display:flex;gap:4px}.media-card .card-actions{display:flex;gap:2px;padding:4px 6px;border-top:1px solid var(--border);justify-content:space-around}.media-card .card-actions button{background:0 0;border:0;font-size:11px;padding:1px 4px;border-radius:4px}.media-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;flex-wrap:wrap}.media-card .card-actions button,.page-btn{color:var(--text-dim);cursor:pointer;transition:all .2s}.page-btn{padding:6px 12px;border:1px solid var(--border);background:var(--bg-input);border-radius:var(--radius-sm);font-size:13px;font-family:inherit}.page-btn:hover{border-color:var(--accent);color:var(--text)}.page-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-info{font-size:12px;color:var(--text-dim);margin:0 8px}.media-empty{text-align:center;padding:60px 20px;color:var(--text-dim)}.media-empty span{font-size:48px;display:block;margin-bottom:12px}.media-empty p{font-size:14px}.media-card.input-card{border-left:3px solid #6c5ce7}@media (max-width:1400px){.media-grid{grid-template-columns:repeat(8,1fr)}}@media (max-width:1100px){.media-grid{grid-template-columns:repeat(5,1fr)}.media-layout{grid-template-columns:200px 1fr}.history-grid{grid-template-columns:repeat(5,1fr)}}@media (max-width:768px){header{padding:12px 16px}.logo h1{font-size:18px}.logo-sub{display:none}.tabs{padding:12px 16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:10px 16px;font-size:13px;white-space:nowrap;flex-shrink:0}.workspace{grid-template-columns:1fr;padding:0 16px 16px}.input-panel,.output-panel{max-height:none;padding:16px}.image-slot{width:70px;height:70px}.image-slots{gap:6px}.idea-row{flex-direction:column;gap:8px}.btn-idea{width:100%;padding:10px}.row{flex-direction:column;gap:10px}.btn-generate{padding:16px;font-size:16px}.history-grid,.media-grid{grid-template-columns:repeat(2,1fr);gap:8px}.history-item .item-actions{opacity:1}.history-item .item-actions button{font-size:14px;padding:4px 6px}#tab-media{padding:0 16px 16px}.media-layout{grid-template-columns:1fr}.media-sidebar{position:static}.sidebar-actions{flex-direction:row}.sidebar-btn{width:auto;flex:1}.media-search{width:100%!important}.media-toolbar-actions select{width:100%}.media-toolbar-actions .btn{width:100%;text-align:center;padding:10px}.media-card .card-actions{opacity:1;flex-wrap:wrap;gap:4px;padding:6px 6px 8px}.media-card .card-actions button{font-size:14px;padding:6px 8px;flex:1 1 calc(50% - 4px);min-width:0}.media-card .card-name{font-size:10px}.media-card .card-meta{font-size:9px}.progress-log{font-size:11px;max-height:150px}.result-card img{max-height:300px}.meta-tag{font-size:11px;padding:4px 8px}.result-actions{flex-wrap:wrap}.modal-content{max-width:95vw}.modal-content img{max-width:95vw;max-height:80vh}.modal-small{min-width:auto;width:90vw}.page-btn{padding:8px 12px;font-size:14px}}@media (max-width:480px){.logo-icon{font-size:22px}.logo h1{font-size:16px}.tab{padding:8px 12px;font-size:12px}.image-slot{width:60px;height:60px}.history-grid,.media-grid{grid-template-columns:repeat(2,1fr);gap:6px}.media-card .card-actions{flex-wrap:wrap;gap:4px;padding:6px 5px 8px}.media-card .card-actions button{font-size:13px;padding:6px;flex:1 1 calc(50% - 4px);min-width:0}.media-card .card-name{font-size:9px}.btn-generate{padding:14px;font-size:15px}.section h3{font-size:13px}input[type=text],select,textarea{font-size:14px}}#toast-container{position:fixed;right:18px;bottom:18px;z-index:3000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{min-width:240px;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;border-radius:12px;color:#111827;background:#fff7ed;border:1px solid rgba(17,24,39,.12);box-shadow:0 12px 34px rgba(0,0,0,.28);font-size:13px;line-height:1.45;font-weight:600;opacity:0;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:#ecfdf5;color:#064e3b;border-color:#34d399}.toast-error{background:#fef2f2;color:#7f1d1d;border-color:#f87171}.toast-warn{background:#fffbeb;color:#78350f;border-color:#fbbf24}.toast-info{background:#eff6ff;color:#1e3a8a;border-color:#60a5fa}.media-card .card-image{content-visibility:auto;contain-intrinsic-size:160px 220px;background:var(--bg-secondary)}.media-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.22)}.existing-refs{flex-wrap:wrap;align-items:center}.ref-empty{color:var(--text-dim);font-size:12px}.ref-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px;border-radius:999px;background:rgba(233,69,96,.14);color:var(--text-bright);border:1px solid rgba(233,69,96,.35);font-size:11px;line-height:1.2}.ref-pill button{border:0;background:rgba(255,255,255,.14);color:var(--text-bright);width:18px;height:18px;border-radius:50%;cursor:pointer;line-height:18px;padding:0}.ref-pill button:hover{background:var(--error);color:#fff}.existing-refs{display:flex;flex-direction:column;gap:8px;min-height:32px}.ref-row{display:grid;grid-template-columns:54px 56px 1fr auto;align-items:center;gap:8px;padding:7px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(233,69,96,.28)}.ref-index{color:var(--accent);font-weight:700;font-size:12px;white-space:nowrap}.ref-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--bg-secondary)}.ref-info{min-width:0}.ref-name{color:var(--text-bright);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-type{color:var(--text-dim);font-size:10px;margin-top:2px}.ref-actions{display:flex;gap:3px}.ref-actions button{width:24px;height:24px;border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:6px;cursor:pointer;font-size:12px}.ref-actions button:disabled{opacity:.35;cursor:not-allowed}.ref-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--text-bright)}.ref-hint{color:var(--text-dim);font-size:11px;line-height:1.45;padding:2px 4px}.upload-aliases{margin-top:8px;display:flex;flex-direction:column;gap:5px}.upload-alias-title{color:var(--text-dim);font-size:11px}.upload-alias-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:rgba(108,92,231,.12);border:1px solid rgba(108,92,231,.28)}.upload-alias-index{color:#a29bfe;font-weight:700;font-size:12px;min-width:44px}.upload-alias-name{color:var(--text-bright);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jobs-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.job-chip{border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:999px;padding:5px 9px;font-size:11px;cursor:pointer}.job-chip.active{border-color:var(--accent);color:var(--text-bright);background:rgba(233,69,96,.14)}.job-chip.completed{border-color:rgba(16,185,129,.45)}.job-chip.failed{border-color:rgba(239,68,68,.55)}.activity-log{display:flex;flex-direction:column;gap:6px;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px}.activity-line{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:6px;align-items:start;padding:5px 0;border-bottom:1px solid rgba(148,163,184,.12);white-space:normal;word-break:break-word}.activity-line:last-child{border-bottom:0}.activity-line.muted{display:block;color:rgba(148,163,184,.72)}.activity-line.status .activity-message{color:#93c5fd}.activity-line.progress .activity-message{color:#34d399}.activity-line.success .activity-message{color:#6ee7b7}.activity-line.error .activity-message{color:#fb7185}.activity-job,.activity-time{font-size:10px;line-height:1.45;white-space:nowrap}.activity-time{color:rgba(148,163,184,.7);font-variant-numeric:tabular-nums}.activity-job{color:#fbbf24;font-weight:750}.activity-message{min-width:0;color:#86efac;font-size:11px;line-height:1.45}.background-jobs-list{max-height:420px;overflow-y:auto;padding-right:2px}.background-job-card{padding:12px;border:1px solid rgba(226,232,240,.78);background:rgba(255,255,255,.72);border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.05)}.background-job-card.canceled,.background-job-card.completed,.background-job-card.failed{display:none!important}.background-job-card.running{border-color:rgba(16,185,129,.45)}.background-job-card.queued{border-color:rgba(148,163,184,.32)}.job-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.job-title{color:#6ee7b7;font-size:11px;font-weight:750;line-height:1.35;font-family:"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.job-subtitle{margin-top:2px;color:#86efac;font-size:10px;font-weight:600}.job-badge{flex-shrink:0;padding:2px 6px;border-radius:999px;background:rgba(16,185,129,.1);color:#6ee7b7;font-size:9px;font-weight:750;line-height:1.25}.job-badge.running{background:rgba(16,185,129,.12);color:#6ee7b7}.job-badge.completed{background:rgba(16,185,129,.13);color:#047857}.job-badge.failed{background:rgba(244,63,94,.13);color:#be123c}.job-progress-track{position:relative;height:14px;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.9);border:1px solid rgba(148,163,184,.22)}.job-progress-fill{height:100%;min-width:4%;border-radius:inherit;background:linear-gradient(90deg,#c76f8a,#f3d7b6);transition:width .35s ease}.job-progress-fill.completed{background:linear-gradient(90deg,#10b981,#6ee7b7)}.job-progress-fill.canceled,.job-progress-fill.failed{background:linear-gradient(90deg,#f43f5e,#fb7185)}.job-progress-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#0f172a;font-size:9px;font-weight:850;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.5)}.job-log-box{margin-top:8px;padding:8px;max-height:104px;overflow-y:auto;border-radius:11px;background:rgba(248,250,252,.86);border:1px solid rgba(226,232,240,.75);color:#64748b;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:10.5px;line-height:1.45}.job-error-line,.job-file-line,.job-log-line{margin-bottom:4px;word-break:break-word}.job-log-line.muted{color:#94a3b8}.job-file-line{color:#047857}.job-error-line{color:#be123c;font-weight:700}.dark .background-job-card,[data-theme=dark] .background-job-card{background:rgba(15,23,42,.72);border-color:rgba(51,65,85,.9)}.dark .job-title,[data-theme=dark] .job-title{color:#f8fafc}.dark .job-subtitle,[data-theme=dark] .job-subtitle{color:#94a3b8}.dark .job-progress-track,[data-theme=dark] .job-progress-track{background:rgba(30,41,59,.95);border-color:rgba(71,85,105,.7)}.dark .job-progress-text,[data-theme=dark] .job-progress-text{color:#f8fafc;text-shadow:0 1px 0 rgba(0,0,0,.35)}.dark .job-log-box,[data-theme=dark] .job-log-box{background:rgba(2,6,23,.42);border-color:rgba(51,65,85,.85);color:#cbd5e1}.preset-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.preset-select{flex:1;min-width:140px;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;cursor:pointer}.preset-select:focus{border-color:var(--accent);outline:0}.preset-select.active{border-color:rgba(233,69,96,.8);box-shadow:0 0 0 1px rgba(233,69,96,.15)}.btn-preset{padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.btn-preset:hover{border-color:var(--accent);color:var(--accent);background:rgba(233,69,96,.08)}.btn-preset-danger:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.08)}.skin-preset-status{margin-top:8px;padding:8px 10px;border-radius:10px;border:1px dashed rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:var(--text-dim);font-size:12px;line-height:1.45;white-space:pre-line}.skin-preset-status.active{border-style:solid;border-color:rgba(233,69,96,.45);background:rgba(233,69,96,.08);color:var(--text-bright)}.i2p-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;max-width:1400px;margin:0 auto}.i2p-input-col,.i2p-result-col{display:flex;flex-direction:column;gap:16px}.i2p-upload-zone{position:relative;border:2px dashed var(--border);border-radius:var(--radius);min-height:220px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s;overflow:hidden;background:var(--bg-secondary)}.i2p-upload-zone.drag-over,.i2p-upload-zone:hover{border-color:var(--accent);background:rgba(233,69,96,.05)}.i2p-upload-placeholder{text-align:center;color:var(--text-dim);padding:24px}.i2p-upload-placeholder span,.inpaint-upload-placeholder span{font-size:48px;display:block;margin-bottom:8px}.i2p-upload-placeholder p,.inpaint-upload-placeholder p{margin:4px 0;font-size:14px}.product-upload-placeholder p{margin:4px 0}.i2p-upload-placeholder small,.inpaint-upload-placeholder small{font-size:12px;opacity:.6}.i2p-preview-img{width:100%;max-height:400px;object-fit:contain;border-radius:var(--radius)}.i2p-clear-btn{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.i2p-clear-btn:hover{background:var(--accent)}.i2p-layers{display:flex;flex-direction:column;gap:6px}.i2p-layer{background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.i2p-layer-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text);user-select:none;transition:background .15s}.i2p-layer-header:hover{background:rgba(255,255,255,.03)}.i2p-layer-header .arrow{transition:transform .2s;font-size:10px;color:var(--text-dim)}.i2p-layer.open .arrow{transform:rotate(90deg)}.i2p-layer-body{padding:0 14px 12px;font-size:13px;color:var(--text-dim);line-height:1.6;display:none}.i2p-layer.open .i2p-layer-body{display:block}.i2p-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.i2p-history-section{margin-top:16px}.i2p-history-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.i2p-history-item{display:flex;gap:10px;padding:8px;background:var(--bg-secondary);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);transition:border-color .15s}.i2p-history-item:hover{border-color:var(--accent)}.i2p-hist-delete{background:0 0;border:0;color:var(--text-dim);font-size:18px;cursor:pointer;padding:0 4px;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s;align-self:center}.i2p-history-item:hover .i2p-hist-delete{opacity:1}.i2p-hist-delete:hover,.i2p-hist-num{color:var(--accent)}.i2p-hist-num{font-size:11px;font-weight:700;min-width:28px;text-align:center;flex-shrink:0}.i2p-queue-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-dim);margin-bottom:8px}.i2p-text-original{font-size:13px;color:var(--text-secondary);margin-bottom:6px;padding:8px;background:var(--bg-primary);border-radius:6px;line-height:1.5}.i2p-text-edit-section{border-top:1px solid var(--border);padding-top:8px;margin-top:4px}.i2p-text-edit{width:100%;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:8px;font-size:14px;font-family:inherit;resize:vertical}.i2p-text-edit:focus{border-color:var(--accent);outline:0}.i2p-layer-edit{width:100%;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:8px;font-size:13px;font-family:inherit;resize:vertical;line-height:1.6}.i2p-layer-edit:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 2px rgba(var(--accent-rgb, 99,102,241),.15)}.i2p-rebuild-btn{margin-top:4px}.i2p-text-update-btn{margin-top:6px;padding:6px 14px;background:var(--accent);color:#fff;border:0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.i2p-text-update-btn:hover{opacity:.85}.i2p-result-preview{margin-bottom:12px;border-radius:10px;overflow:hidden}.i2p-result-preview img{width:100%;max-height:350px;object-fit:contain;display:block}.i2p-history-item img,.i2p-result-preview{background:var(--bg-primary);border:1px solid var(--border)}.i2p-history-item img{width:60px;min-width:60px;max-height:96px;height:auto;object-fit:contain;border-radius:6px;flex-shrink:0}.i2p-history-item-info{flex:1;min-width:0}.i2p-history-item-info .i2p-hist-prompt{font-size:12px;color:var(--text-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.i2p-history-item-info .i2p-hist-meta{font-size:11px;color:var(--text-dim);opacity:.6;margin-top:4px}.i2p-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-dim);font-size:14px}.i2p-loading .spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@media (max-width:768px){.i2p-layout{grid-template-columns:1fr}}.inpaint-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;padding:24px;max-width:1500px;margin:0 auto}.inpaint-canvas-col,.inpaint-controls-col{display:flex;flex-direction:column;gap:12px}.inpaint-canvas-col h3,.inpaint-controls-col h3{font-size:15px;font-weight:600;color:var(--text-bright)}.inpaint-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.inpaint-tool-group{display:flex;align-items:center;gap:6px}.inpaint-tool{padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);cursor:pointer;font-size:13px;color:var(--text);transition:border-color .15s,background .15s}.inpaint-tool.active,.inpaint-tool:hover{border-color:var(--accent)}.inpaint-tool.active{background:var(--accent);color:#fff}.inpaint-size-label{font-size:12px;color:var(--text-dim);white-space:nowrap}.inpaint-slider{width:120px;accent-color:var(--accent)}.inpaint-slider-short{width:80px}#inpaint-opacity-val{font-size:12px;color:var(--text-dim);min-width:30px}.inpaint-canvas-wrap{position:relative;border:2px dashed var(--border);border-radius:var(--radius);min-height:400px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);overflow:hidden;cursor:crosshair}.inpaint-canvas-wrap.has-image{border-style:solid;cursor:crosshair}.inpaint-canvas-wrap.drag-over{border-color:var(--accent);background:rgba(233,69,96,.05)}.inpaint-upload-placeholder{text-align:center;color:var(--text-dim);padding:24px;cursor:pointer}#inpaint-canvas{display:block;max-width:100%;border-radius:var(--radius-sm)}.inpaint-canvas-info{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;color:var(--text-dim)}.inpaint-controls-col label{font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:4px;display:block}.inpaint-controls-col select,.inpaint-controls-col textarea{width:100%;background:var(--bg-input);color:var(--text);font-family:inherit}.inpaint-controls-col textarea{padding:12px;font-size:14px;resize:vertical}.inpaint-controls-col select{padding:10px;font-size:13px}.inpaint-result{margin-top:12px}.inpaint-controls-col select,.inpaint-controls-col textarea,.inpaint-result-img-wrap{border-radius:var(--radius-sm);border:1px solid var(--border)}.inpaint-result-img-wrap{overflow:hidden}.inpaint-result-img-wrap img{width:100%;display:block}.inpaint-result-actions,.inpaint-result-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.inpaint-result-actions{gap:8px}.inpaint-log-section{margin-top:12px}.inpaint-log{max-height:200px;overflow-y:auto;padding:10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:"SF Mono","Fira Code",monospace;font-size:12px;color:var(--text-dim);line-height:1.7}.inpaint-log .log-error{color:var(--error)}.inpaint-log .log-success{color:var(--success)}.inpaint-log .log-info{color:var(--accent)}.inpaint-cursor{position:absolute;border:2px solid rgba(199,111,138,.7);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:10}.btn-inpaint-send{font-size:13px}@media (max-width:900px){.inpaint-layout{grid-template-columns:1fr}}.inpaint-refs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.inpaint-ref-item{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.inpaint-ref-item img{width:100%;height:100%;object-fit:cover}.inpaint-ref-item .ref-remove{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.7);color:#fff;border:0;border-radius:50%;width:20px;height:20px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.inpaint-ref-item .ref-remove:hover{background:var(--accent)}.inpaint-ref-item .ref-label{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.6);color:#fff;font-size:10px;text-align:center;padding:1px 0}.progress-bar-wrap{position:relative;height:22px;background:#e9ecef;border-radius:11px;margin:6px 0;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#667eea 0,#764ba2 100%);border-radius:11px;transition:width .4s ease;min-width:0}.progress-bar-text{position:absolute;top:0;left:0;right:0;text-align:center;font-size:11px;line-height:22px;color:#333;font-weight:500}.i2p-history-search{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px;margin-bottom:8px;background:var(--bg-primary);color:var(--text);box-sizing:border-box}.i2p-history-search:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px rgba(102,126,234,.15)}[data-theme=dark]{--bg-primary:#1a1a2e;--bg-secondary:rgba(22, 22, 42, 0.95);--bg-card:rgba(30, 30, 55, 0.95);--bg-input:#252545;--accent:#e08aab;--accent-hover:#c76f8a;--accent-2:#4a3f5e;--text:#e4e0dc;--text-dim:#9a92a8;--text-bright:#f0ece8;--border:#3a3555;--success:#5cc9a7;--error:#f27474}[data-theme=dark] body{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}[data-theme=dark] .section{background:rgba(255,255,255,.04)}[data-theme=dark] .section:hover{border-color:rgba(224,138,171,.3)}[data-theme=dark] .tab:hover{background:rgba(255,255,255,.08)}[data-theme=dark] .tab.active{background:var(--bg-card)}[data-theme=dark] .slot-log-line.success{color:#5cc9a7}[data-theme=dark] .slot-log-line.error{color:#f27474}[data-theme=dark] .progress-bar-wrap{background:#2a2a4a}[data-theme=dark] .progress-bar-text{color:#e4e0dc}[data-theme=dark] .toast{color:#e4e0dc;background:#252545;border-color:var(--border);box-shadow:0 12px 34px rgba(0,0,0,.5)}[data-theme=dark] .toast-success{background:#1a2e2a;color:#5cc9a7;border-color:#2d7a5e}[data-theme=dark] .toast-error{background:#2e1a1a;color:#f27474;border-color:#7a2d2d}[data-theme=dark] .toast-warn{background:#2e2a1a;color:#f2c274;border-color:#7a6a2d}[data-theme=dark] .toast-info{background:#1a1e2e;color:#74a8f2;border-color:#2d4a7a}[data-theme=dark] .media-card{border-color:var(--border)}[data-theme=dark] .media-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.4)}[data-theme=dark] .upload-alias-index{color:#b8b0ff}[data-theme=dark] .login-card{background:var(--bg-card);box-shadow:0 20px 60px rgba(0,0,0,.4)}[data-theme=dark] .result-card,[data-theme=dark] .result-meta{background:var(--bg-card)}.theme-toggle,[data-theme=dark] .meta-tag{color:var(--text-dim)}[data-theme=dark] .parallel-result-slot{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .parallel-result-slot.completed{border-color:#5cc9a7;background:rgba(92,201,167,.06)}[data-theme=dark] .parallel-result-slot.failed{border-color:#f27474;background:rgba(242,116,116,.06)}[data-theme=dark] .btn-secondary{color:var(--text-dim);border-color:var(--border)}[data-theme=dark] .btn-secondary:hover{border-color:var(--accent);color:var(--accent)}[data-theme=dark] .history-grid .history-item,[data-theme=dark] .i2p-history-item{border-color:var(--border)}[data-theme=dark] .i2p-layer-content textarea,[data-theme=dark] .preset-select{background:var(--bg-input);color:var(--text);border-color:var(--border)}[data-theme=dark] .btn-preset-danger:hover{border-color:#f27474;color:#f27474;background:rgba(242,116,116,.08)}[data-theme=dark] .inpaint-canvas-wrap{border-color:var(--border)}[data-theme=dark] select option{background:var(--bg-input);color:var(--text)}.theme-toggle{background:0 0;border:1px solid var(--border);padding:6px 10px;border-radius:8px;cursor:pointer;font-size:16px;margin-left:6px;transition:all .2s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.header-actions{display:flex;align-items:center;gap:8px}.inpaint-compare{display:none;margin-bottom:12px}.compare-slider{position:relative;overflow:hidden;border-radius:8px;user-select:none}.compare-img{width:100%;display:block}.compare-reveal{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden}.compare-range,.compare-reveal img{position:absolute;top:0;left:0;width:100%;height:100%}.compare-reveal img{object-fit:cover}.compare-range{margin:0;opacity:0;cursor:ew-resize;z-index:10}.compare-label{position:absolute;bottom:8px;padding:2px 8px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;border-radius:4px;z-index:5;pointer-events:none}.compare-label-before{left:8px}.compare-label-after{right:8px}.stats-dashboard{padding:20px;max-width:900px;margin:0 auto}.stats-dashboard h3{margin-bottom:16px;color:var(--text-bright)}.stats-dashboard h4{margin:24px 0 14px}.stats-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 14px;text-align:center;transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08)}.stat-num{font-size:24px;font-weight:700;color:var(--accent)}.stat-label{font-size:11px;color:var(--text-dim);margin-top:4px;letter-spacing:.02em}.stats-days{display:flex;flex-direction:column;gap:8px}.stats-day-row{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 16px;transition:border-color .2s}.stats-day-row:hover{border-color:var(--accent)}.stats-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.stats-day-label{font-weight:600;font-size:13px;color:var(--text-bright)}.stats-day-count{font-size:12px;color:var(--text-dim);font-weight:500}.stats-day-bar{display:flex;height:6px;border-radius:3px;background:var(--border);overflow:hidden;margin-bottom:8px}.stats-day-bar-fill{height:100%;transition:width .4s ease}.stats-bar-ok{background:linear-gradient(90deg,#5cc9a7,#36b37e)}.stats-bar-fail{background:linear-gradient(90deg,#f27474,#e25555)}.stats-day-details{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-dim)}.stats-day-details span{white-space:nowrap}.pinned-section{margin-bottom:12px}.pinned-label{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:6px}.pinned-grid{display:flex;gap:8px;flex-wrap:wrap}.pinned-item{position:relative;width:80px;border-radius:8px;overflow:hidden;border:2px solid var(--accent);flex-shrink:0}.pinned-item img{width:100%;display:block;cursor:pointer}.pin-addref,.pin-unpin{position:absolute;border:0;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s;text-align:center}.pin-unpin{top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.6);font-size:10px;line-height:18px;padding:0}.pinned-item:hover .pin-addref,.pinned-item:hover .pin-unpin,.product-history-item:hover .product-hist-delete{opacity:1}.pin-addref{bottom:0;left:0;right:0;background:rgba(0,0,0,.55);font-size:14px;padding:3px 0}#tab-product{padding:0 24px 24px}.product-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1400px;margin:0 auto}.product-input-col,.product-result-col{display:flex;flex-direction:column;gap:16px}.product-upload-zone{overflow:hidden;background:var(--bg-secondary)}.product-upload-zone:hover{background:rgba(233,69,96,.05)}.product-upload-zone.drag-over{border-color:var(--accent);background:rgba(233,69,96,.05)}.product-upload-placeholder{text-align:center;padding:24px}.product-upload-placeholder span{display:block;margin-bottom:8px}.product-preview-img{width:100%}.product-clear-btn{background:rgba(0,0,0,.7)}.product-clear-btn:hover{background:var(--accent)}.product-info-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.product-info-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.product-info-card label,.product-info-item label{color:var(--text-dim);text-transform:uppercase;font-weight:600;display:block}.product-info-card label{font-size:11px;margin-bottom:4px;letter-spacing:.03em}.product-info-card strong,.stats-dashboard h4{font-size:15px;color:var(--text-bright)}.product-info-card p{font-size:13px;color:var(--text);line-height:1.5;margin:0}.product-info-wide{grid-column:span 2}.product-chip-list{display:flex;flex-wrap:wrap;gap:6px}.product-chip{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(199,111,138,.12);color:var(--text-bright);font-size:12px;border:1px solid rgba(199,111,138,.25)}.product-loading,.product-muted{color:var(--text-dim);font-size:13px}.product-loading{display:flex;align-items:center;gap:10px;padding:40px 20px;font-size:14px;justify-content:center}.product-loading .spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.product-error{padding:20px;text-align:center;color:var(--error);font-size:14px}.product-history-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.product-history-item{background:var(--bg-secondary)}.product-history-main{flex:1;min-width:0}.product-history-main strong{display:block;font-size:13px;color:var(--text-bright);margin-bottom:2px}.product-history-main span{font-size:11px;color:var(--text-dim)}.product-history-main p{font-size:12px;color:var(--text-dim);line-height:1.4;margin:4px 0 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-hist-delete,.product-history-main small{font-size:11px;color:var(--text-dim);opacity:.6}.product-hist-delete{background:0 0;border:0;font-size:18px;cursor:pointer;padding:0 4px;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s;align-self:center}.product-hist-delete:hover{color:var(--accent)}[data-theme=dark] .product-info-card{background:rgba(255,255,255,.04);border-color:var(--border)}[data-theme=dark] .product-chip{background:rgba(224,138,171,.15);border-color:rgba(224,138,171,.3)}[data-theme=dark] .product-history-item{border-color:var(--border)}@media (max-width:768px){.product-info-grid,.product-layout{grid-template-columns:1fr}.product-info-wide{grid-column:span 1}}.product-layout{display:flex;gap:24px;padding:20px}.product-input-col,.product-result-col{flex:1;min-width:0}.product-upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:all .2s;position:relative;min-height:180px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);margin-bottom:16px}.product-upload-zone.dragover,.product-upload-zone:hover{border-color:var(--accent);background:rgba(var(--accent-rgb, 99,102,241),.06)}.product-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-dim)}.product-upload-placeholder span{font-size:40px}.product-upload-placeholder p{font-size:14px}.product-upload-placeholder small{font-size:12px;color:var(--text-dim);opacity:.7}.product-preview-img{max-width:100%;max-height:300px;border-radius:var(--radius-sm);object-fit:contain}.product-clear-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:rgba(239,68,68,.85);color:#fff;border:0;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.product-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.product-info-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px}.product-info-item label{font-size:10px;letter-spacing:.5px}.product-info-item p{margin-top:4px;line-height:1.4}.product-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.product-history-section{margin-top:24px}.product-history-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:8px;display:flex;align-items:flex-start;gap:12px;cursor:pointer;transition:border-color .15s}.product-history-item:hover{border-color:var(--accent)}.product-hist-thumb{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.product-hist-no-thumb{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);font-size:24px}.product-history-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.product-history-head strong,.product-info-item p{font-size:13px;color:var(--text)}.product-history-brand{font-size:11px;color:var(--accent);font-weight:600}.product-history-time{font-size:10px;color:var(--text-dim);margin-left:auto}.product-history-prompt{font-size:12px;color:var(--text-dim);line-height:1.5;margin-bottom:8px;word-break:break-word}.product-history-actions{display:flex;gap:6px}@media (max-width:768px){.product-layout{flex-direction:column;padding:12px}.product-info-grid{grid-template-columns:1fr}.product-actions{flex-direction:column}}.studio-input{width:100%;padding:10px 12px;background:rgba(255,255,255,.5);border:1px solid rgba(226,232,240,.95);border-radius:12px;font-size:12px;color:#334155}.dark .studio-input{background:rgba(15,23,42,.5);border-color:rgba(30,41,59,.95);color:#e2e8f0}.studio-input:focus{outline:0;border-color:#c76f8a;box-shadow:0 0 0 1px rgba(199,111,138,.25)}.video-preset-card{min-height:72px;padding:14px 16px;border-radius:18px;border:1px solid rgba(234,220,205,.7);background:rgba(255,255,255,.55);color:#475569;font-size:12px;font-weight:800;text-align:left;transition:all .18s ease}.video-preset-card:hover{border-color:rgba(199,111,138,.45);color:#c76f8a;transform:translateY(-1px);box-shadow:0 10px 24px rgba(199,111,138,.1)}.dark .video-preset-card{background:rgba(15,23,42,.55);border-color:rgba(30,41,59,.9);color:#cbd5e1}.video-history-card,.video-result-card{border:1px solid rgba(226,232,240,.75);background:rgba(255,255,255,.68);border-radius:20px;padding:12px;box-shadow:0 8px 28px rgba(15,23,42,.06)}.dark .video-history-card,.dark .video-result-card{border-color:rgba(30,41,59,.9);background:rgba(15,23,42,.6)}.video-history-card{display:flex;gap:12px;align-items:center}@media (max-width:768px){.video-history-card{align-items:flex-start}}