:root{font-family:Segoe UI,system-ui,sans-serif;color:#e8e4dc;background:#0a0c10;line-height:1.5;--gold: #d4a853;--gold-dim: rgba(212, 168, 83, .15);--panel: #12141a;--card: #1a1d24;--border: rgba(212, 168, 83, .18);--muted: rgba(232, 228, 220, .55);--danger: #f87171}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{background:none;border:none;color:var(--gold);font-size:18px;font-weight:700;padding:0}.topbar-meta{display:flex;gap:6px;flex:1}.btn-launch{margin-left:auto;font-size:14px;padding:10px 20px}.page-body{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:24px 20px 40px}.page-body--task{max-width:none;width:100%;padding:20px clamp(12px,3vw,40px) 48px}.app-shell--task .topbar{padding-left:clamp(12px,3vw,40px);padding-right:clamp(12px,3vw,40px)}.hero{text-align:center;padding:32px 16px 28px;margin-bottom:28px}.hero h2{margin:0 0 10px;font-size:24px;color:#fff}.hero-desc{color:var(--muted);font-size:14px;margin:0 0 24px}.btn-hero{font-size:16px;padding:14px 32px}.launch-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:28px}.launch-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:12px;color:#e8e4dc;transition:border-color .15s,background .15s}.launch-card:hover{border-color:var(--gold);background:var(--gold-dim)}.launch-icon{font-size:28px}.launch-card strong{font-size:15px;color:var(--gold)}.launch-card span:last-child{font-size:12px;color:var(--muted)}.alert-box{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;background:#fcd34d1a;border:1px solid rgba(252,211,77,.35);border-radius:10px;margin-bottom:28px;font-size:14px;color:#fcd34d}.task-section-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.task-section h3{margin:0;font-size:16px;color:var(--gold)}.filter-pills{display:flex;gap:6px}.pill{padding:5px 12px;border-radius:999px;border:1px solid #333;background:transparent;color:var(--muted);font-size:12px}.pill.active{border-color:var(--gold);color:var(--gold);background:var(--gold-dim)}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.task-card{text-align:left;padding:16px;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#e8e4dc;transition:border-color .15s}.task-card:hover{border-color:var(--gold)}.task-card-top{display:flex;justify-content:space-between;margin-bottom:8px}.task-id{font-size:12px;color:var(--muted)}.task-status{font-size:11px;padding:2px 8px;border-radius:999px}.status-awaiting_review{background:#fcd34d26;color:#fcd34d}.status-completed{background:#4ade801f;color:#86efac}.status-rejected{background:#f871711f;color:#f87171}.status-pending,.status-analyzing,.status-generating{background:#60a5fa1f;color:#93c5fd}.task-card-title{font-weight:600;font-size:15px;margin-bottom:4px}.task-card-score{font-size:12px;color:var(--muted)}.task-card-link{font-size:12px;color:var(--gold);margin-top:8px;display:block}.empty-box{text-align:center;padding:40px;color:var(--muted);background:var(--card);border-radius:12px}.form-page{max-width:720px}.task-page{max-width:100%}.back-link{background:none;border:none;color:var(--muted);font-size:13px;padding:0;margin-bottom:16px}.back-link:hover{color:var(--gold)}.form-page h2,.task-page-header h2{margin:0 0 6px;color:#fff;font-size:22px}.form-subtitle{color:var(--muted);font-size:14px;margin:0 0 20px}.mode-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.mode-tab{padding:8px 16px;border-radius:8px;border:1px solid #333;background:transparent;color:var(--muted);font-size:13px}.mode-tab.active{border-color:var(--gold);background:var(--gold-dim);color:var(--gold)}.form-card{padding:20px}.steps-hint{font-size:13px;color:var(--gold);margin-bottom:16px;padding:10px 12px;background:var(--gold-dim);border-radius:8px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 600px){.field-row{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;color:var(--muted)}.input,.textarea{padding:10px 12px;border-radius:8px;border:1px solid #333;background:#0e1014;color:#e8e4dc;width:100%}.file-name{font-size:12px;color:#86efac}.upload-page{max-width:640px}.upload-card{margin-top:4px}.upload-input-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;margin-bottom:20px;padding:28px 20px;border:2px dashed var(--border);border-radius:12px;background:#00000040;cursor:pointer;transition:border-color .15s,background .15s}.upload-dropzone:hover,.upload-dropzone.drag-over{border-color:var(--gold);background:var(--gold-dim)}.upload-dropzone.has-file{min-height:auto;padding:16px;cursor:default}.upload-dropzone-icon{font-size:40px;margin-bottom:8px}.upload-dropzone-title{margin:0 0 4px;font-size:16px;color:#fff;font-weight:600}.upload-dropzone-hint{margin:0;font-size:13px;color:var(--muted)}.upload-preview-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.upload-preview-img{max-width:100%;max-height:280px;border-radius:8px;object-fit:contain}.upload-preview-name{margin:0;font-size:13px;color:#86efac}.upload-change-btn{margin-top:4px}.upload-batch-btn{width:100%;justify-content:center}.upload-other-modes{margin-top:20px;font-size:13px;color:var(--muted);text-align:center}.link-btn{background:none;border:none;color:var(--gold);padding:0;font-size:inherit;text-decoration:underline;cursor:pointer}.link-btn:hover{color:#e8c878}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.checkbox-row{display:flex;gap:8px;align-items:center;font-size:13px;margin-bottom:14px}.task-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.detail-actions-top{display:flex;gap:8px;flex-wrap:wrap}.status-discarded{background:#f871711f;color:#f87171}.task-card-note{font-size:11px;color:#f87171;margin:4px 0;line-height:1.4}.upload-tips{font-size:12px;color:#fcd34d;background:#fcd34d14;border:1px solid rgba(252,211,77,.25);padding:10px 12px;border-radius:8px;margin-bottom:14px;line-height:1.5}.status-banner{padding:16px 18px;border-radius:10px;margin-bottom:18px}.status-banner-error{background:#f871711f;border:1px solid rgba(248,113,113,.4)}.status-banner-warn{background:#fcd34d1a;border:1px solid rgba(252,211,77,.35)}.status-banner-info{background:#60a5fa1a;border:1px solid rgba(96,165,250,.35)}.status-banner-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#fff}.status-banner-error .status-banner-title{color:#fca5a5}.status-banner-warn .status-banner-title{color:#fcd34d}.status-banner-body{font-size:14px;margin:0 0 8px;color:#e8e4dc;line-height:1.5}.status-banner-action{font-size:13px;margin:0;color:var(--muted);line-height:1.5}.review-banner{background:#fcd34d1f;border:1px solid rgba(252,211,77,.35);color:#fcd34d;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.processing-banner{background:#60a5fa1f;border:1px solid rgba(96,165,250,.35);color:#93c5fd;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:1fr;gap:14px}.card{background:var(--card);border-radius:12px;padding:16px 18px;border:1px solid rgba(255,255,255,.06)}.card h3{margin:0 0 12px;font-size:14px;color:var(--gold)}.card-wide{grid-column:1 / -1}.model-info-bar{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px;color:var(--muted);margin-bottom:14px;padding:10px 12px;background:#ffffff08;border-radius:8px}.model-info-bar strong{color:var(--gold);font-weight:600}.img-grid-designs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.img-grid-designs--large{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.img-grid-details{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (min-width: 768px){.img-grid-details{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1200px){.img-grid-details{grid-template-columns:repeat(3,1fr);gap:20px}}.img-grid-mockups{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.mockup-group{margin-bottom:18px}.mockup-group:last-child{margin-bottom:0}.mockup-group-label{font-size:12px;color:var(--muted);margin:0 0 8px}.asset-thumb{display:block;width:100%;padding:0;border:none;background:#0e1014;border-radius:10px;overflow:hidden;cursor:zoom-in;border:1px solid #333;transition:border-color .15s,transform .15s}.asset-thumb:hover{border-color:var(--gold);transform:translateY(-2px)}.asset-thumb img{display:block;width:100%;min-height:240px;height:auto;aspect-ratio:1;object-fit:cover;background:#0e1014}.asset-thumb--detail img{min-height:320px;aspect-ratio:4 / 5;object-fit:cover}.asset-thumb--design img{min-height:280px}.auth-image-loading{display:block;width:100%;min-height:240px;aspect-ratio:1;background:linear-gradient(110deg,#0e1014 8%,#1a1d24 18%,#0e1014 33%);background-size:200% 100%;animation:auth-image-shimmer 1.2s ease-in-out infinite}.asset-thumb--detail .auth-image-loading{min-height:320px;aspect-ratio:4 / 5}.auth-image-failed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:240px;aspect-ratio:1;background:#1a1010;border:1px dashed rgba(248,113,113,.45);color:#fca5a5;font-size:13px;text-align:center;padding:12px}.auth-image-failed small{font-size:11px;color:var(--muted)}@keyframes auth-image-shimmer{to{background-position:-200% 0}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000eb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px}.lightbox-close{position:absolute;top:16px;right:20px;background:transparent;border:1px solid #555;color:#fff;font-size:14px;padding:8px 14px;border-radius:8px}.lightbox-close:hover{border-color:var(--gold);color:var(--gold)}.lightbox-img{max-width:min(96vw,1200px);max-height:82vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px #00000080}.lightbox-caption{font-size:13px;color:var(--muted);text-align:center;max-width:90vw}.lightbox-nav{display:flex;gap:12px}.lightbox-nav button{padding:8px 16px;border-radius:8px;border:1px solid var(--gold);background:transparent;color:var(--gold)}.json-pre{font-size:11px;overflow:auto;margin:0;max-height:200px}.badge{font-size:10px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge.ok{border-color:#4ade8066;color:#86efac}.badge.warn{border-color:#fbbf2466;color:#fcd34d}.btn{padding:8px 16px;border-radius:8px;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:13px;text-decoration:none;display:inline-block}.btn.primary{background:var(--gold);color:#12141a;border:none}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn-lg{padding:12px 24px;font-size:15px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.workflow-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.workflow-step{padding:8px 14px;border-radius:8px;border:1px solid #333;font-size:13px;color:var(--muted)}.workflow-step.active{border-color:var(--gold);color:var(--gold);background:var(--gold-dim)}.workflow-step.done{border-color:#86efac66;color:#86efac}.workflow-panel{margin-bottom:20px}.analysis-summary p{margin:6px 0;font-size:14px;line-height:1.5}.variant-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.variant-opt{padding:8px 16px;border-radius:8px;border:1px solid #333;cursor:pointer;font-size:13px}.variant-opt.active{border-color:var(--gold);background:var(--gold-dim);color:var(--gold)}.variant-opt input{margin-right:6px}.prompt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:16px}.prompt-slot label{font-size:12px;color:var(--gold);display:block;margin-bottom:6px}.preset-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.chip{padding:4px 10px;border-radius:999px;border:1px solid #444;background:transparent;color:var(--muted);font-size:11px}.chip:hover,.chip.active{border-color:var(--gold);color:var(--gold)}.seo-workshop{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:16px}@media (min-width: 900px){.seo-workshop{grid-template-columns:1fr 1fr}}.seo-col h4{margin:0 0 8px;font-size:14px;color:var(--gold)}.keyword-cloud{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-height:160px;overflow-y:auto}.title-list{margin:10px 0 0;padding-left:18px;font-size:12px;color:var(--muted);max-height:200px;overflow-y:auto}.hint{font-size:12px;color:var(--muted);margin:0 0 8px}.msg{font-size:13px;margin-top:12px}.msg.error{color:var(--danger)}.msg.ok{color:#86efac}
