.dna-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dna-heat,.dna-detail,.dna-scatter{grid-column:1/-1}.dna-grid>.card{align-self:start}.dna-heat{--l1:#fde2dc;--l2:#f6a493;--l3:#e8604a;--l4:#b91c1c;--l5:#6b0d0d;position:relative}.dna-heat-scroll{scrollbar-width:thin;padding:4px 14px 8px;overflow-x:auto}.dna-heat-table{border-collapse:separate;border-spacing:2px;min-width:100%}.dna-heat-table thead th{padding:0 0 6px}.dna-heat-table thead button{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-items:center;gap:3px;padding:4px 0;transition:background .25s;display:grid}.dna-heat-table thead button:hover,.dna-heat-table thead th.on button{background:var(--panel-2);color:var(--strong)}.dna-heat-table thead small{font-size:10.5px;font-weight:700}.dna-heat-table tbody th{color:var(--muted);text-align:right;white-space:nowrap;padding:0 12px 0 0;font-size:12.5px;font-weight:600}.dna-heat-table td{text-align:center;cursor:pointer;border-radius:4px;min-width:44px;height:44px;transition:transform .2s,box-shadow .2s}.dna-heat-table td b{font-size:13px;font-weight:700}.dna-heat-table td.none{background:rgb(var(--fg-rgb) / .03);cursor:default}.dna-heat-table td.l1{background:var(--l1);color:#3b0a0a}.dna-heat-table td.l2{background:var(--l2);color:#3b0a0a}.dna-heat-table td.l3{background:var(--l3);color:#fff}.dna-heat-table td.l4{background:var(--l4);color:#fff}.dna-heat-table td.l5{background:var(--l5);color:#fff}.dna-heat-table td.old{background-image:repeating-linear-gradient(135deg,#0000004d 0 5px,#0000 5px 10px)}.dna-legend .old-sw{vertical-align:-2px;background:repeating-linear-gradient(135deg, #0000004d 0 5px, transparent 5px 10px), var(--l3);border-radius:3px;width:22px;height:14px;margin-right:6px;display:inline-block}.dna-heat-table td:not(.none):hover{box-shadow:0 0 0 2px var(--panel), 0 6px 16px #00000073;z-index:1;position:relative;transform:scale(1.08)}.dna-heat-table td.on{box-shadow:inset 0 0 0 2px #fff}footer.dna-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:4px 16px 14px;font-size:12px;display:flex}.dna-legend.heat-scale{padding:4px 16px 14px}.dna-legend em{color:var(--muted);font-size:12px}.dna-legend>i{border-radius:3px;place-items:center;width:22px;height:18px;font-size:11px;font-style:normal;font-weight:700;display:grid}.dna-legend>i.l1{background:var(--l1);color:#3b0a0a}.dna-legend>i.l2{background:var(--l2);color:#3b0a0a}.dna-legend>i.l3{background:var(--l3);color:#fff}.dna-legend>i.l4{background:var(--l4);color:#fff}.dna-legend>i.l5{background:var(--l5);color:#fff}.dna-legend em{margin-left:auto;font-style:normal}.dna-legend .dot{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.dna-heat .dna-legend{--l1:#fde2dc}.dna-tip{z-index:70;background:rgb(var(--tip-rgb) / .97);border:1px solid var(--border-2);pointer-events:none;border-radius:10px;gap:3px;min-width:200px;padding:9px 12px;font-size:12.5px;display:grid;position:fixed;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 16px 34px #00000080}.dna-tip b,.dna-tip strong{color:var(--strong)}.dna-tip small{color:var(--muted)}.dna-detail-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;padding:4px 16px 16px;display:grid}.dna-map{gap:8px;margin:0;display:grid}.dna-map svg{width:100%;height:auto}.dna-track-edge{fill:none;stroke:#0b0f17;stroke-width:12px;stroke-linejoin:round}.dna-track{fill:none;stroke:#94a3b8;stroke-width:4px;stroke-linejoin:round}.dna-map text{fill:#0b0f17;pointer-events:none;font-size:9.5px;font-weight:800}.dna-map figcaption{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:12.5px;display:flex}.dna-map figcaption i{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.dna-side{align-content:start;gap:14px;display:grid}.dna-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dna-tiles span{background:rgb(var(--fg-rgb) / .04);border:1px solid var(--border);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.dna-tiles small{color:var(--muted);font-size:11.5px}.dna-tiles b{color:var(--strong);font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;font-size:21px;font-weight:400}.dna-corners>small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.dna-corners>div{flex-wrap:wrap;gap:5px;display:flex}.dna-corners span{background:rgb(var(--fg-rgb) / .04);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:7px;align-items:center;gap:5px;height:26px;padding:0 8px 0 4px;font-size:12.5px;display:inline-flex}.dna-corners span b{background:var(--c);color:#0b0f17;border-radius:5px;place-items:center;min-width:26px;height:18px;font-size:10.5px;display:grid}.dna-scatter-wrap{padding:0 12px;position:relative}.dna-scatter svg{max-width:100%;display:block}.dna-scatter .grid{stroke:rgb(var(--fg-rgb) / .07)}.dna-scatter .ax{fill:var(--muted);font-size:11px}.dna-scatter .ax-title{fill:var(--muted);font-size:11.5px;font-weight:600}.dna-scatter .lbl{fill:var(--text);pointer-events:none;font-size:1em}.dna-scatter .pt{cursor:pointer}.dna-scatter .pt circle{transform-box:fill-box;transform-origin:50%;transition:fill-opacity .2s,transform .25s cubic-bezier(.34,1.4,.64,1)}.dna-scatter .pt:hover circle{fill-opacity:1;transform:scale(1.12)}.dna-scatter-tip{background:rgb(var(--tip-rgb) / .95);border:1px solid var(--border-2);pointer-events:none;border-radius:10px;gap:2px;padding:9px 12px;font-size:12.5px;display:grid;position:absolute;top:10px;right:26px}.dna-scatter-tip b{color:var(--strong)}.dna-bars ol{gap:3px;margin:0;padding:4px 16px 6px;list-style:none;display:grid}.dna-bars li{grid-template-columns:22px 92px minmax(0,1fr);align-items:center;gap:8px;height:24px;font-size:12.5px;display:grid}.dna-bars .nm{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dna-bars .bar{height:18px;position:relative}.dna-bars .bar i{background:#dc2626;border-radius:0 4px 4px 0;transition:filter .2s;position:absolute;inset:0 auto 0 0}.dna-bars .bar i.old{background:repeating-linear-gradient(135deg,#dc2626 0 6px,#8f1d1d 6px 10px)}.dna-bars li:hover .bar i{filter:brightness(1.2)}.dna-bars .bar b{color:#fff;text-shadow:0 1px 2px #00000080;font-size:11.5px;font-weight:700;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.dna-bars ol{padding-bottom:12px}.dna-bars-note{color:var(--muted);align-items:center;gap:8px;padding:0 16px 12px;font-size:12px;display:flex}.dna-bars-note i{background:repeating-linear-gradient(135deg,#dc2626 0 6px,#8f1d1d 6px 10px);border-radius:3px;width:22px;height:12px}.dna-empty{padding:10px 16px}@media (max-width:1100px){.dna-grid,.dna-detail-body{grid-template-columns:1fr}}@media (max-width:640px){.dna-heat-table td{min-width:36px;height:36px}.dna-legend em{margin-left:0}}.dna-sortmenu{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:12.5px;font-weight:600;display:flex;position:relative}.dna-sortmenu>button{border:1px solid var(--border-2);background:var(--panel-2);height:34px;color:var(--strong);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:0 10px 0 12px;font-size:13px;transition:background .2s,border-color .2s;display:inline-flex}.dna-sortmenu>button:hover,.dna-sortmenu>button.open{background:rgb(var(--fg-rgb) / .08);border-color:rgb(var(--fg-rgb) / .2)}.dna-sortmenu>button svg{transition:transform .2s}.dna-sortmenu>button.open svg{transform:rotate(180deg)}.dna-sortmenu ul{z-index:60;background:rgb(var(--tip-rgb) / .98);border:1px solid var(--border-2);border-radius:12px;min-width:220px;margin:0;padding:5px;list-style:none;animation:.14s ease-out dna-pop;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 40px -14px #000000b3}.dna-sortmenu li button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13.5px;display:flex}.dna-sortmenu li button:hover{background:var(--panel-2)}.dna-sortmenu li[aria-selected=true] button{background:rgb(var(--fg-rgb) / .07);color:var(--strong);font-weight:600}@keyframes dna-pop{0%{opacity:0;transform:translateY(-4px)}}.dna-hint{background:color-mix(in srgb, var(--brand) 13%, transparent);border:1px solid color-mix(in srgb, var(--brand) 35%, transparent);color:var(--text);border-radius:10px;align-items:center;gap:10px;margin:2px 16px 10px;padding:9px 12px;font-size:13px;display:flex}.dna-hint svg{color:var(--brand);flex:none}.dna-hint b{color:var(--strong)}.dna-heat-table thead th.col button{background:var(--panel-2);color:var(--strong)}.dna-heat-table td.col:not(.on){box-shadow:inset 0 0 0 2px #ffffff8c}.dna-heat-table tr.sorted th{color:var(--strong)}.dna-tip .go{font-weight:600;color:var(--brand)!important}.dna-detail.flash{animation:1.2s ease-out dna-flash}@keyframes dna-flash{0%,30%{box-shadow:0 0 0 2px var(--brand), 0 0 40px -6px var(--brand)}to{box-shadow:0 0 #0000}}@media (max-width:640px){.dna-sortmenu{width:100%;margin:6px 0 0}.dna-sortmenu>button{flex:1;justify-content:space-between}.dna-sortmenu ul{width:100%;left:0;right:auto}.dna-hint{font-size:12.5px}}.dna-grid footer{width:auto;min-height:0;color:var(--muted);letter-spacing:normal;border-top:0;flex-wrap:wrap;margin:0;font-size:12px;display:flex}.dna-grid footer span{justify-self:auto;display:inline}.dna-fit>small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.dna-fit ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dna-fit li{grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px;font-size:13px;display:grid}.dna-fit li span{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-weight:600;display:flex;overflow:hidden}.dna-fit li span i{background:var(--team);border-radius:2px;flex:none;width:4px;height:16px}.dna-fit li b{background:rgb(var(--fg-rgb) / .07);border-radius:6px;height:10px;position:relative;overflow:hidden}.dna-fit li b em{width:var(--w);background:var(--c);border-radius:6px;position:absolute;inset:0 auto 0 0}.dna-fit a{color:var(--brand);margin-top:8px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-block}.dna-fit a:hover{text-decoration:underline}
