:root{--bg: #0a0a0a;--surface: #111111;--surface2: #1a1a1a;--border: #2a2a2a;--accent: #ffffff;--accent2: #bbbbbb;--muted: #666666;--danger: #ff4444;--text: #f0f0f0;--text-dim: #999999}*{box-sizing:border-box;margin:0;padding:0}body{font-family:IBM Plex Sans,sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.btn{padding:.6rem 1.2rem;border-radius:6px;border:none;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem}.btn-primary{background:var(--accent);color:#000;width:100%;justify-content:center;padding:.75rem}.btn-primary:hover{background:#00cc8e}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:#ef44441a}.btn-ghost{background:none;border:none;color:var(--muted);padding:.3rem .6rem;cursor:pointer;font-size:.8rem;font-family:inherit;transition:color .2s}.btn-ghost:hover{color:var(--text)}#auth-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:100%;max-width:420px}.auth-card h1{font-size:1.5rem;font-weight:600;margin-bottom:.25rem;color:var(--accent)}.auth-card .subtitle{color:var(--muted);font-size:.85rem;margin-bottom:2rem}.auth-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.auth-tab{padding:.6rem 1.2rem;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;font-family:inherit;border-bottom:2px solid transparent;transition:all .2s}.auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;color:var(--text-dim);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.6rem .8rem;border-radius:6px;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.auth-error{background:#ef44441a;border:1px solid var(--danger);border-radius:6px;padding:.6rem .8rem;font-size:.85rem;color:#fca5a5;margin-bottom:1rem;display:none}.auth-success{background:#00e5a01a;border:1px solid var(--accent);border-radius:6px;padding:.6rem .8rem;font-size:.85rem;color:var(--accent);margin-bottom:1rem;display:none}.auth-divider{display:flex;align-items:center;gap:12px;margin:12px 0;color:var(--text-muted);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}#main-header{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;position:relative}.logo{display:flex;align-items:center;letter-spacing:-.02em}.header-spacer{flex:1}.share-badge{background:#00c8ff1a;border:1px solid var(--accent2);color:var(--accent2);border-radius:20px;padding:.25rem .75rem;font-size:.78rem;font-weight:500}.user-info{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-dim)}#main-app{display:flex;flex:1;overflow:hidden}#left-panel{width:340px;min-width:280px;max-width:420px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}#process-library{border-bottom:1px solid var(--border);flex-shrink:0;max-height:40%;display:flex;flex-direction:column}.library-header{display:flex;align-items:center;padding:.7rem 1rem;gap:.5rem}.library-header span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500;flex:1}.process-list{overflow-y:auto;flex:1}.process-item{padding:.6rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .15s;border-bottom:1px solid rgba(42,47,69,.5)}.process-item:hover{background:var(--surface2)}.process-item.active{background:#00e5a014;border-left:2px solid var(--accent)}.process-item:hover .process-item-actions{display:flex}.process-item-name{font-size:.85rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.process-item-type{font-size:.7rem;color:var(--muted);font-family:IBM Plex Mono,monospace;background:var(--surface2);padding:.1rem .4rem;border-radius:3px}.process-item-actions{display:none;gap:.2rem}.process-action-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:.2rem;font-size:.75rem;border-radius:3px;transition:all .15s}.process-action-btn:hover{color:var(--text);background:var(--border)}.process-action-btn.danger:hover{color:var(--danger)}.process-action-btn.share-btn:hover{color:var(--accent2)}body.share-mode #process-library{display:none}body.share-mode #left-panel{max-height:100%}#editor-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1rem;gap:.75rem}.process-title-row{display:flex;align-items:center;gap:.5rem}#process-name-input{flex:1;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.5rem .7rem;border-radius:6px;font-family:IBM Plex Sans,sans-serif;font-size:.95rem;font-weight:500;outline:none}#process-name-input:focus{border-color:var(--accent)}.version-badge{font-family:IBM Plex Mono,monospace;font-size:.7rem;color:var(--muted);background:var(--surface2);padding:.3rem .6rem;border-radius:4px;border:1px solid var(--border);white-space:nowrap;cursor:pointer;transition:border-color .15s}.version-badge:hover{border-color:var(--accent2);color:var(--accent2)}#description-textarea{flex:1;min-height:100px;resize:none;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.75rem;border-radius:6px;font-family:IBM Plex Sans,sans-serif;font-size:.875rem;line-height:1.6;outline:none}#description-textarea:focus{border-color:var(--accent)}#description-textarea::placeholder{color:var(--muted)}.voice-row{display:flex;align-items:center;gap:.5rem}#record-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;background:var(--surface2);border:1px solid var(--border);border-radius:20px;color:var(--text-dim);cursor:pointer;font-size:.8rem;font-family:inherit;transition:all .2s}#record-btn:hover{border-color:var(--accent2);color:var(--accent2)}#record-btn.recording{border-color:var(--danger);color:var(--danger);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.record-dot{width:8px;height:8px;border-radius:50%;background:currentColor}#voice-status{font-size:.75rem;color:var(--muted);flex:1}#qa-panel{background:#00e5a00d;border:1px solid rgba(0,229,160,.2);border-radius:8px;padding:.75rem;display:none}#qa-panel h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:.5rem}.qa-item{margin-bottom:.75rem}.qa-question{font-size:.82rem;color:var(--text-dim);margin-bottom:.3rem}.qa-answer{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.45rem .6rem;border-radius:5px;font-size:.82rem;font-family:inherit;outline:none;resize:none}.qa-answer:focus{border-color:var(--accent)}#qa-rebuild-btn{margin-top:.5rem;font-size:.8rem}.action-row{display:flex;gap:.5rem}.action-row .btn{flex:1;justify-content:center}#right-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}#diagram-toolbar{display:flex;align-items:center;padding:.5rem 1rem;gap:.5rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.toolbar-btn{background:none;border:1px solid var(--border);color:var(--text-dim);padding:.35rem .7rem;border-radius:5px;cursor:pointer;font-size:.78rem;font-family:inherit;transition:all .15s}.toolbar-btn:hover{border-color:var(--accent);color:var(--accent)}.toolbar-btn.active{border-color:var(--accent2);color:var(--accent2);background:#00c8ff14}#diagram-status{flex:1;font-size:.75rem;color:var(--muted);font-family:IBM Plex Mono,monospace}#canvas-container{flex:1;position:relative;overflow:hidden}#bpmn-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.bjs-powered-by{display:none!important}#bpmn-canvas:not(.edit-mode) .djs-container,#bpmn-canvas:not(.edit-mode) .djs-container *{pointer-events:none!important}#bpmn-canvas:not(.edit-mode) .djs-palette{display:none!important}#bpmn-canvas:not(.edit-mode) .djs-context-pad{display:none!important}#bpmn-canvas:not(.edit-mode) .djs-overlay-container{display:none!important}#bpmn-canvas.edit-mode{outline:2px solid var(--accent2);outline-offset:-2px}#xml-view{display:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;background:var(--surface);padding:1rem}#xml-view pre{font-family:IBM Plex Mono,monospace;font-size:.78rem;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d0f12cc;display:flex;align-items:center;justify-content:center;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;width:100%;max-width:480px;max-height:80vh;overflow-y:auto}.modal h3{font-size:1rem;font-weight:600;margin-bottom:1.25rem;color:var(--text)}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem}.version-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.version-info{flex:1}.version-num{font-family:IBM Plex Mono,monospace;font-size:.8rem;color:var(--accent2)}.version-meta{font-size:.75rem;color:var(--muted);margin-top:.2rem}.version-desc{font-size:.8rem;color:var(--text-dim);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.share-link-row{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:.6rem .75rem;margin-bottom:.5rem}.share-link-row.revoked{opacity:.4}.share-link-url{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--accent2);word-break:break-all;margin-bottom:.4rem}.share-link-meta{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:.75rem}.share-link-actions{display:flex;gap:.4rem;margin-top:.4rem}.permission-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:3px;font-weight:500}.permission-badge.read{background:#6b728033;color:var(--muted);border:1px solid var(--muted)}.permission-badge.write{background:#00e5a01a;color:var(--accent);border:1px solid var(--accent)}#display-name-modal{z-index:150}#notifications{position:fixed;bottom:1.5rem;right:1.5rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.notification{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.65rem 1rem;font-size:.82rem;color:var(--text);pointer-events:auto;animation:slideIn .2s ease;max-width:320px}.notification.success{border-color:var(--accent);color:var(--accent)}.notification.error{border-color:var(--danger);color:#fca5a5}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--muted);padding:2rem;text-align:center}.empty-state .icon{font-size:2.5rem}.empty-state p{font-size:.85rem;max-width:260px}
