:root{--bg-main:#0f172a;--bg-card:#1e293b;--border-color:#334155;--text-main:#f8fafc;--text-muted:#94a3b8;--primary:#3b82f6;--hover-bg:#334155;--font-mono:'JetBrains Mono', 'Fira Code', 'Courier New', monospace}.dark-theme{font-family:'Inter',system-ui,sans-serif;color:var(--text-main);background:var(--bg-main);padding:1.5rem;border-radius:1rem;min-height:600px}.text-center{text-align:center}.text-3xl{font-size:1.875rem}.font-bold{font-weight:700}.text-muted{color:var(--text-muted)}.text-sm{font-size:.875rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.app-layout{display:flex;flex-direction:column;gap:1.5rem}@media (min-width:992px){.app-layout{flex-direction:row;align-items:flex-start}.controls-col{flex:1;min-width:300px}.graph-col{flex:2;position:sticky;top:1.5rem}}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px -1px rgb(0 0 0 / .2)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{margin:0;font-size:1.1rem;color:#fff;display:flex;align-items:center;gap:.5rem}.card-header i{width:18px;height:18px;color:var(--primary)}.function-list{display:flex;flex-direction:column;gap:.75rem}.func-item{display:flex;align-items:center;gap:.5rem;background:rgb(15 23 42 / .5);border:1px solid var(--border-color);padding:.5rem;border-radius:.5rem;transition:border-color 0.2s}.func-item:focus-within{border-color:var(--primary)}.color-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.func-prefix{font-family:var(--font-mono);color:var(--text-muted);font-size:.9rem;white-space:nowrap}.func-input{flex:1;background:#fff0;border:none;color:#fff;font-family:var(--font-mono);font-size:1rem;outline:none;min-width:0}.btn-icon,.btn-remove-func{background:#fff0;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all 0.2s}.btn-icon:hover{color:#fff;background:var(--hover-bg)}.btn-remove-func:hover{color:#ef4444}.btn-icon i,.btn-remove-func i{width:16px;height:16px}.btn{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;border:none;transition:all 0.2s;display:inline-flex;align-items:center;gap:.5rem}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.btn-outline{background:#fff0;border:1px solid var(--border-color);color:var(--text-main)}.btn-outline:hover{background:var(--hover-bg)}.table-container{max-height:250px;overflow-y:auto;border:1px solid var(--border-color);border-radius:.5rem}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.85rem}.data-table th,.data-table td{padding:.5rem;text-align:center;border-bottom:1px solid var(--border-color)}.data-table th{background:var(--bg-main);color:var(--text-muted);position:sticky;top:0}.data-table tr:hover td{background:rgb(255 255 255 / .05)}.graph-card{padding:1rem;display:flex;flex-direction:column;height:100%;min-height:500px}.graph-toolbar{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.5rem}.graph-wrapper{flex:1;background:var(--bg-main);border-radius:.5rem;border:1px solid var(--border-color);position:relative;overflow:hidden}.plotly-container{position:absolute;top:0;left:0;right:0;bottom:0}.js-plotly-plot .plotly .main-svg{border-radius:.5rem}.plotly .modebar{display:none!important}