:root{--bg: #0b0d10;--panel: #11151a;--text: #e7ebee;--muted: #9aa5b1;--accent: #4cc9f0;--accent-2: #f72585;--grid: #23303d;--border: #202a33}@media (prefers-color-scheme: light){:root{--bg: #ffffff;--panel: #f7f9fb;--text: #1d2733;--muted: #556170;--accent: #0066cc;--accent-2: #d7263d;--grid: #dde6ef;--border: #d9e2ec}}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji"}.app{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:280px 1fr 320px;grid-template-areas:"header header header" "left main right" "footer footer footer";height:100%}header{grid-area:header;border-bottom:1px solid var(--border);padding:8px 12px;display:flex;gap:12px;align-items:center}header .title{font-size:22px;letter-spacing:.2px}aside.left{grid-area:left;border-right:1px solid var(--border);padding:12px;overflow:auto}main{grid-area:main;padding:8px;overflow:hidden;display:flex;flex-direction:column}aside.right{grid-area:right;border-left:1px solid var(--border);padding:12px;overflow:auto}footer{grid-area:footer;border-top:1px solid var(--border);padding:8px 12px;display:flex;gap:8px;align-items:center}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:4px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px}.panel-collapsible{display:flex;flex-direction:column}.panel-toggle{display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:inherit;padding:0;cursor:pointer;font:inherit}.panel-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-toggle-label{font-size:12px;color:var(--muted);text-align:left}.panel-toggle-icon{font-size:16px;line-height:1;padding-left:8px}.muted{color:var(--muted)}.btn{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer}.btn:hover{outline:1px solid var(--grid)}.btn.primary{background:var(--accent);color:#061018;border:none}.btn.danger{background:var(--accent-2);color:#fff;border:none}.input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.label{font-size:12px;color:var(--muted)}.slider{width:100%}.legend{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.swatch{width:12px;height:12px;border-radius:2px;display:inline-block;border:1px solid var(--border)}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:right}.table th:first-child,.table td:first-child{text-align:left}.chart-wrap{position:relative;flex:1 1 auto}.tooltip{position:absolute;background:var(--panel);border:1px solid var(--border);padding:6px 8px;border-radius:6px;font-size:12px;pointer-events:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:0 10px 24px #0000004d}.formula .eq{font-size:14px;line-height:1.7}.formula .note{margin-top:6px;font-size:12px}@media (max-width: 960px){.app{grid-template-columns:1fr;grid-template-areas:"header" "left" "main" "right" "footer"}}
