:root{--bg:#0f1115;--surface:#171a21;--surface-2:#1e222b;--surface-3:#262b36;--border:#2a2f3a;--text:#e6e8eb;--text-dim:#9aa1ac;--accent:#4f8cff;--accent-hover:#6ea0ff;--accent-soft:#4f8cff26;--gain:#3fbf76;--loss:#e5534b;--warning:#e0a63e;--focus-ring:0 0 0 3px #4f8cff59;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000059;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.5rem;--transition-fast:.12s ease;--transition-base:.2s ease;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h2{font-size:var(--fs-lg);margin:0 0 var(--space-4)}.text-dim{color:var(--text-dim)}.mono{font-variant-numeric:tabular-nums}.gain{color:var(--gain)}.loss{color:var(--loss)}.principal{color:var(--accent)}.app-header{z-index:10;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);display:flex;position:sticky;top:0}.app-header h1{font-size:var(--fs-md);white-space:nowrap;margin:0}.app-header nav{gap:var(--space-2);flex:1;display:flex}.app-header nav a{color:var(--text-dim);font-size:var(--fs-base);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;text-decoration:none}.app-header nav a:hover{color:var(--text);background:var(--surface-2)}.app-header nav a.active{color:var(--accent);background:var(--accent-soft)}.app-header-user{align-items:center;gap:var(--space-3);font-size:var(--fs-sm);display:flex}.avatar{border-radius:var(--radius-full);background:var(--accent-soft);width:1.75rem;height:1.75rem;color:var(--accent);font-size:var(--fs-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.nav-toggle{border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:0 0;justify-content:center;align-items:center;display:none}.app-main{padding:var(--space-5);max-width:min(1400px,100% - 3rem);margin:0 auto}@media (width<=900px){.nav-toggle{display:inline-flex}.app-header{flex-wrap:wrap}.app-header nav{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--space-3);gap:var(--space-1);box-shadow:var(--shadow-md);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.app-header nav.open{display:flex}.app-header nav a{border-radius:var(--radius-sm)}.app-header-user{margin-left:auto}}.table-scroll{border-radius:var(--radius-md);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap}th{background:var(--surface);color:var(--text-dim);font-weight:500;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--surface-2)}.form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-items:end;display:grid}label{gap:var(--space-1);font-size:var(--fs-xs);color:var(--text-dim);flex-direction:column;display:flex}input,select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:.45rem var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}input:hover,select:hover{border-color:#3a4150}input:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}button{background:var(--accent);color:#fff;padding:.5rem var(--space-4);border-radius:var(--radius-sm);font-size:var(--fs-base);cursor:pointer;transition:filter var(--transition-fast), background var(--transition-fast);border:none}button:hover{filter:brightness(1.1)}button:focus-visible{box-shadow:var(--focus-ring);outline:none}button.secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}button.ghost{color:var(--text-dim);background:0 0;border:1px solid #0000}button.ghost:hover{background:var(--surface-2);color:var(--text)}button.danger{border:1px solid var(--loss);color:var(--loss);background:0 0}button.danger:hover{background:#e5534b1f}button.sm{padding:.3rem var(--space-2);font-size:var(--fs-xs)}button:disabled{opacity:.5;cursor:not-allowed;filter:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-5)}.card-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.card-toolbar h2{margin:0}.error{color:var(--loss);font-size:var(--fs-sm);margin-top:var(--space-2)}.pill{border-radius:var(--radius-full);font-size:var(--fs-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);padding:.15rem .6rem;font-weight:500;display:inline-block}.pill-accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.pill-gain{color:var(--gain);background:#3fbf7626;border-color:#0000}.pill-loss{color:var(--loss);background:#e5534b26;border-color:#0000}.pill-warning{color:var(--warning);background:#e0a63e26;border-color:#0000}.filter-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.filter-bar-results{color:var(--text-dim);font-size:var(--fs-xs);white-space:nowrap;margin-left:auto}.search-input{align-items:center;display:inline-flex;position:relative}.search-input svg{width:14px;height:14px;color:var(--text-dim);pointer-events:none;position:absolute;left:.6rem}.search-input input{min-width:200px;padding-left:1.9rem;padding-right:1.9rem}.search-input-clear{color:var(--text-dim);cursor:pointer;line-height:1;font-size:var(--fs-sm);background:0 0;border:none;padding:.15rem .3rem;position:absolute;right:.35rem}.search-input-clear:hover{color:var(--text)}.date-range{align-items:center;gap:var(--space-2);display:flex}.date-range span{color:var(--text-dim);font-size:var(--fs-xs)}.stat-row{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5)}.stat-card-label{color:var(--text-dim);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-2)}.stat-card-value{font-size:var(--fs-xl);font-weight:600}.stat-card-sub{margin-top:var(--space-1);font-size:var(--fs-xs);color:var(--text-dim)}.stat-card-featured{background:linear-gradient(135deg, var(--accent), #3d6fd6);color:#fff;border-color:#0000}.stat-card-featured .stat-card-label,.stat-card-featured .stat-card-sub{color:#ffffffbf}.evidence-cell{gap:var(--space-2);white-space:normal;flex-wrap:wrap;align-items:center;display:flex}.evidence-pill{align-items:center;gap:var(--space-2);display:inline-flex}.evidence-pill a{color:var(--text);text-decoration:none}.evidence-pill a:hover{color:var(--accent)}.evidence-remove{color:var(--text-dim);font-size:var(--fs-md);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.evidence-remove:hover{color:var(--loss)}.evidence-add{padding:.15rem var(--space-2);font-size:var(--fs-xs)}.auth-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{text-align:center;max-width:320px}.auth-card p{color:var(--text-dim);font-size:var(--fs-base)}.button-link{background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:var(--fs-base);margin-top:var(--space-2);transition:filter var(--transition-fast);padding:.55rem 1.1rem;text-decoration:none;display:inline-block}.button-link:hover{filter:brightness(1.1)}.lineage-node{border-left:2px solid var(--border);padding-left:var(--space-4);margin-top:var(--space-2)}.lineage-node-header{gap:var(--space-3);flex-wrap:wrap;align-items:baseline;display:flex}.lineage-node-amount{font-weight:600}.lineage-node-detail{color:var(--text-dim);font-size:var(--fs-sm)}
