@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600;700&display=swap";:root{--font-main: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--bg-dark: #090d16;--card-dark: #131b2e;--panel-dark: #19243c;--border-dark: #2a3859;--border-glow-dark: rgba(56, 189, 248, .3);--text-main-dark: #f8fafc;--text-muted-dark: #94a3b8;--primary: #38bdf8;--primary-hover: #0ea5e9;--accent-pink: #f43f5e;--accent-emerald: #10b981;--accent-purple: #a855f7;--accent-amber: #f59e0b;--bg: var(--bg-dark);--card: var(--card-dark);--panel: var(--panel-dark);--border: var(--border-dark);--border-glow: var(--border-glow-dark);--text-main: var(--text-main-dark);--text-muted: var(--text-muted-dark);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px}[data-theme=light]{--bg: #f8fafc;--card: #ffffff;--panel: #f1f5f9;--border: #cbd5e1;--border-glow: rgba(14, 165, 233, .2);--text-main: #0f172a;--text-muted: #64748b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg);color:var(--text-main);line-height:1.5;min-height:100vh;padding:16px 16px 220px;transition:background-color .3s ease,color .3s ease}.view-section{display:none}.view-section.active{display:block}header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px 20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.brand-title{display:flex;align-items:center;gap:12px}.brand-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--accent-purple));border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1.3rem;box-shadow:0 0 16px #38bdf866}.brand-text h1{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] .brand-text h1{background:linear-gradient(135deg,#0f172a,#0284c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-text p{font-size:.8rem;color:var(--text-muted)}.view-tab-group{display:inline-flex;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:4px;gap:4px;box-shadow:inset 0 2px 4px #0003}.view-tab{padding:8px 16px;font-family:var(--font-main);font-size:.92rem;font-weight:700;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.view-tab.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.top-actions{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);font-family:var(--font-main);font-weight:600;font-size:.88rem;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#0b1120;font-weight:700;box-shadow:0 4px 12px #38bdf84d}.btn-primary:hover{transform:translateY(-1.5px);box-shadow:0 6px 16px #38bdf873}.btn-secondary{background:var(--panel);border-color:var(--border);color:var(--text-main)}.btn-secondary:hover{background:var(--border);color:var(--text-main)}.btn-danger{background:#ef444426;border-color:#ef44444d;color:#ef4444}.btn-danger:hover{background:#ef4444;color:#fff}.btn-icon-only{padding:8px;border-radius:10px}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-title{font-size:.9rem;font-weight:700;color:var(--text-main);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:8px}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-size:.8rem;font-weight:600;color:var(--text-muted);display:block}.input-row{display:flex;gap:10px;align-items:center}input[type=text],input[type=number]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-main);padding:10px 12px;font-family:var(--font-main);font-size:.95rem;outline:none;width:100%;transition:border-color .2s,box-shadow .2s}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-glow)}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px}.toggle-group{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;gap:2px;width:100%}.toggle-option{flex:1;text-align:center;padding:6px 8px;font-size:.8rem;font-weight:600;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all .2s ease}.toggle-option.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow-sm)}.tree-wrapper{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:480px;overflow:hidden;box-shadow:var(--shadow-md)}.tree-toolbar{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:10;background:#131b2ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);padding:4px;border-radius:var(--radius-md)}.tree-container{width:100%;height:520px;overflow:auto;position:relative;cursor:grab;background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:24px 24px}.tree-container:active{cursor:grabbing}svg#treeSvg{display:block;transform-origin:0 0;transition:transform .1s ease-out}.branch-line{stroke:#475569;stroke-width:2.5px;stroke-linecap:round;transition:stroke .2s ease,stroke-width .2s ease}.branch-line:hover{stroke:var(--primary);stroke-width:4px}.node-circle{fill:var(--primary);stroke:var(--card);stroke-width:3px;transition:transform .2s ease}.leaf-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px 10px;text-align:center;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s ease}.leaf-card:hover{border-color:var(--primary);transform:scale(1.04)}.leaf-title{font-size:.75rem;font-weight:700;color:var(--primary)}.leaf-prob{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--accent-emerald)}.frac-button{background:var(--card);border:1.5px solid var(--primary);color:var(--text-main);border-radius:8px;padding:4px 6px;font-family:var(--font-mono);font-weight:700;font-size:12px;width:100%;height:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0003}.frac-button:hover{background:var(--primary);color:#0f172a;transform:scale(1.08);box-shadow:0 0 12px #38bdf880}.formula-dock{position:fixed;bottom:0;left:0;right:0;background:#131b2eeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:12px 16px;box-shadow:0 -8px 32px #0009;z-index:1000;transition:background .3s ease}[data-theme=light] .formula-dock{background:#ffffffeb}.dock-content{max-width:900px;margin:0 auto}.formula-bar{min-height:48px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;display:flex;align-items:center;gap:8px;overflow-x:auto;white-space:nowrap;margin-bottom:10px}.formula-chip{display:inline-flex;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--border);padding:6px 12px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:700;font-size:.92rem;color:var(--text-main);animation:popIn .15s ease-out}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.formula-chip.op{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none}.formula-chip.paren{background:var(--border);color:var(--primary)}.keypad{display:grid;grid-template-columns:repeat(5,1fr) 1.2fr;gap:8px;margin-bottom:8px}.keypad button{padding:10px 0;font-family:var(--font-main);font-size:1.1rem;font-weight:700;border-radius:var(--radius-sm)}.dock-footer{display:flex;justify-content:space-between;align-items:center}.result-text{font-family:var(--font-mono);font-size:1.15rem;font-weight:800;color:var(--accent-emerald);text-shadow:0 0 10px rgba(16,185,129,.3)}.error-banner{background:#ef444426;border:1px solid #ef4444;color:#ef4444;border-radius:var(--radius-md);padding:10px 16px;font-size:.88rem;font-weight:600;margin-bottom:16px}.table-wrapper{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-md);margin-bottom:16px}.table-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.table-card-title{font-size:1.05rem;font-weight:800;color:var(--text-main)}.grid-table-container{overflow-x:auto}.contingency-table{width:100%;border-collapse:separate;border-spacing:8px;font-family:var(--font-main)}.contingency-table th{padding:10px;font-weight:700;text-align:center;font-size:.9rem}.corner-cell{background:transparent;width:120px}.col-header-cell,.row-header-cell{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--primary)}.margin-header-cell{background:#a855f71f;border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-sm);color:var(--accent-purple)}.cell-wrapper{position:relative;display:flex;align-items:center}.contingency-table input[type=number]{padding:12px 14px;font-family:var(--font-mono);font-size:1.05rem;font-weight:700;text-align:center;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg);color:var(--text-main);transition:all .2s cubic-bezier(.4,0,.2,1)}.cell-wrapper.is-user input{border-color:var(--primary);background:#38bdf814;color:var(--text-main);box-shadow:0 0 12px #38bdf840}.cell-wrapper.is-auto input{border-color:var(--accent-emerald);background:#10b98114;color:var(--accent-emerald)}.cell-wrapper.is-error input{border-color:#ef4444;background:#ef44441f;color:#ef4444}.cell-badge{position:absolute;top:-8px;right:6px;font-size:.68rem;font-weight:800;padding:2px 6px;border-radius:6px;text-transform:uppercase;pointer-events:none;opacity:0;transition:opacity .2s ease}.cell-wrapper.is-user .cell-badge{opacity:1;background:var(--primary);color:#0b1120}.cell-wrapper.is-auto .cell-badge{opacity:1;background:var(--accent-emerald);color:#052e16}.cell-wrapper.is-error .cell-badge{opacity:1;background:#ef4444;color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 768px){header{flex-direction:column;align-items:flex-start}.view-tab-group{width:100%}.view-tab{flex:1;text-align:center}.keypad{grid-template-columns:repeat(4,1fr)}.formula-dock{padding:10px}.contingency-table th,.contingency-table td{padding:4px}.contingency-table input[type=number]{padding:8px;font-size:.95rem}}
