*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:#f5f3ef;color:#1c1917;min-height:100vh}
header{padding:16px 28px 13px;border-bottom:1px solid #e8e3da;display:flex;align-items:baseline;gap:16px;background:#fff}
header h1{font-size:.95rem;font-weight:600;color:#1c1917;letter-spacing:-.01em}
.bar{padding:9px 28px;display:flex;gap:5px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e8e3da;background:#fff}
.bar label{font-size:.65rem;color:#b5afa6;margin-right:2px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.gb{background:#fff;color:#57534e;border:1px solid #e2ddd5;border-radius:5px;padding:4px 11px;font-size:.72rem;cursor:pointer;transition:all .12s;display:flex;align-items:center;gap:5px}
.gb:hover{border-color:#a8a29e;color:#1c1917;background:#faf9f7}
.gb.on{border-width:2px;background:#faf9f7}
.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.sep{width:1px;height:18px;background:#e8e3da;margin:0 5px}
.fb{background:#fff;color:#78716c;border:1px solid #e2ddd5;border-radius:5px;padding:3px 10px;font-size:.7rem;cursor:pointer;transition:all .12s}
.fb:hover{border-color:#a8a29e;color:#1c1917;background:#faf9f7}
.fb.on{background:#f5f3ff;border-color:#818cf8;color:#4338ca}
#main{padding:20px 28px}
.sl{font-size:.58rem;color:#c9c2b8;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-weight:500}
svg text{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
#tip{position:fixed;pointer-events:none;background:#fff;border:1px solid #e8e3da;border-radius:9px;padding:11px 14px;font-size:.72rem;color:#1c1917;max-width:320px;z-index:999;display:none;box-shadow:0 4px 20px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.04);line-height:1.6}
#tip.has-align{max-width:min(520px,calc(100vw - 24px))}
#tip .tt{font-weight:600;font-size:.78rem;color:#1c1917;margin-bottom:6px}
#tip .tr{display:flex;gap:8px;margin-bottom:2px}
#tip .tk{color:#b5afa6;min-width:76px;flex-shrink:0}
#tip .ts{font-family:monospace;font-size:.67rem;color:#6d28d9;word-break:break-all}
#tip .align-block{margin-top:8px;padding-top:8px;border-top:1px solid #f0ebe3}
#tip .align-row{font-family:monospace;font-size:.64rem;color:#44403c;word-break:break-all;white-space:pre-wrap}
#tip .align-row.q{color:#6d28d9}
#tip .align-row.s{color:#0f766e}
#tip .align-match{font-family:monospace;font-size:.64rem;color:#a8a29e;word-break:break-all;white-space:pre-wrap}
#tip a{color:#2563eb;text-decoration:none}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid #e8e3da}
.li{display:flex;align-items:center;gap:5px;font-size:.67rem;color:#a8a29e}
#detail{margin-top:14px;display:none}
.dc{background:#fff;border:1px solid #e8e3da;border-radius:9px;padding:13px 17px;display:flex;gap:20px;align-items:flex-start}
.dh{display:flex;flex-direction:column;gap:3px;min-width:160px;border-right:1px solid #ede9e3;padding-right:18px}
.dn{font-size:.85rem;font-weight:600;color:#1c1917;font-family:monospace}
.dt{font-size:.7rem;margin-top:1px}
.db{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:3px 20px}
.dr{display:flex;gap:8px;font-size:.72rem;color:#1c1917;align-items:baseline;min-width:0}
.dk{color:#b5afa6;min-width:66px;flex-shrink:0;font-size:.67rem}
.dr code{font-size:.64rem;color:#6d28d9;font-family:monospace;word-break:break-all}
.dr a{color:#2563eb;text-decoration:none}
.dr a:hover{text-decoration:underline}
.ld{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.note{font-size:.66rem;color:#c9c2b8;padding:5px 0;font-style:italic;margin-top:6px}
.tabs{display:flex;gap:0;border-bottom:1px solid #e8e3da;background:#fff;padding:0 28px}
.tab{padding:10px 18px;font-size:.78rem;font-weight:500;color:#a8a29e;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s;background:none;border-top:none;border-left:none;border-right:none}
.tab:hover{color:#1c1917}
.tab.on{color:#1c1917;border-bottom-color:#1c1917}
.panel{display:none}.panel.on{display:block}
#ptable{padding:32px 28px 48px}
#ptable p.intro{font-size:.8rem;color:#78716c;line-height:1.6;margin-bottom:28px;max-width:720px}
.gene-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;flex-shrink:0}
tr.gh td{padding:18px 0 6px;font-size:.63rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#a8a29e;border-bottom:1px solid #e8e3da}
tr.gh:first-child td{padding-top:4px}
table{width:100%;border-collapse:collapse;font-size:.72rem}
thead th{text-align:left;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#b5afa6;padding:0 10px 7px;border-bottom:1px solid #e8e3da;white-space:nowrap}
thead th:first-child{padding-left:0}
tbody tr{border-bottom:1px solid #f0ece6}
tbody tr:last-child{border-bottom:none}
tbody td{padding:7px 10px;color:#1c1917;vertical-align:middle}
tbody td:first-child{padding-left:0}
td.assay{font-family:monospace;font-size:.75rem;font-weight:600;white-space:nowrap}
td.seq{font-family:monospace;font-size:.67rem;color:#6d28d9;word-break:break-all}
td.tg{color:#78716c}
td.sz{color:#78716c;white-space:nowrap}
td.gdots{white-space:nowrap;padding-right:4px}
.gdot-list{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center}
.gdot{width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;flex-shrink:0;transition:transform .1s}
.gdot:hover{transform:scale(1.35)}
td.ref a{color:#2563eb;text-decoration:none;font-size:.67rem}
td.ref a:hover{text-decoration:underline}
td.ref .ref-link.has-ref-title{cursor:help;border-bottom:1px dotted #93c5fd;text-decoration:none}
td.ref .ref-link.has-ref-title:hover{text-decoration:none;border-bottom-color:#2563eb}
.ref-list{display:inline-block;line-height:1.45}
#tip .ref-title{margin-top:4px;line-height:1.5;color:#44403c}
.dr.refs .dk{align-self:flex-start}
#about{padding:32px 28px 48px;max-width:820px}
#about h2{font-size:.9rem;font-weight:600;color:#1c1917;margin-bottom:10px}
#about h3{font-size:.75rem;font-weight:600;color:#1c1917;margin:28px 0 8px;padding-bottom:6px;border-bottom:1px solid #e8e3da}
#about p{font-size:.8rem;color:#44403c;line-height:1.7;margin-bottom:8px}
#about a{color:#2563eb;text-decoration:none}
#about a:hover{text-decoration:underline}
#about code{font-size:.75rem;color:#6d28d9;font-family:monospace}
#about table{margin-top:8px}
#about td.acc{font-family:monospace;font-size:.7rem;color:#6d28d9;white-space:nowrap}
#about td.sp{font-style:italic;color:#44403c}
#about td.grp{color:#a8a29e;font-size:.68rem;text-transform:capitalize}
#align-row{margin-top:18px}
.align-head{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:0;margin:0 0 6px;cursor:pointer;text-align:left}
.align-head:disabled{opacity:.45;cursor:not-allowed}
.align-chevron{font-size:.5rem;color:#c9c2b8;line-height:1;transition:transform .15s ease;display:inline-block}
.align-head:hover .align-chevron,.align-head:hover .sl-t{color:#a8a29e}
#align-row.open .align-chevron{transform:rotate(90deg)}
.align-head .sl-t{font-size:.58rem;color:#c9c2b8;text-transform:uppercase;letter-spacing:.12em;font-weight:500;transition:color .12s}
#align-row:not(.open) .align-form{display:none}
#align-row.open .align-form{display:block;margin-bottom:4px}
#align-query{width:100%;min-height:72px;font-family:monospace;font-size:.72rem;color:#1c1917;border:1px solid #e2ddd5;border-radius:5px;padding:8px 10px;resize:none;background:#faf9f7;line-height:1.4;box-sizing:border-box}
#align-query:focus{outline:none;border-color:#a8a29e}
.align-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.align-scope-wrap{display:flex;align-items:center;gap:8px}
.align-rc-wrap{display:flex;align-items:center;gap:6px;cursor:pointer}
#align-rc{width:14px;height:14px;margin:0;cursor:pointer;accent-color:#78716c}
.align-opt-lbl{font-size:.72rem;color:#78716c;white-space:nowrap}
#align-scope{background:#fff;color:#57534e;border:1px solid #e2ddd5;border-radius:5px;padding:5px 8px;font-size:.72rem;cursor:pointer}
#align-scope:focus{outline:none;border-color:#a8a29e}
#align-btn{background:#fff;color:#78716c;border:1px solid #e2ddd5;border-radius:5px;padding:6px 12px;font-size:.72rem;cursor:pointer;transition:all .12s}
#align-btn:hover{border-color:#a8a29e;color:#1c1917;background:#faf9f7}
#align-btn:disabled{opacity:.45;cursor:not-allowed}
#align-clear{background:#fff;color:#78716c;border:1px solid #e2ddd5;border-radius:5px;padding:6px 12px;font-size:.72rem;cursor:pointer;transition:all .12s}
#align-clear:hover{border-color:#a8a29e;color:#1c1917;background:#faf9f7}
