:root{color-scheme:light;--bg:#f6f9fd;--panel:#ffffff;--panel-soft:#f8fbff;--ink:#071936;--muted:#5f6f88;--line:#dce6f2;--line-strong:#aac8f0;--accent:#126af3;--accent-dark:#0758d4;--accent-soft:#eef6ff;--blue:#126af3;--blue-deep:#0b3b85;--danger:#b42318;--success:#067647;--shadow:0 14px 38px rgba(21,46,86,0.07)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fbfdff 0,var(--bg) 100%);color:var(--ink);font-family:Arial,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}a{color:inherit}.appShell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.rail{position:-webkit-sticky;position:sticky;top:0;display:flex;height:100vh;flex-direction:column;overflow:auto;border-right:1px solid var(--line);background:rgba(255,255,255,.94);color:var(--ink);padding:28px 16px 20px}.brand{display:flex;gap:13px;align-items:center;margin-bottom:34px}.brandMark{display:grid;width:50px;height:50px;place-items:center;border-radius:8px;background:linear-gradient(135deg,#2f83ff,#0f65e8);color:#fff;font-size:12px;font-weight:900;letter-spacing:0;box-shadow:0 12px 24px rgba(18,106,243,.22)}.brand small,.brand strong{display:block}.brand strong{font-size:18px}.brand small{margin-top:6px;color:#536784;font-size:12px;font-weight:700}.railNav{display:grid;grid-gap:8px;gap:8px}.railFooter a,.railNav a{display:flex;min-height:48px;align-items:center;border-radius:8px;color:#233858;font-weight:800;padding:0 16px;text-decoration:none;transition:background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.railFooter a:before,.railNav a:before{content:"";width:18px;height:18px;margin-right:14px;border:2px solid;border-radius:4px;opacity:.95}.railFooter a:hover,.railNav a.active,.railNav a:hover{background:#eef6ff;color:var(--accent-dark);box-shadow:inset 3px 0 0 var(--accent);transform:translateX(3px)}.railNav .libraryNavLink{display:grid;grid-template-columns:18px minmax(0,1fr);grid-column-gap:12px;column-gap:12px;grid-row-gap:2px;row-gap:2px;margin-top:8px;border:1px solid #f2cf91;background:linear-gradient(135deg,#fff8e7,#fff2cc);color:#8a5200}.railNav .libraryNavLink:before{grid-row:1/span 2;margin-right:0;border-color:#eea62b;background:rgba(255,255,255,.65)}.railNav .libraryNavLink small{color:#a66a09;font-size:10px;font-weight:800}.railNav .libraryNavLink.active,.railNav .libraryNavLink:hover{border-color:#eea62b;background:linear-gradient(135deg,#ffecb8,#ffd778);color:#6e3f00;box-shadow:0 10px 22px rgba(220,143,13,.2)}.railFooter{margin-top:auto;padding-top:24px}.workspace{min-width:0;padding:0 32px 32px}.viewHidden{display:none!important}.appTopbar{display:flex;justify-content:space-between;align-items:center;min-height:58px;margin:0 -32px 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.72);padding:0 32px}.currentView{display:inline-flex;align-items:center;gap:10px;color:#15345f;font-size:16px;font-weight:900}.currentView:before{content:"";width:18px;height:18px;border:2px solid var(--accent);border-radius:5px}.accountTools{display:flex;align-items:center;gap:10px;color:#162a48;font-size:14px;font-weight:800}.adminChip,.guideLink{display:inline-flex;align-items:center;min-height:34px;gap:8px;border:1px solid transparent;border-radius:999px;padding:0 12px;text-decoration:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.guideLink{color:#1e3558}.adminChip,.guideLink:hover{border-color:#d6e5f8;background:#fff}.adminChip:hover,.guideLink:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(21,46,86,.08)}.guideLink:before{content:"?";width:17px;height:17px;place-items:center;border:2px solid}.adminAvatar,.guideLink:before{display:grid;border-radius:50%;font-size:11px}.adminAvatar{width:24px;height:24px;place-items:center;background:linear-gradient(135deg,#d9ebff,#eef6ff);color:var(--accent-dark);font-weight:900}.adminMenu{position:relative}.adminChip{cursor:pointer}.adminDropdown{position:absolute;z-index:60;top:calc(100% + 8px);right:0;min-width:132px;border:1px solid #d6e5f8;border-radius:8px;background:#fff;box-shadow:0 18px 40px rgba(15,35,75,.14);padding:6px}.adminDropdown button{width:100%;min-height:36px;border:0;border-radius:6px;background:#fff;color:#b42318;font-weight:900;text-align:left;padding:0 10px}.adminDropdown button:hover{background:#fff5f4}.adminChip:after{content:"";width:7px;height:7px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-2px);opacity:.75}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:0 auto 24px;max-width:1240px}.topbar h1{margin:8px 0 0;max-width:780px;font-size:30px;line-height:1.22;letter-spacing:0}.topbarLead{margin:12px 0 0;color:#475569;line-height:1.6}.topbarActions{display:flex;flex:0 0 auto;gap:12px;align-items:center}.eyebrow{margin:0;color:var(--accent-dark);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.countBadge,.status{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 12px;font-size:13px;font-weight:800;white-space:nowrap}.countBadge,.status.ready{border-color:#cfe3ff;background:var(--accent-soft);color:var(--accent-dark)}.guideButton,.miniUpload,.primaryButton,.secondaryButton,.uploadButton{display:inline-flex;justify-content:center;align-items:center;min-height:40px;border-radius:8px;font-weight:900;text-align:center;text-decoration:none}.guideButton{border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 18px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.primaryButton,.uploadButton{border:0;background:linear-gradient(180deg,#1f7cff,#0e63e6);color:#fff;padding:0 16px;box-shadow:0 10px 22px rgba(18,106,243,.22)}.dangerButton,.guideButton,.miniUpload,.primaryButton,.secondaryButton,.uploadButton{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}.dangerButton{min-height:38px;border:1px solid #f4c7c3;border-radius:8px;background:#fff5f4;color:var(--danger);font-size:13px;font-weight:800;padding:0 12px}.primaryButton:hover,.uploadButton:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(18,106,243,.28)}.dangerButton:hover,.guideButton:hover,.miniUpload:hover,.secondaryButton:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(21,46,86,.1)}.sectionActions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.bulkUploadButton input,.miniUpload input,.uploadButton input{display:none}.bulkUploadButton{display:inline-flex;align-items:center;gap:10px;min-height:46px;border:1px solid #efaa1d;border-radius:10px;background:linear-gradient(135deg,#ffe18a,#ffc95a);color:#102a4c;padding:5px 14px 5px 6px;box-shadow:0 8px 18px rgba(219,148,8,.17);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.bulkUploadButton:hover{transform:translateY(-1px);box-shadow:0 11px 23px rgba(219,148,8,.24);filter:saturate(1.04) brightness(1.01)}.bulkUploadButton:focus-within{outline:3px solid rgba(239,170,29,.22);outline-offset:3px}.bulkUploadIcon{width:34px;height:34px;flex:0 0 34px;border-radius:9px;overflow:hidden}.bulkUploadIcon img{display:block;width:100%;height:100%;object-fit:cover}.bulkUploadText{display:grid;grid-gap:0;gap:0;text-align:left;line-height:1.2}.bulkUploadText strong{font-size:14px;font-weight:900}.bulkUploadText small{color:#8a6416;font-size:11px;font-weight:700}.productUploadCountBadge{display:inline-flex;align-items:center;min-height:46px;padding:0 14px}.generationBatchNameField{display:grid;grid-template-columns:auto minmax(220px,420px);grid-gap:12px;gap:12px;align-items:center;margin:-2px 0 16px;border:1px solid #dbe8f7;border-radius:9px;background:#f8fbff;padding:10px 12px;color:#274261;font-size:13px;font-weight:900}.generationBatchNameField span{display:grid;grid-gap:2px;gap:2px}.generationBatchNameField small{color:#74879f;font-size:11px;font-weight:700}.generationBatchNameField input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:none;padding:0 11px}.generationBatchNameField input:focus{border-color:#78b4ff;box-shadow:0 0 0 3px rgba(45,125,255,.12)}.workflow{display:grid;grid-template-columns:minmax(340px,1fr) minmax(420px,1.28fr) minmax(300px,.9fr);grid-template-areas:"step1 step2 step5" "step3 step3 step3" "step4 step4 step4";grid-gap:16px;gap:16px;max-width:1240px;margin:0 auto;align-items:start}.stepPanel{min-width:0}.step1Panel{grid-area:step1}.step1Panel .sectionHead{align-items:center}.step2Panel{grid-area:step2}.step3Panel{grid-area:step3}.step4Panel{grid-area:step4}.step5Panel{grid-area:step5}.panel{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);padding:22px;animation:panelIn .36s ease both;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.panel:hover{border-color:#c8def8;box-shadow:0 18px 48px rgba(21,46,86,.11);transform:translateY(-2px)}.step1Panel{animation-delay:.02s}.step2Panel{animation-delay:.06s}.step5Panel{animation-delay:.1s}.step3Panel{animation-delay:.14s}.resultPanel,.step4Panel{animation-delay:.18s}.settingsPanel{display:grid;align-content:start;grid-gap:16px;gap:16px}.sectionHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}.sectionHead h2{margin:6px 0 0;font-size:21px;line-height:1.25}.referenceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));grid-gap:12px;gap:12px}.step1Panel .referenceGrid{display:block}.outputGrid figure,.referenceGrid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.outputGrid figure:hover,.referenceGrid figure:hover{border-color:#c8def8;box-shadow:0 12px 28px rgba(21,46,86,.1);transform:translateY(-2px)}.outputGrid img,.referenceGrid img{width:100%;aspect-ratio:1;object-fit:cover}figcaption{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 10px;color:var(--muted);font-size:12px}figcaption span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}figcaption a{flex:0 0 auto;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--accent-dark);padding:4px 7px;font-size:12px;font-weight:800;text-decoration:none}figcaption small{flex:0 0 auto;max-width:180px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outputGrid figcaption{align-items:flex-start;flex-direction:column}.outputGrid figcaption>span{max-width:100%}.emptyResult,.emptyUpload{display:grid;min-height:290px;place-items:center;align-content:center;border:1px dashed #a9cdfb;border-radius:8px;color:var(--muted);line-height:1.6;padding:18px;text-align:center}.step1Panel .emptyUpload{width:100%;min-height:326px;border-color:#9cc8ff;border-width:1.5px;background:linear-gradient(180deg,#ffffff,#fbfdff);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease}.step1Panel .emptyUpload input{display:none}.step1Panel .emptyUpload:hover{border-color:var(--accent);background:linear-gradient(180deg,#ffffff,#f3f8ff);box-shadow:inset 0 0 0 1px rgba(18,106,243,.08),0 16px 32px rgba(18,106,243,.08);transform:translateY(-2px)}.step1Panel .emptyUploadIcon{width:68px;height:58px;margin-bottom:14px}.step1Panel .emptyUploadIcon svg{width:62px;height:62px;stroke-width:3.8}.step1Panel .emptyUpload strong{max-width:220px;margin:0 auto 2px;font-size:15px;line-height:1.5}.step1Panel .emptyUpload span:not(.emptyUploadIcon){color:#65758f;font-size:13px}.emptyResult strong,.emptyUpload strong{color:var(--ink);font-size:15px}.emptyResultIcon,.emptyUploadIcon{display:grid;width:54px;height:54px;place-items:center;margin-bottom:12px;border:0;border-radius:16px;color:var(--accent);background:transparent}.emptyResultIcon svg,.emptyUploadIcon svg{width:54px;height:54px;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.6;transition:transform .2s ease}.emptyUpload:hover .emptyUploadIcon svg,.templateEmpty:hover .emptyResultIcon svg{transform:translateY(-3px)}.templateEmpty{min-height:136px;border-color:var(--line)}.templateEmpty .emptyResultIcon{width:48px;height:48px;border-radius:14px;background:#eaf3ff;color:#7cb4ff}.templateEmpty .emptyResultIcon svg{width:34px;height:34px;stroke-width:3.4}.field{display:grid;grid-gap:8px;gap:8px;color:#27364a;font-size:13px;font-weight:900}.fieldGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.fieldGrid .field{grid-template-rows:auto 40px minmax(17px,auto);align-items:start}.fieldHint{color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}.field input,.nameInput,.productNoteInput,.templateHead input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:none}textarea{resize:vertical;padding:12px;line-height:1.65}.field input,.nameInput,.templateHead input,select{height:40px;padding:0 10px}.productNoteInput{min-height:72px;padding:9px 10px;resize:vertical;font-size:12px;line-height:1.45}.productQuantityField{display:grid;grid-template-columns:1fr 64px;grid-gap:5px 8px;gap:5px 8px;align-items:center;color:#27364a;font-size:12px;font-weight:900}.productQuantityField input{width:100%;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 8px;outline:none}.productQuantityField small{grid-column:1/-1;color:var(--muted);font-size:11px;font-weight:700}.field input:focus,.nameInput:focus,.productNoteInput:focus,.productQuantityField input:focus,.templateHead input:focus,select:focus,textarea:focus{border-color:#7cb4ff;box-shadow:0 0 0 3px rgba(18,106,243,.12)}.apiSplitGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.apiCard,.apiSplitGrid{display:grid;grid-gap:12px;gap:12px}.apiCard{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff,#fbfcff);padding:12px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.apiCard:hover,.productSlot:hover,.segmented label:hover,.templateCard:hover{border-color:#c8def8;box-shadow:0 10px 24px rgba(21,46,86,.08);transform:translateY(-1px)}.apiCardHead{display:flex;justify-content:space-between;gap:10px;align-items:center}.apiCardHead h3{margin:4px 0 0;font-size:16px}.apiCardActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.secondaryButton{border:1px solid #cfe3ff;background:#fff;color:var(--accent-dark);padding:0 12px}.primaryButton{min-height:46px;width:100%}.sectionActions .primaryButton,.sectionHead .primaryButton{width:auto}.dangerButton:disabled,.primaryButton:disabled,.secondaryButton:disabled{cursor:not-allowed;opacity:.48}.testMessage{margin:12px 0 0;border-radius:8px;padding:10px;font-size:13px;font-weight:800}.testMessage.ok{background:#ecfdf3;color:var(--success)}.testMessage.fail{background:#fff1f0;color:var(--danger)}.templateList{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px}.templateCard{display:grid;grid-gap:12px;gap:12px;align-content:start;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:14px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.templateCard.enabled{border-color:#cfe3ff;background:#fbfdff}.templateHead{display:flex;justify-content:space-between;gap:12px;align-items:center}.templateHead>div{flex:1 1 auto}.templateHead input{margin-top:6px}.switchLine{display:inline-flex;flex:0 0 auto;gap:8px;align-items:center;font-weight:900}.switchLine,.templateWarning{color:var(--accent-dark);font-size:13px}.templateWarning{margin:0;border:1px solid #cfe3ff;border-radius:8px;background:var(--accent-soft);padding:9px 10px;font-weight:800}.productGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));grid-gap:12px;gap:12px}.productSlot{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:10px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.productSlot.filled{border-color:#cfe3ff;background:#fbfdff}.productReferenceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.productReference{display:grid;min-width:0;grid-gap:4px;gap:4px}.productReferenceImage{position:relative;display:grid;width:100%;aspect-ratio:1;place-items:center;overflow:hidden;border:1px dashed var(--line-strong);border-radius:8px;background:#fff;color:#98a2b3;font-size:18px;font-weight:900}.productReferenceImage:hover{border-color:#5b9cff;background:#f4f8ff}.productReferenceUpload{display:grid;width:100%;height:100%;place-items:center;cursor:pointer}.productReferenceUpload input{display:none}.productReferenceImage img{width:100%;height:100%;object-fit:cover}.productReferenceRemove{position:absolute;top:3px;right:3px;display:grid;width:22px;height:22px;place-items:center;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(16,42,79,.84);color:#fff;cursor:pointer;font-size:16px;line-height:1}.productReferenceRemove:hover{background:#d92d20}.productReferenceRemove:disabled{cursor:wait;opacity:.55}.productReferenceLabel{overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;text-align:center;text-overflow:ellipsis;white-space:nowrap}.previewCaption{display:flex;justify-content:space-between;gap:10px;align-items:center}.previewCaption .dangerButton{min-height:30px;padding:0 10px}.miniUpload{min-height:36px;border:0;background:#15345f;color:#fff;font-size:13px;padding:0 10px}.miniUpload:has(input:disabled){cursor:default;background:#8b9ab0}.segmented{display:grid;grid-gap:8px;gap:8px}.segmented label{display:block;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:12px;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.segmented label.selected{border-color:#cfe3ff;background:var(--accent-soft)}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span,.segmented strong{display:block}.segmented span{margin-top:4px;color:var(--muted);font-size:12px}.autoWorkflowBox{display:grid;grid-gap:10px;gap:10px;border:1px solid #cfe3ff;border-radius:8px;background:var(--accent-soft);color:var(--accent-dark);padding:12px}.autoWorkflowBox>span{color:#15345f;font-size:13px;font-weight:800;line-height:1.5}.autoWorkflowBox .secondaryButton{justify-self:start}.error{margin:0;color:var(--danger);font-size:13px;font-weight:900}.progressPanel,.resultPanel{max-width:1240px;margin:16px auto 0}.progressActions{display:flex;gap:10px;align-items:center}.progressBar{height:10px;overflow:hidden;border-radius:999px;background:#e2e8f0}.progressBar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3f91ff,#126af3);transition:width .2s ease}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.jobSummary,.progressGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.jobSummary span,.progressGrid div{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:12px}.progressGrid span{display:block;color:var(--muted);font-size:12px}.progressGrid strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resultList{display:grid;grid-gap:16px;gap:16px}.downloadNotice{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #cfe3ff;border-radius:8px;background:var(--accent-soft);padding:12px 14px}.downloadNotice .secondaryButton{flex:0 0 auto}.inlineActions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inlineActions .dangerButton,.inlineActions .secondaryButton{min-height:32px;padding:0 10px}.resultGroup{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:14px}.resultGroupHead{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.outputGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:12px;gap:12px}.productLibraryPanel{scroll-margin-top:18px;width:100%;max-width:1240px;margin:0 auto}.libraryDescription{margin:6px 0 0;color:var(--muted);font-size:13px}.libraryCapacity{margin:16px 0 22px;padding:14px 16px;border:1px solid #dce8f7;border-radius:12px;background:#f7faff}.libraryCapacityText{display:flex;justify-content:space-between;gap:16px;margin-bottom:9px;color:#49617f;font-size:13px}.libraryCapacityText strong{color:var(--ink)}.libraryCapacityBar{height:9px;overflow:hidden;border-radius:999px;background:#dce8f7}.libraryCapacityBar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d7dff,#55b5ff);transition:width .18s ease}.libraryToolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;grid-gap:12px;gap:12px;align-items:end;margin-bottom:12px}.libraryFilter,.librarySearch{display:grid;grid-gap:6px;gap:6px;color:#425a78;font-size:12px;font-weight:800}.libraryFilter select,.librarySearch input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:none;padding:0 12px}.libraryFilter select:focus,.librarySearch input:focus{border-color:#78b4ff;box-shadow:0 0 0 3px rgba(45,125,255,.12)}.libraryBulkButton{min-width:190px}.librarySummaryLine{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:14px;color:#61748f;font-size:12px;font-weight:800}.librarySummaryLine strong{color:#14805e}.libraryError{margin-bottom:12px}.libraryBatchList{display:grid;grid-gap:12px;gap:12px}.libraryPagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid #e2ebf6}.libraryPagination>span{display:flex;min-width:0;gap:5px;align-items:center;color:#526a88;font-size:13px;text-align:center}.libraryPagination>span strong{color:var(--accent-dark);font-size:15px}.libraryPagination small{margin-left:8px;color:#7b8ca4;font-size:11px}.libraryBatchDate{color:#7b8ca4!important;font-weight:700!important}.libraryBatch{overflow:hidden;border:1px solid #d8e6f7;border-radius:10px;background:#f8fbff}.libraryBatchHead{justify-content:space-between;min-height:70px;padding:12px 14px}.libraryBatchHead,.libraryBatchToggle{display:flex;gap:12px;align-items:center}.libraryBatchToggle{flex:1 1;min-width:0;border:0;background:transparent;color:var(--ink);padding:0;text-align:left}.libraryBatchToggle>span:last-child{display:grid;grid-gap:4px;gap:4px}.libraryBatchToggle strong{font-size:15px}.libraryBatchToggle small{color:#61748f;font-size:12px;font-weight:800}.libraryChevron{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:50%;background:#e5f0ff;color:var(--accent-dark);font-size:24px;line-height:1;transform:rotate(0deg);transition:transform .18s ease}.libraryChevron.expanded{transform:rotate(90deg)}.libraryBatchBody{display:grid;grid-gap:14px;gap:14px;border-top:1px solid #d8e6f7;background:#fff;padding:14px}.libraryProductGroup{border:1px solid var(--line);border-radius:9px;background:var(--panel-soft);padding:12px}.libraryProductHead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.libraryProductHead span{color:#61748f;font-size:12px;font-weight:800}.libraryProductGrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.libraryProductGrid figure>a{display:block;line-height:0}.libraryProductGrid figure>a:focus-visible{outline:3px solid rgba(23,100,242,.35);outline-offset:-3px}.libraryProductGrid .secondaryButton{text-decoration:none}.pendingOutput{border-style:dashed}.regeneratingOutput{border-color:#7aa8ff;box-shadow:0 0 0 3px rgba(23,100,242,.12)}.outputState{display:grid;width:100%;aspect-ratio:1;place-items:center;background:#f8fafc;color:var(--muted);font-size:14px;font-weight:900}.outputState.failed{background:#fff1f0;color:var(--danger)}.pendingOutput figcaption{align-items:flex-start;flex-direction:column}.pendingOutput figcaption small{max-width:100%;white-space:normal}.outputError{color:var(--danger)}.outputMeta,.versionMeta{max-width:100%;color:var(--muted);font-size:11px;line-height:1.35;white-space:normal}.versionMeta{color:var(--accent);font-weight:900}.outputContextMenu{position:fixed;z-index:50;display:grid;min-width:174px;grid-gap:6px;gap:6px;border:1px solid #bcd4f6;border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(15,35,75,.18);padding:8px}.outputContextMenu button{border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;padding:9px 12px;font-weight:900}.outputContextMenu button:disabled{cursor:not-allowed;opacity:.55}.outputContextMenu small{color:var(--muted);font-size:11px}.loginShell{position:relative;display:grid;min-height:100vh;overflow:hidden;place-items:center;background:linear-gradient(168deg,rgba(111,173,255,.11) 0 1px,transparent 1px 18px),radial-gradient(circle at 92% 6%,rgba(199,224,255,.5) 0 15%,transparent 16%),linear-gradient(135deg,#f7fbff,#edf6ff 50%,#f9fcff);padding:48px 28px 64px}.loginBackdrop{position:absolute;inset:0;pointer-events:none}.loginDots{position:absolute;width:150px;height:72px;opacity:.55;background-image:radial-gradient(#9ec4ff 1.8px,transparent 0);background-size:14px 14px}.loginDotsTop{top:22px;left:24px}.loginDotsBottom{right:48px;bottom:66px}.loginOrb{position:absolute;top:-78px;right:110px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(255,255,255,.86),rgba(170,206,255,.24) 58%,transparent 72%)}.loginHero{z-index:1;width:min(1120px,calc(100vw - 56px));grid-template-columns:minmax(500px,1.08fr) minmax(430px,.92fr);grid-gap:0;gap:0;align-items:stretch;border-radius:16px;background:#ffffff;box-shadow:0 30px 80px rgba(42,96,154,.12)}.loginHero,.loginIntro{position:relative;display:grid;box-sizing:border-box;min-height:610px;overflow:hidden}.loginIntro{align-content:start;justify-items:center;padding:54px 48px 46px;background:radial-gradient(circle at 86% 13%,rgba(124,169,255,.18) 0 22%,transparent 23%),linear-gradient(135deg,#fbfdff,#eef6ff)}.loginIntro h1{width:min(390px,100%);margin:74px 0 0;color:#0d2a52;font-size:35px;line-height:1.15;letter-spacing:0}.loginIntro h1:after{content:none;display:none}.loginIntro>p{width:min(390px,100%);margin:18px 0 34px;color:#59708f;font-size:15px;font-weight:700;line-height:1.75}.loginFeatures{display:grid;width:min(390px,100%);grid-gap:18px;gap:18px;margin:0}.loginFeatures div{display:grid;grid-template-columns:44px 1fr;grid-column-gap:14px;column-gap:14px;align-items:center}.loginFeatures small,.loginFeatures strong{grid-column:2}.loginFeatures strong{color:#17375f;font-size:15px}.loginFeatures small{margin-top:4px;color:#607693;font-size:13px;font-weight:700}.featureIcon{grid-row:1/span 2;display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:linear-gradient(135deg,#e6f1ff,#d7e8ff);color:#1b76ff;box-shadow:0 10px 24px rgba(36,117,255,.12)}.featureIcon svg,.inputIcon svg,.languageButton svg,.loginLock svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.loginLock svg{width:22px;height:22px}.inputIcon svg{width:18px;height:18px;stroke-width:2}.languageButton svg{width:15px;height:15px;stroke-width:2.2}.inputIcon:before,.layersIcon:after,.layersIcon:before,.loginLock:before,.shieldIcon:before{content:none;display:none}.layersIcon:before{width:18px;height:18px;border:3px solid;border-top:5px solid;transform:rotate(45deg) skew(-10deg,-10deg)}.shieldIcon:before{width:18px;height:20px;border:3px solid;border-radius:9px 9px 12px 12px;-webkit-clip-path:polygon(50% 0,100% 18%,88% 78%,50% 100%,12% 78%,0 18%);clip-path:polygon(50% 0,100% 18%,88% 78%,50% 100%,12% 78%,0 18%)}.aiIcon{font-size:12px;font-weight:900}.loginIllustration{position:relative;width:312px;height:220px;justify-self:end;margin:28px 36px 0 0;transform:none}.imageTray{position:absolute;right:42px;bottom:22px;width:190px;height:126px;border-radius:18px 18px 32px 32px;background:linear-gradient(135deg,rgba(45,126,255,.88),rgba(133,184,255,.6));box-shadow:0 28px 48px rgba(36,117,255,.28),inset 0 0 0 1px rgba(255,255,255,.45)}.imageTray:after{content:"";position:absolute;left:50%;bottom:-30px;width:312px;height:72px;border:2px solid rgba(75,139,255,.24);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 28px rgba(70,132,255,.22)}.imageCard{position:absolute;width:106px;height:84px;border-radius:9px;background:linear-gradient(160deg,#eaf4ff,#a7c9ff);box-shadow:0 18px 34px rgba(45,117,255,.18)}.cardBack{left:22px;top:-30px;transform:rotate(-5deg)}.cardFront{right:18px;top:-14px}.cardFront:before{content:"";position:absolute;left:22px;top:24px;width:18px;height:18px;border-radius:50%;background:#5a98ff}.cardFront:after{content:"";position:absolute;right:18px;bottom:12px;width:42px;height:28px;-webkit-clip-path:polygon(0 100%,42% 42%,62% 66%,76% 34%,100% 100%);clip-path:polygon(0 100%,42% 42%,62% 66%,76% 34%,100% 100%);background:#6aa5ff}.imageCircle{position:absolute;right:-42px;bottom:-14px;display:grid;width:92px;height:92px;place-items:center;border:4px solid rgba(255,255,255,.78);border-radius:50%;background:linear-gradient(135deg,#68b0ff,#2d7dff);color:#fff;font-size:34px;font-weight:900;box-shadow:0 18px 34px rgba(45,117,255,.25)}.floatingCube{position:absolute;border-radius:8px;background:linear-gradient(135deg,rgba(182,210,255,.86),rgba(255,255,255,.62));transform:rotate(14deg) skew(-8deg)}.leftCube{left:0;top:30px;width:52px;height:52px}.rightCube{right:0;top:126px;width:34px;height:34px}.loginPanel{display:grid;box-sizing:border-box;align-content:start;grid-gap:20px;gap:20px;border:0;border-radius:0;background:#ffffff;box-shadow:none;padding:128px 56px 50px;-webkit-backdrop-filter:none;backdrop-filter:none}.loginPanelHead{display:none;justify-content:space-between;align-items:center}.loginLock{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:linear-gradient(135deg,#e2efff,#d2e5ff);color:#2d7dff}.loginLock:before{width:15px;height:17px;border:3px solid;border-radius:4px;box-shadow:0 -7px 0 -3px currentColor}.languageButton{display:inline-flex;min-height:34px;align-items:center;gap:7px;border:1px solid #d8e6f5;border-radius:8px;background:#fff;color:#3c526f;padding:0 12px;font-size:13px;font-weight:800}.languageButton:before{content:none}.languageButton span{width:7px;height:7px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-2px)}.loginPanel h2{margin:0 0 10px;color:#0d2a52;font-size:30px;line-height:1.15}.loginPanel p{margin:0;color:#6a7d98;line-height:1.6}.loginField{display:grid;grid-gap:9px;gap:9px;color:#26364e;font-size:13px;font-weight:900}.loginInputWrap{position:relative;display:flex;align-items:center}.loginInputWrap input{width:100%;height:43px;border:1px solid #d9e5f2;border-radius:8px;background:#fff;color:var(--ink);outline:none;padding:0 46px}.loginInputWrap input:focus{border-color:#78b4ff;box-shadow:0 0 0 3px rgba(45,125,255,.12)}.inputIcon{position:absolute;left:15px;display:grid;width:16px;height:16px;place-items:center;color:#71829c}.userIcon:before{width:13px;height:13px;border:2px solid;border-radius:50% 50% 45% 45%;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.passwordIcon:before{width:13px;height:12px;border:2px solid;border-radius:3px;box-shadow:0 -7px 0 -4px currentColor}.passwordToggle{position:absolute;right:10px;min-height:28px;border:0;background:transparent;color:#71829c;font-size:12px;font-weight:900}.loginOptions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:-2px}.loginOptions label{display:inline-flex;gap:8px;align-items:center;color:#243b5f;font-size:13px;font-weight:800}.loginOptions input{width:16px;height:16px;accent-color:#2d7dff}.loginOptions button{border:0;background:transparent;color:#2d7dff;font-size:13px;font-weight:900}.loginSubmit{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border:0;border-radius:8px;background:linear-gradient(180deg,#2f6df6,#2454db);color:#fff;font-weight:900;box-shadow:0 14px 26px rgba(45,125,255,.28)}.loginSubmit:disabled{cursor:not-allowed;opacity:.55}.loginError{border:1px solid #f4c7c3;border-radius:8px;background:#fff5f4;color:var(--danger)!important;padding:10px 12px;font-size:13px;font-weight:900}.loginTerms{text-align:center;font-size:12px}.loginTerms a{color:#2d7dff;font-weight:900;text-decoration:none}.loginCopyright{position:absolute;left:0;right:0;bottom:22px;color:#7a8da8;font-size:13px;font-weight:700;text-align:center}@media (max-width:1180px){.workflow{grid-template-columns:minmax(0,1fr);grid-template-areas:"step1" "step2" "step3" "step4" "step5"}.step5Panel{position:static}}@media (max-width:860px){.appShell{grid-template-columns:1fr}.rail{position:static;height:auto}.railNav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:18px}.downloadNotice,.sectionHead,.topbar{flex-direction:column;align-items:stretch}.progressActions,.topbarActions{flex-wrap:wrap}.topbar h1{font-size:25px}.apiSplitGrid,.fieldGrid,.jobSummary,.libraryToolbar,.progressGrid{grid-template-columns:1fr}.libraryBulkButton{width:100%}.generationBatchNameField,.loginHero{grid-template-columns:1fr}.loginHero{gap:30px}.loginIntro{padding-top:0;text-align:center}.loginFeatures{width:min(320px,100%);margin:0 auto;text-align:left}.loginPanel{padding:42px 36px}.loginIllustration{height:210px;margin-top:26px;transform:scale(.86);transform-origin:center}.loginCopyright{position:static;margin:28px 0 0}}@media (max-width:560px){.railNav{grid-template-columns:1fr}.panel{padding:16px}.templateHead{align-items:flex-start;flex-direction:column}.outputGrid,.productGrid{grid-template-columns:1fr}.loginShell{padding:26px 16px 34px}.loginPanel{padding:24px 18px}.loginPanel h2{font-size:26px}.loginIntro h1{font-size:30px}.loginOptions{align-items:flex-start;flex-direction:column}.libraryBatchHead{align-items:stretch;flex-direction:column}.libraryBatchHead>.secondaryButton{width:100%}}