@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg-primary: #121212;--bg-secondary: #1a1a1a;--bg-card: #212121;--bg-card-hover: #2a2a2a;--bg-active: #2d2d2d;--bg-input: #171717;--border: #333333;--border-active: #7c3aed;--text-primary: #e5e5e5;--text-secondary: #a0a0a0;--text-muted: #6b6b6b;--accent: #7c3aed;--accent-light: #a78bfa;--accent-glow: rgba(124, 58, 237, .2);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--code-bg: #0e0e0e;--code-text: #d4d4d4;--header-bg: #181818;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow: 0 1px 3px rgba(0,0,0,.4)}[data-theme=light]{--bg-primary: #f8f9fb;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f0f1f5;--bg-active: #ede9fe;--bg-input: #f3f4f8;--border: #e2e4ea;--border-active: #7c3aed;--text-primary: #1a1d27;--text-secondary: #5a6078;--text-muted: #8890a8;--accent: #7c3aed;--accent-light: #6d28d9;--accent-glow: rgba(124, 58, 237, .12);--success: #059669;--warning: #d97706;--danger: #dc2626;--code-bg: #fafafa;--code-text: #1e1e1e;--header-bg: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 50%, #ede9fe 100%);--shadow: 0 1px 3px rgba(0,0,0,.08)}html,body{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}#root{height:100vh;display:flex;flex-direction:column;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header{background:var(--header-bg);border-bottom:1px solid var(--border);padding:.5rem 1.5rem;flex-shrink:0}.header-content{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.6rem}.brand-icon-wrap{width:36px;height:36px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#7c3aed,#a78bfa);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.brand-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#c4b5fd,#a78bfa,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] .brand-title{background:linear-gradient(135deg,#6d28d9,#7c3aed,#5b21b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-actions{display:flex;align-items:center;gap:.35rem}.nav-divider{width:1px;height:20px;background:var(--border);margin:0 .25rem}.icon-btn{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--accent)}.app-main{flex:1;display:flex;overflow:hidden;min-height:0}.config-panel{width:340px;flex-shrink:0;padding:.75rem 1rem;border-right:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column;gap:.75rem;overflow:hidden}.config-section{flex-shrink:0}.section-label{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.35rem}.select-wrap{position:relative}.select-wrap select{width:100%;padding:.45rem 2rem .45rem .65rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.82rem;cursor:pointer;appearance:none;transition:border-color .2s}.select-wrap select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.select-wrap:after{content:"";position:absolute;right:.65rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-muted);pointer-events:none}.select-row{display:flex;gap:.4rem}.select-row .select-wrap{flex:1}.select-row .select-wrap.version-select{flex:0 0 90px}.stage-group{margin-bottom:.35rem}.group-label{display:block;font-size:.6rem;font-weight:600;color:var(--accent-light);margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.06em}.stage-list{display:flex;flex-direction:column;gap:0}.stage-checkbox{display:flex;align-items:center;gap:.4rem;padding:.2rem .35rem;border-radius:4px;cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none;font-size:.78rem;color:var(--text-secondary)}.stage-checkbox:hover{background:var(--bg-card-hover)}.stage-checkbox.active{color:var(--text-primary)}.stage-checkbox input[type=checkbox]{width:14px;height:14px;border-radius:3px;border:1.5px solid var(--border);background:var(--bg-input);appearance:none;cursor:pointer;position:relative;flex-shrink:0;transition:all .15s}.stage-checkbox input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.stage-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:7px;border:1.5px solid white;border-top:none;border-left:none;transform:rotate(45deg)}.cb-icon{font-size:.8rem;width:18px;text-align:center}.cb-label{font-weight:500}.output-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.editor-header{display:flex;align-items:center;padding:.45rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.editor-filename{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.code-block{flex:1;margin:0;padding:.75rem 1rem;background:var(--code-bg);overflow:auto;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.78rem;line-height:1.65;color:var(--code-text);tab-size:2;min-height:0}.code-block code{white-space:pre}.pipeline-visual{flex-shrink:0;padding:.5rem 1rem;border-top:1px solid var(--border);background:var(--bg-secondary)}.pipeline-flow{display:flex;align-items:center;gap:0;overflow-x:auto;padding:.35rem 0}.pipeline-flow::-webkit-scrollbar{height:4px}.pipeline-step{display:flex;align-items:center;flex-shrink:0}.pipeline-node{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:48px}.node-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;border:2px solid}.node-circle.group-setup{background:#3b82f61f;border-color:#3b82f666}.node-circle.group-quality{background:#f59e0b1f;border-color:#f59e0b66}.node-circle.group-build{background:#10b9811f;border-color:#10b98166}.node-circle.group-deploy{background:#7c3aed1f;border-color:#7c3aed66}.node-circle.group-post{background:#ec48991f;border-color:#ec489966}.node-name{font-size:.55rem;font-weight:500;color:var(--text-muted);text-align:center;max-width:56px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-connector{width:20px;height:2px;background:var(--border);position:relative;flex-shrink:0}.pipeline-connector:after{content:"";position:absolute;right:-1px;top:-3px;border:3px solid transparent;border-left-color:var(--border)}.app-footer{background:#141414;color:#888;padding:.4rem 2rem;display:flex;align-items:center;justify-content:space-between;font-size:.7rem;flex-shrink:0}[data-theme=light] .app-footer{background:#f1f5f9;color:#64748b}.app-footer a{color:#818cf8;text-decoration:none;font-weight:600;transition:color .2s}.app-footer a:hover{color:#a78bfa}@media(max-width:1024px){.config-panel{width:300px}}@media(max-width:768px){.app{height:auto;min-height:100vh}html,body{overflow:auto}.app-main{flex-direction:column;overflow:visible}.config-panel{width:100%;border-right:none;border-bottom:1px solid var(--border);overflow:visible;padding:.6rem .75rem}.output-panel{min-height:50vh}.app-header{padding:.5rem 1rem}.brand-title{font-size:1rem}.pipeline-flow{flex-wrap:wrap;gap:.25rem}.pipeline-connector{width:12px}.app-footer{padding:.4rem 1rem}}@media(max-width:480px){.app-header{padding:.4rem .75rem}.brand-icon-wrap{width:30px;height:30px}.brand-icon-wrap svg{width:18px;height:18px}.brand-title{font-size:.9rem}.icon-btn{width:30px;height:30px}.icon-btn svg{width:14px;height:14px}.header-actions{gap:.2rem}.nav-divider{margin:0 .1rem}.config-panel{padding:.5rem}.section-label{font-size:.6rem}.select-wrap select{font-size:.78rem;padding:.4rem 1.8rem .4rem .5rem}.stage-checkbox{font-size:.72rem;padding:.15rem .25rem}.code-block{font-size:.72rem;padding:.5rem .75rem}.editor-filename{font-size:.72rem}.pipeline-visual{padding:.35rem .5rem}.node-circle{width:26px;height:26px;font-size:.7rem}.node-name{font-size:.5rem;max-width:44px}.pipeline-connector{width:8px}.app-footer{flex-direction:column;gap:.2rem;text-align:center;padding:.4rem .5rem;font-size:.6rem}}
