@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=Fira+Code:wght@400;500;600&display=swap";:root{--bg-base: #0c1222;--bg-surface: #111827;--bg-elevated: #1a2332;--bg-hover: #1f2b3d;--bg-active: #263348;--border-subtle: rgba(148, 163, 184, .08);--border-default: rgba(148, 163, 184, .14);--border-strong: rgba(148, 163, 184, .25);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-tertiary: #64748b;--accent: #14b8a6;--accent-hover: #0d9488;--accent-muted: rgba(20, 184, 166, .12);--accent-glow: rgba(20, 184, 166, .25);--secondary: #f59e0b;--secondary-muted: rgba(245, 158, 11, .12);--danger: #f43f5e;--danger-hover: #e11d48;--warning: #f59e0b;--info: #38bdf8;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", "Cascadia Code", "Consolas", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-normal: 1.5;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px var(--accent-glow), 0 0 60px rgba(20, 184, 166, .08);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 9999px;--transition-fast: .1s cubic-bezier(.22, 1, .36, 1);--transition-normal: .2s cubic-bezier(.22, 1, .36, 1);--transition-slow: .4s cubic-bezier(.22, 1, .36, 1);--grid-color: rgba(148, 163, 184, .06);--grid-accent: rgba(20, 184, 166, .04)}.theme-light{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-hover: #f1f5f9;--bg-active: #e2e8f0;--border-subtle: rgba(15, 23, 42, .06);--border-default: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .2);--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--accent: #0d9488;--accent-hover: #0f766e;--accent-muted: rgba(13, 148, 136, .08);--accent-glow: rgba(13, 148, 136, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .06);--shadow-glow: 0 0 20px var(--accent-glow);--grid-color: rgba(15, 23, 42, .04);--grid-accent: rgba(13, 148, 136, .03)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-slow),color var(--transition-slow)}#app{display:grid;grid-template-rows:52px 1fr 34px;height:100vh;animation:appReveal .6s cubic-bezier(.22,1,.36,1)}@keyframes appReveal{0%{opacity:0}to{opacity:1}}#header{display:flex;align-items:center;padding:0 var(--space-5);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);gap:var(--space-4);position:relative;z-index:10}#header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--accent-glow) 30%,var(--accent) 50%,var(--accent-glow) 70%,transparent 100%);opacity:.5}#header h1{font-size:var(--text-lg);font-weight:800;color:var(--text-primary);letter-spacing:-.03em;-webkit-user-select:none;user-select:none}#header h1 .brand-accent{color:var(--accent)}.header-left{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.header-center{flex:1;display:flex;justify-content:center;padding:0 var(--space-6);max-width:440px;margin:0 auto}.header-right{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.header-divider{width:1px;height:20px;background:var(--border-default);margin:0 var(--space-1)}#main{display:grid;grid-template-columns:300px 1fr;overflow:hidden}#sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-surface);overflow-y:auto;padding:var(--space-4);position:relative}#sidebar::-webkit-scrollbar{width:5px}#sidebar::-webkit-scrollbar-track{background:transparent}#sidebar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}#sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}#chart-area{position:relative;overflow:hidden;background:var(--bg-base);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px),linear-gradient(var(--grid-accent) 1px,transparent 1px),linear-gradient(90deg,var(--grid-accent) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}#chart-area svg{width:100%;height:100%}#footer{display:flex;align-items:center;justify-content:flex-end;padding:0 var(--space-5);gap:var(--space-2);background:var(--bg-surface);border-top:1px solid var(--border-subtle);font-size:var(--text-xs)}.footer-btn{padding:3px var(--space-3);font-size:var(--text-xs);font-family:var(--font-sans);font-weight:var(--font-medium);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.01em}.footer-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-muted)}.icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);font-size:15px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.icon-btn.active{background:var(--accent-muted);color:var(--accent);border-color:#14b8a64d}.icon-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.search-input{width:100%;padding:6px var(--space-4);font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--font-medium);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-primary);outline:none;transition:all var(--transition-normal);letter-spacing:.01em}.search-input::placeholder{color:var(--text-tertiary);font-weight:var(--font-normal)}.search-input:focus{border-color:var(--accent);background:var(--bg-base);box-shadow:0 0 0 3px var(--accent-muted),var(--shadow-glow)}.form-group{margin-bottom:10px}.form-group label{display:block;font-size:10px;font-weight:var(--font-bold);color:var(--text-tertiary);margin-bottom:3px;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:5px var(--space-3);font-size:var(--text-sm);font-family:var(--font-sans);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-base);color:var(--text-primary);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted);background:var(--bg-elevated)}.form-group textarea{font-family:var(--font-mono);font-size:12px;line-height:var(--leading-normal);resize:vertical}.form-group input[type=range]{-webkit-appearance:none;appearance:none;height:3px;background:var(--border-strong);border-radius:var(--radius-full);border:none;padding:0;cursor:pointer;margin-top:2px}.form-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);border:none;box-shadow:0 0 0 2px var(--bg-surface),var(--shadow-sm);cursor:pointer;transition:all var(--transition-fast)}.form-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.3);box-shadow:0 0 0 2px var(--bg-surface),var(--shadow-glow)}.form-group input[type=range]:active::-webkit-slider-thumb{background:var(--accent-hover)}.form-group input[type=range]:focus{box-shadow:none}.form-group input[type=color]{padding:2px;height:26px;border-radius:var(--radius-sm);cursor:pointer}.btn{padding:5px var(--space-3);font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--font-semibold);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-right:var(--space-1);letter-spacing:.01em}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 3px #14b8a64d}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 2px 8px #14b8a666;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px #14b8a633}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 1px 3px #f43f5e4d}.btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-default)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-group{display:flex;gap:var(--space-1);margin-top:var(--space-2)}.error-msg{color:var(--danger);font-size:var(--text-xs);font-family:var(--font-sans);margin-bottom:var(--space-2);min-height:16px;font-weight:var(--font-medium)}.section-heading{margin:var(--space-4) 0 var(--space-2);font-size:10px;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.1em;font-weight:var(--font-bold)}.section-heading:first-child{margin-top:0}.setting-value{color:var(--secondary);font-weight:var(--font-bold);font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:10px}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);padding:4px 10px;font-size:11px;font-family:var(--font-sans);font-weight:var(--font-medium);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:var(--shadow-md);animation:tooltipIn .15s cubic-bezier(.22,1,.36,1)}@keyframes tooltipIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
