:root{--bg:#f4f7fa;--surface:#fff;--surface-2:#eaf0f5;--text:#0f1b2d;--text-muted:#4b5b70;--border:#d5dee8;--primary:#0b1f3a;--accent-ui:#12486b;--secondary:#14b8a6;--accent:#ff6b6b;--benign:#22c55e;--vus:#94a3b8;--shadow:0 2px 10px #0b1f3a14;--radius:14px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--viewer-bg:#fff;--pill-pathogenic-bg:#ffe1e1;--pill-pathogenic-text:#7a1414;--pill-benign-bg:#d9f7e3;--pill-benign-text:#0f5226;--pill-uncertain-bg:#e6ebf1;--pill-uncertain-text:#36455a;--banner-info-bg:#e3f0fb;--banner-warn-bg:#fff2cc;--banner-warn-text:#5c4300;--banner-error-bg:#ffe1e1;--banner-error-text:#7a1414;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0a1424;--surface:#11203a;--surface-2:#182a48;--text:#e8eef6;--text-muted:#a3b2c6;--border:#25385a;--accent-ui:#5fd0c5;--shadow:0 2px 12px #0006;--viewer-bg:#0d1a30;--pill-pathogenic-bg:#5a1d25;--pill-pathogenic-text:#ffd9d9;--pill-benign-bg:#14452a;--pill-benign-text:#d3f7e0;--pill-uncertain-bg:#2b3d5c;--pill-uncertain-text:#dbe5f2;--banner-info-bg:#153253;--banner-warn-bg:#4a3a0b;--banner-warn-text:#ffe9a8;--banner-error-bg:#5a1d25;--banner-error-text:#ffd9d9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);font:15px/1.5 var(--font);font-variant-numeric:tabular-nums;flex-direction:column;margin:0;display:flex}[hidden]{display:none!important}h1,h2,h3{margin:0}h2{font-size:1.1rem}h3{margin-top:16px;font-size:1rem}a{color:var(--accent-ui)}.page{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:16px}:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--surface);z-index:10;border-radius:8px;padding:8px 12px;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.muted{color:var(--text-muted)}.note{color:var(--text-muted);margin:8px 0 0;font-size:.85rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.topbar{color:#fff;background:linear-gradient(90deg,#0b1f3a,#0b5e63 70%,#0f766e);align-items:center;gap:16px;padding:12px 16px;display:flex}.brand{letter-spacing:.01em;font-size:1.25rem}.brand-button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.search{flex:1;max-width:420px}.search input{width:100%;font:inherit;color:#0f1b2d;background:#fff;border:0;border-radius:999px;padding:8px 14px}.top-actions{gap:8px;margin-left:auto;display:flex}.icon-button{font:inherit;color:#fff;cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:999px;padding:8px 14px;transition:background .15s}.icon-button:hover{background:#ffffff2e}.search-error{min-height:0;color:var(--banner-error-text);background:var(--banner-error-bg);margin:0;padding:0 16px}.search-error:not(:empty){padding:6px 16px}.quick-row{flex-wrap:wrap;gap:8px 24px;width:100%;max-width:1360px;margin:0 auto;padding:10px 16px 0;display:flex}.chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-label{color:var(--text-muted);font-size:.85rem}.chip{border:1px solid var(--border);font:inherit;color:var(--text);background:var(--surface);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.85rem;transition:background .15s}.chip:hover{background:var(--surface-2)}.chip[aria-pressed=true]{color:#fff;background:var(--accent-ui);border-color:var(--accent-ui)}[data-theme=dark] .chip[aria-pressed=true]{color:#06202a}.button{border:1px solid var(--border);font:inherit;color:var(--text);background:var(--surface);cursor:pointer;border-radius:10px;padding:6px 14px;transition:background .15s,transform .15s}.button:hover:not(:disabled){background:var(--surface-2)}.button:disabled{opacity:.5;cursor:default}.button[aria-pressed=true]{background:var(--surface-2);border-color:var(--accent-ui)}.input,select{border:1px solid var(--border);font:inherit;color:var(--text);background:var(--surface);border-radius:10px;padding:6px 10px}.input{flex:1;min-width:200px}.toggle,.field{align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.control-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:20px;transition:transform .2s,box-shadow .2s}.stat-card:hover,.empty-state:hover{transform:translateY(-2px)}.banner-action{color:inherit;margin-left:12px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}#results{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.layout-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}.side{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.empty-state p{color:var(--text-muted);margin:8px 0 0}.gene-title{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.gene-title h2{font-size:1.6rem}.meta-list{flex-wrap:wrap;gap:4px 20px;margin:8px 0 0;padding:0;list-style:none;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.stat-card{padding:14px 16px}.stat-label{color:var(--text-muted);font-size:.8rem}.stat-value{font-size:1.7rem;font-weight:650;line-height:1.2}.stat-detail{color:var(--text-muted);font-size:.8rem}.reasons{margin-top:6px;font-size:.85rem}.reasons ul{margin:6px 0;padding-left:18px}.panel-skeleton{gap:12px;display:grid}.shimmer{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:8px;height:18px;animation:1.4s linear infinite shimmer}.panel-skeleton.tall .shimmer{height:420px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.panel-message{justify-items:start;gap:10px;display:grid}.panel-message p{margin:0}.message-error{color:var(--banner-error-text);background:var(--banner-error-bg);border-radius:10px;padding:8px 12px}.message-empty{color:var(--text-muted)}.viewer{border:1px solid var(--border);background:var(--viewer-bg);border-radius:12px;height:520px;position:relative;overflow:hidden}.viewer-card:fullscreen{border-radius:0;overflow:auto}.viewer-card:fullscreen .viewer{height:calc(100vh - 220px)}.viewer-buttons{margin:10px 0}.viewer-tooltip{z-index:5;color:#fff;pointer-events:none;background:#0b1f3af0;border-radius:8px;max-width:260px;padding:6px 10px;font-size:.8rem;line-height:1.35;position:absolute}.legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 18px;margin:6px 0;padding:0;font-size:.85rem;list-style:none;display:flex}.swatch,.shape{vertical-align:-1px;border:1px solid #00000040;width:12px;height:12px;margin-right:4px;display:inline-block}.swatch-very-high{background:#0053d6}.swatch-confident{background:#65cbf3}.swatch-low{background:#ffdb13}.swatch-very-low{background:#ff7d45}.swatch-d0{background:#ffc}.swatch-d1{background:#fed976}.swatch-d2{background:#fd8d3c}.swatch-d3{background:#e31a1c}.swatch-d4{background:#800026}.shape{border-radius:50%}.shape-pathogenic{background:var(--accent)}.shape-benign{background:var(--benign)}.shape-uncertain{background:var(--vus);border-radius:2px}.text-view{margin-top:8px}.text-view summary{cursor:pointer}.plot-wrap{height:340px;position:relative}.constraint-row{border-bottom:1px solid var(--border);padding:8px 0}.constraint-row:last-of-type{border-bottom:0}.constraint-row p{margin:2px 0 0;font-size:.85rem}.constraint-head{justify-content:space-between;gap:8px;display:flex}.constraint-value{font-weight:650}.sentences{margin:8px 0 0;padding-left:18px}.sentences li{margin-bottom:6px}.detail-list{grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0;display:grid}.detail-list dt{color:var(--text-muted)}.detail-list dd{margin:0}.table-controls{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:8px;display:flex}.table-wrap{max-width:100%;margin-top:10px;overflow-x:auto}.variant-table{border-collapse:collapse;width:100%;font-size:.9rem}.variant-table th,.variant-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.sort-button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.row{cursor:pointer}.row:hover{background:var(--surface-2)}.row.selected{background:var(--surface-2);box-shadow:inset 4px 0 #facc15}.row.mismatch td{color:var(--text-muted);font-style:italic}.pager{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:10px;font-size:.9rem;display:flex}.pill,.badge{border-radius:999px;padding:1px 9px;font-size:.8rem;display:inline-block}.pill-pathogenic,.badge-absent,.badge-ultra-rare{color:var(--pill-pathogenic-text);background:var(--pill-pathogenic-bg)}.pill-benign,.badge-common{color:var(--pill-benign-text);background:var(--pill-benign-bg)}.pill-uncertain,.badge-rare,.badge-low-frequency,.badge-unknown{color:var(--pill-uncertain-text);background:var(--pill-uncertain-bg)}.banners{gap:8px;margin-bottom:12px;display:grid}.banner{border-radius:10px;padding:10px 14px}.banner-info{background:var(--banner-info-bg)}.banner-warn{color:var(--banner-warn-text);background:var(--banner-warn-bg)}.banner-error{color:var(--banner-error-text);background:var(--banner-error-bg)}.dialog{border:1px solid var(--border);border-radius:var(--radius);max-width:640px;max-height:85vh;color:var(--text);background:var(--surface);box-shadow:var(--shadow);padding:24px}.footer{color:var(--text-muted);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:12px 16px;font-size:.85rem;display:flex}@media (max-width:1024px){.layout-grid{display:contents}#viewer-panel{order:1}#stats-panel{order:2}.side{order:3}#plot-panel{order:4}#table-panel{order:5}}@media (max-width:640px){.topbar{flex-wrap:wrap}.search{flex-basis:100%;order:3;max-width:none}.card{padding:14px}.viewer{height:380px}.plot-wrap{height:280px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-list{grid-template-columns:1fr}}.home{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.gene-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.gene-card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-content:start;gap:6px;padding:14px 16px;display:grid}.gene-card-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.gene-card-head h3{margin:0;font-size:1.2rem}.gene-card p{margin:0}.gene-card-facts{color:var(--text-muted);margin:0;padding-left:18px;font-size:.85rem}.gene-card-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.button-primary{color:#fff;background:var(--accent-ui);border-color:var(--accent-ui)}[data-theme=dark] .button-primary{color:#06202a}.button-primary:hover:not(:disabled){background:var(--accent-ui);filter:brightness(1.1)}.button-danger:hover:not(:disabled){color:var(--banner-error-text);background:var(--banner-error-bg)}.button-small{padding:2px 10px;font-size:.85rem}.badge-outdated,.badge-partial{color:var(--banner-warn-text);background:var(--banner-warn-bg)}.freshness{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.folder-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:8px;display:flex}.folder-toolbar:empty{display:none}.crumbs{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:">";color:var(--text-muted);margin-right:4px}.crumb{font:inherit;color:var(--accent-ui);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 6px;text-decoration:underline}.crumb-current{font-weight:600}.folder-card{border-style:dashed}.is-dragging{opacity:.5}.drop-target{outline:3px solid var(--accent-ui);outline-offset:2px}.dialog{width:min(480px,100vw - 32px);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.dialog::backdrop{background:#00000073}.dialog h3{margin:0 0 10px}.dialog-input{width:100%;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;padding:8px 10px}.dialog-error{min-height:1.2em;color:var(--banner-error-text);margin:6px 0 0}.dialog-list{gap:6px;max-height:260px;margin:8px 0;display:grid;overflow-y:auto}.dialog-choice{align-items:center;gap:8px;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.overview-grid{grid-template-columns:minmax(0,1fr);gap:16px 28px;display:grid}@media (min-width:900px){.overview-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.overview-facts{gap:8px;margin:0;display:grid}.overview-fact dt{color:var(--text-muted);font-size:.8rem}.overview-fact dd{overflow-wrap:anywhere;margin:0}.overview-text-block h3{margin:0 0 4px;font-size:1rem}.overview-text-block h3:not(:first-child){margin-top:12px}.overview-text{margin:0 0 6px}
