:root{color:#142033;background:#eef2f6;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;color:#142033;background:linear-gradient(180deg,#f6f8fb,#edf2f7)}button,input{font:inherit}button{border:0;cursor:pointer}input{width:100%;min-width:0;border:0;outline:none;background:transparent}strong,h1,h2,p{margin:0}.shell{width:min(1380px,calc(100vw - 32px));margin:0 auto;padding:24px 0 36px}.shell.locked{min-height:100vh;display:grid;place-items:center;padding:0}.authOnly{width:min(760px,calc(100vw - 32px))}.authOnlyInner{display:grid;gap:16px;padding:28px;border:1px solid #d7e0eb;border-radius:12px;background:#ffffffeb;box-shadow:0 14px 34px #1420330f}.topbar,.band{border:1px solid #d7e0eb;background:#ffffffe0;box-shadow:0 14px 34px #1420330f}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:12px}.eyebrow{margin-bottom:10px;color:#3c5ccf;font-size:13px;font-weight:700;letter-spacing:0}.topbar h1{font-size:30px;line-height:1.15}.subcopy{max-width:720px;margin-top:8px;color:#5c6d81;font-size:14px}.topbarActions,.authActions,.uploadActions,.detailMeta{display:flex;align-items:center;gap:10px}.iconButton,.ghostButton,.secondaryButton,.primaryButton,.dangerButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 14px;border-radius:8px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.iconButton{width:40px;padding:0;background:#edf3fb;color:#35527d}.iconButton.compact{width:34px;height:34px}.primaryButton{background:#2448d8;color:#fff}.secondaryButton{border:1px solid #cdd8e6;background:#fff;color:#23354f}.dangerButton{border:1px solid #f0c4c4;background:#fff5f5;color:#b42318}.ghostButton{background:transparent;color:#4b5f79}.iconButton:hover,.ghostButton:hover,.secondaryButton:hover,.primaryButton:hover{transform:translateY(-1px)}.band{margin-top:16px;border-radius:12px;padding:16px}.authBand,.uploadBand{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:16px}.authQr,.uploadDrop,.uploadQueue,.listBand,.detailBand{min-width:0}.authQr{display:flex;gap:16px;align-items:center}.authQrButton{width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.qrFrame{width:152px;height:152px;padding:10px;border:1px solid #d3ddea;background:#fff}.qrFrame img{display:block;width:100%;height:100%}.qrLoading{width:100%;height:100%;display:grid;place-items:center;color:#66798f;font-size:13px}.qrGrid{width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.qrCell{border-radius:2px;background:#e8edf5}.qrCell.dark{background:#24364f}.authMeta{display:grid;gap:10px}.confirmPanel{display:grid;gap:14px}.authTitle{display:inline-flex;align-items:center;gap:8px;font-weight:700}.authMeta p,.hint,.queueEmpty,.previewEmpty span,.sectionHead p,.emptyState p{color:#5d6f84;font-size:14px}.field{display:grid;gap:8px}.field input{height:40px;padding:0 12px;border:1px solid #cdd8e6;border-radius:8px;background:#fff}.field span,.queueHeader span,.statCard span,.detailMeta span,.titleCell span,.queueItem span{color:#66798f;font-size:13px}.notice{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 12px;border:1px solid #cce1d7;border-radius:8px;background:#eefaf3;color:#1e6a47}.uploadDrop{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:128px;padding:18px;border:1px dashed #b9c7d8;border-radius:12px;background:#fbfdff}.uploadDrop.active{border-color:#2448d8;background:#f2f6ff}.uploadDrop.disabled{opacity:.6;pointer-events:none}.uploadIntro{display:flex;align-items:center;gap:12px}.uploadIntro h2{font-size:18px}.uploadQueue{display:grid;gap:12px;padding:14px;border:1px solid #d7e0eb;border-radius:12px}.queueHeader,.sectionHead,.detailMeta,.contentGrid,.statsGrid,.queueItem{display:flex;justify-content:space-between;gap:14px}.queueHeader{align-items:center}.queueList{display:grid;gap:10px}.queueItem{align-items:center;padding:10px 12px;border:1px solid #e0e8f1;border-radius:8px;background:#fff}.queueItem p{font-size:14px;font-weight:600}.statsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.statCard{min-height:96px;padding:16px;border:1px solid #d7e0eb;border-radius:12px;background:#ffffffe0}.statCard strong{display:block;margin-top:10px;font-size:18px;line-height:1.2}.contentGrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:16px;margin-top:16px;align-items:start}.listBand,.detailBand{display:grid;gap:16px}.sectionHead{align-items:flex-end}.sectionHead h2{font-size:18px}.searchField{display:inline-flex;align-items:center;gap:8px;min-width:280px;height:40px;padding:0 12px;border:1px solid #cdd8e6;border-radius:8px;background:#fff}.tableWrap{overflow:auto;border:1px solid #d7e0eb;border-radius:8px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid #e9eef4;white-space:nowrap}th{position:sticky;top:0;z-index:1;background:#f8fbff;color:#607286;font-size:13px;font-weight:700}tbody tr{cursor:pointer}tbody tr:hover{background:#f7faff}tbody tr.active{background:#eef4ff}.titleCell{display:inline-flex;align-items:center;gap:8px;min-width:0}.titleCell span{color:#1c2b3f;font-size:14px}.emptyRow,.emptyState,.previewEmpty{padding:32px 20px;text-align:center}.detailMeta{align-items:stretch;flex-wrap:wrap}.detailToolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detailMeta>div{flex:1 1 160px;padding:12px 14px;border:1px solid #d7e0eb;border-radius:8px;background:#fff}.detailMeta strong{display:block;margin-top:8px;font-size:14px;word-break:break-all}.previewFrame{min-height:420px;border:1px solid #d7e0eb;border-radius:8px;overflow:hidden;background:#fff}.previewFrame iframe{width:100%;height:100%;min-height:420px;border:0}.previewEmpty,.emptyState{display:grid;place-items:center;gap:8px;min-height:420px}.hidden{display:none}code{padding:2px 6px;border-radius:6px;background:#edf3fb}@media (max-width: 1120px){.authBand,.uploadBand,.contentGrid,.statsGrid{grid-template-columns:1fr}.topbar,.authQr,.uploadDrop,.sectionHead{align-items:flex-start;flex-direction:column}.searchField{min-width:0;width:100%}.authOnlyInner{padding:20px}}.image-studio{width:min(1280px,calc(100vw - 24px));margin:0 auto;padding:20px 0 32px}.image-hero-card,.image-panel,.image-notice{border:1px solid rgba(96,165,250,.18);background:#080d17cc;box-shadow:0 24px 80px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.image-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px;border:1px solid rgba(96,165,250,.18);border-radius:22px;background:#080d17cc;box-shadow:0 24px 80px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.image-hero-copy{max-width:700px}.image-eyebrow{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(56,189,248,.22);background:#0a1221b8;color:#7dd3fc;font-size:13px;font-weight:700}.image-hero-copy h1{margin-top:16px;font-size:52px;line-height:1.04;letter-spacing:0;color:#dcecff}.image-hero-copy p{max-width:72ch;margin-top:12px;color:#8ba4c8;font-size:15px}.image-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.image-tool-button,.image-mini-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(96,165,250,.22);border-radius:12px;background:#0e1422eb;color:#e8f1ff;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease;font:inherit}.image-tool-button{min-height:44px;padding:0 14px}.image-tool-button.accent{border-color:#38bdf86b;background:linear-gradient(135deg,#2563ebeb,#14b8a6d6)}.image-tool-button.upload-accent{border-color:#34d3996b;background:linear-gradient(135deg,#10b981eb,#059669d6)}.image-tool-button.ghost{background:#090e18b8}.image-tool-button:disabled,.image-mini-button:disabled{opacity:.5;cursor:not-allowed}.image-tool-button:not(:disabled):hover,.image-mini-button:not(:disabled):hover{transform:translateY(-1px);border-color:#60a5fa6b}.image-notice{margin-top:14px;padding:14px 16px;border-radius:16px;color:#a7f3d0;border:1px solid rgba(96,165,250,.18);background:#080d17cc}.image-workspace-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;margin-top:14px}.image-panel{padding:18px;border-radius:20px;border:1px solid rgba(96,165,250,.18);background:#080d17cc;box-shadow:0 24px 80px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.image-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.image-panel-head h2{font-size:20px;line-height:1.15;color:#dcecff;margin:0}.image-panel-head p{margin-top:6px;color:#8ba4c8;font-size:13px}.image-panel-actions{display:flex;align-items:center;gap:8px}.image-counter{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(96,165,250,.18);background:#0a1221b8;color:#7dd3fc;font-size:12px;font-weight:700}.image-field-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.image-field{display:grid;gap:8px}.image-field span{color:#8ba4c8;font-size:13px}.image-field input{width:100%;min-height:44px;padding:0 14px;border:1px solid rgba(96,165,250,.2);border-radius:12px;background:#080d17c2;color:#e8f1ff;outline:none;font:inherit}.image-field input:focus{border-color:#38bdf880}.image-dropzone{display:grid;place-items:center;gap:8px;min-height:180px;margin-top:12px;padding:18px;border:1px dashed rgba(96,165,250,.35);border-radius:18px;background:radial-gradient(circle at top left,rgba(56,189,248,.08),transparent 22%),#090e18a3;cursor:pointer;text-align:center;color:#dcecff}.image-dropzone strong{font-size:16px}.image-dropzone span{color:#8ba4c8;font-size:13px}.image-hidden-file{display:none}.image-selection-grid,.image-result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:12px}.image-selection-card,.image-result-card{position:relative;overflow:hidden;border:1px solid rgba(96,165,250,.16);border-radius:16px;background:#090e18b8}.image-selection-card img,.image-result-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.image-selection-meta,.image-result-meta{display:grid;gap:6px;padding:12px}.image-selection-meta strong,.image-result-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#e8f1ff}.image-selection-meta span,.image-result-meta span,.image-result-meta a{color:#8ba4c8;font-size:12px}.image-selection-card .image-mini-button{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:999px}.image-mini-button.inline{width:fit-content;min-height:28px;padding:0 10px;justify-self:start}.image-mini-button.danger{border-color:#f8717147;background:#7f1d1de0}.image-empty-state,.image-failed-box{margin-top:12px;padding:14px;border:1px solid rgba(96,165,250,.16);border-radius:16px;color:#8ba4c8;background:#090e18b8}.image-preview-frame{width:100%;min-height:520px;border:1px solid rgba(96,165,250,.16);border-radius:16px;background:#05070d}.image-output-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 10px}.image-output-label,.image-output-file{display:inline-flex;align-items:center;gap:8px;color:#8ba4c8;font-size:12px}.image-html-source{width:100%;min-height:220px;padding:14px;border:1px solid rgba(96,165,250,.16);border-radius:16px;background:#05070deb;color:#c9ddff;resize:vertical;font:inherit}.image-output-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.image-output-summary div{padding:14px;border:1px solid rgba(96,165,250,.16);border-radius:14px;background:#090e18b8}.image-output-summary span{color:#8ba4c8;font-size:12px}.image-output-summary strong{display:block;margin-top:6px;font-size:16px;color:#e8f1ff}.image-failed-box p{margin-top:8px}@media (max-width: 1080px){.image-workspace-grid{grid-template-columns:1fr}.image-preview-frame{min-height:460px}}@media (max-width: 820px){.image-hero{flex-direction:column;align-items:stretch}.image-hero-actions{justify-content:flex-start}.image-field-group,.image-output-summary{grid-template-columns:1fr}.image-panel-head{flex-direction:column}.image-hero-copy h1{font-size:34px}}
