:root{--bg:#f7f8f8;--surface:#fff;--text:#16181d;--text-2:#16181d8c;--text-3:#16181d73;--text-4:#16181d66;--text-5:#16181d4d;--hairline:#16181d0f;--border:#16181d14;--border-card:#16181d17;--border-input:#16181d24;--border-input-soft:#16181d1f;--accent:#2f7d92;--accent-text:#245f70;--accent-tint:#ecf3f5;--accent-tint-alt:#f3f8f9;--accent-dashed-bg:#f0f6f7;--neutral-fill:#f2f4f5;--segmented:#eceeef;--path-bg:#f6eaea;--path-fg:#8f2f2f;--path-dot:#a23c3c;--lpath-bg:#f9f0ec;--lpath-fg:#a85a3a;--vus-bg:#f6f0e0;--vus-fg:#8a6a1e;--vus-dot:#b08a2e;--benign-bg:#eef4ee;--benign-fg:#3c6642;--benign-dot:#4a7a52;--lbenign-bg:#f1f5f1;--lbenign-fg:#5a7a5f;--private:#a86a1e;--sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sidebar:238px;--gutter:30px;--sh-card:0 1px 2px #16181d08;--sh-pill:0 1px 2px #16181d1a;--sh-selected:0 2px 12px #2f7d921a;--sh-raised:0 4px 20px #16181d0d;--sh-menu:0 10px 30px #16181d1f;--sh-sticky:0 1px 0 #16181d14}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14.5px;line-height:1.55}h1,h2,h3{letter-spacing:-.01em;margin:0}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{color:var(--text);font-family:inherit}a{color:var(--accent-text)}.mono{font-family:var(--mono)}.row{align-items:center;display:flex}.between{justify-content:space-between;align-items:center;display:flex}.gap-8{gap:8px}.gap-10{gap:10px}.gap-14{gap:14px}.app{flex-direction:column;height:100%;display:flex}.app-body{flex:1;min-height:0;display:flex}.appbar{padding:0 var(--gutter) 0 0;background:var(--surface);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;display:flex}.appbar .wordmark{width:var(--sidebar);box-sizing:border-box}.usermenu{position:relative}.usermenu>button{cursor:pointer;color:var(--text-2);background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;padding:7px 9px;font-size:13px;display:flex}.usermenu>button:hover{background:var(--neutral-fill);color:var(--text)}.usermenu .menu{min-width:172px;top:calc(100% + 4px);left:auto;right:0}.usermenu .menu button{text-align:center;justify-content:center;gap:8px}.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;display:flex}.wordmark{align-items:center;gap:9px;padding:18px 18px 16px;font-size:16px;font-weight:600;display:flex}.mark{background:var(--accent);border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.mark:after{content:"";background:#fff;border-radius:2px;width:7px;height:7px}.nav{flex-direction:column;gap:2px;padding:6px 12px;display:flex}.nav a{color:var(--text-2);border-radius:7px;align-items:center;gap:11px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav a.active{color:var(--accent-text);font-weight:600}.nav svg{stroke-width:1.6px;flex:none;width:17px;height:17px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:#16181d6b;font-size:10px}.pill-mono{font-family:var(--mono);background:var(--neutral-fill);border-radius:6px;padding:3px 10px;font-size:12.5px;font-weight:500}.content{flex-direction:column;flex:1;display:flex;overflow:auto}.page{width:100%;max-width:1020px;padding:34px var(--gutter) 60px;margin:0 auto}.page-wide{max-width:1060px}.page-narrow{max-width:880px}.page-tight{max-width:600px;margin-top:64px}h1.title{font-size:26px;font-weight:600}p.lede{color:var(--text-2);max-width:64ch;margin:6px 0 0;font-size:14px;line-height:1.55}.steps{padding:16px var(--gutter);background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;display:flex}.step{align-items:center;gap:10px;display:flex}.dot{width:24px;height:24px;font-family:var(--mono);color:var(--text-4);border:1.5px solid #16181d33;border-radius:50%;place-items:center;font-size:11px;display:grid}.step.active .dot{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-text)}.step.done .dot{border-color:var(--accent);background:var(--accent);color:#fff}.step-label{color:var(--text-4);font-size:14px;font-weight:500}.step.active .step-label{color:var(--text)}.step.done .step-label{color:#16181da6}.connector{background:#16181d26;width:52px;height:1px;margin:0 16px}.connector.done{background:var(--accent)}.segmented{background:var(--segmented);border-radius:9px;gap:3px;padding:3px;display:inline-flex}.segmented button{height:34px;color:var(--text-2);background:0 0;border:none;border-radius:7px;padding:0 16px;font-size:13px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--sh-pill)}.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;align-items:center;gap:8px;height:42px;padding:0 24px;font-size:14.5px;font-weight:500;display:inline-flex}.btn.sm{height:38px;padding:0 16px;font-size:13px}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-input)}.btn.link{height:auto;color:var(--accent-text);background:0 0;border:none;padding:0;font-size:14px;font-weight:500}.icon-btn{background:var(--surface);border:1px solid var(--border-input-soft);width:34px;height:34px;color:var(--text-3);border-radius:7px;place-items:center;display:grid}.input,.select,.textarea{background:var(--surface);border:1px solid var(--border-input);border-radius:8px;width:100%;height:42px;padding:0 13px;font-size:14px}.textarea{height:auto;min-height:220px;font-family:var(--mono);resize:vertical;padding:13px;font-size:12.5px;line-height:1.75}.input.mono,.select.mono{font-family:var(--mono);font-size:13px}.label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11px;display:block}.card{background:var(--surface);border:1px solid var(--border-card);border-radius:10px;overflow:hidden}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.snapcard{border:1.5px solid var(--border-card);background:var(--surface);box-shadow:var(--sh-card);text-align:left;border-radius:11px;flex-direction:column;padding:17px;display:flex}.snapcard[aria-pressed=true]{border-color:var(--accent);background:var(--accent-tint-alt);box-shadow:var(--sh-selected)}.snapcard h3{font-size:17px;font-weight:600;line-height:1.2}.snapcard .meta{font-family:var(--mono);color:var(--accent);margin:3px 0 10px;font-size:11px}.snapcard p{color:#16181d94;margin:0 0 12px;font-size:12.5px;line-height:1.5}.tag{font-family:var(--mono);background:var(--neutral-fill);color:var(--text-2);border-radius:5px;padding:2px 8px;font-size:10px}.tags{flex-wrap:wrap;gap:5px;display:flex}.check{border:1.5px solid var(--border-input);background:var(--surface);border-radius:6px;flex:none;place-items:center;width:20px;height:20px;display:grid}.check.on{background:var(--accent);border-color:var(--accent);color:#fff}.check.sm{border-radius:5px;width:18px;height:18px}.rowgrid{align-items:center;gap:12px;display:grid}.thead{border-bottom:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:11px 18px;font-size:10.5px}.trow{border:none;border-bottom:1px solid var(--hairline);text-align:left;background:0 0;width:100%;padding:12px 18px;font-size:14px}.trow[aria-pressed=true]{background:var(--accent-tint-alt)}.status-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.sig{white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:500}.sig-pathogenic{background:var(--path-bg);color:var(--path-fg)}.sig-likely-pathogenic{background:var(--lpath-bg);color:var(--lpath-fg)}.sig-vus{background:var(--vus-bg);color:var(--vus-fg)}.sig-benign{background:var(--benign-bg);color:var(--benign-fg)}.sig-likely-benign{background:var(--lbenign-bg);color:var(--lbenign-fg)}.results{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex:1;overflow:auto}table.rt{border-collapse:collapse;width:100%;min-width:1080px;font-size:13.5px}table.rt thead th{z-index:2;background:var(--surface);box-shadow:var(--sh-sticky);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);text-align:left;white-space:nowrap;padding:11px 16px;font-size:10.5px;position:sticky;top:0}table.rt thead th button{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:inline-flex}table.rt tbody td{border-bottom:1px solid var(--hairline);padding:10px 16px}.src-tag{color:var(--accent);text-transform:none;letter-spacing:0;font-size:10px}.num{text-align:right;font-family:var(--mono);font-size:12.5px}.menu{z-index:20;background:var(--surface);width:210px;box-shadow:var(--sh-menu);border:1px solid #16181d1a;border-radius:9px;position:absolute;top:44px;right:0;overflow:hidden}.menu button{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:11px 13px;font-size:13px;display:flex}.menu button:hover{background:var(--bg)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.blink{animation:1s infinite blink}@keyframes blink{50%{opacity:.3}}.bar{background:#16181d14;border-radius:3px;height:6px;overflow:hidden}.bar>div{background:var(--accent);border-radius:3px;height:100%;transition:width .15s linear}.empty{text-align:center;color:var(--text-3);padding:48px 24px;font-size:13.5px}.err{color:var(--path-fg)}.dropzone{background:var(--accent-dashed-bg);text-align:center;cursor:pointer;border:1.5px dashed #2f7d9273;border-radius:10px;padding:36px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=860px){.metric-grid{grid-template-columns:repeat(2,1fr)}}.metric-storage-row{grid-template-columns:2.4fr 1fr .7fr .7fr .9fr}.metric-remote-row{grid-template-columns:2fr 1.6fr 1.2fr .9fr}.token-row{grid-template-columns:1.6fr 1.2fr 1.4fr 1.4fr .4fr}.people-row{grid-template-columns:2fr 1.4fr .9fr .8fr .9fr}.tag-remote{background:var(--accent-tint-alt);color:var(--accent-text);align-items:center;gap:4px;display:inline-flex}.job-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px 22px;display:grid}
