:root{--bg: #0c111b;--surface: #151c2c;--surface-2: #1a2236;--surface-3: #1f2940;--border: rgba(255, 255, 255, .07);--text: #e2e8f0;--text-2: #94a3b8;--text-3: #64748b;--primary: #63b3ed;--primary-bg: rgba(99, 179, 237, .12);--green: #48bb78;--green-bg: rgba(72, 187, 120, .12);--red: #fc8181;--red-bg: rgba(252, 129, 129, .12);--yellow: #ecc94b;--yellow-bg: rgba(236, 201, 75, .12);--cyan: #76e4f7;--cyan-bg: rgba(118, 228, 247, .12);--purple: #b794f4;--purple-bg: rgba(183, 148, 244, .12);--radius: 8px;--radius-sm: 5px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden}.hidden{display:none!important}.app{display:flex;flex-direction:column;height:100vh}.header{display:flex;justify-content:space-between;align-items:center;padding:0 16px;height:48px;min-height:48px;background:var(--surface);border-bottom:1px solid var(--border)}.header-left,.header-right{display:flex;align-items:center;gap:10px}.logo{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13px}.logo-icon{width:16px;height:16px;color:var(--primary)}.status{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px}.status i{width:12px;height:12px}.status.connected{background:var(--green-bg);color:var(--green)}.status.disconnected{background:var(--red-bg);color:var(--red)}.status.recording{background:var(--red-bg);color:var(--red);animation:blink 1.2s infinite}.status.capturing{background:var(--yellow-bg);color:var(--yellow);animation:blink 1.2s infinite}.status.playing{background:var(--primary-bg);color:var(--primary);animation:blink 1.2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.install-steps{display:flex;flex-direction:column;gap:15px}.istep{display:flex;gap:12px}.istep-num{flex-shrink:0;width:24px;height:24px;background:var(--primary);color:#000;font-weight:700;font-size:13px;border-radius:50%;display:flex;align-items:center;justify-content:center}.istep p{font-size:12px;color:var(--text-2);margin-top:4px;line-height:1.4}.istep code{background:#ffffff1a;padding:1px 4px;border-radius:3px;font-size:11px}.main{display:flex;flex:1;overflow:hidden}.sidebar{width:220px;min-width:220px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.panel-head span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.tab-list{flex:1;overflow-y:auto;padding:4px}.tab-item{padding:7px 9px;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:2px;transition:background .1s}.tab-item:hover{background:var(--surface-3)}.tab-item.active{background:var(--primary-bg)}.tab-title{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-url{font-size:9px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.center{flex:1;display:flex;flex-direction:column;overflow:hidden}.toolbar{display:flex;align-items:center;gap:5px;padding:6px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.toolbar-group{display:flex;gap:3px}.toolbar-sep{width:1px;height:22px;background:var(--border);margin:0 3px}.insert-bar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:5px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0}.insert-label{font-size:9px;font-weight:600;text-transform:uppercase;color:var(--text-3);margin-right:4px;letter-spacing:.06em}.insert-sep{width:1px;height:18px;background:var(--border);margin:0 2px}.insert-bar button{display:flex;align-items:center;gap:3px;background:transparent;border:1px solid transparent;color:var(--text-2);padding:2px 6px;border-radius:4px;font-size:10px;cursor:pointer;transition:all .1s;font-family:inherit}.insert-bar button i{width:12px;height:12px}.insert-bar button:hover{background:var(--surface-3);border-color:var(--border);color:var(--text)}.insert-bar button:disabled{opacity:.3;cursor:not-allowed}.steps-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.steps-head{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;flex-shrink:0}.steps-head span:first-child{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-3);letter-spacing:.04em}.step-count{font-size:10px;color:var(--text-3)}.steps-list{flex:1;overflow-y:auto;padding:0 10px 10px}.steps-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-3);gap:8px}.steps-empty i{width:32px;height:32px;opacity:.25}.steps-empty p{font-size:12px}.step-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:3px;transition:all .12s;cursor:grab;position:relative}.step-card:hover{border-color:#ffffff1f}.step-card.selected{border-color:var(--primary);background:var(--primary-bg)}.step-card.active{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.step-card.dragging{opacity:.3}.step-card.is-control{background:var(--surface-2)}.step-card.has-error{border-color:var(--red)}.step-head{display:flex;align-items:center;gap:6px;padding:6px 8px;min-height:34px}.step-drag{color:var(--text-3);flex-shrink:0;cursor:grab}.step-drag i{width:12px;height:12px}.step-type-icon{flex-shrink:0;width:24px;height:24px;border-radius:5px;display:flex;align-items:center;justify-content:center}.step-type-icon i{width:12px;height:12px}.step-info{flex:1;min-width:0}.step-type-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.step-summary{font-size:10px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.step-summary code{font-size:9px;background:#ffffff0d;padding:1px 3px;border-radius:2px;color:var(--primary)}.step-error{font-size:9px;color:var(--red);margin-top:2px}.step-actions{display:flex;gap:2px;opacity:0;transition:opacity .1s;flex-shrink:0}.step-card:hover .step-actions{opacity:1}.step-btn{width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s}.step-btn i{width:12px;height:12px}.step-btn:hover{background:var(--surface-3);color:var(--text)}.step-btn.del:hover{background:var(--red-bg);color:var(--red)}.type-click .step-type-icon{background:var(--primary-bg);color:var(--primary)}.type-click .step-type-label{color:var(--primary)}.type-type .step-type-icon{background:var(--purple-bg);color:var(--purple)}.type-type .step-type-label{color:var(--purple)}.type-keypress .step-type-icon{background:var(--purple-bg);color:var(--purple)}.type-keypress .step-type-label{color:var(--purple)}.type-navigate .step-type-icon{background:var(--primary-bg);color:var(--primary)}.type-navigate .step-type-label{color:var(--primary)}.type-scroll .step-type-icon{background:var(--primary-bg);color:var(--primary)}.type-scroll .step-type-label{color:var(--primary)}.type-loop-start .step-type-icon,.type-loop-end .step-type-icon{background:var(--yellow-bg);color:var(--yellow)}.type-loop-start .step-type-label,.type-loop-end .step-type-label{color:var(--yellow)}.type-foreach-start .step-type-icon,.type-foreach-end .step-type-icon{background:var(--cyan-bg);color:var(--cyan)}.type-foreach-start .step-type-label,.type-foreach-end .step-type-label{color:var(--cyan)}.type-set-list .step-type-icon{background:var(--cyan-bg);color:var(--cyan)}.type-set-list .step-type-label{color:var(--cyan)}.type-set-var .step-type-icon{background:var(--green-bg);color:var(--green)}.type-set-var .step-type-label{color:var(--green)}.type-extract .step-type-icon{background:var(--green-bg);color:var(--green)}.type-extract .step-type-label{color:var(--green)}.type-prompt .step-type-icon{background:var(--purple-bg);color:var(--purple)}.type-prompt .step-type-label{color:var(--purple)}.type-wait .step-type-icon,.type-wait-for .step-type-icon{background:var(--yellow-bg);color:var(--yellow)}.type-wait .step-type-label,.type-wait-for .step-type-label{color:var(--yellow)}.type-comment .step-type-icon{background:#ffffff0a;color:var(--text-3)}.type-comment .step-type-label{color:var(--text-3)}.right-panel{width:320px;min-width:320px;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.rpanel-section{display:flex;flex-direction:column;flex:1;overflow:hidden}.rpanel-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-3);gap:8px;padding:20px}.rpanel-placeholder i{width:28px;height:28px;opacity:.2}.rpanel-placeholder p{font-size:11px;text-align:center}.config-body{flex:1;overflow-y:auto;padding:10px 12px}.config-group{margin-bottom:12px}.config-group-title{font-size:9px;font-weight:600;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;letter-spacing:.05em}.config-field{margin-bottom:8px}.config-field label{display:block;font-size:10px;font-weight:500;color:var(--text-2);margin-bottom:3px}.config-field .field-help{font-size:9px;color:var(--text-3);margin-top:2px}.config-field .field-error{font-size:9px;color:var(--red);margin-top:2px}.config-field input,.config-field textarea,.config-field select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;color:var(--text);font-family:SF Mono,Menlo,monospace;font-size:11px;outline:none;transition:border-color .12s}.config-field input:focus,.config-field textarea:focus{border-color:var(--primary)}.config-field textarea{resize:vertical;min-height:60px}.config-field select{font-family:Inter,sans-serif;cursor:pointer}.config-field input.has-error,.config-field textarea.has-error{border-color:var(--red)}.config-field .input-wrap{position:relative}.config-field .input-wrap input{padding-right:28px}.config-check{display:flex;align-items:center;gap:8px;padding:4px 0}.config-check input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary);cursor:pointer}.config-check label{font-size:11px;cursor:pointer}.var-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:140px;overflow-y:auto;z-index:50;box-shadow:0 8px 24px #0006}.var-dropdown-item{padding:5px 8px;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .08s}.var-dropdown-item:hover,.var-dropdown-item.focused{background:var(--primary-bg)}.var-dropdown-item code{color:var(--primary);font-size:10px}.var-dropdown-item .var-type{font-size:9px;color:var(--text-3);margin-left:auto}.vars-add{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border)}.var-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;color:var(--text);font-size:11px;outline:none}.var-input:focus{border-color:var(--primary)}.var-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px;color:var(--text);font-size:10px;outline:none;cursor:pointer}.vars-list{flex:1;overflow-y:auto;padding:6px 10px}.var-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:4px}.var-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.var-card-name{font-size:11px;font-weight:600;color:var(--primary)}.var-card-type{font-size:9px;color:var(--text-3);text-transform:uppercase}.var-card-body input,.var-card-body textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:4px 6px;color:var(--text);font-family:SF Mono,monospace;font-size:10px;outline:none}.var-card-body textarea{resize:vertical;min-height:50px}.var-card-actions{display:flex;gap:4px;margin-top:4px;justify-content:flex-end}.list-items{display:flex;flex-direction:column;gap:2px;margin-top:4px}.list-item{display:flex;gap:4px;align-items:center}.list-item input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:3px 6px;color:var(--text);font-family:SF Mono,monospace;font-size:10px;outline:none}.list-item button{width:20px;height:20px;border:none;border-radius:3px;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px}.list-item button:hover{background:var(--red-bg);color:var(--red)}.list-add-btn{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-3);background:transparent;border:1px dashed var(--border);border-radius:3px;padding:3px 8px;cursor:pointer;margin-top:4px;transition:all .1s;font-family:inherit;width:100%}.list-add-btn:hover{border-color:var(--primary);color:var(--primary)}.list-add-btn i{width:11px;height:11px}.output-bar{padding:6px 14px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;max-height:80px;overflow-y:auto}.output-head{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:600;text-transform:uppercase;color:var(--text-3);margin-bottom:3px}.output-head i{width:12px;height:12px}#output{font-family:SF Mono,monospace;font-size:10px;color:var(--primary);white-space:pre-wrap;word-break:break-all}#output.success{color:var(--green)}#output.error{color:var(--red)}.btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;border:none;transition:all .1s;font-family:inherit;white-space:nowrap}.btn i{width:13px;height:13px}.btn:disabled{opacity:.3;cursor:not-allowed}.btn-sm{padding:3px 8px;font-size:10px}.btn-sm i{width:12px;height:12px}.btn-primary{background:var(--primary);color:var(--bg)}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-rec{background:var(--red-bg);color:var(--red)}.btn-rec:hover:not(:disabled){background:#fc818133}.btn-play{background:var(--green-bg);color:var(--green)}.btn-play:hover:not(:disabled){background:#48bb7833}.btn-danger{background:var(--red);color:var(--bg)}.btn-danger:hover{filter:brightness(1.1)}.btn-icon{width:26px;height:26px;border:none;border-radius:5px;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s}.btn-icon i{width:13px;height:13px}.btn-icon:hover{background:var(--surface-3);color:var(--text)}.overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;min-width:360px;text-align:center;box-shadow:0 8px 32px #0006}.overlay-box h3{font-size:15px;margin-bottom:6px}.overlay-box p{font-size:12px;color:var(--text-2);margin-bottom:14px}.overlay-box input,.overlay-box textarea{width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:SF Mono,monospace;outline:none;margin-bottom:10px}.overlay-box input:focus,.overlay-box textarea:focus{border-color:var(--primary)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--text-3);font-size:11px;padding:10px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}
