@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-panel: rgba(17, 24, 39, .85);--bg-panel-hover: rgba(30, 41, 59, .9);--border: rgba(148, 163, 184, .12);--border-hover: rgba(0, 229, 255, .3);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-cyan: #00e5ff;--accent-orange: #ff6b35;--accent-green: #22c55e;--accent-purple: #a78bfa;--glow-cyan: 0 0 20px rgba(0, 229, 255, .15);--glow-orange: 0 0 20px rgba(255, 107, 53, .15);--radius: 12px;--radius-sm: 8px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;color-scheme:dark}:root.light{--bg-primary: #f1f5f9;--bg-secondary: #ffffff;--bg-panel: rgba(255, 255, 255, .92);--bg-panel-hover: rgba(241, 245, 249, .95);--border: rgba(100, 116, 139, .18);--border-hover: rgba(0, 150, 200, .4);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent-cyan: #0891b2;--accent-orange: #ea580c;--accent-green: #16a34a;--accent-purple: #7c3aed;--glow-cyan: 0 2px 12px rgba(8, 145, 178, .12);--glow-orange: 0 2px 12px rgba(234, 88, 12, .12);color-scheme:light}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}.app{max-width:1600px;margin:0 auto;padding:0 1.5rem 2rem}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.header-left{display:flex;align-items:baseline;gap:1rem}.app-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.title-icon{font-size:1.3rem}.app-subtitle{font-size:.85rem;color:var(--text-muted);font-weight:400}.header-right{display:flex;align-items:center;gap:.5rem}.app-main{display:grid;grid-template-columns:380px 1fr;gap:1.5rem;align-items:start}.sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:1rem}.content{display:flex;flex-direction:column;gap:1rem}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color var(--transition),box-shadow var(--transition)}.panel:hover{border-color:var(--border-hover);box-shadow:var(--glow-cyan)}.panel h2{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem;letter-spacing:.02em}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.panel-header h2{margin-bottom:0}.btn{font-family:var(--font-sans);font-size:.8rem;font-weight:500;padding:.4rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);box-shadow:var(--glow-cyan)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-reset{font-size:.75rem;padding:.3rem .7rem}.btn-theme{font-size:1.1rem;padding:.35rem .6rem;line-height:1}.btn-toggle.active{border-color:var(--accent-orange);color:var(--accent-orange);background:#ff6b3514}.btn-download{border-color:var(--accent-green);color:var(--accent-green)}.btn-download:hover{box-shadow:0 0 12px #22c55e26;border-color:var(--accent-green);color:var(--accent-green)}.presets-row{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.btn-preset{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;padding:.5rem .6rem;font-size:.72rem}.preset-icon{font-size:1rem}.preset-label{overflow:hidden;text-overflow:ellipsis}.slider-grid,.time-slider-row{display:flex;flex-direction:column;gap:.9rem}.slider-group{position:relative}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.slider-header label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;cursor:pointer}.slider-symbol{font-family:var(--font-mono);font-weight:500;color:var(--accent-cyan);font-size:.85rem;min-width:1.6rem}.slider-label{color:var(--text-secondary)}.slider-value{font-family:var(--font-mono);font-size:.8rem;font-weight:500;color:var(--text-primary);background:#00e5ff0f;padding:.1rem .45rem;border-radius:4px;min-width:3.2rem;text-align:right}.slider-range{display:flex;justify-content:space-between;align-items:center;font-size:.65rem;color:var(--text-muted);margin-top:.15rem}.slider-desc{font-size:.62rem;text-align:center;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent-cyan),var(--accent-purple));outline:none;opacity:.7;transition:opacity var(--transition)}input[type=range]:hover{opacity:1}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-cyan);border:2px solid var(--bg-primary);cursor:pointer;box-shadow:0 0 8px #00e5ff4d;transition:transform var(--transition),box-shadow var(--transition)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 14px #00e5ff80}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent-cyan);border:2px solid var(--bg-primary);cursor:pointer;box-shadow:0 0 8px #00e5ff4d}.plot-panel{min-height:420px}.chart-container{position:relative;height:380px}.chart-loading,.chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--text-muted)}.chart-loading{background:#0a0e1a80;z-index:5;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.6rem;margin-bottom:1.25rem}.info-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .3rem;background:#00e5ff08;border-radius:var(--radius-sm);border:1px solid transparent;transition:border-color var(--transition)}.info-item:hover{border-color:var(--border-hover)}.info-symbol{font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--accent-cyan)}.info-value{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--text-primary)}.info-results{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.info-result-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem .85rem;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}.info-result-label{font-size:.82rem;font-weight:500;color:var(--text-secondary)}.info-result-value{font-family:var(--font-mono);font-size:1rem;font-weight:700}.highlight-cyan{color:var(--accent-cyan)}.highlight-orange{color:var(--accent-orange)}.highlight-green{color:var(--accent-green)}.formula-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;text-align:center}.formula-title{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem}.formula-text{font-family:var(--font-mono);font-size:.88rem;font-weight:500;color:var(--accent-cyan);line-height:1.8}.formula-sub{font-family:var(--font-mono);font-size:.78rem;color:var(--accent-orange);margin-top:.4rem}.reverse-panel{border-color:#ff475726}.reverse-toggle-group{margin-bottom:1rem}.reverse-toggle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.reverse-toggle-label{font-size:.85rem;font-weight:500;color:var(--text-primary)}.reverse-badge{font-family:var(--font-mono);font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:4px;letter-spacing:.06em}.badge-forward{background:#00e5ff1a;color:var(--accent-cyan);border:1px solid rgba(0,229,255,.25)}.badge-reverse{background:#ff47571a;color:#ff4757;border:1px solid rgba(255,71,87,.25);animation:pulse-red 2s ease-in-out infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 4px #ff475733}50%{box-shadow:0 0 12px #ff475766}}.toggle-switch{display:flex;align-items:center;gap:.6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input{display:none}.toggle-slider{position:relative;width:48px;height:24px;background:#00e5ff26;border-radius:12px;border:1px solid rgba(0,229,255,.3);transition:all var(--transition)}.toggle-switch input:checked~.toggle-slider{background:#ff475726;border-color:#ff475766}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 6px #00e5ff66;transition:all var(--transition)}.toggle-switch input:checked~.toggle-slider .toggle-knob{left:26px;background:#ff4757;box-shadow:0 0 6px #ff475766}.toggle-labels{display:flex;gap:.5rem;font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--text-muted)}.toggle-labels span.active{color:var(--text-primary)}.reverse-desc{font-size:.72rem;color:var(--text-muted);margin-top:.5rem;font-family:var(--font-mono);line-height:1.5}.revgain-group.disabled{opacity:.35;pointer-events:none}.theory-caption{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.theory-title{font-size:.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;letter-spacing:.02em}.theory-content{display:flex;flex-direction:column;gap:.6rem}.theory-item{display:flex;gap:.6rem;font-size:.78rem;color:var(--text-muted);line-height:1.55;padding:.5rem .6rem;border-radius:var(--radius-sm);border:1px solid transparent;transition:all var(--transition)}.theory-item.theory-active{background:#00e5ff0a;border-color:var(--border-hover)}.theory-item.theory-active:last-child{background:#ff47570a;border-color:#ff475733}.theory-bullet{font-family:var(--font-mono);font-size:1rem;font-weight:700;flex-shrink:0;margin-top:.1rem}.forward-bullet{color:var(--accent-cyan)}.reverse-bullet{color:#ff4757}.theory-item strong{color:var(--text-primary)}.theory-item code{font-family:var(--font-mono);font-size:.72rem;background:#00e5ff0f;padding:.1rem .3rem;border-radius:3px;color:var(--accent-cyan)}.theory-detail{display:block;margin-top:.2rem;font-size:.72rem;color:var(--text-muted)}.reverse-note{background:#ff47570f;border:1px solid rgba(255,71,87,.2);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.78rem;color:var(--text-secondary);line-height:1.6;margin-top:1rem}.reverse-note strong{color:#ff4757}.formula-mode{font-size:.6rem;font-weight:700;padding:.1rem .4rem;border-radius:3px;margin-left:.5rem;letter-spacing:.06em;vertical-align:middle}.formula-mode.forward{background:#00e5ff1a;color:var(--accent-cyan)}.formula-mode.reverse{background:#ff47571a;color:#ff4757}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);padding:.6rem 1rem;font-size:.82rem;color:#fca5a5;margin-bottom:1rem}@media(max-width:900px){.app-main{grid-template-columns:1fr}.sidebar{position:static}.app-header{flex-direction:column;gap:.75rem;align-items:flex-start}.header-left{flex-direction:column;gap:.2rem}.info-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}@media(max-width:500px){html{font-size:13px}.app{padding:0 .75rem 1.5rem}.presets-row{flex-direction:column}.btn-preset{min-width:100%}.chart-container{height:280px}}.bekenstein-box{background:#ffd7000a;border:1px solid rgba(255,215,0,.15);border-radius:var(--radius-sm);padding:.8rem;margin-bottom:.8rem}.bekenstein-title{font-size:.7rem;font-weight:600;color:#ffd700cc;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem}.bekenstein-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0}.bekenstein-label{font-size:.78rem;color:var(--text-secondary)}.bekenstein-value{font-family:var(--font-mono);font-size:.82rem;font-weight:600}.bekenstein-value.capacity{color:#ffd700e6}.bekenstein-value.ok{color:var(--accent-green)}.bekenstein-value.exceeded{color:#ff4757;animation:pulse-red 1.5s ease-in-out infinite}.bekenstein-collapse{margin-top:.5rem;padding:.4rem .6rem;background:#ff47571a;border:1px solid rgba(255,71,87,.3);border-radius:4px;font-size:.75rem;font-weight:600;color:#ff4757;text-align:center;animation:pulse-red 2s ease-in-out infinite}.bekenstein-safe{margin-top:.5rem;font-size:.72rem;color:var(--accent-green);text-align:center;opacity:.7}.plot-controls{display:flex;align-items:center;gap:.6rem}.collapse-badge{font-family:var(--font-mono);font-size:.65rem;font-weight:700;padding:.2rem .6rem;border-radius:4px;background:#ff475726;color:#ff4757;border:1px solid rgba(255,71,87,.4);letter-spacing:.04em;animation:pulse-red 1.5s ease-in-out infinite}
