.genome-hero{background:var(--panel)}.genome-shell{gap:var(--s-3);padding:var(--s-5) var(--s-6) var(--s-10);display:grid}.genome-toolbar{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--e-1);align-items:center;gap:var(--s-4);padding:var(--s-2) var(--s-3);flex-wrap:wrap;justify-content:space-between;display:flex}.genome-lens,.genome-view-toggle{background:var(--surface);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.genome-lens-btn,.genome-view-btn{border-radius:var(--r-sm);color:var(--ink-secondary);font-size:var(--t-sm);font-weight:var(--w-medium);min-height:30px;padding:0 var(--s-3);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0}.genome-lens-btn:hover,.genome-view-btn:hover{color:var(--ink)}.genome-lens-btn:active,.genome-view-btn:active{background:var(--surface-strong)}.genome-lens-btn:focus-visible,.genome-view-btn:focus-visible,.genome-tool-btn:focus-visible,.genome-attention-card:focus-visible,.genome-row-name:focus-visible,.genome-table th button:focus-visible,.genome-canvas:focus-visible{outline:2px solid var(--signal-600);outline-offset:2px}.genome-lens-btn.active,.genome-view-btn.active{background:var(--panel);box-shadow:var(--e-1);color:var(--ink);font-weight:var(--w-semibold)}.genome-legend{color:var(--ink-secondary);align-items:center;gap:var(--s-4);font-size:var(--t-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.genome-legend li{align-items:center;gap:var(--s-2);display:inline-flex}.genome-swatch{border-radius:var(--r-full);width:10px;height:10px;display:inline-block}.genome-toolbar-right{align-items:center;gap:var(--s-3);display:inline-flex}.genome-zoom{gap:var(--s-1);display:inline-flex}.genome-tool-btn{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink-secondary);height:30px;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;width:30px;display:inline-flex}.genome-tool-btn:hover{background:var(--surface);color:var(--ink)}.genome-tool-btn:active{background:var(--surface-strong)}.genome-tool-btn:disabled{color:var(--ink-disabled);cursor:not-allowed}.genome-attention{align-items:stretch;gap:var(--s-3);grid-template-columns:auto repeat(4,minmax(0,1fr));display:grid}.genome-attention-title{color:var(--n-800);font-size:var(--t-xs);font-weight:var(--w-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;align-self:center;max-width:5.5rem}.genome-attention-card{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--e-1);padding:var(--s-3);text-align:left;transition:box-shadow var(--dur-fast) var(--ease-out);border:0;gap:3px;display:grid}.genome-attention-card:hover{box-shadow:var(--e-2)}.genome-attention-card:active{box-shadow:var(--e-1)}.genome-attention-card strong{color:var(--ink);font-size:var(--t-sm);font-weight:var(--w-semibold)}.genome-attention-card em{color:var(--risk-700);font-size:var(--t-xs);font-style:normal;font-weight:var(--w-medium)}.genome-attention-card small{color:var(--ink-muted);font-size:var(--t-xs);line-height:var(--lh-snug)}.genome-stage{gap:var(--s-3);grid-template-columns:minmax(0,1fr);display:grid}.genome-stage.with-panel{grid-template-columns:minmax(0,1fr) 340px}.genome-canvas{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--e-1);min-width:0;overflow:hidden}.genome-svg{cursor:grab;touch-action:none;width:100%;height:640px;display:block}.genome-svg:active{cursor:grabbing}.genome-edge{fill:none;stroke:var(--n-200);stroke-width:1.5px}.genome-root-dot{fill:var(--n-100);stroke:var(--n-400);stroke-width:1.5px}.genome-node{cursor:pointer}.genome-label{fill:var(--ink);font-family:var(--font-sans);font-size:13px;font-weight:var(--w-medium);paint-order:stroke;stroke:var(--panel);stroke-width:3px;-webkit-user-select:none;user-select:none}.genome-root .genome-label{fill:var(--ink-muted);font-size:12px}.genome-node.selected .genome-label{font-weight:var(--w-semibold)}.genome-node.selected .genome-ring{stroke:var(--signal-600);stroke-width:2.5px}.genome-ring{fill:none;stroke-width:1.5px}.genome-ring.rank-0{stroke:var(--n-200)}.genome-ring.rank-1{stroke:var(--n-300)}.genome-ring.rank-2{stroke:var(--n-400)}.genome-ring.rank-3{stroke:var(--n-500)}.genome-ring.rank-4{stroke:var(--n-700);stroke-width:2px}.genome-ring.rank-5{stroke:var(--n-900);stroke-width:2px}.genome-dot{stroke-width:1.5px}.genome-dot.v1{fill:var(--n-50);stroke:var(--n-300)}.genome-dot.v2{fill:var(--signal-50);stroke:var(--signal-200)}.genome-dot.v3{fill:var(--signal-100);stroke:var(--signal-500)}.genome-dot.v4{fill:var(--signal-200);stroke:var(--signal-600)}.genome-dot.quiet{fill:var(--n-50);stroke:var(--n-300)}.genome-dot.ok{fill:var(--ok-100);stroke:var(--ok-600)}.genome-dot.warn{fill:var(--warn-100);stroke:var(--warn-600)}.genome-dot.risk{fill:var(--risk-100);stroke:var(--risk-600)}.genome-swatch.v1{background:var(--n-200)}.genome-swatch.v2{background:var(--signal-100)}.genome-swatch.v3{background:var(--signal-200)}.genome-swatch.v4{background:var(--signal-600)}.genome-swatch.quiet{background:var(--n-200)}.genome-swatch.ok{background:var(--ok-600)}.genome-swatch.warn{background:var(--warn-600)}.genome-swatch.risk{background:var(--risk-600)}.genome-halo{fill:none;stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:genome-pulse 2.4s var(--ease-in-out) infinite}.genome-halo.warn{stroke:var(--warn-600)}.genome-halo.risk{stroke:var(--risk-600)}@keyframes genome-pulse{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.55;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.genome-halo{opacity:.45;animation:none}}.genome-expander rect{fill:var(--surface-strong);stroke:var(--line-strong);stroke-width:1px;transition:fill var(--dur-fast) var(--ease-out)}.genome-expander:hover rect{fill:var(--n-200)}.genome-expander text{fill:var(--n-700);font-family:var(--font-sans);font-size:10px;font-weight:var(--w-semibold);-webkit-user-select:none;user-select:none}.genome-table-wrap{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--e-1);min-width:0;overflow-x:auto}.genome-table{border-collapse:collapse;font-size:var(--t-base);width:100%}.genome-table th,.genome-table td{border-bottom:1px solid var(--line);padding:var(--s-2) var(--s-4);text-align:left;white-space:nowrap}.genome-table thead th{color:var(--n-800);font-size:var(--t-xs);font-weight:var(--w-semibold);text-transform:uppercase}.genome-table th button{border-radius:var(--r-xs);color:inherit;font:inherit;align-items:center;gap:var(--s-1);text-transform:inherit;background:0 0;border:0;padding:2px 4px;display:inline-flex}.genome-table th button:hover{color:var(--ink)}.genome-table tbody tr:hover{background:var(--n-25)}.genome-table tbody tr.selected{background:var(--signal-50)}.genome-table tbody tr:last-child td{border-bottom:0}.genome-row-name{border-radius:var(--r-xs);text-align:left;background:0 0;border:0;gap:1px;padding:2px 4px;display:grid}.genome-row-name strong{color:var(--ink);font-weight:var(--w-semibold)}.genome-row-name:hover strong{color:var(--signal-700)}.genome-row-name small{color:var(--ink-muted);font-size:var(--t-xs)}.genome-pill{border-radius:var(--r-full);font-size:var(--t-xs);font-weight:var(--w-medium);padding:2px 10px;display:inline-block}.genome-pill.v1{background:var(--n-100);color:var(--n-700)}.genome-pill.v2{background:var(--signal-50);color:var(--signal-700)}.genome-pill.v3{background:var(--signal-100);color:var(--signal-700)}.genome-pill.v4{background:var(--signal-100);color:var(--signal-800)}.genome-pill.quiet{background:var(--n-100);color:var(--n-700)}.genome-pill.ok{background:var(--ok-100);color:var(--ok-700)}.genome-pill.warn{background:var(--warn-100);color:var(--warn-700)}.genome-pill.risk{background:var(--risk-100);color:var(--risk-700)}.genome-score-track{background:var(--n-100);border-radius:var(--r-full);vertical-align:middle;width:120px;height:8px;display:inline-flex;overflow:hidden}.genome-score-track.wide{width:100%;display:flex}.genome-score-fill{background:var(--n-400);border-radius:inherit;height:100%;display:block}.genome-score-fill.neutral{background:var(--n-400)}.genome-score-fill.v1{background:var(--n-300)}.genome-score-fill.v2{background:var(--signal-200)}.genome-score-fill.v3{background:var(--signal-500)}.genome-score-fill.v4{background:var(--signal-600)}.genome-score-fill.quiet{background:var(--n-300)}.genome-score-fill.ok{background:var(--ok-600)}.genome-score-fill.warn{background:var(--warn-600)}.genome-score-fill.risk{background:var(--risk-600)}.genome-detail{animation:genome-slide-in var(--dur-slow) var(--ease-out);background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--e-3);flex-direction:column;min-width:0;max-height:640px;display:flex}@keyframes genome-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.genome-detail-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:var(--s-3);padding:var(--s-4);justify-content:space-between;display:flex}.genome-detail-head h2{font-size:var(--t-md);font-weight:var(--w-semibold);line-height:var(--lh-tight)}.genome-detail-head p{color:var(--ink-muted);font-size:var(--t-xs);margin-top:3px}.genome-detail-body{gap:var(--s-5);padding:var(--s-4);display:grid;overflow-y:auto}.genome-detail-block{gap:var(--s-2);display:grid}.genome-detail-block h3{color:var(--n-800);font-size:var(--t-2xs);font-weight:var(--w-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.genome-progress-row{color:var(--ink-secondary);font-size:var(--t-sm);justify-content:space-between;display:flex}.genome-progress-row strong{color:var(--ink);font-weight:var(--w-semibold)}.genome-spark{width:100%;height:52px;display:block}.genome-spark-area{fill:var(--signal-50)}.genome-spark-line{fill:none;stroke:var(--signal-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.genome-spark-end{fill:var(--signal-600)}.genome-facts{gap:var(--s-2) var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.genome-facts dt{color:var(--ink-muted);font-size:var(--t-2xs);text-transform:uppercase}.genome-facts dd{color:var(--ink);font-size:var(--t-sm);font-weight:var(--w-semibold);margin:1px 0 0}.genome-axes{gap:var(--s-2);display:grid}.genome-axis{color:var(--ink-secondary);font-size:var(--t-xs);align-items:center;gap:var(--s-2);grid-template-columns:118px 1fr 26px;display:grid}.genome-axis .genome-score-track{width:100%}.genome-axis strong{color:var(--ink);font-weight:var(--w-semibold);text-align:right}.genome-axis.weakest span:first-child{color:var(--warn-700);font-weight:var(--w-semibold)}.genome-clear{color:var(--ink-muted);font-size:var(--t-sm)}.genome-flags{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.genome-flags li{background:var(--risk-50);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);gap:2px;display:grid}.genome-flags strong{color:var(--risk-700);font-size:var(--t-xs);font-weight:var(--w-semibold);text-transform:uppercase}.genome-flags span{color:var(--ink);font-size:var(--t-sm);line-height:var(--lh-snug)}.genome-action{background:var(--surface);border-radius:var(--r-md);padding:var(--s-3)}.genome-action p{color:var(--ink);font-size:var(--t-sm);line-height:var(--lh-normal)}.genome-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:1280px){.genome-attention{grid-template-columns:repeat(2,minmax(0,1fr))}.genome-attention-title{grid-column:1/-1;max-width:none}}@media (max-width:980px){.genome-stage.with-panel{grid-template-columns:1fr}.genome-svg{height:480px}.genome-detail{max-height:none}}@media (max-width:760px){.genome-attention{grid-template-columns:1fr}.genome-toolbar{flex-direction:column;align-items:stretch}.genome-toolbar-right{justify-content:space-between}}
