.changes-tab-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#999}.changes-tab-empty-icon{font-size:48px;margin-bottom:16px}.changes-tab-empty-message{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px}.changes-tab-empty-description{font-size:14px;color:#999}.changes-tab-content{padding:16px}.changes-tab-section{margin-bottom:32px}.changes-tab-section:last-child{margin-bottom:0}.changes-tab-section-title{font-size:14px;font-weight:600;color:#fff;margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.changes-tab-section-description{font-size:12px;color:#999;margin-bottom:12px}.changes-tab-diff-list{display:flex;flex-direction:column;gap:8px}.diff-row{background:#0d0d0d;border:1px solid #333;border-radius:4px;padding:12px;font-size:13px}.diff-row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.diff-row-label{font-weight:600;color:#fff;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-row-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.diff-row-status--added{background:#1a4d1a;color:#52c41a}.diff-row-status--removed{background:#4d1a1a;color:#ff4d4f}.diff-row-status--modified{background:#1a3d4d;color:#4a9eff}.diff-row-status--renamed{background:#4d3d1a;color:#faad14}.diff-row-status--computed{background:#3d1a4d;color:#a855f7}.diff-row-changes{color:#999}.diff-row-no-changes{color:#666;font-style:italic}.diff-row-fields{display:flex;flex-direction:column;gap:6px}.field-change{display:flex;flex-direction:column;gap:4px}.field-change--labeled .field-change-name{color:#999;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.field-change-values{display:flex;align-items:center;gap:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.field-change-left{color:#ff4d4f;text-decoration:line-through}.field-change-right{color:#52c41a}.field-change-arrow{color:#666}.right-panel{position:fixed;right:0;top:0;bottom:0;width:500px;background:#1a1a1a;border-left:1px solid #333;display:flex;flex-direction:column;z-index:100}.right-panel-tabs{display:flex;border-bottom:1px solid #333;background:#0d0d0d}.right-panel-tab{flex:1;padding:12px 16px;background:none;border:none;color:#999;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.right-panel-tab:hover{color:#fff;background:#1a1a1a}.right-panel-tab.active{color:#fff;border-bottom-color:#4a9eff}.right-panel-tab-badge{background:#333;color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;min-width:20px;text-align:center}.right-panel-tab.active .right-panel-tab-badge{background:#4a9eff}.right-panel-content{flex:1;overflow-y:auto;overflow-x:hidden}.debug-tab-content{height:100%;display:flex;flex-direction:column}.debug-tab-content .debug-drawer{position:static;width:100%;height:100%;border:none;display:flex;flex-direction:column}.debug-tab-content .debug-drawer-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.debug-tab-content .debug-drawer-logs{flex:1;overflow-y:auto}:root,:root[data-theme=light]{--app-bg: #f5f5f5;--app-bg-elevated: #ffffff;--app-bg-secondary: #fafafa;--app-bg-hover: #f9f9f9;--app-text: #333333;--app-text-secondary: #666666;--app-text-meta: #999999;--app-border: #e0e0e0;--app-border-light: #f0f0f0;--app-border-medium: #d0d0d0;--app-primary: #2563eb;--app-primary-hover: #1d4ed8;--app-primary-light: #93c5fd;--app-success: #22c55e;--app-error: #dc2626;--app-error-bg: #fef2f2;--app-info: #3b82f6;--formula-identifier: #2563eb;--formula-number: #059669;--formula-string: #d97706;--formula-function: #7c3aed;--formula-operator: #666666;--container-bg: #fafafa;--container-text: #374151;--array-badge-bg: #e0e7ff;--array-badge-text: #3730a3;--code-bg: #f0f0f0;--app-shadow: rgba(0, 0, 0, .1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--app-bg: #1e1e1e;--app-bg-elevated: #2d2d2d;--app-bg-secondary: #252525;--app-bg-hover: #333333;--app-text: #e0e0e0;--app-text-secondary: #a0a0a0;--app-text-meta: #707070;--app-border: #404040;--app-border-light: #353535;--app-border-medium: #4a4a4a;--app-primary: #3b82f6;--app-primary-hover: #60a5fa;--app-primary-light: #1e40af;--app-success: #10b981;--app-error: #ef4444;--app-error-bg: #3f1f1f;--app-info: #3b82f6;--formula-identifier: #60a5fa;--formula-number: #34d399;--formula-string: #fbbf24;--formula-function: #a78bfa;--formula-operator: #a0a0a0;--container-bg: #252525;--container-text: #d1d5db;--array-badge-bg: #312e81;--array-badge-text: #c7d2fe;--code-bg: #2d2d2d;--app-shadow: rgba(0, 0, 0, .3)}}:root[data-theme=dark]{--app-bg: #1e1e1e;--app-bg-elevated: #2d2d2d;--app-bg-secondary: #252525;--app-bg-hover: #333333;--app-text: #e0e0e0;--app-text-secondary: #a0a0a0;--app-text-meta: #707070;--app-border: #404040;--app-border-light: #353535;--app-border-medium: #4a4a4a;--app-primary: #3b82f6;--app-primary-hover: #60a5fa;--app-primary-light: #1e40af;--app-success: #10b981;--app-error: #ef4444;--app-error-bg: #3f1f1f;--app-info: #3b82f6;--formula-identifier: #60a5fa;--formula-number: #34d399;--formula-string: #fbbf24;--formula-function: #a78bfa;--formula-operator: #a0a0a0;--container-bg: #252525;--container-text: #d1d5db;--array-badge-bg: #312e81;--array-badge-text: #c7d2fe;--code-bg: #2d2d2d;--app-shadow: rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--app-text);background:var(--app-bg)}code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.9em;background:var(--code-bg);padding:.2em .4em;border-radius:3px}.editor-page{display:flex;height:100vh;background:var(--app-bg-elevated)}.editor-main-content{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--app-border);background:var(--app-bg-elevated)}.header-title{display:flex;align-items:center;gap:.75rem}.back-button{padding:.5rem .75rem;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:4px;cursor:pointer;font-size:1.25rem;line-height:1;color:var(--app-text);transition:background .2s}.back-button:hover{background:var(--app-bg-hover)}.editor-header h1{margin:0;font-size:1.25rem;font-weight:600}.editor-info{display:flex;gap:1.5rem;align-items:center;font-size:.875rem}.change-id{color:var(--app-text-secondary);font-family:SF Mono,monospace}.connection-status{color:var(--app-success);font-weight:500}.presence-indicator{color:var(--app-text-secondary);font-weight:500;font-size:.875rem}.save-status{font-size:.875rem;font-weight:500;transition:opacity .3s ease-in-out}.save-status-idle{opacity:0}.save-status-saving{color:var(--app-info);opacity:1}.save-status-saved{color:var(--app-success);opacity:1;animation:fadeOut 2s ease-in-out forwards}.save-status-error{color:var(--app-error);opacity:1}.save-button{padding:.5rem 1rem;background:var(--app-primary);color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.save-button:hover:not(:disabled){background:var(--app-primary-hover)}.save-button:disabled{background:var(--app-primary-light);cursor:not-allowed;opacity:.5}.db-save-status{font-size:.875rem;font-weight:500;transition:opacity .3s ease-in-out}.db-save-status-idle{opacity:0}.db-save-status-saving{color:var(--app-info);opacity:1}.db-save-status-saved{color:var(--app-success);opacity:1;animation:fadeOut 3s ease-in-out forwards}.db-save-status-error{color:var(--app-error);opacity:1}@keyframes fadeOut{0%,80%{opacity:1}to{opacity:0}}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid var(--app-border);background:var(--app-bg-secondary)}.node-count{color:var(--app-text-secondary);font-size:.875rem}.filter-dropdown{position:relative}.filter-dropdown-toggle{padding:.5rem 1rem;background:var(--app-bg-elevated);border:1px solid var(--app-border-medium);border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--app-text)}.filter-dropdown-toggle:hover{background:var(--app-bg-hover)}.filter-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background:var(--app-bg-elevated);border:1px solid var(--app-border-medium);border-radius:4px;box-shadow:0 4px 12px var(--app-shadow);padding:.5rem 0;z-index:100}.filter-radio{display:flex;align-items:center;padding:.5rem 1rem;cursor:pointer}.filter-radio:hover{background:var(--app-bg-secondary)}.filter-radio input[type=radio]{margin-right:.5rem}.filter-label{flex:1;display:flex;justify-content:space-between;font-size:.875rem}.filter-count{color:var(--app-text-meta);margin-left:.5rem}.editor-content{flex:1;overflow:auto;padding:0;margin-right:500px}.tea-table{width:100%;border-collapse:collapse;font-size:.875rem}.tea-table thead{position:sticky;top:0;background:var(--app-bg-secondary);border-bottom:2px solid var(--app-border);z-index:10}.tea-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--app-text-secondary);border-bottom:1px solid var(--app-border)}.tea-table tbody tr:hover{background:var(--app-bg-hover)}.tea-table td{padding:.75rem 1rem;border-bottom:1px solid var(--app-border-light);vertical-align:top}.node-label{font-weight:500;min-width:200px}.container-row{background:var(--container-bg)}.container-row .node-label{font-weight:600;color:var(--container-text)}.container-icon{opacity:.6;margin-right:.25rem}.formula-indicator{opacity:.6;margin-left:.375rem;color:var(--formula-identifier);font-style:italic;font-weight:600}.node-value{font-family:SF Mono,monospace;min-width:150px}.array-badge{display:inline-block;background:var(--array-badge-bg);color:var(--array-badge-text);font-size:.75rem;font-weight:600;padding:.125rem .375rem;border-radius:3px;margin-right:.5rem;font-family:-apple-system,sans-serif}.node-formula{min-width:300px;max-width:500px}.node-units{color:var(--app-text-secondary);min-width:80px}.editable{cursor:pointer;position:relative}.editable:hover{background:var(--app-bg-secondary);outline:1px solid var(--app-border)}.edit-input{width:100%;padding:.25rem;font-family:SF Mono,monospace;font-size:.875rem;border:1px solid var(--app-primary);border-radius:2px;outline:none;background:var(--app-bg-elevated);color:var(--app-text)}.edit-input:focus{border-color:var(--app-primary-hover);box-shadow:0 0 0 2px #2563eb1a}.error-row{background:var(--app-error-bg)}.error-row .node-value{color:var(--app-error);font-weight:500}.formula-display{font-family:SF Mono,monospace;font-size:.875rem;line-height:1.4}.formula-token{display:inline}.formula-token--identifier{color:var(--formula-identifier)}.formula-token--operator{color:var(--formula-operator);font-weight:600}.formula-token--number{color:var(--formula-number)}.formula-token--string{color:var(--formula-string)}.formula-token--function{color:var(--formula-function);font-weight:600}.formula-token--identifier a{color:var(--formula-identifier);text-decoration:none}.formula-token--identifier a:hover{text-decoration:underline}.status-message{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1rem;color:var(--app-text-secondary)}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:2rem;text-align:center}.error-message h2{margin:0 0 1rem;color:var(--app-error)}.error-message p{margin:0 0 1.5rem;color:var(--app-text-secondary);max-width:500px}.error-message button{padding:.75rem 1.5rem;background:var(--app-primary);color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer}.error-message button:hover{background:var(--app-primary-hover)}.empty-state{padding:3rem;text-align:center;color:var(--app-text-meta);font-size:.875rem}.theme-toggle{padding:.5rem .75rem;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:4px;cursor:pointer;font-size:1.25rem;line-height:1;transition:background .2s}.theme-toggle:hover{background:var(--app-bg-hover)}.formula-toggle{padding:.5rem .75rem;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;color:var(--app-text-secondary);transition:all .2s}.formula-toggle:hover{background:var(--app-bg-hover);border-color:var(--app-border-medium)}.formula-toggle.active{background:var(--app-primary);color:#fff;border-color:var(--app-primary)}.formula-toggle.active:hover{background:var(--app-primary-hover);border-color:var(--app-primary-hover)}.node-row--formula-detail{background:var(--app-bg-secondary)}.node-row--formula-detail .node-formula-detail{max-width:none;white-space:pre-wrap;overflow:visible;text-overflow:clip;padding-top:4px;padding-bottom:12px;padding-left:2rem;background:var(--app-bg-secondary);border-top:none;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;line-height:1.5}.node-row--formula-detail .node-formula-detail.editable{cursor:pointer;transition:background .15s}.node-row--formula-detail .node-formula-detail.editable:hover{background:var(--app-bg-hover)}.node-row--formula-detail .edit-input{width:100%;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;padding:4px 8px;border:1px solid var(--app-primary);border-radius:2px;background:var(--app-bg);color:var(--app-text)}.debug-drawer{width:500px;display:flex;flex-direction:column;border-left:1px solid var(--app-border);background:var(--app-bg-elevated);overflow:hidden}.debug-drawer-content{display:flex;flex-direction:column;height:100vh;overflow:hidden}.debug-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--app-border);background:var(--app-bg-secondary)}.debug-drawer-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--app-text)}.debug-drawer-actions{display:flex;align-items:center;gap:1rem}.debug-drawer-count{font-size:.75rem;color:var(--app-text-meta);font-weight:500}.debug-drawer-clear{padding:.25rem .75rem;background:var(--app-bg-elevated);border:1px solid var(--app-border);border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;color:var(--app-text-secondary);transition:all .2s}.debug-drawer-clear:hover{background:var(--app-bg-hover);color:var(--app-text);border-color:var(--app-border-medium)}.debug-drawer-logs{flex:1;overflow-y:auto;padding:.5rem}.debug-drawer-empty{padding:2rem;text-align:center;color:var(--app-text-meta);font-size:.875rem}.debug-log-entry{margin-bottom:.5rem;border-left:3px solid transparent;background:var(--app-bg-secondary);border-radius:4px;overflow:hidden}.debug-log-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;line-height:1.4}.debug-log-icon{font-weight:700;font-size:.875rem;width:1rem;text-align:center;flex-shrink:0}.debug-log-category{color:var(--app-text-secondary);font-weight:600;text-transform:uppercase;font-size:.7rem;flex-shrink:0}.debug-log-message{color:var(--app-text);flex:1;min-width:0}.debug-log-count{color:var(--app-text-meta);font-family:SF Mono,monospace;font-size:.7rem;background:var(--app-bg);padding:.125rem .375rem;border-radius:3px;font-weight:600;flex-shrink:0}.debug-log-expand{color:var(--app-text-secondary);font-weight:700;font-size:1rem;flex-shrink:0;width:1rem;text-align:center}.debug-log-data{margin:0;padding:.75rem;background:var(--code-bg);border-top:1px solid var(--app-border-light);font-family:SF Mono,monospace;font-size:.7rem;line-height:1.4;color:var(--app-text);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.formula-editor{position:relative;width:100%}.formula-editor-content{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;line-height:1.5;padding:4px 8px;border:1px solid var(--app-border);border-radius:2px;background:var(--app-bg-elevated);color:var(--app-text);min-height:2rem;outline:none}.formula-editor-content:focus{border-color:var(--app-primary);box-shadow:0 0 0 2px #2563eb1a}.formula-editor-placeholder{position:absolute;top:4px;left:8px;color:var(--app-text-meta);font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;pointer-events:none;-webkit-user-select:none;user-select:none}.formula-editor-paragraph{margin:0;white-space:pre-wrap}.formula-editor .formula-token--identifier{color:var(--formula-identifier);font-weight:500}.formula-editor .formula-token--operator{color:var(--formula-operator);font-weight:600}.formula-editor .formula-token--number{color:var(--formula-number)}.formula-editor .formula-token--string{color:var(--formula-string)}.formula-editor .formula-token--boolean{color:var(--formula-number);font-weight:600}.formula-editor .formula-token--function{color:var(--formula-function);font-weight:600}.formula-editor .formula-token--punctuation{color:var(--app-text)}
