:root{--bg-primary: #1e1e1e;--bg-secondary: #252526;--bg-tertiary: #2d2d2d;--text-primary: #d4d4d4;--text-secondary: #858585;--accent-primary: #4ec9b0;--accent-secondary: #007acc;--accent-orange: #ce9178;--border-color: #3c3c3c;--error-color: #f48771}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Consolas,Monaco,Courier New,monospace;background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.header{padding:20px;text-align:center;border-bottom:1px solid var(--border-color)}.header h1{color:var(--accent-primary);margin-bottom:5px}.subtitle{color:var(--text-secondary);font-size:14px}.nav{display:flex;justify-content:center;gap:10px;padding:15px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.nav-btn{padding:10px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-family:inherit;font-size:14px;transition:all .2s}.nav-btn:hover{background:#3c3c3c;border-color:var(--accent-secondary)}.nav-btn.active{background:var(--accent-secondary);border-color:var(--accent-secondary);color:#fff}.main{flex:1;padding:20px;max-width:1200px;margin:0 auto;width:100%}.lambda-editor{display:flex;flex-direction:column;gap:15px}.toolbar{display:flex;justify-content:space-between;padding:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}.toolbar-group{display:flex;gap:8px}.toolbar-btn{padding:8px 16px;background:var(--accent-secondary);color:#fff;border:none;border-radius:3px;cursor:pointer;font-family:inherit;font-size:13px;transition:background .2s}.toolbar-btn:hover:not(:disabled){background:#0098ff}.toolbar-btn:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}.toolbar-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.toolbar-btn-secondary:hover:not(:disabled){background:#3c3c3c}.examples-bar{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;align-items:center}.examples-label{color:var(--text-secondary);font-size:13px;margin-right:5px}.example-btn{padding:6px 12px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;font-size:12px;font-family:inherit;transition:all .2s}.example-btn:hover{background:#3c3c3c;border-color:var(--accent-primary)}.editor-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:15px}.editor-textarea{width:100%;min-height:200px;padding:12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:3px;font-family:inherit;font-size:16px;line-height:1.5;resize:vertical}.editor-textarea:focus{outline:none;border-color:var(--accent-secondary)}.editor-textarea::placeholder{color:var(--text-secondary)}.status-bar{display:flex;gap:20px;padding:10px 15px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:12px}.status-item{display:flex;gap:5px;align-items:center}.status-label{color:var(--text-secondary)}.status-value{color:var(--accent-primary)}.status-agent{font-family:monospace;background:var(--bg-tertiary);padding:2px 6px;border-radius:3px}.status-syncing{color:var(--accent-secondary)}.sync-indicator{width:8px;height:8px;background:var(--accent-secondary);border-radius:50%;animation:pulse 1s infinite;margin-right:5px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.parse-result{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:15px}.parse-result h3{color:var(--accent-primary);font-size:14px;margin-bottom:10px}.ast-output{background:var(--bg-primary);padding:12px;border-radius:3px;font-size:13px;overflow-x:auto;white-space:pre-wrap}.error-list{list-style:none}.error-item{color:var(--error-color);padding:8px;background:#f487711a;border-left:3px solid var(--error-color);margin-bottom:5px;border-radius:0 3px 3px 0}.collaborative-demo{display:flex;flex-direction:column;gap:20px}.demo-header{text-align:center}.demo-header h2{color:var(--accent-primary);margin-bottom:10px}.demo-description{color:var(--text-secondary);font-size:14px;max-width:600px;margin:0 auto 15px}.demo-controls{display:flex;justify-content:center;gap:10px}.demo-btn{padding:10px 20px;background:var(--accent-secondary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:14px;transition:background .2s}.demo-btn:hover{background:#0098ff}.demo-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.demo-btn-secondary:hover{background:#3c3c3c}.editors-container{display:grid;grid-template-columns:1fr 1fr;gap:20px}.editor-panel{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:4px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;padding:10px 15px;color:var(--bg-primary);font-weight:700}.panel-title{font-size:14px}.panel-cursor{font-size:12px;opacity:.8}.panel-textarea{width:100%;min-height:150px;padding:12px;background:var(--bg-primary);color:var(--text-primary);border:none;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical}.panel-textarea:focus{outline:none}.panel-status{padding:8px 15px;background:var(--bg-tertiary);font-size:12px;color:var(--text-secondary)}.operations-log{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:15px}.operations-log h3{color:var(--accent-primary);font-size:14px;margin-bottom:10px}.log-container{max-height:200px;overflow-y:auto;background:var(--bg-primary);border-radius:3px;padding:10px}.log-empty{color:var(--text-secondary);text-align:center;font-size:13px}.log-list{list-style:none}.log-item{display:flex;gap:10px;padding:5px 0;border-bottom:1px solid var(--border-color);font-size:12px}.log-item:last-child{border-bottom:none}.log-agent{color:var(--accent-primary);font-weight:700;min-width:50px}.log-type{color:var(--accent-secondary);min-width:50px}.log-content{color:var(--accent-orange)}.log-pos{color:var(--text-secondary);margin-left:auto}.footer{padding:15px;text-align:center;border-top:1px solid var(--border-color);background:var(--bg-secondary);font-size:13px}.footer a{color:var(--accent-secondary);text-decoration:none}.footer a:hover{text-decoration:underline}.demo-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:15px;margin-top:20px}.demo-info h3{color:var(--accent-primary);font-size:14px;margin-bottom:10px}.demo-info p{color:var(--text-secondary);font-size:13px;margin-bottom:10px}.demo-info code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;color:var(--accent-orange)}.code-block{background:var(--bg-primary);padding:15px;border-radius:4px;font-size:12px;overflow-x:auto;line-height:1.6;color:var(--text-primary)}.panel-undo-btn{padding:4px 8px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;font-size:11px;font-family:inherit;margin-left:5px}.panel-undo-btn:hover:not(:disabled){background:#3c3c3c}.panel-undo-btn:disabled{opacity:.4;cursor:not-allowed}.panel-undo-controls{display:flex;gap:5px;margin-left:auto}.shared-doc-info{display:flex;align-items:center;gap:10px;padding:10px 15px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;margin-bottom:15px;overflow:hidden}.shared-label{color:var(--text-secondary);font-size:12px;white-space:nowrap}.shared-text{color:var(--accent-primary);background:var(--bg-primary);padding:4px 8px;border-radius:3px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.demo-steps{margin:15px 0;padding-left:20px}.demo-steps li{color:var(--text-primary);font-size:13px;margin-bottom:8px;line-height:1.5}.demo-note{color:var(--text-secondary);font-size:12px;font-style:italic;margin-top:15px;padding:10px;background:var(--bg-tertiary);border-radius:4px}.log-undo .log-type,.log-redo .log-type{color:var(--accent-orange);font-weight:700}.sync-mode-toggle{margin:15px 0;padding:10px 15px;background:var(--bg-tertiary);border-radius:4px;font-size:13px}.sync-mode-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer}.sync-mode-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.ws-status{font-size:11px;font-weight:700}.ws-status.connected{color:#4ec9b0}.ws-status.disconnected{color:var(--error-color)}@media(max-width:768px){.editors-container{grid-template-columns:1fr}.status-bar{flex-wrap:wrap;gap:10px}.nav{flex-direction:column}.nav-btn{width:100%}}
