body,html{color:#1a202c;background:linear-gradient(#f5f7faf2,#f5f7faf2) 0 0/100% 100%,linear-gradient(90deg,#0000000a 1px,#0000 1px) 0 0/40px 40px,#f5f7fa linear-gradient(#0000000a 1px,#0000 1px) 0 0/40px 40px;width:100vw;height:100vh;margin:0;padding:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}#app{width:100%;height:100%}#sidebar{z-index:100;pointer-events:auto;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-tab{-webkit-backdrop-filter:blur(12px);background:#ffffffe6;border-right:1px solid #4299e133;flex-direction:column;align-items:center;gap:4px;width:48px;padding-top:12px;display:flex}.sidebar-tab-btn{cursor:pointer;color:#4a5568;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .2s;display:flex}.sidebar-tab-btn:hover{color:#2b6cb0;background:#4299e11a}.sidebar-tab-btn.active{color:#2b6cb0;background:#4299e126;box-shadow:inset 3px 0 #2b6cb0}.sidebar-content{-webkit-backdrop-filter:blur(16px);background:#ffffffd9;border-right:1px solid #4299e133;width:0;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-content.open{width:280px}.sidebar-panel{box-sizing:border-box;width:280px;height:100%;padding:12px 16px 20px;overflow-y:auto}.sidebar-panel.hidden{display:none}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sidebar-header h3{color:#2b6cb0;letter-spacing:.5px;margin:0;font-size:15px;font-weight:700}.sidebar-close-btn{cursor:pointer;color:#2b6cb0;background:#4299e11a;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .2s;display:flex;transform:scaleX(-1)}.sidebar-close-btn:hover{background:#4299e133;transform:scaleX(-1)scale(1.1)}.sidebar-section{background:#ffffff80;border:1px solid #4299e126;border-radius:8px;margin-bottom:8px;overflow:hidden}.sidebar-section summary{color:#2d3748;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;list-style:none;transition:background .15s;display:flex}.sidebar-section summary::-webkit-details-marker{display:none}.sidebar-section summary:hover{background:#4299e10f}.sidebar-section summary:before{content:"▸";color:#a0aec0;font-size:10px;transition:transform .2s;display:inline-block}.sidebar-section[open]>summary:before{transform:rotate(90deg)}.section-body{padding:8px 12px 14px}.sidebar-panel label{color:#4a5568;margin-bottom:4px;font-size:12px;display:block}.sidebar-panel input[type=range]{-webkit-appearance:none;background:0 0;width:100%}.sidebar-panel input[type=range]:focus{outline:none}.sidebar-panel input[type=range]::-webkit-slider-runnable-track{cursor:pointer;background:#0000000f;border-radius:3px;width:100%;height:5px}.sidebar-panel input[type=range]::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;background:#2b6cb0;border-radius:50%;width:15px;height:15px;margin-top:-5px;box-shadow:0 1px 3px #2b6cb066}.toggle-container{align-items:center;gap:6px;display:flex}input[type=checkbox]{appearance:none;font:inherit;color:#2b6cb0;cursor:pointer;background-color:#fff;border:1px solid #cbd5e0;border-radius:.15em;place-content:center;width:1.1em;min-width:1.1em;height:1.1em;margin:0;transition:all .2s;display:grid}input[type=checkbox]:before{content:"";transform-origin:50%;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:.6em;height:.6em;transition:transform .12s ease-in-out;transform:scale(0);box-shadow:inset 1em 1em #2b6cb0}input[type=checkbox]:checked{border-color:#2b6cb0;box-shadow:0 0 4px #2b6cb04d}input[type=checkbox]:checked:before{transform:scale(1)}.toggle-container label{color:#4a5568;cursor:pointer;font-size:12px;line-height:1.3}.line-indicator{vertical-align:middle;border-radius:1px;width:12px;height:2px;margin-right:3px;display:inline-block}.line-indicator.sire{background:#4f46e5}.line-indicator.dam{background:#ec4899}.line-indicator.g2{background:#10b981}.sidebar-select{color:#4a5568;cursor:pointer;background:#ffffffb3;border:1px solid #4299e14d;border-radius:4px;width:100%;padding:5px 8px;font-size:12px;transition:border-color .2s}.sidebar-select:hover{border-color:#4299e180}.sidebar-select:focus{border-color:#2b6cb0;outline:none;box-shadow:0 0 0 2px #2b6cb026}.graph-stats{padding:4px 0}.stat-row{border-bottom:1px solid #4299e11a;justify-content:space-between;padding:6px 0;display:flex}.stat-label{color:#718096;font-size:12px}.stat-value{color:#2d3748;font-size:13px;font-weight:600}.hint{color:#a0aec0;text-align:center;margin:12px 0 0;font-size:11px}.tooltip{opacity:0;-webkit-backdrop-filter:blur(8px);color:#1a202c;pointer-events:none;z-index:100;background:#ffffffeb;border:1px solid #4299e159;border-radius:6px;padding:10px 16px;font-size:14px;line-height:1.5;transition:opacity .2s ease-in-out;position:absolute;box-shadow:0 4px 15px #0000001f}.tooltip strong{color:#2b6cb0;font-size:16px}.tooltip.tooltip-fixed{z-index:101;bottom:20px;right:20px;position:fixed!important;top:auto!important;left:auto!important}.tooltip-mode-select{color:#4a5568;cursor:pointer;background:#ffffffb3;border:1px solid #4299e159;border-radius:4px;width:100%;margin-top:4px;padding:4px 8px;font-size:13px;transition:border-color .2s}.tooltip-mode-select:hover{border-color:#4299e199}.tooltip-mode-select:focus{border-color:#2b6cb0;outline:none;box-shadow:0 0 0 2px #2b6cb026}.community-legend{-webkit-backdrop-filter:blur(8px);color:#4a5568;background:#ffffffb3;border:1px solid #4299e140;border-radius:8px;max-height:260px;margin-top:12px;padding:10px 12px;font-size:12px;display:none;overflow-y:auto;box-shadow:0 2px 12px #00000014}.legend-title{color:#2b6cb0;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:600}.legend-item{align-items:center;gap:8px;padding:3px 0;display:flex}.legend-color{border:1px solid #00000026;border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:0 0 4px #0000001a}.legend-label{color:#2d3748;flex:1;font-weight:500}.legend-count{color:#718096;white-space:nowrap;font-size:11px}
