.automataSim{--bg:#0e0e1a;--sidebar-bg:#13131f;--panel-bg:#181828;--surface:#1e1e30;--surface2:#252538;--border:#2e2e48;--primary:#4d6ce6;--primary-light:#818cf8;--primary-dark:#4f52c9;--accent:#f59e0b;--success:#10b981;--danger:#ef4444;--text:#e2e8f0;--text-muted:#8b8fa8;--text-dim:#5a5d78;--font:"Inter",system-ui,sans-serif;--mono:"Fira Code",monospace}.automataSimRoot{background:var(--bg);height:100%;min-height:0;color:var(--text);font-family:var(--font);font-size:14px;overflow:hidden}.automataSimGrid{grid-template:"header header"48px"sidebar canvas"1fr"sidebar sim"180px/240px 1fr;height:100%;min-height:0;display:grid}.header{background:var(--sidebar-bg);border-bottom:1px solid var(--border);grid-area:header;align-items:center;gap:12px;padding:0 16px;display:flex}.header-logo{color:var(--primary-light);letter-spacing:-.3px;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.header-logo svg{flex-shrink:0}.header-divider{background:var(--border);width:1px;height:20px;margin:0 4px}.header-type-btns{gap:4px;display:flex}.header-type-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font);background:0 0;border-radius:6px;padding:4px 10px;transition:all .15s}.header-type-btn:hover{border-color:var(--primary);color:var(--text)}.header-type-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.header-actions{gap:8px;margin-left:auto;display:flex}.header-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font);border-radius:6px;padding:5px 12px;font-weight:500;transition:all .15s}.header-btn:hover{color:var(--text);border-color:var(--primary)}.header-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.header-btn.regex{border-color:var(--primary-dark);color:var(--primary-light)}.header-btn.regex:hover{background:var(--primary);border-color:var(--primary);color:#fff}.header-mobile-menu-btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:none}.header-mobile-menu-btn:hover{color:var(--text);border-color:var(--primary)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;grid-area:sidebar;display:flex;overflow:hidden}.sidebar-mobile-top{display:none}.sidebar-section{border-bottom:1px solid var(--border);padding:12px}.sidebar-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:10px;font-weight:600}.legend-list{flex-direction:column;gap:5px;display:flex}.legend-row{align-items:flex-start;gap:8px;padding:2px 0;display:flex}.legend-icon{color:var(--primary-light);text-align:center;flex-shrink:0;width:14px;margin-top:1px;font-size:11px}.legend-text{color:var(--text-dim);font-size:11px;line-height:1.4}.state-list{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.state-list::-webkit-scrollbar{width:4px}.state-list::-webkit-scrollbar-track{background:0 0}.state-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.state-list-item{background:var(--surface);cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:all .12s;display:flex}.state-list-item:hover{border-color:var(--border)}.state-list-item.active-sim{border-color:var(--accent);background:#f59e0b1a}.state-list-item.selected{border-color:var(--primary);background:#4d6ce61a}.state-list-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:10px;height:10px}.state-list-dot.final{box-shadow:0 0 0 2px var(--primary);background:0 0}.state-list-dot.initial{background:var(--accent)}.state-list-dot.reject{background:var(--danger)}.state-list-label{font-family:var(--mono);flex:1;font-size:12px}.state-badges{gap:3px;display:flex}.badge{letter-spacing:.04em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.badge-i{color:var(--accent);background:#f59e0b33}.badge-f{color:var(--success);background:#10b98133}.badge-r{color:var(--danger);background:#ef444433}.canvas-area{background:var(--panel-bg);flex-direction:column;grid-area:canvas;display:flex;position:relative;overflow:hidden}.canvas-svg{touch-action:none;flex:1;width:100%;height:auto;min-height:0;display:block}.state-group{cursor:pointer}.state-circle{fill:var(--surface);stroke:var(--primary);stroke-width:2px;filter:drop-shadow(0 0 6px #4d6ce640);transition:fill .2s,stroke .2s}.state-circle.active{fill:#f59e0b2e;stroke:var(--accent);stroke-width:2.5px;filter:drop-shadow(0 0 10px #f59e0b80)}.state-circle.accepted{fill:#10b9812e;stroke:var(--success);filter:drop-shadow(0 0 12px #10b98199)}.state-circle.rejected{fill:#ef444426;stroke:var(--danger);filter:drop-shadow(0 0 10px #ef444466)}.state-circle.reject-state{stroke:var(--danger);stroke-dasharray:5 3;fill:#ef444412}.state-final-ring{fill:none;stroke:var(--primary);stroke-width:1.5px;pointer-events:none;transition:stroke .2s}.state-final-ring.active{stroke:var(--accent)}.state-final-ring.accepted{stroke:var(--success)}.state-final-ring.rejected{stroke:var(--danger)}.state-label{fill:var(--text);font-family:var(--mono);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500}.initial-arrow{fill:none;stroke:var(--accent);stroke-width:2px;marker-end:url(#arrow-initial);pointer-events:none}.transition-path{fill:none;stroke:var(--text-dim);stroke-width:1.8px;transition:stroke .2s,stroke-width .2s}.transition-path.active{stroke:var(--accent);stroke-width:2.5px;filter:drop-shadow(0 0 6px #f59e0b80)}.transition-hitarea{fill:none;stroke:#0000;stroke-width:14px;cursor:pointer}.transition-hitarea:hover~.transition-path{stroke:var(--text)}.transition-label-bg{fill:var(--panel-bg)}.transition-label{fill:var(--text-muted);font-family:var(--mono);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:12px}.transition-label.active{fill:var(--accent);font-weight:600}.rubber-band{fill:none;stroke:var(--primary-light);stroke-width:1.5px;stroke-dasharray:6 4;pointer-events:none;opacity:.7}.sim-panel{background:var(--sidebar-bg);border-top:1px solid var(--border);flex-direction:column;grid-area:sim;gap:0;display:flex;overflow:hidden}.sim-top{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 14px;display:flex}.sim-input-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:11px;font-weight:600}.sim-input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--mono);border-radius:6px;outline:none;flex:1;padding:5px 10px;font-size:14px;transition:border-color .15s}.sim-input:focus{border-color:var(--primary)}.sim-input:disabled{opacity:.5;cursor:not-allowed}.sim-controls{align-items:center;gap:6px;display:flex}.sim-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:12px;font-family:var(--font);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:5px 12px;font-weight:500;transition:all .15s;display:flex}.sim-btn svg{width:14px;height:14px}.sim-btn:hover{color:var(--text);border-color:var(--primary)}.sim-btn:disabled{opacity:.35;cursor:not-allowed}.sim-btn:disabled:hover{color:var(--text-muted);border-color:var(--border)}.sim-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.sim-btn.primary:hover{background:var(--primary-dark)}.sim-btn.danger{border-color:var(--danger);color:var(--danger)}.sim-btn.danger:hover{background:#ef44441a}.tape-area{align-items:center;gap:8px;padding:8px 14px;display:flex}.tape-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;width:40px;font-size:11px;font-weight:600}.tape{gap:3px;padding-bottom:2px;display:flex;overflow-x:auto}.tape::-webkit-scrollbar{height:3px}.tape::-webkit-scrollbar-thumb{background:var(--border)}.tape-cell{border:1px solid var(--border);width:32px;height:32px;font-family:var(--mono);background:var(--surface);color:var(--text-muted);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:all .2s;display:flex}.tape-cell.consumed{background:var(--surface2);color:var(--text-dim);border-color:#0000}.tape-cell.current{border-color:var(--accent);color:var(--accent);background:#f59e0b26;transform:scale(1.08);box-shadow:0 0 8px #f59e0b59}.tape-cell.end-marker{color:var(--text-dim);border-style:dashed;font-size:10px}.stack-area{align-items:flex-start;gap:8px;padding:8px 14px;display:flex}.stack-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;width:40px;padding-top:6px;font-size:11px;font-weight:600}.stack{gap:3px;display:flex}.stack-cell{border:1px solid var(--border);width:30px;height:30px;font-family:var(--mono);background:var(--surface);color:var(--text-muted);border-radius:5px;justify-content:center;align-items:center;font-size:13px;transition:all .2s;display:flex}.stack-cell.top{border-color:var(--primary);color:var(--primary-light);background:#4d6ce61a}.status-area{align-items:center;gap:10px;padding:6px 14px;display:flex}.status-badge{letter-spacing:.02em;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.idle{color:var(--text-dim);background:#5b5f7833}.status-badge.running{color:var(--primary-light);background:#4d6ce626}.status-badge.paused{color:var(--accent);background:#f59e0b26}.status-badge.accepted{color:var(--success);background:#10b98126}.status-badge.rejected{color:var(--danger);background:#ef444426}.status-badge.loop{color:var(--accent);background:#f59e0b26}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-dot.pulse{animation:1.2s ease-in-out infinite sim-pulse}@keyframes sim-pulse{0%,to{opacity:1}50%{opacity:.3}}.step-counter{color:var(--text-dim);font-size:12px;font-family:var(--mono)}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;width:340px;padding:20px 24px;box-shadow:0 20px 60px #00000080}.modal-title{color:var(--text);margin-bottom:16px;font-size:14px;font-weight:600}.modal-field{margin-bottom:12px}.modal-field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.modal-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--mono);border-radius:6px;outline:none;padding:7px 10px;font-size:14px;transition:border-color .15s}.modal-input:focus{border-color:var(--primary)}.modal-hint{color:var(--text-dim);margin-top:4px;font-size:11px}.modal-checkboxes{gap:16px;margin-bottom:12px;display:flex}.modal-checkbox{cursor:pointer;color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.modal-checkbox input{accent-color:var(--primary);width:14px;height:14px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-btn{border:1px solid var(--border);font-size:13px;font-family:var(--font);cursor:pointer;border-radius:6px;padding:6px 16px;font-weight:500;transition:all .15s}.modal-btn.cancel{color:var(--text-muted);background:0 0}.modal-btn.cancel:hover{color:var(--text)}.modal-btn.confirm{background:var(--primary);border-color:var(--primary);color:#fff}.modal-btn.confirm:hover{background:var(--primary-dark)}.modal-btn.delete{border-color:var(--danger);color:var(--danger);background:0 0}.modal-btn.delete:hover{background:#ef44441a}.canvas-hint{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);pointer-events:none;white-space:nowrap;border-radius:6px;padding:5px 14px;font-size:11px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.canvas-zoom-controls{z-index:4;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:10px;right:10px}.canvas-zoom-btn{background:var(--surface);border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background .15s,border-color .15s;display:flex}.canvas-zoom-btn:hover{border-color:var(--primary);background:#4d6ce61f}.pipeline-modal{flex-direction:column;gap:0;width:min(780px,96vw);max-height:90vh;padding:0;display:flex;overflow:hidden}.pipeline-modal .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.pipeline-modal .modal-title{color:var(--text);margin-bottom:0;font-size:15px;font-weight:700}.pipeline-modal .modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;transition:color .15s}.pipeline-modal .modal-close:hover{color:var(--text)}.pipeline-input-row{gap:10px;padding:14px 20px 10px;display:flex}.pipeline-input{background:var(--surface);border:1px solid var(--border);font-size:14px;font-family:var(--mono);color:var(--text);border-radius:8px;outline:none;flex:1;padding:8px 12px;transition:border-color .15s}.pipeline-input:focus{border-color:var(--primary)}.pipeline-build-btn{background:var(--primary);border:1px solid var(--primary);color:#fff;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);border-radius:8px;flex-shrink:0;padding:8px 18px;transition:background .15s}.pipeline-build-btn:hover{background:var(--primary-dark)}.pipeline-examples{flex-wrap:wrap;gap:6px;padding:0 20px 10px;display:flex}.pipeline-example-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-family:var(--mono);border-radius:5px;padding:3px 10px;font-size:12px;transition:all .15s}.pipeline-example-btn:hover{border-color:var(--primary);color:var(--primary-light)}.pipeline-hint{color:var(--text-dim);padding:0 20px 10px;font-size:11px}.pipeline-hint code{background:var(--surface2);font-family:var(--mono);color:var(--primary-light);border-radius:3px;padding:1px 4px}.pipeline-error{border:1px solid var(--danger);color:var(--danger);background:#ef44441a;border-radius:6px;margin:0 20px 10px;padding:8px 12px;font-size:12px}.pipeline-tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 20px;display:flex}.pipeline-tab{cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 14px;transition:color .15s;display:flex}.pipeline-tab:hover{color:var(--text)}.pipeline-tab.active{color:var(--primary-light);border-bottom-color:var(--primary)}.pipeline-tab-count{background:var(--surface2);color:var(--text-dim);border-radius:10px;padding:1px 7px;font-size:11px}.pipeline-tab.active .pipeline-tab-count{color:var(--primary-light);background:#4d6ce633}.pipeline-preview{background:var(--bg);border-bottom:1px solid var(--border);flex:1;min-height:260px;position:relative;overflow:auto}.pipeline-svg{width:100%;height:100%;min-height:260px;display:block}.pipeline-empty{height:260px;color:var(--text-dim);justify-content:center;align-items:center;font-size:13px;display:flex}.pipeline-footer{justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.pipeline-stats{color:var(--text-dim);font-size:12px}.btn-primary{background:var(--primary);border:1px solid var(--primary);color:#fff;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);border-radius:7px;padding:7px 16px;transition:background .15s}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@keyframes group-halo-appear{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes state-spawn{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes state-shrink{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes trans-fade-in{0%{opacity:0}to{opacity:1}}@keyframes clone-pulse{0%{opacity:.85}50%{opacity:.45}to{opacity:.85}}.pipeline-anim-node-enter{animation:.45s cubic-bezier(.34,1.56,.64,1) forwards state-spawn}.pipeline-anim-node-exit{animation:.35s ease-in forwards state-shrink}.pipeline-anim-trans-enter{animation:.45s forwards trans-fade-in}.pipeline-anim-halo{animation:.35s forwards group-halo-appear}.pipeline-anim-clone{pointer-events:none;animation:1.2s ease-in-out infinite clone-pulse}.pipeline-banner{background:var(--sidebar-bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:6px 14px;display:flex;overflow-x:auto}.pipeline-banner-lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-right:2px;font-size:10px;font-weight:700}.pipeline-banner-regex code{font-family:var(--mono);color:var(--primary-light);background:#4d6ce61a;border-radius:4px;padding:2px 7px;font-size:13px}.pipeline-banner-tabs{gap:4px;margin-left:8px;display:flex}.pipeline-banner-tab{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:600;font-family:var(--font);cursor:pointer;white-space:nowrap;border-radius:5px;padding:3px 10px;transition:all .15s}.pipeline-banner-tab:hover{border-color:var(--primary);color:var(--text)}.pipeline-banner-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.pipeline-banner-wt{border:1px solid var(--primary-dark);color:var(--primary-light);font-size:11px;font-weight:600;font-family:var(--font);cursor:pointer;white-space:nowrap;background:#4d6ce61f;border-radius:5px;margin-left:auto;padding:3px 11px;transition:all .15s}.pipeline-banner-wt:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.pipeline-banner-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:14px;transition:color .15s}.pipeline-banner-close:hover{color:var(--danger)}.pipeline-banner-anim{border:1px solid var(--primary-dark);color:var(--primary-light);font-size:11px;font-weight:600;font-family:var(--font);cursor:pointer;white-space:nowrap;background:#4d6ce61f;border-radius:5px;margin-left:auto;padding:3px 11px;transition:all .15s}.pipeline-banner-anim:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.pca-overlay{z-index:30;background:#0a0a14f7;flex-direction:column;transition:opacity .3s;display:flex;position:absolute;inset:0;overflow:hidden}.pca-header{border-bottom:1px solid var(--border);background:var(--sidebar-bg);flex-shrink:0;align-items:center;gap:12px;padding:10px 18px;display:flex}.pca-header-left{align-items:center;gap:6px;display:flex}.pca-regex-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:10px;font-weight:700}.pca-regex-code{font-family:var(--mono);color:var(--primary-light);background:#4d6ce61f;border-radius:4px;padding:2px 8px;font-size:13px}.pca-steps{align-items:center;gap:8px;margin:0 auto;display:flex}.pca-step-dot{border-radius:50%;width:10px;height:10px;transition:all .3s}.pca-step-dot.pending{background:var(--surface2);border:1.5px solid var(--border)}.pca-step-dot.active{background:var(--primary);transform:scale(1.3);box-shadow:0 0 10px #4d6ce6b3}.pca-step-dot.done{background:var(--success)}.pca-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 6px;font-size:16px;transition:color .15s}.pca-close:hover{color:var(--danger)}.pca-stage-info{text-align:center;flex-shrink:0;padding:16px 24px 12px}.pca-step-badge{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);background:#4d6ce624;border:1px solid #4d6ce64d;border-radius:20px;margin-bottom:6px;padding:2px 10px;font-size:10px;font-weight:700;display:inline-block}.pca-stage-title{color:var(--text);letter-spacing:-.2px;margin-bottom:5px;font-size:18px;font-weight:700}.pca-stage-desc{color:var(--text-muted);max-width:560px;margin:0 auto;font-size:12px;line-height:1.5}.pca-phase-label{color:var(--primary-light);letter-spacing:.04em;margin-top:8px;font-size:11px;font-weight:600;animation:1.2s ease-in-out infinite pca-pulse}@keyframes pca-pulse{0%,to{opacity:1}50%{opacity:.5}}.pca-svg-area{flex:1;align-items:stretch;min-height:0;padding:12px 32px;display:flex}.pca-svg-area .pipeline-svg{width:100%;height:100%}.pca-footer{border-top:1px solid var(--border);background:var(--sidebar-bg);flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.pca-stats{color:var(--text-dim);font-size:11px;font-family:var(--mono);flex:1}.pca-skip-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:var(--font);cursor:pointer;border-radius:5px;padding:4px 12px;font-weight:500;transition:all .15s}.pca-skip-btn:hover{border-color:var(--primary);color:var(--text)}.pca-close-btn{border:1px solid var(--primary-dark);color:var(--primary-light);font-size:11px;font-family:var(--font);cursor:pointer;background:#4d6ce61f;border-radius:5px;padding:4px 14px;font-weight:600;transition:all .15s}.pca-close-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.wt-modal{background:var(--panel-bg);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(820px,97vw);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 24px 70px #0009}.wt-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:14px 20px 12px;display:flex}.wt-header-title{color:var(--text);flex:1;font-size:14px;font-weight:700}.wt-regex-code{font-family:var(--mono);color:var(--primary-light);background:#4d6ce61f;border-radius:4px;padding:1px 6px;font-size:13px}.wt-step-badge{color:var(--text-dim);white-space:nowrap;font-size:11px}.wt-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:0;display:flex;overflow-x:auto}.wt-tab{cursor:pointer;font-size:12px;font-family:var(--font);color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;margin-bottom:-1px;padding:8px 14px;font-weight:500;transition:color .15s;display:flex}.wt-tab:hover{color:var(--text)}.wt-tab.active{color:var(--primary-light);border-bottom-color:var(--primary)}.wt-tab.done{color:var(--success)}.wt-tab-num{background:var(--surface2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.wt-tab.active .wt-tab-num{background:var(--primary);color:#fff}.wt-tab.done .wt-tab-num{color:var(--success);background:#10b98133}.wt-step-title{color:var(--text);flex-shrink:0;padding:10px 20px 6px;font-size:15px;font-weight:700}.wt-body{flex:1;min-height:0;overflow-y:auto}.wt-step{padding:0 20px 12px}.wt-desc{color:var(--text-muted);margin-top:4px;margin-bottom:12px;font-size:13px;line-height:1.6}.wt-stat{color:var(--text);display:inline}.wt-svg-wrap{background:var(--bg);border:1px solid var(--border);border-radius:8px;min-height:200px;overflow:hidden}.wt-svg{width:100%;min-height:200px;display:block}.wt-empty{height:180px;color:var(--text-dim);justify-content:center;align-items:center;font-size:12px;display:flex}.wt-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.wt-table{border-collapse:collapse;width:100%;font-size:12px}.wt-table th{background:var(--surface2);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 12px;font-size:10px;font-weight:700}.wt-table td{color:var(--text-muted);vertical-align:middle;border-bottom:1px solid #2e2e4899;padding:6px 12px}.wt-table tr:last-child td{border-bottom:none}.wt-table tr:hover td{background:#4d6ce60a}.wt-row-accept td{background:#10b9810d}.wt-row-accept:hover td{background:#10b98117}.wt-mono{font-family:var(--mono)}.wt-bold{color:var(--text);font-weight:700}.wt-small{font-size:11px}.wt-yes{color:var(--success);text-align:center;font-weight:700}.wt-no{color:var(--danger);text-align:center;font-weight:700}.wt-partitions{flex-direction:column;gap:6px;display:flex}.wt-round{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:10px;padding:8px 12px;display:flex}.wt-round-label{color:var(--text-dim);white-space:nowrap;min-width:120px;padding-top:2px;font-size:11px;font-weight:700}.wt-round-groups{flex-wrap:wrap;gap:6px;display:flex}.wt-group{font-family:var(--mono);background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);border-radius:5px;padding:2px 9px;font-size:12px}.wt-group.accept{color:var(--success);background:#10b9811a;border-color:#10b98166}.wt-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.wt-dots{align-items:center;gap:6px;display:flex}.wt-dot{background:var(--border);cursor:pointer;border-radius:50%;width:7px;height:7px;transition:background .15s}.wt-dot.active{background:var(--primary);transform:scale(1.2)}.wt-dot.done{background:var(--success)}.wt-nav-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);border-radius:7px;padding:7px 16px;transition:all .15s}.wt-nav-btn:hover{color:var(--text);border-color:var(--primary)}.wt-nav-btn:disabled{opacity:.3;cursor:not-allowed}.wt-nav-btn:disabled:hover{color:var(--text-muted);border-color:var(--border)}.wt-nav-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.wt-nav-btn.primary:hover{background:var(--primary-dark)}.modal-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.modal-btn.primary:hover{background:var(--primary-dark)}.modal-btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.modal-btn.danger:hover{background:#ef44441a}.modal-field-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.modal-header .modal-title{margin-bottom:0}.modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;transition:color .15s}.modal-close:hover{color:var(--text)}.modal-subtitle{color:var(--text-dim);font-size:12px;font-weight:400;font-family:var(--mono)}.modal-dir-btns{gap:6px;display:flex}.modal-dir-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--font);cursor:pointer;text-align:center;border-radius:6px;flex:1;padding:7px 8px;font-weight:500;transition:all .15s}.modal-dir-btn:hover{border-color:var(--primary);color:var(--text)}.modal-dir-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.pipeline-banner-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.pipeline-banner-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.pipeline-banner-actions .pipeline-banner-anim,.pipeline-banner-actions .pipeline-banner-wt{margin-left:0}.sidebar-footer{color:var(--text-dim);border-top:1px solid var(--border);flex-shrink:0;margin-top:auto;padding:10px 12px;font-size:11px;line-height:1.5}.sidebar-footer-mono{font-family:var(--mono);color:var(--primary-light)}.state-list-empty{color:var(--text-dim);text-align:center;padding:12px 0;font-size:11px;font-style:italic}.wt-content{flex:1;min-height:0;overflow-y:auto}.wt-step-info{color:var(--text-dim);font-size:12px}.wt-nav{gap:8px;display:flex}.automataSim ::-webkit-scrollbar{width:6px;height:6px}.automataSim ::-webkit-scrollbar-track{background:0 0}.automataSim ::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.automata-mobile-backdrop{display:none}@media (max-width:980px){.automataSimRoot{overflow:visible}.automataSimGrid{grid-template:"header""canvas"minmax(260px,1fr)"sim"/1fr;height:100%}.header{flex-wrap:wrap;align-content:center;gap:8px;min-height:56px;padding:8px 10px}.header-mobile-menu-btn{display:inline-flex}.header-logo{font-size:14px}.header-divider{display:none}.header-type-btns{order:2;width:100%;padding-bottom:2px;overflow-x:auto}.header-actions{order:1;margin-left:auto}.sidebar{z-index:40;border-right:1px solid var(--border);width:min(300px,86vw);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #00000073}.sidebar.mobile-open{transform:translate(0)}.sidebar-mobile-top{border-bottom:1px solid var(--border);background:var(--sidebar-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.sidebar-mobile-title{color:var(--text);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.sidebar-mobile-close{border:1px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--text-muted);cursor:pointer;border-radius:6px;font-size:12px}.sidebar-mobile-close:hover{color:var(--text);border-color:var(--primary)}.automata-mobile-backdrop.open{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;display:block;position:fixed;inset:0}.canvas-hint{display:none}.sim-top{flex-wrap:wrap;gap:8px;padding:8px 10px}.sim-input{flex-basis:100%;width:100%;min-width:0}.sim-controls{flex-wrap:wrap;width:100%}.sim-btn{min-height:34px;padding:6px 10px}.tape-area,.stack-area,.status-area{padding-left:10px;padding-right:10px}}@media (max-width:640px){.header-actions{justify-content:flex-end;width:100%;margin-left:0}.header-btn{padding:5px 10px;font-size:11px}.header-type-btn{padding:5px 9px;font-size:11px}.sim-controls{gap:5px}.sim-btn{padding:6px 9px;font-size:11px}.status-area{flex-wrap:wrap;gap:6px}.step-counter{font-size:11px}.modal,.pipeline-modal,.wt-modal{width:96vw}.pipeline-input-row{flex-direction:column;align-items:stretch}.pipeline-build-btn{width:100%}}
