:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#e7ece8;background:#101412;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #101412;--panel: #171c19;--panel-raised: #1b211d;--line: #29312b;--line-soft: #222a24;--text: #e7ece8;--muted: #89958c;--dim: #5b685f;--accent: #b02e0c;--accent-dark: #3a211a;--red: #f17e72;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--display: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:64px;flex:0 0 64px;display:flex;align-items:stretch;gap:28px;padding:12px 24px 0;border-bottom:1px solid var(--line);background:#131815}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font:700 15px var(--display);letter-spacing:-.035em;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--accent);color:#fff7f0;font:700 17px var(--display);transform:rotate(-5deg)}.brand-light{color:#849087;font-weight:500}.document-tabs{display:flex;align-items:flex-end;gap:2px;min-width:0;overflow-x:auto}.document-tab{display:flex;align-items:center;gap:7px;max-width:190px;padding:5px 7px 5px 13px;border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;background:#10140f;color:#8d9a90;font:500 11px var(--mono);cursor:pointer;flex:0 1 auto;min-width:0}.document-tab:hover{background:#151a14}.document-tab.is-active{background:#1c231a;color:#e6eee7;border-color:#38432f}.tab-label{overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text}.tab-edit-input{width:130px;min-width:90px;padding:2px 5px;border:1px solid #704336;border-radius:4px;outline:0;background:#111613;color:#eef5ee;font:inherit}.tab-close{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;padding:0;border:0;border-radius:5px;background:transparent;color:#718075;font-size:12px;line-height:1}.tab-close:hover{background:#37241e;color:#f0a18c}.document-tab.is-active .tab-close:hover{background:#452c24}.state-node.is-move-mode .state-circle{stroke:#a3d98a;stroke-dasharray:5 4}.tab-new{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;margin:3px 0 5px 4px;padding:0;border:1px dashed #354238;border-radius:7px;background:transparent;color:#7e8b81;font-size:12px;line-height:1;cursor:pointer}.tab-new:hover{border-color:#4d5c44;color:#c9d5ca;background:#171d15}.top-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid #343e36;border-radius:7px;background:#1b211d;color:#bec8c0;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.button:hover{background:#252e28;border-color:#4a594d}.button:active{transform:translateY(1px)}.button-primary{border-color:var(--accent);background:var(--accent);color:#fff7f0}.button-primary:hover{border-color:#ca4524;background:#ca4524}.button-quiet{background:transparent}.history-button{width:34px;min-width:34px;padding:0;color:#94a198;font-size:18px}.history-button:disabled{opacity:.38;cursor:default}.button-small{min-height:29px;padding:0 10px;font-size:10px}.button-icon{font-size:14px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.workspace{display:grid;grid-template-columns:250px minmax(400px,1fr) 300px;flex:1;min-height:0}.sidebar{display:flex;flex-direction:column;min-height:0;padding:19px 16px 13px;background:var(--panel)}.left-sidebar{border-right:1px solid var(--line)}.right-sidebar{border-left:1px solid var(--line)}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}.eyebrow{color:#718075;font:500 9px var(--mono);letter-spacing:.14em}.machine-count{color:#68756c;font:10px var(--mono)}.ready-indicator{display:flex;align-items:center;gap:6px;color:#7c897f;font:9px var(--mono);letter-spacing:.1em}.ready-indicator span{width:5px;height:5px;border-radius:100%;background:var(--accent)}.field-label{display:block;margin-bottom:6px;color:#99a59c;font-size:10px;font-weight:600}.field-label span{color:#657168;font-weight:400}.select-wrap{position:relative;margin-bottom:23px}select,.control-input,.transition-field input,#input-string,.option-label input,.option-label select{width:100%;height:35px;border:1px solid #303a32;border-radius:6px;background:#111613;color:#d6ded8;padding:0 10px;font-size:11px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px}.select-caret{position:absolute;top:7px;right:11px;color:#758178;pointer-events:none}.machine-setting{margin:-12px 0 19px}.inline-setting{display:flex;gap:5px;align-items:center}.inline-setting .control-input{margin:0}.pda-setting{margin:-8px 0 20px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;color:#829087;font:500 9px var(--mono);letter-spacing:.13em}.icon-button{display:grid;place-items:center;width:24px;height:23px;padding:0;border:1px solid #354039;border-radius:5px;background:#202822;color:var(--accent);font-size:17px;line-height:1;cursor:pointer}.icon-button:hover,.icon-button.is-active{border-color:var(--accent);background:var(--accent-dark)}.state-list{display:flex;flex-direction:column;gap:3px;max-height:min(35vh,300px);overflow:auto;margin:0 -5px 17px;padding:0 5px}.empty-list{padding:14px 9px;color:#66736a;font-size:10px;line-height:1.5}.state-list-item{display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:#b9c4bb;text-align:left;cursor:pointer}.state-list-item:hover{background:#1d251f}.state-list-item.is-active{border-color:#704336;background:#2d1c18;color:#f0a18c}.state-list-dot{width:10px;height:10px;border:1.5px solid #849188;border-radius:50%}.state-list-dot.state-initial{border-color:var(--accent);box-shadow:-4px 0 0 -2px var(--accent)}.state-list-dot.state-final{border:3px double #d5e0d7}.state-list-dot.state-both{border:3px double var(--accent);box-shadow:-4px 0 0 -2px var(--accent)}.state-list-name{flex:1;overflow:hidden;font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap}.state-list-id{color:#66736a;font:9px var(--mono)}.editor-card{padding:14px 0 11px;border:0;border-top:1px solid #2d3730;border-radius:0;background:transparent}.editor-card-heading{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:#7f8c82;font:500 9px var(--mono);letter-spacing:.1em}.editor-indicator{width:5px;height:5px;border-radius:50%;background:var(--accent)}.muted-hint{color:#66736a;font-size:10px;line-height:1.55}.transition-inspector-row{margin:2px 0 12px;padding:8px 10px;border:1px solid #2a332d;border-radius:6px;background:#141a16;color:#a9b4ab;font:11px var(--mono)}.control-input{height:31px;margin-bottom:11px;font-size:10px}.state-flags{display:flex;flex-direction:column;gap:9px;margin:3px 0 14px}.check-row{display:flex;align-items:center;gap:8px;color:#a1aca3;font-size:10px;cursor:pointer}.check-row input{position:absolute;opacity:0}.custom-check{width:13px;height:13px;display:grid;place-items:center;border:1px solid #49554b;border-radius:3px;background:#111613}.check-row input:checked+.custom-check{border-color:var(--accent);background:var(--accent)}.check-row input:checked+.custom-check:after{content:"✓";color:#fff7f0;font-size:10px;font-weight:700}.button-danger-ghost{min-height:28px;border-color:#4a302c;background:transparent;color:#d17d72;font-size:9px}.button-danger-ghost:hover{border-color:#9e4e44;background:#321f1c}.sidebar-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:18px 2px 1px;color:#657168;font-size:9px}.keyboard-hint kbd{border:1px solid #39433b;border-radius:3px;padding:2px 4px;color:#95a197;font:9px var(--mono)}.version-tag{color:#526057;font:8px var(--mono);letter-spacing:.1em}.canvas-column{display:flex;flex-direction:column;min-width:0;min-height:0;background:#111613}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:61px;padding:0 19px;border-bottom:1px solid #252d27}.canvas-title{display:flex;align-items:center;gap:11px}.canvas-title-icon{color:var(--accent);font-size:20px}.canvas-title strong{display:block;color:#d3dbd5;font:600 12px var(--display)}.canvas-title div span{display:block;margin-top:3px;color:#718075;font-size:9px}.canvas-tools{display:flex;gap:7px}.zoom-controls{display:flex;align-items:center;gap:3px;height:29px;padding:0 4px;border:1px solid #303a32;border-radius:6px;background:#151b17}.zoom-button{width:27px;min-width:27px;height:25px;min-height:25px;padding:0;border-color:transparent;background:transparent;font-size:15px}.zoom-level{min-width:40px;color:#9aa69d;font:9px var(--mono);text-align:center}.canvas-shell{position:relative;flex:1 1 auto;min-height:280px;overflow:hidden;overscroll-behavior:contain;background-color:#111613;background-image:radial-gradient(#344039 1px,transparent 1.2px);background-position:-6px -6px;background-size:48px 48px}#automaton-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none}.canvas-shell.is-adding #automaton-canvas{cursor:crosshair}.canvas-empty{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;align-items:center;gap:8px;color:#68756b;transform:translate(-50%,-50%);pointer-events:none}.canvas-empty.is-hidden{display:none}.canvas-empty strong{color:#9aa69c;font:600 13px var(--display)}.canvas-empty>span{font-size:10px}.empty-orbit{display:grid;place-items:center;width:52px;height:52px;margin-bottom:5px;border:1px solid #303b33;border-radius:50%;color:#829084;font-size:28px}.canvas-coordinates{position:absolute;right:11px;bottom:9px;padding:5px 7px;border:1px solid #2e3831;border-radius:4px;background:#151b17df;color:#758178;font:8px var(--mono)}.edge-path{fill:none;stroke:#829087;stroke-width:2.2;cursor:pointer}.edge-path:hover{stroke:#d3ded5;stroke-width:3}.edge-path.is-selected{stroke:var(--accent);stroke-width:2.2}.edge-hit-area{fill:none;stroke:transparent;stroke-width:18px;pointer-events:stroke;cursor:pointer}.edge-preview{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5;pointer-events:none;opacity:.8}.edge-label{fill:#c7d0c8;font:12px var(--mono);text-anchor:middle;paint-order:stroke;stroke:#111613;stroke-width:6px;stroke-linejoin:round;cursor:pointer}.edge-label.is-selected{fill:var(--accent)}.initial-arrow{fill:none;stroke:var(--accent);stroke-width:1.8}.state-node{cursor:grab;outline:none}.state-node:active{cursor:grabbing}.state-circle{fill:#1c2520;stroke:#9aa69c;stroke-width:1.8;transition:fill .15s,stroke .15s}.state-node:hover .state-circle{fill:#29342c;stroke:#d2ddd4}.state-node.is-selected .state-circle{fill:#30201b;stroke:var(--accent);stroke-width:2.4;filter:drop-shadow(0 0 7px #b02e0c44)}.state-node.state-initial .state-circle{stroke:var(--accent)}.final-ring{fill:none;stroke:#dce6de;stroke-width:1.3;pointer-events:none}.state-initial .final-ring,.state-both .final-ring{stroke:var(--accent)}.state-name{fill:#edf3ee;font:600 13px var(--mono);text-anchor:middle;pointer-events:none}.state-sub-label{fill:#9bab9e;font:9px var(--mono);text-anchor:middle;pointer-events:none}.transition-panel{flex:0 0 178px;max-height:178px;border-top:1px solid var(--line);background:#151a17}.panel-heading{display:flex;align-items:center;justify-content:space-between;height:42px;padding:0 18px;border-bottom:1px solid #252d27}.panel-heading>div{display:flex;align-items:center;gap:8px}.panel-count{display:grid;place-items:center;min-width:17px;height:17px;border-radius:5px;background:#252e28;color:#a2afa4;font:9px var(--mono)}.text-button{border:0;background:transparent;color:#77837a;font-size:9px;cursor:pointer}.text-button:hover{color:var(--red)}.transition-list{display:flex;flex-direction:column;gap:1px;height:135px;overflow:auto;padding:5px 13px 10px}.transition-empty{padding:17px 5px;color:#657168;font-size:10px}.transition-row{display:grid;grid-template-columns:minmax(35px,auto) 20px minmax(35px,auto) 1fr 24px;align-items:center;gap:8px;min-height:29px;padding:0 6px;border-radius:4px;color:#a9b4ab;font-size:10px}.transition-row:hover{background:#1d241f}.transition-row.is-selected{background:#2b1d19;outline:1px solid #704336}.transition-endpoint{color:#cbd4cd;font:10px var(--mono)}.transition-row-arrow{color:#748177;text-align:center}.transition-row-label{overflow:hidden;color:#97a49a;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.remove-transition{width:22px;height:22px;border:0;border-radius:4px;background:transparent;color:#748177;font-size:17px;cursor:pointer}.remove-transition:hover{background:#3a2521;color:var(--red)}.tool-section{padding:0 0 20px;border-bottom:1px solid #2a332d;margin-bottom:18px}.tool-section .section-heading{margin-bottom:14px}.tool-number{color:#58655c;font:9px var(--mono)}.form-stack{display:flex;flex-direction:column;gap:10px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.two-fields label{min-width:0}.two-fields select{height:32px;font-size:10px}.transition-fields{display:flex;flex-direction:column;gap:9px}.transition-field input{height:32px;font:11px var(--mono)}.transition-field input::placeholder,#input-string::placeholder{color:#556158}.field-help{display:block;margin-top:4px;color:#627066;font-size:9px;line-height:1.4}.button-add-transition{width:100%;min-height:33px;border-color:#7a3323;background:#39211b;color:#f0a18c;font-size:10px}.button-add-transition span{font-size:15px}.button-add-transition:hover{border-color:#b02e0c;background:#4a261d}.simulator-section{border-bottom:0}.input-with-action{display:flex;gap:6px}#input-string{height:37px;flex:1;font:12px var(--mono)}.run-button{width:37px;height:37px;flex:0 0 37px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#17220f;font-size:13px;cursor:pointer}.run-button:hover{background:#ca4524}.simulator-options{display:flex;flex-direction:column;gap:8px;margin-top:9px}.option-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#87948a;font-size:9px}.option-label select,.option-label input{width:54%;height:29px;padding:0 7px;font-size:9px}.simulation-result{min-height:69px;margin-top:13px;padding:10px;border:1px solid #2c362f;border-radius:7px;background:#131915}.result-placeholder{display:flex;align-items:center;gap:8px;padding:8px 1px;color:#77847a;font-size:10px}.result-pulse{width:6px;height:6px;border-radius:50%;background:#748177}.result-state{display:flex;align-items:center;gap:8px;color:#e1e9e2;font-size:11px;font-weight:600}.result-symbol{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#39211b;color:#f0a18c;font-size:12px}.result-detail{margin-top:6px;color:#829086;font:9px/1.5 var(--mono);overflow-wrap:anywhere;white-space:pre-line}.result-table{width:100%;margin-top:7px;border-collapse:collapse;font:10px var(--mono);color:#a9b4ab}.result-table th{padding:3px 6px;border-bottom:1px solid #2e3831;color:#6d7a70;font-size:8px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left}.result-table td{padding:4px 6px;border-bottom:1px solid #1f2723}.result-table tr:last-child td{border-bottom:0}.result-cell-input{color:#cbd4cd;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-success{border-color:#3d5930;background:#161d13}.result-success .result-symbol{background:#24371c;color:#a3d98a}.result-failure{border-color:#49302b;background:#1e1715}.result-failure .result-symbol{background:#3a2521;color:var(--red)}.right-sidebar-footer{display:flex;align-items:center;gap:7px;margin-top:auto;padding:12px 0 3px;border-top:1px solid #29312b;color:#76837a;font-size:9px}.license-links{display:flex;gap:9px;margin-left:auto}.license-links a{color:#9ca99f;text-decoration:none}.license-links a:hover{color:var(--accent);text-decoration:underline}.privacy-icon{color:var(--accent);font-size:9px}.statusbar{display:flex;align-items:center;justify-content:space-between;height:27px;flex:0 0 27px;padding:0 15px;border-top:1px solid #252d27;background:#131815;color:#768279;font:8px var(--mono);letter-spacing:.03em}.statusbar>span:last-child{color:#59655c;letter-spacing:.12em}.statusbar b{color:#38443b}.status-led{display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%;background:#8b9a8d;vertical-align:1px}.status-success{background:var(--accent)}.status-error{background:var(--red)}.toast-region{position:fixed;right:18px;bottom:44px;z-index:10;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 13px;border:1px solid #44533f;border-radius:7px;background:#1d281b;box-shadow:0 8px 30px #0006;color:#c6e5b0;font-size:10px;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1050px){body{overflow:auto}.workspace{grid-template-columns:220px minmax(350px,1fr)}.right-sidebar{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);border-left:0}.right-sidebar>.sidebar-heading,.right-sidebar-footer{grid-column:1 / -1}.tool-section{border-bottom:0;margin:0}.transition-panel{flex-basis:150px;max-height:150px}}@media(max-width:700px){.topbar{height:auto;min-height:58px;flex:0 0 auto;flex-wrap:wrap;gap:10px;padding:10px 12px 0}.document-tabs{order:3;width:100%;margin-bottom:0}.top-actions{gap:5px}.top-actions .button{min-height:30px;padding:0 8px;font-size:9px}.workspace{display:flex;flex-direction:column}.left-sidebar{order:2;border-top:1px solid var(--line);border-right:0}.canvas-column{order:1;min-height:630px}.right-sidebar{order:3;display:flex;border-left:0}.canvas-shell{flex:1;min-height:360px}#automaton-canvas{min-height:360px}.transition-panel{flex-basis:auto;max-height:none}.transition-list{height:auto;max-height:260px}.sidebar-footer{margin-top:15px}.state-list{max-height:190px}.statusbar>span:last-child{display:none}.canvas-title div span{display:none}}
