*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-height:100vh}#app{min-height:100vh}button,input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{margin:0}ul,ol{margin:0;padding:0;list-style:none}:root{--color-primary: #1976d2;--color-primary-hover: #1565c0;--color-primary-light: #e3f2fd;--color-primary-dark: #0d47a1;--color-success: #2e7d32;--color-success-hover: #1b5e20;--color-success-light: #e8f5e9;--color-success-dark: #1b5e20;--color-error: #c62828;--color-error-hover: #b71c1c;--color-error-light: #ffebee;--color-error-dark: #b71c1c;--color-warning: #e65100;--color-warning-hover: #d84315;--color-warning-light: #fff3e0;--color-warning-dark: #bf360c;--color-info: #0288d1;--color-info-hover: #0277bd;--color-info-light: #e1f5fe;--color-info-dark: #01579b;--color-purple: #7c3aed;--color-purple-hover: #6d28d9;--color-purple-light: #ede9fe;--color-text: #333333;--color-text-secondary: #555555;--color-text-muted: #666666;--color-text-light: #888888;--color-text-disabled: #999999;--color-bg: #ffffff;--color-bg-secondary: #f9f9f9;--color-bg-tertiary: #f5f5f5;--color-bg-hover: #f0f0f0;--color-border: #e0e0e0;--color-border-light: #eeeeee;--color-border-dark: #cccccc;--color-border-focus: var(--color-primary);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 48px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 50%;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .2);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}p{margin-bottom:var(--space-md)}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}code,pre{font-family:var(--font-mono);font-size:.9em}code{background:var(--color-bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary-light);color:var(--color-primary-dark)}.fullscreen-modal-container.show-highlights .highlighted-node{display:inline-block;vertical-align:middle;background-color:#ffff004d;border-radius:2px;box-shadow:0 0 0 1.5px var(--color-error);padding:2px 5px;margin:0 1px;transition:all .3s ease}.fullscreen-modal-container.show-highlights .highlighted-source-node,.highlighted-source-node{display:inline-block;vertical-align:middle;background-color:#2196f333;border-radius:2px;box-shadow:0 0 0 1.5px #1976d2;padding:2px 5px;margin:0 1px;transition:all .3s ease}.fullscreen-modal-container.show-previous .formula-container{background-color:#ffeb3b26;border:1px dashed #fbc02d;border-radius:8px;padding:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:1;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-dark)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:var(--color-success-hover)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-error-hover)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text)}.btn-link{background:transparent;color:var(--color-primary);padding:0;border:none}.btn-link:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline}.btn-xs{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.btn-sm{padding:6px var(--space-md);font-size:var(--text-sm)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--text-base)}.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius-full)}.btn-icon.btn-sm{width:28px;height:28px}.input,.textarea,.select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--color-bg-tertiary);color:var(--color-text-disabled);cursor:not-allowed}.input.error,.textarea.error,.select.error{border-color:var(--color-error)}.input.error:focus,.textarea.error:focus{box-shadow:0 0 0 3px var(--color-error-light)}.textarea{resize:vertical;min-height:80px;line-height:var(--line-height-normal)}.input-sm,.select-sm{padding:6px var(--space-sm);font-size:var(--text-xs)}.form-label{display:block;margin-bottom:var(--space-xs);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-label .required{color:var(--color-error);margin-left:2px}.form-help{margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--color-text-muted)}.form-error{margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--color-error)}.form-row{display:flex;gap:var(--space-md);align-items:flex-start}.checkbox-label,.radio-label{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-sm)}.checkbox-label input,.radio-label input{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.card-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.card-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold)}.card-footer{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border-light)}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border-left:4px solid;margin-bottom:var(--space-lg);font-size:var(--text-sm)}.alert:last-child{margin-bottom:0}.alert-success{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success)}.alert-error{background:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.alert-warning{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning)}.alert-info{background:var(--color-info-light);border-color:var(--color-info);color:var(--color-info)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-sm);font-size:var(--text-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.025em}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-error{background:var(--color-error-light);color:var(--color-error)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-purple{background:var(--color-purple-light);color:var(--color-purple)}.list{display:flex;flex-direction:column;gap:var(--space-sm)}.list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);transition:background var(--transition-fast)}.list-item:hover{background:var(--color-bg-tertiary)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--color-border-light)}.table th{background:var(--color-bg-tertiary);font-weight:var(--font-weight-semibold);border-bottom-width:2px;border-color:var(--color-border)}.table tbody tr:hover td{background:var(--color-bg-secondary)}.empty-state{padding:var(--space-3xl);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);background:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px}.spinner-lg{width:32px;height:32px;border-width:3px}.divider{height:1px;background:var(--color-border-light);margin:var(--space-lg) 0}.section{margin-bottom:var(--space-3xl)}.section:last-child{margin-bottom:0}.section-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-lg);color:var(--color-text)}.section-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:calc(-1 * var(--space-sm));margin-bottom:var(--space-lg)}.d-none{display:none!important}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-grid{display:grid}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-around{justify-content:space-around}.flex-1{flex:1}.flex-auto{flex:auto}.flex-shrink-0{flex-shrink:0}.gap-xl{gap:var(--space-xl)}.m-0{margin:0}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--space-xs)}.mt-2xl{margin-top:var(--space-2xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--space-xs)}.mb-2xl{margin-bottom:var(--space-2xl)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-2xl{padding:var(--space-2xl)}.pt-0{padding-top:0}.pt-md{padding-top:var(--space-md)}.pb-0{padding-bottom:0}.pb-md{padding-bottom:var(--space-md)}.pb-lg{padding-bottom:var(--space-lg)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-light{color:var(--color-text-light)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-nowrap{white-space:nowrap}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.min-h-0{min-height:0}.border{border:1px solid var(--color-border)}.border-0{border:none}.border-b{border-bottom:1px solid var(--color-border)}.border-light{border-color:var(--color-border-light)}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.bg-transparent{background:transparent}.bg-white{background:var(--color-bg)}.bg-secondary{background:var(--color-bg-secondary)}.bg-tertiary{background:var(--color-bg-tertiary)}.bg-primary-light{background:var(--color-primary-light)}.bg-success-light{background:var(--color-success-light)}.bg-error-light{background:var(--color-error-light)}.bg-warning-light{background:var(--color-warning-light)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:none}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-none{transition:none}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop);padding:var(--space-xl);animation:modal-fade-in .2s ease-out}.modal-container{background:var(--color-bg);border-radius:var(--radius-xl);position:relative;width:100%;max-width:640px;max-height:calc(100vh - var(--space-4xl));display:flex;flex-direction:column;box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:modal-slide-in .3s ease-out}.modal-container.modal-sm{max-width:480px}.modal-container.modal-md{max-width:800px}.modal-container.modal-lg{max-width:1000px}.modal-container.modal-xl{max-width:1200px}.modal-container.modal-full{max-width:1400px;width:95vw}.max-w-sm{max-width:480px}.max-w-md{max-width:640px}.max-w-lg{max-width:800px}.max-w-xl{max-width:1000px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-shrink:0}.modal-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:#fff}.modal-header .close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);color:#fff;font-size:1.25rem;cursor:pointer;transition:all var(--transition-fast)}.modal-header .close-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff4d;transform:scale(1.05)}.modal-header .close-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-body{flex:1;padding:var(--space-xl);overflow-y:auto;background:#fafbfc}.modal-body.padded-lg{padding:var(--space-2xl)}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);background:#fff;border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-shrink:0}.modal-footer .unsaved-indicator{margin-right:auto;color:var(--color-warning);font-size:var(--text-sm)}.settings-section,.modal-section{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl)}.settings-section:last-child,.modal-section:last-child{margin-bottom:0}.settings-section h3,.modal-section h3{margin:0 0 var(--space-lg) 0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-text);padding-bottom:var(--space-sm);border-bottom:3px solid #3b82f6}.modal-section-help,.section-help{margin-bottom:var(--space-lg);color:var(--color-text-muted);font-size:var(--text-sm)}.modal-body.two-panel{display:flex;padding:0}.modal-panel-left{width:320px;flex-shrink:0;padding:var(--space-xl);border-right:1px solid var(--color-border);background:var(--color-bg-secondary);overflow-y:auto}.modal-panel-right{flex:1;padding:var(--space-xl);overflow-y:auto}.split-pane{display:flex;gap:var(--space-lg);height:100%;min-height:400px}.left-pane{width:300px;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;background:#fff}.right-pane{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;background:#fff}.pane-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.pane-header h3{margin:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.form-group{margin-bottom:var(--space-lg)}.form-group:last-child{margin-bottom:0}.form-label{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-medium);color:var(--color-text);font-size:var(--text-sm)}.form-row{display:flex;gap:var(--space-sm);align-items:center}.form-row>.input,.form-row>.select{flex:1}.form-error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-xs)}.form-help,.field-help{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-xs)}.input,.select,.textarea{width:100%;padding:var(--space-md) var(--space-lg);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;background:#fff;color:var(--color-text);transition:all var(--transition-fast)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-bg-tertiary);color:var(--color-text-disabled);cursor:not-allowed}.input.error,.select.error,.textarea.error{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.input-sm{padding:var(--space-sm) var(--space-md);font-size:var(--text-xs)}.textarea{min-height:100px;resize:vertical}.checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio]{width:auto;cursor:pointer}.btn,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-2xl);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);font-family:inherit;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;min-height:42px;letter-spacing:.025em}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled,.btn-danger:disabled,.btn-ghost:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);box-shadow:0 1px 2px #0000000d}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-dark);color:var(--color-text);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.btn-success{background:var(--color-success);color:#fff;border:1px solid var(--color-success)}.btn-success:hover:not(:disabled){background:var(--color-success-hover);border-color:var(--color-success-hover)}.btn-danger{background:var(--color-error);color:#fff;border:1px solid var(--color-error)}.btn-danger:hover:not(:disabled){background:var(--color-error-hover);border-color:var(--color-error-hover)}.btn-ghost{background:transparent;color:var(--color-text-muted);border:none;padding:var(--space-sm)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.btn-outline-primary{background:var(--color-bg);color:var(--color-primary);border:1px solid var(--color-primary-light)}.btn-outline-primary:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary)}.btn-outline-success{background:var(--color-bg);color:var(--color-success);border:1px solid var(--color-success-light)}.btn-outline-success:hover:not(:disabled){background:var(--color-success-light);border-color:var(--color-success)}.btn-outline-danger{background:var(--color-bg);color:var(--color-error);border:1px solid var(--color-error-light)}.btn-outline-danger:hover:not(:disabled){background:var(--color-error-light);border-color:var(--color-error)}.btn-outline-warning{background:var(--color-bg);color:var(--color-warning);border:1px solid var(--color-warning-light)}.btn-outline-warning:hover:not(:disabled){background:var(--color-warning-light);border-color:var(--color-warning)}.btn-outline{background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-outline:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-dark);color:var(--color-text)}.btn-icon{width:28px;height:28px;min-height:28px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-dark);color:var(--color-text)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon-success{color:var(--color-success);border-color:var(--color-success-light)}.btn-icon-success:hover:not(:disabled){background:var(--color-success-light);border-color:var(--color-success)}.btn-icon-danger{color:var(--color-error);border-color:var(--color-error-light)}.btn-icon-danger:hover:not(:disabled){background:var(--color-error-light);border-color:var(--color-error)}.btn-icon-primary{color:var(--color-primary);border-color:var(--color-primary-light)}.btn-icon-primary:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary)}.btn-icon-lg{width:36px;height:36px;min-height:36px;font-size:var(--text-base)}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--text-xs);min-height:32px}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:var(--text-base);min-height:48px}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);border-left:4px solid}.alert-info{background:#eff6ff;color:#1e40af;border-left-color:#3b82f6}.alert-success{background:#f0fdf4;color:#166534;border-left-color:#22c55e}.alert-warning{background:#fffbeb;color:#92400e;border-left-color:#f59e0b}.alert-error{background:#fef2f2;color:#b91c1c;border-left-color:#ef4444}.loading-state{text-align:center;padding:var(--space-3xl);color:var(--color-text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.z-1000{z-index:1000}.z-1001{z-index:1001}.z-1002{z-index:1002}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.pt-lg{padding-top:var(--space-lg)}.border-t{border-top:1px solid var(--color-border)}@media(max-width:768px){.modal-container{width:95%;max-height:95vh;margin:var(--space-sm)}.modal-header,.modal-body{padding:var(--space-lg)}.modal-footer{padding:var(--space-md) var(--space-lg);flex-direction:column;gap:var(--space-sm)}.modal-footer .btn{width:100%}.split-pane{flex-direction:column}.left-pane{width:100%;max-height:200px}.modal-panel-left{width:100%;border-right:none;border-bottom:1px solid var(--color-border)}}.pattern-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);background:var(--color-bg-secondary);transition:all var(--transition-normal)}.pattern-item:hover{border-color:var(--color-primary)}.pattern-item.dragging{opacity:.6;border-style:dashed}.pattern-item.drag-over{border-color:var(--color-primary);background:var(--color-primary-light)}.pattern-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.pattern-header-left{display:flex;align-items:center;gap:var(--space-md);flex:1;min-width:0}.drag-handle{cursor:grab;color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-xs);-webkit-user-select:none;user-select:none;flex-shrink:0}.drag-handle:active{cursor:grabbing}.pattern-label{font-weight:var(--font-weight-semibold);color:var(--color-text);white-space:nowrap;flex-shrink:0}.pattern-comment-input{flex:1;min-width:0;padding:6px var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-secondary)}.pattern-comment-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.constraints-summary{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.constraints-summary.error{border-color:var(--color-error);background:var(--color-error-light)}.constraints-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.constraints-empty{color:var(--color-text-disabled);font-style:italic;font-size:var(--text-sm)}.constraints-preview{display:flex;gap:6px;flex-wrap:wrap;flex:1}.constraint-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-xl);font-size:var(--text-xs)}.constraint-chip.constraint-broken{background:var(--color-error-light);color:var(--color-error)}.constraint-more{color:var(--color-text-secondary);font-size:var(--text-xs)}.btn-constraints{padding:var(--space-xs) var(--space-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;flex-shrink:0}.btn-constraints:hover{background:var(--color-primary-hover)}.validation-error{color:var(--color-error);font-size:var(--text-xs);margin-top:var(--space-xs)}.constraint-validation-errors{margin-top:var(--space-sm)}.constraint-error-item{color:var(--color-error);font-size:var(--text-xs);padding:var(--space-xs) 0}.partial-match-row{display:flex;gap:var(--space-2xl);flex-wrap:wrap}.partial-match-option{flex:1;min-width:200px}.flag-with-hover-help{position:relative}.field-help-hover{display:none;position:absolute;left:0;top:100%;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-xs);color:var(--color-text-secondary);z-index:var(--z-tooltip);box-shadow:var(--shadow-md);max-width:400px}.flag-with-hover-help:hover .field-help-hover{display:block}.warning-text{color:var(--color-error);font-weight:var(--font-weight-semibold)}.warning-icon{margin-left:var(--space-xs)}.postprocessing-rules-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.postprocessing-rule-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.rule-order-badge{width:24px;height:24px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.parameter-item{padding:var(--space-lg);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.parameter-fields{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--space-lg);align-items:start}@media(max-width:900px){.parameter-fields{grid-template-columns:1fr}}.parameter-help{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg)}.parameter-help h4{margin:0 0 var(--space-sm);font-size:var(--text-sm);color:var(--color-warning)}.precondition-display{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg)}.precondition-value{font-size:var(--text-sm);font-family:var(--font-mono)}.precondition-none,.precondition-outdated{font-size:var(--text-sm);color:var(--color-text-secondary);font-style:italic}.pattern-controls{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.btn-help-toggle{background:none;border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast)}.btn-help-toggle:hover{background:var(--color-bg-tertiary)}.btn-add-pattern-compact,.btn-icon-text{background:var(--color-primary);color:#fff;border:none;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--transition-fast)}.btn-add-pattern-compact:hover,.btn-icon-text:hover{background:var(--color-primary-hover)}.pattern-add-section{margin-top:var(--space-lg)}.btn-add-pattern{background:var(--color-bg-tertiary);color:var(--color-primary);border:2px dashed var(--color-primary);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);width:100%;transition:background var(--transition-fast)}.btn-add-pattern:hover{background:var(--color-primary-light)}.pattern-help-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}.pattern-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-sm) var(--space-2xl)}.help-section{font-size:var(--text-sm);color:var(--color-text-secondary)}.help-section strong{color:var(--color-text)}.help-section code{background:var(--color-bg-tertiary);padding:1px var(--space-xs);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:var(--text-xs)}.type-buttons{display:flex;gap:var(--space-md)}.type-btn{flex:1;padding:var(--space-md);border:2px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);transition:all var(--transition-fast)}.type-btn:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.type-btn.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.file-previews{margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.file-preview-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.file-name{flex:1;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:var(--text-xs);color:var(--color-text-muted)}.btn-remove-file{background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-full);width:24px;height:24px;cursor:pointer;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-remove-file:hover:not(:disabled){background:var(--color-error-hover)}.btn-remove-file:disabled{opacity:.5;cursor:not-allowed}.hint-box{padding:var(--space-md) var(--space-xl);background:var(--color-primary-light);border-left:4px solid var(--color-primary);font-size:var(--text-sm);color:var(--color-primary-hover)}.browse-link{color:var(--color-primary);text-decoration:underline;cursor:pointer;font-weight:var(--font-weight-semibold)}.browse-link:hover{color:var(--color-primary-hover)}.badge-bug{background:var(--color-error-light);color:var(--color-error)}.badge-enhancement{background:var(--color-primary-light);color:var(--color-primary-hover)}.badge-public{background:var(--color-success-light);color:var(--color-success)}.badge-status-open{background:var(--color-primary-light);color:var(--color-primary)}.badge-status-acknowledged{background:var(--color-warning-light);color:var(--color-warning)}.badge-status-in-progress{background:#fff9c4;color:#f57f17}.badge-status-fixed{background:var(--color-success-light);color:var(--color-success)}.badge-status-rejected{background:var(--color-error-light);color:var(--color-error)}.badge-status-closed{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.badge-priority-low{background:var(--color-success-light);color:var(--color-success)}.badge-priority-medium{background:#fff9c4;color:#f57f17}.badge-priority-high{background:var(--color-warning-light);color:var(--color-warning)}.badge-priority-urgent{background:var(--color-error-light);color:var(--color-error)}.badge-severity-low{background:var(--color-success-light);color:var(--color-success)}.badge-severity-medium{background:#fff9c4;color:#f57f17}.badge-severity-high{background:var(--color-warning-light);color:var(--color-warning)}.badge-severity-critical{background:var(--color-error-light);color:var(--color-error)}.feedback-table{width:100%;border-collapse:collapse}.feedback-table th,.feedback-table td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.feedback-table th{background:var(--color-bg-secondary);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);font-size:var(--text-sm);position:sticky;top:0}.feedback-table tbody tr:hover td{background:var(--color-bg-secondary)}.id-col{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.title-col{font-weight:var(--font-weight-medium)}.filters-section{display:flex;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);flex-wrap:wrap;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);flex-shrink:0}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.filter-group select,.filter-group input{padding:6px var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.search-group{flex:1;min-width:200px}.search-group input{width:100%}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0}.btn-page{padding:6px var(--space-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm)}.btn-page:disabled{background:var(--color-border-dark);cursor:not-allowed}.btn-page:not(:disabled):hover{background:var(--color-primary-hover)}.page-info{font-size:var(--text-sm);color:var(--color-text-muted)}.comments-list{display:flex;flex-direction:column;gap:var(--space-md)}.comment-item{padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:flex-start}.comment-header{display:flex;gap:var(--space-md);align-items:center;margin-bottom:var(--space-xs)}.comment-date{font-size:var(--text-xs);color:var(--color-text-muted)}.comment-text{white-space:pre-wrap;line-height:var(--line-height-normal)}.add-comment{margin-top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.comment-actions{display:flex;justify-content:flex-end}.metadata-section{background:var(--color-bg-secondary);padding:var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.meta-item{display:flex;flex-direction:column;gap:5px}.meta-item label{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.description-box,.context-box{padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);white-space:pre-wrap;line-height:var(--line-height-relaxed)}.context-box pre{margin:5px 0;font-size:var(--text-xs);overflow-x:auto}.formula-content-view{display:flex;flex-direction:column;height:100%;min-height:0;padding:var(--space-lg);gap:var(--space-lg);overflow-y:auto}.formula-input-section,.history-container,.navigation-section,.ast-tree-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.formula-input-section{min-height:200px;padding:var(--space-2xl)}.formula-input-title{margin:0 0 var(--space-lg) 0;font-size:var(--text-xl);font-weight:var(--font-weight-semibold)}.formula-input-form{display:flex;flex-direction:column;gap:var(--space-lg)}.formula-help-text{font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-xs)}.formula-help-text code{background:var(--color-bg-hover);padding:2px var(--space-xs);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:11px}.input-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.submit-container{display:flex;justify-content:flex-end}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-lg)}.history-header h4{margin:0;flex-grow:1}.context-flags,.history-controls{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.flag-toggle-btn,.history-control-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);min-height:32px}.flag-toggle-btn:hover,.history-control-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-dark)}.flag-toggle-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.flag-toggle-btn:disabled,.history-control-btn:disabled{opacity:.5;cursor:not-allowed}.flag-icon{font-size:var(--text-sm)}.history-entry{border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);background:var(--color-bg-secondary);transition:all var(--transition-fast)}.history-entry.expanded{background:var(--color-bg)}.highlighted-entry{animation:highlight-pulse 2s ease-in-out;border-color:var(--color-primary)!important}@keyframes highlight-pulse{0%,to{background-color:var(--color-bg-secondary)}50%{background-color:var(--color-primary-light);box-shadow:0 0 20px #1976d24d}}.entry-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:var(--space-md)}.history-entry.expanded .entry-header{border-bottom:1px solid var(--color-border)}.entry-info{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;flex:1}.entry-number{font-weight:var(--font-weight-bold);color:var(--color-primary)}.entry-action{background:var(--color-bg-tertiary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);flex:1;word-break:break-word}.history-entry .node-count-info{background:var(--color-bg-tertiary);color:var(--color-text-muted);border:1px solid var(--color-border);padding:1px 6px;border-radius:var(--radius-sm);font-size:11px;font-weight:var(--font-weight-normal);opacity:.8;transition:opacity var(--transition-fast)}.history-entry .node-count-info:hover{opacity:1;background:var(--color-bg-hover)}.success-indicator{color:var(--color-success)}.error-indicator{color:var(--color-error)}.entry-actions-compact{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);flex-wrap:wrap}.compact-btn{background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);padding:var(--space-xs);font-size:var(--text-xs);cursor:pointer;color:var(--color-text-muted);opacity:.6;transition:all var(--transition-fast);min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.compact-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border);opacity:1}.compact-btn.delete-btn:hover{color:var(--color-error)}.compact-checkbox{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);opacity:.6}.compact-checkbox:hover{opacity:1}.entry-main-content{padding:var(--space-md)}.entry-collapsible-content{padding-top:var(--space-xs)}.latex-container,.latex-display{background:var(--color-bg);padding:var(--space-lg);border-radius:var(--radius-sm);border:1px solid var(--color-border);overflow-x:auto;min-height:50px}.comments-controls-inline{display:flex;align-items:center;gap:var(--space-xs);margin-left:auto;padding-left:var(--space-md);border-left:1px solid var(--color-border-light)}.comments-label{font-size:var(--text-xs);color:var(--color-text-muted)}.comment-display{margin:var(--space-sm) 0;padding:var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--line-height-relaxed)}.comment-edit{margin:var(--space-sm) 0;display:flex;flex-direction:column;gap:var(--space-sm)}.comment-textarea{width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;font-family:var(--font-family);font-size:var(--text-sm);min-height:120px}.comment-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.comment-actions{display:flex;gap:var(--space-sm)}.edit-comment-btn,.voice-btn,.ai-improve-btn,.copy-ref-btn,.cancel-btn{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.edit-comment-btn:hover,.voice-btn:hover,.ai-improve-btn:hover,.copy-ref-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.undo-improve-btn{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-warning);border-radius:var(--radius-xs);background:var(--color-warning-light);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);color:var(--color-warning);font-weight:var(--font-weight-medium)}.undo-improve-btn:hover{background:var(--color-warning);color:#fff}.label-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-primary);font-weight:var(--font-weight-medium)}.voice-controls{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:var(--text-xs)}.voice-mode-selector select{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg);font-size:var(--text-xs)}.voice-record-button{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg);cursor:pointer}.voice-record-button.recording{background:var(--color-bg-tertiary);border-color:var(--color-primary)}.interim-transcript{padding:var(--space-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-xs);font-style:italic;color:var(--color-text-muted);font-size:var(--text-xs)}.voice-context-input{width:100%;min-height:60px;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:var(--text-xs);resize:vertical}.navigation-controls{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-lg)}.nav-btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer}.nav-btn:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.ast-header{display:flex;align-items:center;cursor:pointer;padding:var(--space-sm) var(--space-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);transition:all var(--transition-fast)}.ast-header:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.expand-btn{background:none;border:none;cursor:pointer;margin-right:var(--space-sm);color:var(--color-text-muted)}.ast-header h4{margin:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.ast-content{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-sm)}.ast-tree{max-height:400px;overflow-y:auto;background:var(--color-bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs)}.index-validation-badge{color:var(--color-warning);margin-left:var(--space-sm);cursor:help}.invalid-indices{border:2px solid var(--color-error);border-radius:var(--radius-sm);padding:var(--space-xs)}.export-option{margin:var(--space-lg) 0;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);cursor:pointer;transition:all var(--transition-fast)}.export-option:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary)}.export-option:has(input:checked){background:var(--color-primary-light);border-color:var(--color-primary)}.export-option-label{display:flex;align-items:flex-start;gap:var(--space-md);cursor:pointer}.export-option-content{display:flex;flex-direction:column;gap:var(--space-xs)}.export-option-content strong{color:var(--color-text)}.export-option-content span{font-size:var(--text-sm);color:var(--color-text-muted)}.remember-preference{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.remember-preference label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-muted)}.candidates-list{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.candidate-option{border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);cursor:pointer;background:var(--color-bg-secondary);transition:all var(--transition-fast)}.candidate-option:hover{border-color:var(--color-border-dark);background:var(--color-bg-tertiary)}.candidate-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.candidate-header{display:flex;justify-content:space-between;margin-bottom:var(--space-sm);font-size:var(--text-xs);color:var(--color-text-muted)}.candidate-number{font-weight:var(--font-weight-bold);color:var(--color-primary)}.candidate-text{font-size:var(--text-sm);background:var(--color-bg);padding:var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);white-space:pre-wrap}.important-note{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-xl) 0}.important-note h3{margin-top:0;color:var(--color-warning)}.important-note p{margin-bottom:0;color:var(--color-warning)}.latex-error{color:var(--color-error);background:var(--color-error-light);padding:var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-error)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;padding:var(--space-3xl)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tree-navigation{margin-top:var(--space-lg);padding:var(--space-lg);border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.navigation-controls{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap}.navigation-controls button{padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-normal)}.navigation-controls button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-primary)}.navigation-controls button:disabled{opacity:.5;cursor:not-allowed}.toggle-root-btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-normal)}.toggle-root-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-medium)}.toggle-root-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-primary)}.toggle-root-btn:disabled{opacity:.5;cursor:not-allowed}.path-display{margin-bottom:var(--space-lg);font-family:var(--font-mono);background:var(--color-bg);padding:var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.subtree-latex{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.subtree-latex-wrapper{position:relative}.loading-indicator{padding:var(--space-3xl);text-align:center;color:var(--color-text-muted);font-style:italic}.subtree-latex-container{cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-normal);position:relative}.subtree-latex-container:hover{background-color:var(--color-primary-light);border:1px dashed var(--color-primary);padding:.4rem}.edit-hint{position:absolute;top:var(--space-xs);right:var(--space-xs);background:var(--color-primary);color:var(--color-bg);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-weight-medium);opacity:0;transform:translateY(-2px);transition:opacity var(--transition-normal),transform var(--transition-normal);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-sm)}.subtree-latex-container:hover .edit-hint{opacity:1;transform:translateY(0)}.formula-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg);padding:var(--space-lg);background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-wrap:wrap}.close-subtree-button{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-bg);cursor:pointer;font-size:var(--text-xs);transition:all var(--transition-normal);white-space:nowrap}.close-subtree-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.close-subtree-button:disabled{opacity:.6;cursor:not-allowed}.reload-history-button{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary-light);color:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-weight-medium);transition:all var(--transition-normal);white-space:nowrap}.reload-history-button:hover{background:#bbdefb;border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.reload-history-button:active{transform:translateY(1px)}.subtree-latex :deep(.child-selected){outline:3px solid var(--color-warning)!important;outline-offset:1px;background-color:#ff980026!important;border-radius:var(--radius-sm);box-shadow:0 0 10px #ff980066;padding:2px 4px;margin:-2px -4px;display:inline-block}.selection-info{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-lg);font-size:var(--text-sm);color:var(--color-warning);font-weight:var(--font-weight-medium)}.clear-selection-btn{padding:var(--space-xs) var(--space-md);background:var(--color-bg);border:1px solid var(--color-warning);border-radius:var(--radius-xs);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-normal);margin-left:auto}.clear-selection-btn:hover{background:var(--color-warning);color:var(--color-bg)}.sequence-comment-section{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.sequence-comment-section h4{margin:0 0 var(--space-md) 0;font-size:var(--text-base);color:var(--color-text-secondary)}.comment-display{display:flex;align-items:flex-start;gap:var(--space-lg)}.comment-text{flex:1;padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border-dark);white-space:pre-wrap;word-wrap:break-word;font-size:var(--text-sm);line-height:var(--line-height-normal)}.no-comment{flex:1;padding:var(--space-md);color:var(--color-text-muted);font-style:italic}.edit-comment-btn{padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--color-bg);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);transition:background var(--transition-normal);white-space:nowrap}.edit-comment-btn:hover{background:var(--color-primary-hover)}.comment-edit{display:flex;flex-direction:column;gap:var(--space-md)}.comment-textarea{width:100%;padding:var(--space-md);border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);line-height:var(--line-height-normal);resize:vertical;min-height:80px}.comment-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 .2rem #1976d240}.comment-textarea:disabled{background:var(--color-border-light);cursor:not-allowed}.comment-actions{display:flex;gap:var(--space-md);justify-content:flex-end}.comment-actions button{padding:var(--space-sm) var(--space-xl);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-normal)}.cancel-btn{background:var(--color-text-muted);color:var(--color-bg)}.cancel-btn:hover:not(:disabled){background:var(--color-text-secondary)}.save-btn{background:var(--color-success);color:var(--color-bg)}.save-btn:hover:not(:disabled){background:var(--color-success-hover)}.comment-actions button:disabled{opacity:.6;cursor:not-allowed}.comment-error{padding:var(--space-sm) var(--space-md);background:var(--color-error-light);border:1px solid #f5c6cb;border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--text-sm)}.ast-tree-viewer{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary)}.ast-tree-viewer.fullscreen{position:fixed;inset:0;z-index:var(--z-modal);height:100vh;border:none;border-radius:0}.tree-controls{display:flex;gap:var(--space-lg);padding:var(--space-sm);background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.tree-controls label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer}.tree-controls select{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;cursor:pointer}.control-group{display:flex;align-items:center;gap:var(--space-sm);padding-right:var(--space-md);border-right:1px solid var(--color-border-light)}.control-group:last-child{border-right:none}.control-btn{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);transition:all .2s ease;box-shadow:0 2px 4px #00000026;display:inline-flex;align-items:center;justify-content:center;min-height:32px}.control-btn:hover{background:var(--color-primary-hover, #1565c0);border-color:var(--color-primary-hover, #1565c0);color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.control-btn:active{background:var(--color-primary-active, #0d47a1);transform:translateY(0);box-shadow:0 1px 2px #0000001a}.tree-container{cursor:grab;position:relative}.tree-container:active{cursor:grabbing}.tree-svg{display:block}.tree-link{fill:none;stroke:var(--color-text-muted);stroke-width:1.5px;transition:var(--transition-fast)}.tree-link.link-dragging{stroke:var(--color-primary);stroke-width:3px;opacity:.8;transition:none}.node-group{cursor:pointer}.node-group.node-draggable{cursor:grab}.node-group.node-draggable:active{cursor:grabbing}.node-group.node-non-draggable{cursor:not-allowed}.tree-node-rect{cursor:pointer;transition:var(--transition-fast)}.tree-node-rect:hover{filter:brightness(.95);opacity:.85}.tree-node-rect:not(.node-dragging){transition:all .2s ease}.tree-node-rect.node-dragging{opacity:.8;stroke:var(--color-primary)!important;stroke-width:3px!important;cursor:grabbing;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.3));transform-origin:center;transition:none}.tree-node-rect.node-drop-target{stroke:var(--color-warning)!important;stroke-width:3px!important;fill:var(--color-warning-light)!important;animation:pulse-drop-target 1s infinite}.drop-indicator{border-radius:var(--radius-xs);box-shadow:0 0 8px #f449;animation:pulse-indicator .8s infinite}.node-type-text{font-weight:var(--font-weight-bold);fill:var(--color-text);font-size:11px;font-family:var(--font-family)}.node-value-text{fill:var(--color-text-muted);font-family:var(--font-mono);font-size:11px}.node-role-text{fill:var(--color-text-light);font-size:8px;font-style:italic;font-family:var(--font-family)}.tree-node:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.tree-node.selected{border-color:var(--color-success);background:var(--color-success-light);box-shadow:0 0 0 2px #2e7d324d}.type-operator{border-color:var(--color-primary)}.type-variable{border-color:var(--color-success)}.type-constant{border-color:var(--color-warning)}.type-function{border-color:var(--color-error)}.truncation-warning{background:var(--color-warning-light);border:1px solid #ffeaa7;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0;color:#856404;font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--space-sm)}.show-all-btn{background:var(--color-primary);color:#fff;border:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-sm);margin-left:auto;transition:var(--transition-fast)}.show-all-btn:hover{background:var(--color-primary-hover)}.performance-warning{background:var(--color-info-light);border:1px solid #b3d9ff;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0;color:#004085;font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--space-sm)}.ast-tree-viewer .node-count-info{background:var(--color-success-light);border:1px solid #a8d8a8;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0;color:var(--color-success);font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.node-count-info .total-count{font-weight:var(--font-weight-semibold)}.node-count-info .subtree-count{color:var(--color-info);font-weight:var(--font-weight-medium)}.node-count-info .percentage{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}@keyframes pulse-drop-target{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-indicator{0%,to{opacity:.8}50%{opacity:1}}.advise-modal{max-width:1200px;width:95%;max-height:90vh;display:flex;flex-direction:column}.advise-modal .modal-body{flex:1;overflow-y:auto;min-height:0}.advise-modal .modal-footer{flex-shrink:0;border-top:1px solid var(--color-border);background:var(--color-bg);padding:var(--space-lg) var(--space-xl)}.formula-display{padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--space-lg)}.history-option-container{display:flex;flex-direction:column;gap:var(--space-sm)}.radio-option{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.radio-option:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.radio-option:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-light)}.radio-option input[type=radio]{margin-top:2px;accent-color:var(--color-primary)}.radio-label{display:flex;flex-direction:column;gap:2px}.radio-label strong{font-size:var(--text-sm)}.radio-label small{font-size:var(--text-xs);color:var(--color-text-muted)}.model-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.model-select-container{display:flex;flex-direction:column;gap:var(--space-sm)}.action-section{text-align:center;margin:var(--space-xl) 0}.get-advice-btn{padding:var(--space-md) var(--space-2xl);font-size:var(--text-base)}.loading-section{text-align:center;padding:var(--space-2xl)}.loading-spinner{width:40px;height:40px;margin:0 auto var(--space-lg);border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.advice-section{margin-top:var(--space-xl)}.advice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);gap:var(--space-lg)}.advice-toggle{display:flex;gap:var(--space-sm)}.advice-toggle button{padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.advice-toggle button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.method-indicator{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.method-indicator.any-llm-python{background:var(--color-success-light);color:var(--color-success)}.method-indicator.direct-integration{background:var(--color-warning-light);color:var(--color-warning)}.advice-content{background:var(--color-bg-secondary);border-left:4px solid var(--color-primary);padding:var(--space-lg);border-radius:0 var(--radius-md) var(--radius-md) 0;max-height:400px;overflow:auto}.advice-content.raw-latex pre{margin:0;white-space:pre-wrap;font-family:var(--font-mono);font-size:var(--text-sm)}.latex-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-light)}.advice-pdf-viewer{display:flex;flex-direction:column;gap:var(--space-lg)}.pdf-iframe{width:100%;height:800px;max-height:70vh;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f5f5f5}.followup-section{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.followup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.followup-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-info-light);border-radius:var(--radius-md);color:var(--color-info);font-size:var(--text-xs);margin-bottom:var(--space-md)}.followup-input-container{display:flex;flex-direction:column;gap:var(--space-md)}.followup-actions{display:flex;align-items:center;gap:var(--space-lg)}.preselection-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:calc(var(--z-modal) + 10)}.preselection-modal{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-2xl);max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.model-categories{margin:var(--space-xl) 0}.model-category{margin-bottom:var(--space-xl)}.model-category h4{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md)}.model-checkbox{display:flex;align-items:flex-start;padding:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--space-xs)}.model-checkbox:hover{background:var(--color-bg-secondary)}.model-checkbox input{margin-right:var(--space-md);margin-top:4px;accent-color:var(--color-primary)}.model-info{display:flex;flex-direction:column;gap:2px}.model-name{font-weight:var(--font-weight-medium);font-size:var(--text-sm)}.model-description{color:var(--color-text-muted);font-size:var(--text-xs)}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.suggested-rules-section{margin-top:var(--space-xl)}.rules-list{display:flex;flex-direction:column;gap:var(--space-md)}.rule-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--color-bg)}.rule-card.rule-temporary{border-left:4px solid var(--color-warning)}.rule-card.rule-permanent{border-left:4px solid var(--color-success)}.rule-card.rule-existing{border-left:4px solid var(--color-info)}.rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.rule-header h4{margin:0;font-size:var(--text-base)}.rule-type-badge{padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.badge-temporary{background:var(--color-warning-light);color:var(--color-warning)}.badge-permanent{background:var(--color-success-light);color:var(--color-success)}.badge-existing{background:var(--color-info-light);color:var(--color-info)}.rule-pattern code{background:var(--color-bg-tertiary);padding:2px var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs)}.rule-justification p,.rule-description p{margin:var(--space-xs) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.retry-status{margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-md)}.error-section{text-align:center;padding:var(--space-lg)}.error-message{color:var(--color-error);margin-bottom:var(--space-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-weight:var(--font-weight-medium)}.error-actions{display:flex;gap:var(--space-sm);justify-content:center}.preview-steps{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.preview-step-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);position:relative}.step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);font-size:var(--text-sm);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--space-xs)}.step-idx{font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.step-rule{font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-primary-light);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--text-xs)}.step-result{text-align:center;overflow-x:auto;padding:var(--space-sm) 0}.step-arrow{text-align:center;margin-top:var(--space-md);color:var(--color-text-muted);font-size:var(--text-lg);opacity:.6;position:relative}.preview-final-label{text-align:center;font-weight:700;color:var(--color-success);margin-top:var(--space-sm);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em}.final-preview{border:2px solid var(--color-success);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--color-bg);margin-bottom:var(--space-sm)}.preview-step-card .katex-display{margin:0;font-size:.9em}.fullscreen-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);outline:none}.fullscreen-modal-container{position:relative;width:95vw;height:95vh;background:var(--color-bg);border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.close-button{position:absolute;top:var(--space-md);right:var(--space-md);width:40px;height:40px;border:none;background:var(--color-neutral-100);color:var(--color-text);font-size:32px;line-height:1;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;transition:var(--transition-base)}.close-button:hover{background:var(--color-neutral-200);transform:scale(1.1)}.zoom-controls{position:absolute;top:var(--space-md);left:var(--space-md);display:flex;gap:var(--space-sm);z-index:10}.zoom-btn{min-width:42px;height:42px;padding:0 var(--space-sm);border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;font-size:20px;font-weight:700;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.zoom-btn:hover{background:var(--color-primary-hover, #1565c0);border-color:var(--color-primary-hover, #1565c0);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.zoom-btn:active{transform:scale(.95) translateY(0);box-shadow:0 1px 2px #0000001a}.linebreak-toggle{position:absolute;top:var(--space-md);left:50%;transform:translate(-50%);z-index:10;display:flex;gap:var(--space-md);align-items:center}.toggle-btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;font-size:14px;font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);white-space:nowrap;box-shadow:0 2px 4px #0003}.toggle-btn:hover{background:var(--color-primary-hover, #1565c0);border-color:var(--color-primary-hover, #1565c0);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.toggle-btn.active{background:#2e7d32;border-color:#1b5e20;color:#fff}.toggle-btn.active:hover{background:#1b5e20;border-color:#1b5e20}.toggle-btn:active{transform:scale(.95) translateY(0);box-shadow:0 1px 2px #0000001a}.linebreak-width-control{position:absolute;top:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);background:var(--color-bg);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:10}.slider-label{font-size:13px;color:var(--color-text-muted);font-weight:500;white-space:nowrap}.width-slider{width:200px;height:6px;border-radius:var(--radius-sm);background:linear-gradient(to right,var(--color-border) 0%,var(--color-primary) 100%);outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.width-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base)}.width-slider::-webkit-slider-thumb:hover{background:var(--color-primary-dark);transform:scale(1.1)}.width-slider::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--color-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base)}.width-slider::-moz-range-thumb:hover{background:var(--color-primary-dark);transform:scale(1.1)}.formula-container{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:80px 40px 60px;position:relative}.formula-content{transform-origin:center center;transition:transform .1s ease-out;will-change:transform}.katex-fullscreen{padding:var(--space-lg);background:var(--color-neutral-50);border-radius:var(--radius-sm);min-height:60px;display:inline-block}.katex-fullscreen :deep(.katex-html){overflow:visible!important}.katex-fullscreen :deep(.katex){overflow:visible!important;font-size:1.2em}.katex-fullscreen :deep(.katex .tag){position:relative;float:left;margin-right:var(--space-lg);white-space:nowrap}.katex-fullscreen :deep(.highlighted-node){display:inline-block;vertical-align:middle;background-color:#ffff004d;border-radius:2px;box-shadow:0 0 0 1.5px var(--color-error);padding:2px 5px;margin:0 1px}.katex-fullscreen :deep(.highlighted-source-node){display:inline-block;vertical-align:middle;background-color:#2196f333;border-radius:2px;box-shadow:0 0 0 1.5px #1976d2;padding:2px 5px;margin:0 1px}.instructions{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:var(--space-sm) var(--space-md);border-radius:20px;font-size:13px;pointer-events:none;z-index:10}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity var(--transition-slow)}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-active .fullscreen-modal-container,.modal-fade-leave-active .fullscreen-modal-container{transition:transform var(--transition-slow)}.modal-fade-enter-from .fullscreen-modal-container,.modal-fade-leave-to .fullscreen-modal-container{transform:scale(.9)}.raw-source-container{width:100%;height:100%;display:flex;flex-direction:column;padding:var(--space-lg);background:var(--color-neutral-50);border-radius:var(--radius-sm);z-index:20}.error-banner{background-color:var(--color-error-light);color:var(--color-error-dark);padding:var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-md);border:1px solid var(--color-error)}.source-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);font-weight:600;color:var(--color-text-muted)}.copy-btn{padding:var(--space-xs) var(--space-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:var(--transition-base)}.copy-btn:hover{background:var(--color-neutral-100);border-color:var(--color-neutral-400)}.raw-latex-textarea{flex:1;width:100%;padding:var(--space-sm);font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.5;border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:none;background:var(--color-bg);color:var(--color-text)}.raw-latex-textarea:focus{outline:2px solid var(--color-primary);border-color:transparent}.latex-converter-modal{max-width:1400px;width:95%}.header-title-section{display:flex;flex-direction:column;gap:var(--space-xs)}.esc-hint{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.warning-banner{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-lg);background-color:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-sm);color:var(--color-warning-dark)}.warning-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.warning-text{flex:1;font-size:var(--text-sm);line-height:1.5}.form-section{margin-bottom:var(--space-lg)}.latex-input,.physCalc-output{width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:Consolas,Monaco,monospace;font-size:var(--text-sm);resize:vertical;white-space:pre-wrap}.latex-input:focus,.physCalc-output:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.latex-preview-section{margin-top:var(--space-md);margin-bottom:var(--space-md)}.latex-preview-box{padding:var(--space-md);background-color:var(--color-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:60px;display:flex;align-items:center;justify-content:center;overflow-x:auto}.button-row{display:flex;gap:var(--space-sm);align-items:center;margin-top:var(--space-sm);flex-wrap:wrap}.validate-btn{background-color:var(--color-info);color:#fff;padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base)}.validate-btn:hover:not(:disabled){background-color:var(--color-info-dark)}.validate-btn:disabled{opacity:.6;cursor:not-allowed}.validation-help-text{font-size:var(--text-sm);color:var(--color-text-muted)}.validation-help-text code{background-color:var(--color-neutral-100);padding:2px 6px;border-radius:var(--radius-xs);font-family:monospace}.validation-error-message{margin-top:var(--space-sm);padding:var(--space-sm);background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error-dark);font-size:var(--text-sm)}.output-section{background-color:var(--color-neutral-50);padding:var(--space-md);border-radius:var(--radius-sm)}.hints-section{margin-bottom:var(--space-lg);padding:var(--space-md);background-color:var(--color-warning-light);border-radius:var(--radius-sm);border:1px solid var(--color-warning)}.hints-section h3{margin:0 0 var(--space-sm) 0;font-size:var(--text-base);color:var(--color-warning-dark)}.hints-list{display:flex;flex-direction:column;gap:var(--space-sm)}.hint-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm);background-color:var(--color-bg)}.hint-error{border-left:3px solid var(--color-error)}.hint-warning{border-left:3px solid var(--color-warning)}.hint-info{border-left:3px solid var(--color-info)}.hint-icon{flex-shrink:0;font-size:1rem}.hint-message{flex:1;font-size:var(--text-sm);color:var(--color-text)}.patterns-section h3{margin:0 0 var(--space-sm) 0;font-size:var(--text-base)}.patterns-description{margin-bottom:var(--space-md);font-size:var(--text-sm);color:var(--color-text-muted)}.patterns-description code{background-color:var(--color-neutral-100);padding:2px 6px;border-radius:var(--radius-xs);font-family:monospace}.patterns-table{margin-bottom:var(--space-md);overflow-x:auto}.patterns-table table{width:100%;border-collapse:collapse;border:1px solid var(--color-border)}.patterns-table th,.patterns-table td{padding:var(--space-sm);text-align:left;border:1px solid var(--color-border)}.patterns-table th{background-color:var(--color-neutral-50);font-weight:600;color:var(--color-text)}.pattern-input{width:100%;padding:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--text-sm)}.pattern-input:focus{outline:none;border-color:var(--color-primary)}.action-cell{width:60px;text-align:center}.delete-pattern-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:var(--space-xs);transition:var(--transition-base)}.delete-pattern-btn:hover{transform:scale(1.1)}.add-pattern-row{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.add-pattern-btn{padding:var(--space-xs) var(--space-md);background-color:var(--color-success);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:var(--transition-base)}.add-pattern-btn:hover:not(:disabled){background-color:var(--color-success-hover)}.add-pattern-btn:disabled{opacity:.6;cursor:not-allowed}.pattern-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.apply-patterns-btn,.save-patterns-btn{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base)}.apply-patterns-btn{background-color:var(--color-info);color:#fff}.apply-patterns-btn:hover:not(:disabled){background-color:var(--color-info-dark)}.save-patterns-btn{background-color:var(--color-primary);color:#fff}.save-patterns-btn:hover:not(:disabled){background-color:var(--color-primary-dark)}.apply-patterns-btn:disabled,.save-patterns-btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay-hidden{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.modal-overlay-hidden .temporary-hide-indicator{pointer-events:auto}.temporary-hide-indicator{position:fixed;bottom:var(--space-lg);right:var(--space-lg);background:var(--color-bg);border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-lg);cursor:pointer;transition:var(--transition-base)}.temporary-hide-indicator:hover{transform:scale(1.05);box-shadow:var(--shadow-xl)}.indicator-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.indicator-icon{font-size:1.5rem}.indicator-text{font-weight:600;color:var(--color-text)}.indicator-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.convert-btn,.copy-btn{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base)}.convert-btn{background-color:var(--color-primary);color:#fff;min-width:120px}.convert-btn:hover:not(:disabled){background-color:var(--color-primary-dark)}.convert-btn:disabled{opacity:.6;cursor:not-allowed}.ai-convert-btn{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base);background:linear-gradient(135deg,#6e8efb,#a777e3);color:#fff;font-weight:600;min-width:160px;box-shadow:0 4px 15px #6e8efb4d}.ai-convert-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6e8efb66}.ai-convert-btn:active:not(:disabled){transform:translateY(0)}.ai-convert-btn:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(.5);transform:none;box-shadow:none}.copy-btn{background-color:var(--color-success);color:#fff}.copy-btn:hover{background-color:var(--color-success-hover)}.create-formula-btn{background-color:#6f42c1;color:#fff;padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base)}.create-formula-btn:hover:not(:disabled){background-color:#5a32a3}.create-formula-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{padding:var(--space-sm) var(--space-md);background-color:var(--color-neutral-200);color:var(--color-text);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base)}.cancel-btn:hover{background-color:var(--color-neutral-300)}.settings-toggle-btn{padding:var(--space-sm) var(--space-md);background-color:var(--color-neutral-100);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-base);margin-left:auto}.settings-toggle-btn:hover{background-color:var(--color-neutral-200)}.settings-section{background-color:var(--color-bg-alt);padding:var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);margin-top:var(--space-md)}.settings-description{margin-bottom:var(--space-md);color:var(--color-text-muted);font-size:var(--text-sm)}.settings-input{width:100%;padding:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--text-sm)}.input-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-xs)}.add-pattern-row .pattern-input{flex:1}.edit-subtree-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);outline:none}.edit-subtree-modal-content{background:var(--color-bg);border-radius:var(--radius-lg);width:90%;max-width:1050px;max-height:850px;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.edit-subtree-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.edit-subtree-modal-header h2{margin:0;font-size:var(--text-xl);color:var(--color-text)}.close-button{background:none;border:none;font-size:2rem;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition-base)}.close-button:hover{background:var(--color-neutral-100);color:var(--color-text)}.edit-subtree-modal-body{padding:var(--space-lg);overflow-y:auto;flex:1}.current-subtree-section{margin-bottom:var(--space-lg)}.current-subtree-section label{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.current-subtree-display{padding:var(--space-md);background:var(--color-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:60px;display:flex;align-items:center;justify-content:center;overflow-x:auto}.current-subtree-display :deep(.katex){font-size:1.3em;overflow:visible!important}.current-subtree-display :deep(.katex-html){overflow:visible!important}.input-section{margin-bottom:var(--space-md)}.input-section label{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.input-help{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.validated-latex-section{margin-bottom:var(--space-md);padding:var(--space-md);background:var(--color-info-light);border:1px solid var(--color-info);border-radius:var(--radius-sm)}.validated-latex-section label{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-semibold);color:var(--color-info-dark)}.validated-latex-display{display:flex;align-items:center;justify-content:center;overflow-x:auto}.validated-latex-display :deep(.katex){font-size:1.3em;overflow:visible!important}.validated-latex-display :deep(.katex-html){overflow:visible!important}.validation-status{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-neutral-50);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.spinner-small{width:16px;height:16px;border:2px solid var(--color-neutral-200);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{padding:var(--space-sm);background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error-dark);margin-bottom:var(--space-md)}.success-message{padding:var(--space-sm);background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-sm);color:var(--color-success-dark);margin-bottom:var(--space-md)}.edit-subtree-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg);border-top:1px solid var(--color-border)}.cancel-btn,.submit-btn{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;transition:var(--transition-base);font-weight:var(--font-weight-medium)}.cancel-btn{background:var(--color-neutral-100);color:var(--color-text);border:1px solid var(--color-border)}.cancel-btn:hover:not(:disabled){background:var(--color-neutral-200)}.submit-btn{background:var(--color-primary);color:#fff}.submit-btn:hover:not(:disabled){background:var(--color-primary-dark)}.submit-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.help-modal{background:var(--color-bg);border-radius:var(--radius-lg);width:90%;max-width:900px;max-height:750px;overflow-y:auto;box-shadow:var(--shadow-xl)}.help-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.help-header h3{margin:0;font-size:var(--text-lg)}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition-base)}.close-btn:hover{background:var(--color-neutral-100)}.help-content{padding:var(--space-lg)}.help-content h4{margin-top:var(--space-md);margin-bottom:var(--space-sm);color:var(--color-text)}.help-content ul{margin:var(--space-sm) 0;padding-left:var(--space-lg)}.help-content li{margin:var(--space-sm) 0;line-height:1.6}.help-content code{background:var(--color-neutral-100);padding:2px 6px;border-radius:var(--radius-xs);font-family:Consolas,Monaco,monospace;font-size:.9em}.latex-error{color:var(--color-error);font-style:italic}
