:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#111827;background:#e5e7eb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #e5e7eb;--bg-subtle: #f1f3f6;--surface: #ffffff;--surface-hover: #f8fafc;--surface-active: #f1f5f9;--line: #edf0f5;--line-strong: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--royal-blue: #4862ff;--royal-blue-hover: #3b53f5;--royal-blue-light: rgba(72, 98, 255, .08);--royal-blue-glow: rgba(72, 98, 255, .2);--emerald-green: #22c55e;--emerald-green-light: rgba(34, 197, 94, .12);--amber-orange: #f59e0b;--amber-orange-light: rgba(245, 158, 11, .12);--danger-red: #ef4444;--danger-red-light: rgba(239, 68, 68, .1);--dark-pill: #111827;--dark-pill-hover: #1e293b;--shadow-card: 0 12px 32px rgba(0, 0, 0, .035), 0 2px 6px rgba(0, 0, 0, .015);--shadow-float: 0 20px 40px rgba(0, 0, 0, .06), 0 4px 10px rgba(0, 0, 0, .02);--shadow-modal: 0 25px 60px rgba(0, 0, 0, .12), 0 8px 20px rgba(0, 0, 0, .04)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--royal-blue)}::-webkit-scrollbar-corner{background:transparent}html{min-width:320px;min-height:100%;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text-primary)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}:focus-visible{outline:2px solid var(--royal-blue);outline-offset:2px}code{color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.inline-icon{display:inline-flex;vertical-align:middle;flex-shrink:0}.app-shell{min-height:100vh;display:flex;flex-direction:column;padding-top:76px}.topbar{height:76px;position:fixed;top:0;left:0;right:0;width:100%;z-index:100;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 max(28px,calc((100vw - 1280px)/2));background:#ffffffe0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.05);box-shadow:0 4px 20px #00000005}.topbar-left{display:flex;align-items:center;justify-self:start;white-space:nowrap;flex-shrink:0}.topbar-center{display:flex;align-items:center;justify-content:center;justify-self:center}.topbar-right{display:flex;align-items:center;gap:12px;justify-self:end;white-space:nowrap}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}.brand-titles{display:flex;flex-direction:column;gap:2px;white-space:nowrap}.brand-titles strong{font-size:16px;letter-spacing:-.02em;font-weight:850;color:var(--text-primary);white-space:nowrap}.brand-titles small{color:var(--text-muted);font-size:11px;font-weight:600;white-space:nowrap}.brand-logo-svg{width:38px;height:38px;flex-shrink:0;border-radius:12px;box-shadow:0 4px 12px #4862ff26}.header-nav-tabs{display:flex;align-items:center;gap:4px;background:#f1f3f6;padding:4px;border-radius:16px;border:1px solid rgba(0,0,0,.04)}.nav-tab-btn{display:flex;align-items:center;gap:8px;padding:8px 18px;border-radius:12px;border:0;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:700;cursor:pointer;transition:all .18s ease;position:relative;white-space:nowrap}.nav-tab-btn:hover{color:var(--text-primary)}.nav-tab-btn.active{background:var(--surface);color:var(--royal-blue);box-shadow:0 3px 10px #0000000f}.nav-tab-btn .nav-icon{opacity:.7}.nav-tab-btn.active .nav-icon{opacity:1;color:var(--royal-blue)}.tab-count-badge{font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:#e2e8f0;color:#475569}.nav-tab-btn.active .tab-count-badge{background:var(--royal-blue-light);color:var(--royal-blue)}.tab-live-dot{width:7px;height:7px;border-radius:50%;background:var(--emerald-green);box-shadow:0 0 8px #22c55e99;animation:pulse-ring 1.8s infinite}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(.95);opacity:.8}}.preview-controls{display:flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#f1f3f6;border:1px solid rgba(0,0,0,.04);white-space:nowrap}.preview-badge{font-size:11px;font-weight:750;color:var(--royal-blue);display:flex;align-items:center;gap:4px}.preview-toggle-btn{border:0;background:var(--dark-pill);color:#fff;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:background .18s;white-space:nowrap}.preview-toggle-btn:hover{background:var(--dark-pill-hover)}.topbar-status-group{display:flex;align-items:center;gap:10px;white-space:nowrap}.node-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-secondary);padding:6px 12px;background:#f1f3f6;border-radius:999px}.node-icon{color:var(--royal-blue)}.service-health{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-secondary);padding:6px 12px;background:#f1f3f6;border-radius:999px}.service-health.healthy{color:var(--emerald-green);font-weight:700}.service-health.warning{color:var(--amber-orange);font-weight:700}.topbar-actions{display:flex;align-items:center;gap:8px}.icon-button{display:flex;align-items:center;gap:6px;background:#f1f3f6;border:0;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .18s ease;white-space:nowrap}.icon-button:hover:not(:disabled){background:#e2e8f0;color:var(--text-primary)}.text-logout-btn{color:var(--text-muted)}.text-logout-btn:hover{color:var(--danger-red);background:var(--danger-red-light)}.spin-icon{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-container{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:24px 0 60px;flex:1}.global-error-banner,.setup-notice-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;font-size:13px;font-weight:600;margin-bottom:20px;box-shadow:var(--shadow-card)}.global-error-banner{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.setup-notice-banner{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.retry-link{margin-left:auto;border:0;background:none;color:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.status-hero-strip{display:grid;grid-template-columns:1.25fr 1fr 1.25fr .9fr;gap:16px;margin-bottom:24px}.hero-card{padding:22px;border-radius:28px;background:var(--surface);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-card);display:flex;flex-direction:column;justify-content:space-between;min-height:136px;transition:transform .2s ease,box-shadow .2s ease}.hero-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}.hero-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.hero-tag{font-size:11px;font-weight:800;letter-spacing:.02em;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.tag-stable{background:var(--emerald-green-light);color:#15803d}.tag-next{background:var(--royal-blue-light);color:var(--royal-blue)}.tag-idle{background:#f1f5f9;color:var(--text-secondary)}.tag-running{background:var(--amber-orange-light);color:#b45309}.tag-inventory{background:#f3e8ff;color:#7e22ce}.hero-subtitle{font-size:11px;font-weight:700;color:var(--text-muted);white-space:nowrap}.hero-version-text{display:flex;align-items:baseline;gap:3px}.version-prefix{font-size:20px;font-weight:800;color:var(--text-muted)}.hero-version-text strong{font-size:34px;font-weight:850;letter-spacing:-.04em;line-height:1.1;color:var(--text-primary)}.hero-channel-status strong{font-size:24px;font-weight:850;letter-spacing:-.02em;color:var(--text-primary)}.hero-stat-row{display:flex;align-items:center;gap:16px}.stat-item{display:flex;flex-direction:column}.stat-item strong{font-size:22px;font-weight:850;color:var(--text-primary)}.stat-item span{font-size:11px;color:var(--text-muted);font-weight:600}.stat-divider{width:1px;height:28px;background:var(--line)}.hero-desc{margin:8px 0 0;font-size:12px;color:var(--text-secondary);line-height:1.4}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;margin-bottom:24px;align-items:stretch}.workspace-main-column,.workspace-side-column{display:flex;flex-direction:column;gap:20px}.panel{border-radius:28px;background:var(--surface);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-card)}.section-tag{color:var(--royal-blue);font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:4px;white-space:nowrap}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-heading h2{margin:0;font-size:19px;font-weight:850;letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap}.muted-pill{font-size:11px;font-weight:750;color:var(--text-secondary);padding:4px 10px;background:#f1f3f6;border-radius:999px;white-space:nowrap}.composer-card{padding:32px}.composer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.composer-header h2{margin:0;font-size:24px;font-weight:850;letter-spacing:-.03em;color:var(--text-primary);white-space:nowrap}.disabled-notice{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--amber-orange-light);font-size:12px;font-weight:700;color:#b45309;white-space:nowrap}.composer-form{display:flex;flex-direction:column;gap:24px}.form-section{display:flex;flex-direction:column;gap:10px}.section-label-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.field-title{font-size:14px;font-weight:800;color:var(--text-primary);white-space:nowrap}.semver-presets,.notes-templates{display:flex;gap:6px;flex-wrap:wrap}.preset-pill,.template-btn{border:0;background:#f1f3f6;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.preset-pill:hover,.template-btn:hover{background:#e2e8f0;color:var(--text-primary)}.version-input-container{position:relative;display:flex;align-items:center}.version-addon{position:absolute;left:18px;color:var(--royal-blue);font-size:18px;font-weight:800;pointer-events:none}.version-input{width:100%;height:52px;border-radius:16px;border:1px solid var(--line);background:#f8fafc;padding:0 120px 0 40px;font-size:16px;font-weight:700;color:var(--text-primary);transition:all .2s ease}.version-input:focus{border-color:var(--royal-blue);background:#fff;box-shadow:0 0 0 3px var(--royal-blue-glow);outline:none}.clear-version-btn{position:absolute;right:12px;border:0;background:#e2e8f0;color:var(--text-secondary);padding:5px 12px;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.clear-version-btn:hover{background:#cbd5e1;color:var(--text-primary)}.version-hint-badge{position:absolute;right:14px;font-size:11px;font-weight:750;color:var(--royal-blue);background:var(--royal-blue-light);padding:3px 8px;border-radius:6px;pointer-events:none;display:flex;align-items:center;gap:4px;white-space:nowrap}.notes-textarea{width:100%;border-radius:16px;border:1px solid var(--line);background:#f8fafc;padding:14px 16px;font-size:13px;line-height:1.6;color:var(--text-primary);resize:vertical;min-height:76px;transition:all .2s ease}.notes-textarea:focus{border-color:var(--royal-blue);background:#fff;box-shadow:0 0 0 3px var(--royal-blue-glow);outline:none}.execution-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.execution-mode-card{min-width:0;border:2px solid transparent;border-radius:18px;background:#f8fafc;padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;color:var(--text-primary);text-align:left;cursor:pointer;transition:all .18s ease}.execution-mode-card:hover:not(:disabled){background:#f1f5f9;transform:translateY(-1px)}.execution-mode-card.active{border-color:var(--royal-blue);background:#4862ff0a}.execution-mode-card:disabled{cursor:not-allowed;opacity:.55}.execution-mode-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--royal-blue);background:var(--royal-blue-light)}.execution-mode-icon.server{color:#047857;background:#d1fae5}.execution-mode-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.execution-mode-copy strong{font-size:13px;font-weight:850}.execution-mode-copy small{color:var(--text-secondary);font-size:11px;font-weight:600;line-height:1.45}.mode-radio-dot{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:50%;box-shadow:inset 0 0 0 4px #f8fafc}.mode-radio-dot.checked{border-color:var(--royal-blue);background:var(--royal-blue)}.direct-vps-notice{display:flex;align-items:flex-start;gap:9px;border-radius:14px;background:var(--amber-orange-light);padding:11px 14px;color:#92400e;font-size:12px;font-weight:700;line-height:1.5}.direct-vps-notice svg{flex:0 0 auto;margin-top:2px}.artifact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.artifact-card{padding:18px;border-radius:20px;border:2px solid transparent;background:#f8fafc;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;transition:all .18s ease;-webkit-user-select:none;user-select:none}.artifact-card:hover{background:#f1f5f9;transform:translateY(-1px)}.artifact-card.active{border-color:var(--royal-blue);background:#4862ff0a}.artifact-card.disabled{cursor:not-allowed;opacity:.5;transform:none}.artifact-card.environment-unavailable{border-color:#e2e8f0;background:#f1f5f9;filter:grayscale(1)}.artifact-card.environment-unavailable .artifact-size-estimate{color:#b45309;white-space:normal}.artifact-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.platform-badge{font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.platform-mac{background:#e2e8f0;color:#334155}.platform-win{background:var(--royal-blue-light);color:var(--royal-blue)}.card-checkbox{width:20px;height:20px;border-radius:6px;border:1.5px solid #cbd5e1;display:grid;place-items:center;font-size:11px;font-weight:900;color:#fff;background:transparent;transition:all .18s ease}.card-checkbox.checked{background:var(--royal-blue);border-color:var(--royal-blue)}.artifact-card-main{display:flex;flex-direction:column;gap:3px}.artifact-name{font-size:14px;font-weight:800;color:var(--text-primary);white-space:nowrap}.artifact-details{font-size:11px;color:var(--text-secondary);line-height:1.4}.artifact-card-footer{margin-top:10px}.artifact-size-estimate{font-size:11px;color:var(--royal-blue);font-weight:750;white-space:nowrap}.strategy-banner{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:20px}.strategy-stable{background:var(--royal-blue-light);border:1px solid rgba(72,98,255,.15);color:#1e3a8a}.strategy-partial{background:var(--amber-orange-light);border:1px solid rgba(245,158,11,.15);color:#78350f}.strategy-icon{margin-top:2px;flex-shrink:0}.strategy-text strong{display:block;font-size:13px;font-weight:800;margin-bottom:4px}.strategy-text p{margin:0;font-size:12px;line-height:1.5}.form-error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:700}.trigger-build-button{width:100%;height:56px;border:0;border-radius:18px;cursor:pointer;font-size:15px;font-weight:850;background:var(--dark-pill);color:#fff;box-shadow:0 10px 24px #0000001f;display:flex;align-items:center;justify-content:space-between;padding:0 26px;transition:all .18s ease}.trigger-build-button:hover:not(:disabled){background:var(--dark-pill-hover);transform:translateY(-2px);box-shadow:0 14px 30px #0000002e}.trigger-build-button:disabled{cursor:not-allowed;opacity:.4;box-shadow:none;transform:none}.button-arrow{flex-shrink:0}.cockpit-card{padding:32px}.cockpit-header{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.cockpit-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.cockpit-badge-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cockpit-live-pulse{width:10px;height:10px;border-radius:50%;background:var(--emerald-green);box-shadow:0 0 12px #22c55ecc;animation:pulse-ring 1.8s infinite}.cockpit-target-product{font-size:12px;font-weight:800;color:var(--text-muted)}.cockpit-version{margin:0;font-size:28px;font-weight:850;letter-spacing:-.03em;color:var(--text-primary)}.cockpit-timing{display:flex;flex-direction:column;align-items:flex-end}.timing-label{font-size:11px;color:var(--text-muted);font-weight:700;display:flex;align-items:center;gap:4px;white-space:nowrap}.timing-value{font-size:20px;font-weight:850;color:var(--royal-blue)}.cockpit-meta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.meta-block{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.meta-key{color:var(--text-muted);font-weight:600}.sha-button{border:0;background:#f1f3f6;border-radius:8px;padding:4px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:700}.copy-hint{font-size:10px;color:var(--text-muted);display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.copy-hint.active{color:var(--emerald-green);font-weight:800}.mode-badge{font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}.mode-promoted{background:var(--royal-blue-light);color:var(--royal-blue)}.mode-partial{background:var(--amber-orange-light);color:#b45309}.actions-link-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#f1f3f6;color:var(--text-primary);font-size:11px;font-weight:750;text-decoration:none;white-space:nowrap;transition:background .18s}.actions-link-btn:hover{background:#e2e8f0}.pipeline-flow-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.pipeline-flow-heading h3{margin:0;font-size:15px;font-weight:800;color:var(--text-primary)}.flow-step-counter{font-size:12px;color:var(--royal-blue);font-weight:800}.pipeline-stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stepper-node{display:flex;flex-direction:column}.node-rail{display:flex;align-items:center;position:relative;height:28px;margin-bottom:8px}.node-indicator{width:26px;height:26px;border-radius:50%;background:#f1f3f6;border:2px solid #cbd5e1;display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--text-muted);position:relative;z-index:2}.stage-succeeded .node-indicator{border-color:var(--emerald-green);background:var(--emerald-green);color:#fff;box-shadow:0 0 12px #22c55e66}.stage-running .node-indicator{border-color:var(--royal-blue);background:var(--royal-blue);color:#fff;box-shadow:0 0 14px #4862ff80;animation:node-pulse 1.6s infinite}@keyframes node-pulse{50%{transform:scale(1.1);box-shadow:0 0 20px #4862ffcc}}.stage-failed .node-indicator{border-color:var(--danger-red);background:var(--danger-red);color:#fff}.stage-skipped .node-indicator{border-color:#e2e8f0;background:#f8fafc;opacity:.6}.icon-cross,.icon-skip{font-size:11px;font-weight:900}.node-line{position:absolute;left:26px;right:-12px;height:2px;background:#e2e8f0;z-index:1}.stage-succeeded+.stepper-node .node-line{background:var(--emerald-green)}.node-content{display:flex;flex-direction:column;gap:4px}.node-title-row{display:flex;align-items:center;gap:6px}.node-icon{color:var(--royal-blue);display:flex}.node-title{font-size:13px;font-weight:800;color:var(--text-primary);white-space:nowrap}.node-caption{margin:4px 0 0;font-size:11px;color:var(--text-secondary);line-height:1.45}.cockpit-notes{margin-top:20px;padding:14px 18px;border-radius:16px;background:#f8fafc;border:1px solid var(--line)}.notes-label{font-size:11px;font-weight:750;color:var(--text-muted)}.notes-content{margin:4px 0 0;font-size:13px;color:var(--text-primary)}.cockpit-error-banner{margin-top:20px;display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:18px;background:#fee2e2;color:#991b1b}.error-text strong{display:block;font-size:13px;color:#991b1b;margin-bottom:2px}.error-text p{margin:0;font-size:12px}.error-action-btn{margin-left:auto;padding:6px 14px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 10px;border-radius:999px;background:#f1f3f6;color:var(--text-secondary);font-size:11px;font-weight:800;white-space:nowrap}.status-promoted,.status-succeeded{background:var(--emerald-green-light);color:#15803d}.status-partial,.status-stalled{background:var(--amber-orange-light);color:#b45309}.status-running{background:var(--royal-blue-light);color:var(--royal-blue)}.status-failed,.status-cancelled,.status-updater_failed{background:var(--danger-red-light);color:var(--danger-red)}.status-skipped{opacity:.5}.recent-tasks-panel,.ecosystem-panel{padding:24px}.recent-scroll-container{max-height:280px;overflow-y:auto;margin-top:14px;padding-right:4px}.recent-list.compact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.recent-item.compact-item{padding:12px 14px;border-radius:18px;background:#f8fafc;display:flex;flex-direction:column;gap:5px;transition:background .18s}.recent-item.compact-item:hover{background:#f1f5f9}.recent-item.compact-item.has-error{background:#fef2f2}.recent-top-row{display:flex;align-items:center;justify-content:space-between}.recent-version-wrap{display:flex;align-items:center;gap:8px;white-space:nowrap}.recent-version{font-size:14px;font-weight:850;color:var(--text-primary)}.recent-mode-tag{font-size:10px;font-weight:750;color:var(--text-muted);white-space:nowrap}.recent-meta-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-secondary);white-space:nowrap}.recent-error-box.compact-error{margin-top:2px;padding:6px 10px;border-radius:10px;background:#fee2e2;display:flex;align-items:center;justify-content:space-between;gap:6px}.recent-error-content{display:flex;align-items:center;gap:5px}.recent-error-text{font-size:11px;color:#991b1b;line-height:1.3;font-weight:600}.recent-actions-link{font-size:11px;color:var(--royal-blue);text-decoration:none;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.empty-tasks-placeholder{padding:28px 0;text-align:center;color:var(--text-muted);font-size:12px;font-weight:600}.empty-icon-lucide{color:var(--text-muted);margin-bottom:6px;opacity:.6}.ecosystem-grid{margin-top:14px;display:flex;flex-direction:column;gap:8px}.eco-card{padding:12px 16px;border-radius:18px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;background:#f8fafc;transition:background .18s}.eco-card:hover{background:#f1f5f9}.eco-icon-wrap{width:32px;height:32px;border-radius:10px;background:#fff;display:grid;place-items:center;color:var(--royal-blue);box-shadow:0 2px 6px #0000000a}.eco-info{display:flex;flex-direction:column;gap:1px}.eco-label{font-size:13px;font-weight:800;color:var(--text-primary)}.eco-status-text{font-size:11px;color:var(--text-muted);font-weight:600}.eco-badge{font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.badge-live{background:var(--emerald-green-light);color:#15803d}.badge-planned{background:#e2e8f0;color:var(--text-muted)}.releases-page-view{display:flex;flex-direction:column;gap:20px}.vault-overview-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vault-stat-box{padding:22px 24px;border-radius:28px;background:var(--surface);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:4px}.stat-header{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.stat-icon{color:var(--royal-blue)}.stat-icon.text-cyan{color:var(--emerald-green)}.vault-stat-box strong{font-size:26px;font-weight:850;color:var(--text-primary);margin-top:4px;white-space:nowrap}.vault-stat-box strong.text-cyan{color:var(--royal-blue)}.vault-stat-box small{font-size:12px;color:var(--text-secondary);font-weight:600;white-space:nowrap}.history-vault-panel{padding:32px}.vault-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.vault-header h2{margin:0;font-size:22px;font-weight:850;color:var(--text-primary);white-space:nowrap}.vault-filter-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-input-wrap{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.vault-search-input{width:250px;height:42px;border-radius:999px;border:1px solid var(--line);background:#f8fafc;padding:0 34px 0 38px;font-size:13px;color:var(--text-primary);transition:all .18s ease}.vault-search-input:focus{border-color:var(--royal-blue);background:#fff;box-shadow:0 0 0 3px var(--royal-blue-glow);outline:none}.clear-search-btn{position:absolute;right:10px;border:0;background:none;color:var(--text-muted);cursor:pointer;display:grid;place-items:center;padding:4px}.clear-search-btn:hover{color:var(--text-primary)}.mode-filter-group{display:flex;border-radius:999px;padding:3px;background:#f1f3f6}.filter-btn{border:0;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:750;padding:6px 14px;border-radius:999px;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.filter-btn.active{background:#fff;color:var(--royal-blue);box-shadow:0 2px 6px #0000000d}.vault-table-container{overflow-x:auto;margin:0 -10px;padding:0 10px}.vault-table{width:100%;border-collapse:collapse;min-width:880px}.vault-table th{padding:14px 16px;color:var(--text-muted);font-size:12px;font-weight:800;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.vault-table td{padding:18px 16px;border-bottom:1px solid var(--line);color:var(--text-secondary);font-size:13px;vertical-align:middle}.cell-nowrap{white-space:nowrap!important}.vault-table tbody tr:last-child td{border-bottom:0}.row-stable{background:#4862ff05}.vault-version-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}.version-number{font-size:16px;font-weight:850;color:var(--text-primary)}.stable-star-pill{font-size:11px;font-weight:800;color:var(--royal-blue);background:var(--royal-blue-light);padding:3px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}.table-sha-btn{border:0;background:#f1f3f6;border-radius:8px;padding:4px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);font-weight:700;transition:all .18s ease;white-space:nowrap}.table-sha-btn:hover{background:#e2e8f0}.sha-copy-text{font-size:11px;color:var(--text-muted);display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.sha-copy-text.active{color:var(--emerald-green);font-weight:800}.date-cell{font-size:12px;color:var(--text-secondary);font-weight:600;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.artifacts-download-cluster{display:flex;flex-wrap:wrap;gap:8px}.artifact-download-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:0;background:#f1f3f6;font-size:12px;font-weight:750;color:var(--text-primary);cursor:pointer;transition:all .18s ease;white-space:nowrap}.artifact-download-chip:hover{background:var(--royal-blue);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #4862ff40}.artifact-download-chip:hover .chip-dl-arrow,.artifact-download-chip:hover .chip-os-icon{color:#fff}.chip-os-icon{color:var(--royal-blue);flex-shrink:0}.chip-size{font-size:11px;color:var(--text-muted);font-weight:400}.artifact-download-chip:hover .chip-size{color:#fffc}.chip-dl-arrow{color:var(--royal-blue);flex-shrink:0}.empty-vault-state{padding:48px 0;text-align:center;color:var(--text-muted);font-size:13px;font-weight:600}.empty-vault-icon-lucide{color:var(--text-muted);margin-bottom:12px;opacity:.6}.platform-trust-badge,.artifact-trust-mark{display:inline-flex;align-items:center;gap:4px;border-radius:999px;font-size:10px;font-weight:800;line-height:1;white-space:nowrap}.platform-trust-badge{padding:4px 7px;text-decoration:none}.platform-trust-badge.trust-trusted,.artifact-trust-mark.trust-trusted{color:#08785b;background:#0d946e1a}.platform-trust-badge.trust-loading,.artifact-trust-mark.trust-loading{color:#3159d8;background:#4862ff17}.platform-trust-badge.trust-unavailable,.artifact-trust-mark.trust-unavailable{color:#a15c00;background:#d977061c}.platform-trust-badge:hover{text-decoration:underline;text-underline-offset:2px}.artifact-trust-mark{padding:3px 6px}.artifact-download-chip:hover .artifact-trust-mark{color:#fff;background:#ffffff2e}.trust-spinner{animation:spin 1s linear infinite}.modal-backdrop{position:fixed;inset:0;z-index:200;background:#0f172a66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{width:100%;border-radius:28px;background:#fff;box-shadow:var(--shadow-modal);animation:scaleUp .18s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes scaleUp{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line)}.modal-title{font-size:17px;font-weight:850;color:var(--text-primary)}.modal-title-with-icon{display:flex;align-items:center;gap:8px}.title-icon-cyan{color:var(--royal-blue)}.modal-close-btn{border:0;background:#f1f3f6;color:var(--text-muted);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;transition:all .18s ease}.modal-close-btn:hover{background:#e2e8f0;color:var(--text-primary)}.modal-body{padding:28px}.confirm-modal-content{display:flex;flex-direction:column;gap:20px}.download-target-card{display:flex;align-items:center;gap:14px;padding:18px;border-radius:20px;background:#f8fafc;border:1px solid var(--line)}.target-icon-wrap{width:46px;height:46px;border-radius:14px;background:#fff;color:var(--royal-blue);display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 10px #0000000a}.target-info{display:flex;flex-direction:column;gap:3px;min-width:0}.target-title-row{display:flex;align-items:center;gap:8px}.target-title{font-size:15px;font-weight:800;color:var(--text-primary)}.target-version-badge{font-size:11px;font-weight:800;color:var(--royal-blue);background:var(--royal-blue-light);padding:2px 7px;border-radius:6px}.target-filename{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-meta-table{border-radius:18px;background:#f8fafc;padding:14px 18px;display:flex;flex-direction:column;gap:10px}.meta-table-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.meta-table-row.sha-row{flex-direction:column;align-items:flex-start;gap:6px}.meta-label{color:var(--text-muted);font-size:12px;font-weight:600}.meta-val{color:var(--text-primary);font-weight:700}.sha-val-container{display:flex;align-items:center;justify-content:space-between;width:100%;background:#fff;padding:8px 12px;border-radius:10px;border:1px solid var(--line);gap:8px}.sha-full-code{font-size:11px;word-break:break-all;color:var(--text-primary);font-weight:600}.sha-copy-btn{border:0;background:#f1f3f6;color:var(--text-secondary);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:4px;cursor:pointer;flex-shrink:0;transition:all .18s ease}.sha-copy-btn:hover{background:#e2e8f0;color:var(--text-primary)}.security-notice-box{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:16px;background:var(--royal-blue-light);color:#1e3a8a;font-size:12px;line-height:1.5;font-weight:600}.notice-shield{color:var(--royal-blue);flex-shrink:0;margin-top:1px}.modal-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px}.secondary-button{border:0;background:#f1f3f6;color:var(--text-secondary);border-radius:12px;padding:0 18px;height:46px;font-size:13px;font-weight:800;cursor:pointer;transition:all .18s ease}.secondary-button:hover:not(:disabled){background:#e2e8f0;color:var(--text-primary)}.download-confirm-btn,.trigger-confirm-btn{height:46px;padding:0 22px;background:var(--dark-pill);border-radius:12px}.download-confirm-btn:hover:not(:disabled),.trigger-confirm-btn:hover:not(:disabled){background:var(--dark-pill-hover)}.release-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:20px;background:#f8fafc;border:1px solid var(--line)}.preview-version-block{display:flex;flex-direction:column;gap:2px}.preview-label{font-size:12px;color:var(--text-muted);font-weight:600}.preview-version{font-size:24px;font-weight:850;color:var(--text-primary)}.preview-strategy-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:800}.strategy-stable-badge{background:var(--royal-blue-light);color:var(--royal-blue)}.strategy-partial-badge{background:var(--amber-orange-light);color:#b45309}.preview-section{display:flex;flex-direction:column;gap:8px}.preview-sec-title{font-size:13px;font-weight:800;color:var(--text-primary)}.preview-artifacts-list{display:flex;flex-direction:column;gap:6px}.preview-artifact-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:#f8fafc}.preview-os-icon{color:var(--royal-blue);display:flex}.preview-artifact-info{display:flex;align-items:baseline;gap:8px}.preview-artifact-info strong{font-size:13px;color:var(--text-primary)}.preview-artifact-info small{font-size:11px;color:var(--text-muted);font-weight:600}.preview-notes-box{padding:12px 16px;border-radius:14px;background:#f8fafc;font-size:13px;color:var(--text-secondary);line-height:1.5}.preview-notes-box p{margin:0}.empty-notes-hint{color:var(--text-muted);font-style:italic}.preview-env-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.env-item{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#f8fafc;font-size:12px;font-weight:700;color:var(--text-primary)}.env-icon.text-cyan{color:var(--emerald-green)}.env-icon.text-blue{color:var(--royal-blue)}.env-item-disabled{color:var(--text-muted)}.strategy-warning-box{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:16px}.strategy-warning-box.warning-stable{background:var(--royal-blue-light);color:#1e3a8a}.strategy-warning-box.warning-partial{background:var(--amber-orange-light);color:#78350f}.warning-icon-wrap{margin-top:1px;flex-shrink:0}.warning-text strong{display:block;font-size:13px;font-weight:850;margin-bottom:2px}.warning-text p{margin:0;font-size:12px;line-height:1.45}.login-shell,.loading-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:#e5e7eb}.loading-shell{align-content:center;gap:16px;color:var(--text-secondary);font-size:14px;font-weight:700}.login-card{width:min(100%,460px);padding:44px;border-radius:32px;background:#fff;box-shadow:var(--shadow-modal);position:relative}.login-brand{margin-bottom:24px}.eyebrow{color:var(--royal-blue);font-size:12px;font-weight:850;letter-spacing:.08em;margin:0 0 6px}.login-card h1{margin:0;font-size:28px;font-weight:850;letter-spacing:-.03em;color:var(--text-primary)}.login-copy{color:var(--text-secondary);line-height:1.6;margin:12px 0 24px;font-size:13px}.login-card form{display:flex;flex-direction:column;gap:14px}.login-card label{color:var(--text-primary);font-size:12px;font-weight:800;display:flex;align-items:center;gap:6px}.login-card input{height:50px;border-radius:16px;border:1px solid var(--line);background:#f8fafc;padding:0 16px;font-size:14px;color:var(--text-primary);transition:all .18s ease}.login-card input:focus{border-color:var(--royal-blue);background:#fff;box-shadow:0 0 0 3px var(--royal-blue-glow);outline:none}.primary-button{border:0;border-radius:16px;min-height:50px;cursor:pointer;font-weight:850;font-size:14px;background:var(--dark-pill);color:#fff;box-shadow:0 8px 20px #0000001a;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button:hover:not(:disabled){background:var(--dark-pill-hover);transform:translateY(-1px)}.full-button{width:100%;margin-top:4px}.preview-divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:var(--text-muted);font-size:12px;font-weight:700}.preview-divider:before,.preview-divider:after{content:"";flex:1;border-bottom:1px solid var(--line)}.preview-divider span{padding:0 12px}.preview-enter-btn{width:100%;min-height:48px;border-radius:16px;border:0;background:var(--royal-blue-light);color:var(--royal-blue);font-size:13px;font-weight:850;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.preview-enter-btn:hover{background:#4862ff26;transform:translateY(-1px)}.inline-error{padding:10px 14px;border-radius:12px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:700}.login-security{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-size:12px;font-weight:600}.console-footer{width:min(1280px,calc(100% - 48px));margin:0 auto;min-height:64px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.06);color:var(--text-muted);font-size:12px;font-weight:600}.footer-left{display:flex;align-items:center;gap:8px}.footer-node-indicator{width:7px;height:7px;border-radius:50%;background:var(--emerald-green)}@media(max-width:1080px){.status-hero-strip{grid-template-columns:repeat(2,1fr)}.workspace-grid,.vault-overview-strip{grid-template-columns:1fr}.pipeline-stepper{grid-template-columns:repeat(3,1fr);row-gap:20px}.node-line{display:none}}@media(max-width:860px){.topbar{display:flex;flex-direction:column;height:auto;padding:14px 18px;gap:12px}.app-shell{padding-top:130px}.topbar-left,.topbar-center,.topbar-right{justify-content:center;width:100%}.topbar-status-group,.node-badge,.button-text{display:none}.dashboard-container{width:calc(100% - 32px);padding-top:16px}.status-hero-strip,.artifact-grid,.execution-mode-grid{grid-template-columns:1fr}.pipeline-stepper{grid-template-columns:repeat(2,1fr)}.composer-card,.cockpit-card,.history-vault-panel{padding:24px 18px}.vault-filter-toolbar{width:100%;flex-direction:column;align-items:stretch}.search-input-wrap,.vault-search-input{width:100%}.preview-env-grid{grid-template-columns:1fr}.console-footer{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 0}}
