@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap";:root{color:#1b1815;background:#f5f2ec;font-family:Outfit,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.appShell{min-height:100vh;padding:40px}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:48px;max-width:1480px;margin:0 auto}.controlPanel{position:sticky;top:40px;display:grid;gap:18px;align-self:start;padding:32px 28px;background:#fffdfae0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(210,202,187,.45);border-radius:20px;box-shadow:0 1px #ffffffb3 inset,0 0 0 1px #fff6 inset,0 4px 32px #3c32230a,0 12px 48px #3c322308}.titleBlock h1{margin:0;font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.03em}.versionBadge{display:inline-flex;align-items:center;width:max-content;margin-top:8px;padding:3px 9px;border-radius:999px;color:#1c6b5f;background:#edf6f4;border:1px solid rgba(28,107,95,.16);font-size:12px;font-weight:700;line-height:1.2}.titleBlock p{margin:8px 0 0;color:#8a7f72;font-size:14px;font-weight:500}label{display:grid;gap:6px;font-weight:600;font-size:13px;color:#5c5550;letter-spacing:.01em}input,select,textarea{width:100%;border:1px solid #d5ccc0;border-radius:10px;padding:11px 14px;color:#1b1815;background:#fffdf9;font-size:14px;font-weight:500;transition:border-color .2s var(--ease-spring),box-shadow .2s var(--ease-spring)}input:focus,select:focus,textarea:focus{outline:none;border-color:#1c6b5f;box-shadow:0 0 0 4px #1c6b5f0f}.heldSignControls{display:grid;gap:10px}.checkboxRow{grid-template-columns:auto 1fr;align-items:center;gap:10px}.checkboxRow input{width:18px;height:18px}textarea{resize:vertical}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:8px;font-weight:600;font-size:13px;color:#5c5550;letter-spacing:.01em}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented.two{grid-template-columns:repeat(2,1fr)}.segmented button{height:42px;background:#f8f6f2b3;border:1px solid #d5cdc0;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;color:#5c5550;transition:all .2s var(--ease-spring);letter-spacing:.01em}.segmented button:hover{border-color:#1c6b5f;color:#1c6b5f;background:#1c6b5f0a}.segmented button.selected{border-color:#1c6b5f;color:#fff;background:#1c6b5f;box-shadow:0 2px 8px #1c6b5f2e}.generateButton,.confirmButton{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;border:none;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;transition:all .25s var(--ease-spring);letter-spacing:-.01em;overflow:hidden}.generateButton{color:#fff;background:#c94f2e;box-shadow:0 2px 12px #c44d2d38,0 1px #ffffff26 inset}.generateButton:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.08) 43%,rgba(255,255,255,.14) 48%,rgba(255,255,255,.08) 53%,transparent 58%);animation:shimmerBtn 3s ease-in-out infinite}@keyframes shimmerBtn{0%{transform:translate(-100%)}to{transform:translate(100%)}}.generateButton:hover:not(:disabled){background:#b5462a;box-shadow:0 4px 16px #c44d2d47,0 1px #ffffff26 inset;transform:translateY(-1px)}.generateButton:active:not(:disabled){transform:scale(.97) translateY(0);transition:transform .1s var(--ease-spring)}.confirmButton{color:#fff;background:#1c6b5f;box-shadow:0 2px 12px #1c6b5f33,0 1px #ffffff26 inset}.confirmButton:hover:not(:disabled){background:#165a4f;box-shadow:0 4px 16px #1c6b5f42,0 1px #ffffff26 inset;transform:translateY(-1px)}.confirmButton:active:not(:disabled){transform:scale(.97) translateY(0);transition:transform .1s var(--ease-spring)}.generateButton:disabled,.confirmButton:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.1)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.staleBox{border:1px solid rgba(213,190,130,.5);border-radius:10px;padding:14px 16px;color:#6f4f11;background:#fff9e8;font-size:14px;font-weight:500}.errorBox{border:1px solid rgba(203,125,112,.5);border-radius:10px;padding:14px 16px;color:#842c22;background:#fff0ee;font-size:14px}.errorBox ul{margin:8px 0 0;padding-left:20px}.errorWarnings{margin-top:10px;color:#6f4f11}.mainArea{min-width:0;display:flex;flex-direction:column;gap:28px}.productOverview{padding:44px 48px;background:#fffdfa;border:1px solid rgba(210,202,187,.4);border-radius:20px;box-shadow:0 1px #fff9 inset,0 8px 32px #3c322308}.emptyOverview{display:flex;align-items:center;min-height:140px;padding:32px 48px}.overviewEmptyHint{color:#b0a597;font-size:17px;font-weight:500;margin:0;letter-spacing:-.01em}.overviewTitle{margin:0 0 20px;font-size:38px;font-weight:800;line-height:1.1;letter-spacing:-.035em;color:#141210}.overviewMeta{display:flex;gap:10px;margin-bottom:24px}.overviewTag{display:inline-flex;align-items:center;padding:5px 14px;border-radius:8px;font-size:13px;font-weight:600;background:#edf6f4;color:#1c6b5f;letter-spacing:.01em;transition:transform .2s var(--ease-spring)}.overviewTag:hover{transform:translateY(-1px)}.overviewProperties{list-style:none;margin:0;padding:0;display:grid;gap:12px}.overviewProperties li{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:baseline;font-size:16px;line-height:1.55;animation:fadeSlideIn .5s var(--ease-out-expo) both}.overviewProperties li:nth-child(1){animation-delay:.04s}.overviewProperties li:nth-child(2){animation-delay:.08s}.overviewProperties li:nth-child(3){animation-delay:.12s}.overviewProperties li:nth-child(4){animation-delay:.16s}.overviewProperties li:nth-child(5){animation-delay:.2s}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.propLabel{font-weight:600;color:#9d9284;text-align:right;font-size:14px;letter-spacing:.02em}.propValue{color:#1b1815;font-weight:500}.generationProgress{padding:22px 28px;background:#fdfcf7;border:1px solid rgba(210,202,187,.35);border-radius:16px;box-shadow:0 1px #ffffff80 inset}.progressError{border-color:#d5968866;background:#fff8f5}.progressHeader{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}.progressPhase{font-weight:700;font-size:15px;color:#1c6b5f;letter-spacing:-.01em}.phaseFailed{color:#842c22}.progressDetail{font-size:14px;color:#8a7f72;font-weight:500}.progressSteps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.progressStep{display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:22px;font-size:13px;font-weight:500;color:#b0a597;background:#f4f1eb;transition:all .35s var(--ease-spring);letter-spacing:.01em}.progressStep.done{color:#fff;background:#1c6b5f;box-shadow:0 1px 4px #1c6b5f26}.progressStep.active{color:#1c6b5f;background:#d4efe8;font-weight:600;box-shadow:0 0 0 2px #1c6b5f1a;animation:progressPulse 2s ease-in-out infinite}.progressStep.failed{color:#fff;background:#a04033}@keyframes progressPulse{0%,to{box-shadow:0 0 0 2px #1c6b5f1a}50%{box-shadow:0 0 0 5px #1c6b5f0a}}.stepDot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0;transition:transform .3s var(--ease-spring)}.progressStep.active .stepDot{animation:dotPop 1s var(--ease-out-expo) infinite}@keyframes dotPop{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.stepLabel{white-space:nowrap}.generated{padding:36px 40px;background:#fffdfa;border:1px solid rgba(210,202,187,.4);border-radius:20px;box-shadow:0 1px #fff9 inset}.generatedHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.generated h2,.generatedHeader h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.downloadAllButton{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid rgba(28,107,95,.3);border-radius:10px;color:#1c6b5f;background:#edf6f3;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;letter-spacing:-.01em;transition:all .25s var(--ease-spring)}.downloadAllButton:hover{color:#fff;background:#1c6b5f;box-shadow:0 2px 10px #1c6b5f2e;transform:translateY(-1px)}.imageGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.imageTile{border:1px solid rgba(210,202,187,.35);border-radius:14px;overflow:hidden;background:#fff;transition:all .35s var(--ease-spring);animation:fadeSlideIn .45s var(--ease-out-expo) both}.imageTile:nth-child(1){animation-delay:.05s}.imageTile:nth-child(2){animation-delay:.1s}.imageTile:nth-child(3){animation-delay:.15s}.imageTile:nth-child(4){animation-delay:.2s}.imageTile:hover{box-shadow:0 8px 28px #3c322312,0 2px 6px #3c32230a;transform:translateY(-3px)}.imageTile img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;background:#f7f4ee}.imageTileActions{display:flex;justify-content:center;padding:12px;border-top:1px solid #f2efe6}.downloadButton{padding:7px 18px;border:1px solid #d5cdc0;border-radius:8px;color:#5c5550;background:#faf8f4;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer;letter-spacing:-.01em;transition:all .25s var(--ease-spring)}.downloadButton:hover{border-color:#1c6b5f;color:#fff;background:#1c6b5f;box-shadow:0 2px 8px #1c6b5f26;transform:translateY(-1px)}.emptyState{display:flex;align-items:flex-start;min-height:200px;border:1px dashed rgba(200,193,179,.5);border-radius:16px;color:#b0a597;font-size:16px;padding:40px 44px;background:#faf9f580;font-weight:500;letter-spacing:-.01em}.debugPanel{margin-top:4px;border:1px solid rgba(210,202,187,.3);border-radius:14px;background:#faf9f5;overflow:hidden;opacity:.75;transition:opacity .3s var(--ease-spring)}.debugPanel[open]{opacity:.9}.debugPanel:hover{opacity:1}.debugSummary{cursor:pointer;padding:14px 22px;font-weight:600;font-size:13px;color:#9d9284;-webkit-user-select:none;user-select:none;letter-spacing:.02em;transition:all .2s var(--ease-spring)}.debugSummary:hover{color:#5c5550}.debugSections{padding:0 20px 20px;display:grid;gap:16px}.debugSection{border:1px solid rgba(210,202,187,.3);border-radius:10px;background:#fffdfa;overflow:hidden}.debugSectionHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f7f4ed;border-bottom:1px solid rgba(210,202,187,.25)}.debugSectionHeader h3{margin:0;font-size:13px;font-weight:700;color:#5c5550;letter-spacing:.02em}.copyBtn{padding:4px 12px;border:1px solid #d5cdc0;border-radius:6px;background:#fffdfa;color:#5c5550;font-size:11px;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:all .2s var(--ease-spring)}.copyBtn:hover{border-color:#1c6b5f;color:#1c6b5f;background:#edf6f4}.debugSection label{padding:12px 16px}.debugSection input{margin-top:4px}.debugSection .promptEditor{min-height:320px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;margin-top:4px}.debugSection pre{overflow:auto;max-height:300px;margin:0;padding:14px 16px;white-space:pre-wrap;word-break:break-word;color:#2b2722;background:#f7f2e9;font-size:12px;line-height:1.55}.sourceLine{margin:0 0 12px;padding:0 16px;color:#9d9284;font-size:12px;font-weight:500}.debugSection .analysisGrid{padding:10px 16px 14px}.analysisGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.analysisGrid p{display:grid;gap:3px;margin:0;border:1px solid rgba(210,202,187,.3);border-radius:7px;padding:9px 12px;background:#fffdfa;font-size:12px;line-height:1.45}.analysisGrid strong{color:#1c6b5f;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.warningRow{border-color:#d7b56d66!important;background:#fffaf0!important}.referenceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:10px 16px 14px}.referenceTile{border:1px solid rgba(210,202,187,.3);border-radius:9px;overflow:hidden;background:#fffdfa;transition:box-shadow .25s var(--ease-spring)}.referenceTile:hover{box-shadow:0 2px 10px #3c32230d}.referenceTile img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;background:#f7f4ee}.referenceTile span{display:block;min-height:38px;padding:7px 8px;color:#5c5550;font-size:11px;font-weight:500}.refRoleTag{display:inline-block;margin:0 4px 4px 0;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;line-height:1.5}.refRole-one_piece_structure,.refRole-low_round_count,.refRole-low_round_count_support,.refRole-low_round_count_exemplar,.refRole-structure_exemplar{background:#d4edda;color:#1a5c2a}.refRole-subject_identity,.refRole-subject_identity_support,.refRole-object_silhouette_support,.refRole-top_feature_support{background:#d6eaf8;color:#1a4f7a}.refRole-card_holding_pose,.refRole-card_holding_pose_support{background:#fef9e7;color:#7a621a}.refRole-shell_structure_support,.refRole-sunflower_shell_motif_support{background:#f3e5f5;color:#6a1b6a}.refRole-big_card_risk,.refRole-structure_risk,.refRole-misplaced_modifier_risk,.refRole-animal_identity_risk{background:#fde8e8;color:#8b1a1a}.lightboxOverlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0a0806d1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s var(--ease-out-expo)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightboxContent{position:relative;max-width:92vw;max-height:92vh;display:flex;flex-direction:column;align-items:center;background:#fffdfa;border-radius:16px;padding:20px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a inset;animation:lightboxIn .3s var(--ease-out-expo)}@keyframes lightboxIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.lightboxImage{max-width:80vw;max-height:68vh;object-fit:contain;border-radius:8px}.lightboxCaption{margin:12px 0 0;font-size:13px;color:#8a7f72;font-weight:500;letter-spacing:-.01em}.lightboxClose{position:absolute;top:8px;right:12px;border:none;background:none;font-size:28px;color:#8a7f72;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px;transition:all .2s var(--ease-spring)}.lightboxClose:hover{color:#1b1815;background:#f2efe8}.lightboxNav{position:absolute;top:50%;transform:translateY(-50%);border:none;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:30px;color:#1b1815;cursor:pointer;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #0000001a,0 0 0 1px #fff9 inset;transition:all .25s var(--ease-spring)}.lightboxNav:hover{background:#fff;box-shadow:0 4px 16px #00000024;transform:translateY(-50%) scale(1.06)}.lightboxPrev{left:-24px}.lightboxNext{right:-24px}.referenceImageUploader{display:grid;gap:8px}.uploaderLabel{font-weight:600;font-size:13px;color:#5c5550;letter-spacing:.01em}.dropZone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:120px;padding:24px 16px;border:2px dashed #d5cdc0;border-radius:12px;background:#faf9f580;cursor:pointer;transition:all .25s var(--ease-spring);text-align:center}.dropZone:hover{border-color:#1c6b5f;background:#1c6b5f08}.dropZone.dragOver{border-color:#1c6b5f;background:#1c6b5f0f;box-shadow:0 0 0 4px #1c6b5f0f}.dropZone.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.dropZoneIcon{color:#b0a597;margin-bottom:2px}.dropZoneTitle{margin:0;font-size:14px;font-weight:600;color:#5c5550;letter-spacing:-.01em}.dropZoneHint{margin:0;font-size:12px;color:#9d9284;font-weight:500}.dropZoneMeta{margin:0;font-size:11px;color:#b0a597}.imagePreviewContainer{position:relative;border:1px solid #d5cdc0;border-radius:12px;overflow:hidden;background:#faf8f4}.imagePreviewThumb{display:block;width:100%;max-height:200px;object-fit:contain;background:#f7f4ee}.removeImageButton{position:absolute;top:6px;right:6px;width:28px;height:28px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-spring)}.removeImageButton:hover:not(:disabled){background:#b43228d9;transform:scale(1.1)}.removeImageButton:disabled{opacity:.4;cursor:not-allowed}.changeImageButton{display:block;width:100%;padding:8px;border:none;border-top:1px solid #f2efe6;background:#faf8f4;color:#5c5550;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s var(--ease-spring)}.changeImageButton:hover:not(:disabled){background:#edf6f4;color:#1c6b5f}.changeImageButton:disabled{opacity:.4;cursor:not-allowed}.uploaderDescription{margin:0;font-size:12px;color:#9d9284;font-weight:500;line-height:1.45}.uploadError{border:1px solid rgba(203,125,112,.5);border-radius:8px;padding:8px 12px;color:#842c22;background:#fff0ee;font-size:12px;font-weight:500}.referenceImageZoomButton{position:absolute;bottom:8px;left:8px;width:30px;height:30px;border:none;border-radius:50%;background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-spring);z-index:2}.referenceImageZoomButton:hover:not(:disabled){background:#000000b3;transform:scale(1.1)}.referenceImageZoomButton:disabled{opacity:.35;cursor:not-allowed}.referenceImageLightboxBackdrop{position:fixed;inset:0;width:100vw;height:100dvh;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8;box-sizing:border-box;animation:lightboxFadeIn .2s ease}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.referenceImageLightboxDialog{position:relative;max-width:min(92vw,1120px);max-height:88dvh;display:flex;align-items:center;justify-content:center}.referenceImageLightboxImage{display:block;max-width:100%;max-height:88dvh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 24px 80px #00000059;background:#f7f4ee}.referenceImageLightboxClose{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border:none;border-radius:50%;background:#000000a6;color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-spring);z-index:1}.referenceImageLightboxClose:hover{background:#b43228d9;transform:scale(1.1)}.imageAnalysisSummary{margin-top:16px;padding:16px 18px;border:1px solid rgba(28,107,95,.15);border-radius:12px;background:#f7faf9}.imageAnalysisSummary h3{margin:0 0 10px;font-size:14px;font-weight:700;color:#1c6b5f;letter-spacing:-.01em}.imageAnalysisGrid{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;line-height:1.5}.imageAnalysisLabel{font-weight:600;color:#5c5550;text-align:right;white-space:nowrap}.imageAnalysisValue{color:#2b2722;font-weight:500}.imageAnalysisFeatures{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.imageAnalysisTag{display:inline-flex;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.01em}.imageAnalysisTag.kept{background:#d4edda;color:#1a5c2a}.imageAnalysisTag.simplified{background:#fff3cd;color:#7a621a}.imageAnalysisTag.omitted{background:#fde8e8;color:#8b1a1a}.imageAnalysisTag.replaced{background:#d6eaf8;color:#1a4f7a}@media(max-width:900px){.appShell{padding:16px}.workspace{grid-template-columns:1fr;gap:20px}.controlPanel{position:static;padding:22px 20px;backdrop-filter:none;-webkit-backdrop-filter:none}.productOverview{padding:28px 24px}.overviewTitle{font-size:26px}.overviewProperties li{grid-template-columns:48px 1fr;gap:12px;font-size:14px}.imageGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.generated,.productOverview{padding:24px 20px}.debugSections{padding:0 10px 10px;gap:12px}.analysisGrid{grid-template-columns:1fr}}.gh-root{font-family:inherit;color:#1b1815}.gh-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:12px}.gh-title{font-size:1rem;font-weight:600;margin:0}.gh-count{font-size:.75rem;color:#888}.gh-header-actions{display:flex;align-items:center;gap:10px}.gh-message{text-align:center;padding:32px 16px;font-size:.8125rem;color:#888}.gh-message-error{color:#e53e3e;display:flex;flex-direction:column;align-items:center;gap:8px}.gh-grid{display:flex;flex-direction:column;gap:4px}.gh-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .12s ease}.gh-card:hover{background:#00000008}.gh-card-thumb{position:relative;width:44px;height:44px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#f2f2f5;border:1px solid rgba(0,0,0,.06)}.gh-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gh-card-placeholder{width:100%;height:100%}.gh-card-badge{position:absolute;bottom:2px;right:2px;font-size:.5rem;font-weight:700;padding:1px 5px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em}.gh-badge-completed,.gh-badge-success,.gh-badge-generated{background:#22c55e;color:#fff}.gh-badge-failed{background:#ef4444;color:#fff}.gh-badge-generating{background:#f59e0b;color:#fff}.gh-badge-pending{background:#94a3b8;color:#fff}.gh-card-body{flex:1;min-width:0}.gh-card-title{font-size:.8125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gh-card-meta{font-size:.6875rem;color:#999;margin-top:1px;display:flex;gap:8px;flex-wrap:wrap}.gh-card-error{font-size:.6875rem;color:#ef4444;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gh-btn{font-size:.6875rem;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid;cursor:pointer;background:#fff;transition:all .12s ease}.gh-btn-refresh{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;color:#888;border-color:#0000001f;font-size:16px;line-height:1}.gh-btn-refresh:hover:not(:disabled){color:#1c6b5f;border-color:#1c6b5f4d}.gh-btn-refresh:disabled{opacity:.5;cursor:not-allowed}.gh-btn-retry{color:#e53e3e;border-color:#e53e3e4d}.gh-btn-retry:hover{background:#e53e3e0f}.gh-popover-root{position:fixed;top:24px;right:24px;z-index:900;width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.gh-popover-root>*{pointer-events:auto}.gh-history-toggle{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 14px;border:1px solid rgba(28,107,95,.28);border-radius:999px;color:#fff;background:#1c6b5f;box-shadow:0 8px 24px #1c6b5f2e;font-size:13px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.gh-history-toggle:hover{background:#165a4f;box-shadow:0 10px 28px #1c6b5f38;transform:translateY(-1px)}.gh-history-clock{position:relative;width:14px;height:14px;border:2px solid currentColor;border-radius:50%;flex:0 0 auto}.gh-history-clock:before,.gh-history-clock:after{content:"";position:absolute;left:5px;top:2px;width:2px;background:currentColor;border-radius:2px;transform-origin:bottom center}.gh-history-clock:before{height:5px}.gh-history-clock:after{height:4px;transform:rotate(90deg)}.gh-history-dot{width:7px;height:7px;border-radius:50%;background:#b7c4bf}.gh-history-dot.hasItems{background:#9bf2c3}.gh-history-status{color:#ffffffc2;font-size:12px;font-weight:600}.gh-popover-backdrop{position:fixed;inset:0;z-index:899;background:#0000}.gh-popover-panel{position:relative;z-index:2;width:100%;margin-top:10px;max-height:min(74vh,680px);overflow-y:auto;border-radius:14px;box-shadow:0 18px 56px #1412102e,0 1px #ffffffa6 inset}.gh-panel-close{width:28px;height:28px;border:0;border-radius:8px;color:#8a7f72;background:transparent;font-size:24px;line-height:1;cursor:pointer}.gh-panel-close:hover{color:#1b1815;background:#f2efe8}.gh-load-more{display:flex;justify-content:center;padding:14px 0 4px}.gh-btn-load-more{color:#1c6b5f;border-color:#1c6b5f40;font-size:.75rem;padding:8px 24px}.gh-btn-load-more:hover:not(:disabled){background:#1c6b5f0f}.gh-btn-load-more:disabled{opacity:.5;cursor:not-allowed}.gh-detail-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0a0806d1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:gh-fadeIn .2s ease}@keyframes gh-fadeIn{0%{opacity:0}to{opacity:1}}.gh-detail-content{position:relative;max-width:90vw;max-height:90vh;overflow-y:auto;background:#fffdfa;border-radius:16px;padding:28px 32px;box-shadow:0 20px 60px #0000004d;animation:gh-scaleIn .25s ease}@keyframes gh-scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.gh-detail-close{position:absolute;top:8px;right:12px;border:none;background:none;font-size:28px;color:#8a7f72;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.gh-detail-close:hover{color:#1b1815;background:#f2efe8}.gh-detail-title{margin:0 0 10px;font-size:20px;font-weight:700;letter-spacing:-.02em}.gh-detail-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px;color:#8a7f72;margin-bottom:18px}.gh-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:6px;font-size:11px;font-weight:600;background:#f2efe8;color:#5c5550}.gh-tag-completed,.gh-tag-success,.gh-tag-generated{background:#d4edda;color:#1a5c2a}.gh-tag-failed{background:#fde8e8;color:#8b1a1a}.gh-detail-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}.gh-detail-thumb{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:10px;cursor:pointer;border:1px solid rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease}.gh-detail-thumb:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.gh-detail-download-all{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border:1px solid rgba(28,107,95,.3);border-radius:8px;color:#1c6b5f;background:#edf6f3;font-weight:700;font-size:13px;text-decoration:none;transition:all .2s ease}.gh-detail-download-all:hover{background:#1c6b5f;color:#fff}.gh-lightbox-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0a0806e0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:gh-fadeIn .2s ease}.gh-lightbox-content{position:relative;max-width:92vw;max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:12px}.gh-lightbox-img{max-width:85vw;max-height:75vh;object-fit:contain;border-radius:12px}.gh-lightbox-close{position:absolute;top:-40px;right:0;border:none;background:none;font-size:32px;color:#fff;cursor:pointer;padding:4px;line-height:1}.gh-lightbox-download{padding:8px 20px;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;background:#ffffff1a;font-weight:600;font-size:13px;text-decoration:none;transition:all .2s ease}.gh-lightbox-download:hover{background:#fff3}.historyPanel{padding:28px 32px;background:#fffdfa;border:1px solid rgba(210,202,187,.4);border-radius:14px;box-shadow:0 1px #fff9 inset;margin-top:0}@media(max-width:600px){.gh-popover-root{top:12px;right:12px;left:12px;width:auto}.gh-popover-panel{max-height:calc(100vh - 64px)}.historyPanel{padding:20px 18px}}
