
/* Scientific database design system. All assets remain local. */
:root{--ink:#203448;--accent:#1769aa;--navy:#163a5f;--paper:#f3f6f9;--line:#d5dfe8;--muted:#526577;--bs-primary:#1769aa;--bs-primary-rgb:23,105,170;--bs-link-color:#1769aa;--bs-link-hover-color:#104b7b}
body{background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent)}a:hover{color:#104b7b}button,input,select{accent-color:var(--accent)}:focus-visible{outline:3px solid #1769aa;outline-offset:3px}.navbar{background:var(--navy);border-bottom:3px solid #367fb4;padding:12px 0}.navbar-brand{display:flex;align-items:center;font-size:1rem;font-weight:650;letter-spacing:0;color:white!important;white-space:normal}.brand-logo{width:52px;height:44px;margin-right:12px}.navbar .nav-link{color:#fff;font-size:.875rem}.navbar .nav-link:hover{text-decoration:underline}.navbar .badge-soft{background:#234d73;color:#fff;border-color:#6384a0;font-size:.65rem}.container-fluid{max-width:1560px;padding-left:32px;padding-right:32px}.hero{padding:34px 0 20px;max-width:1000px}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:700;color:var(--muted);margin-bottom:8px}h1{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:650;letter-spacing:-.025em;line-height:1.2}h2{font-size:1.25rem;letter-spacing:-.015em}h3{font-size:1rem}.hero p{color:var(--muted);font-size:1rem;line-height:1.6;margin-bottom:0}.search-shell{background:white;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px;padding:24px;box-shadow:none}.search-input{font-size:1.05rem;padding:13px;border-color:#a7bbc9}.btn{border-radius:3px;font-weight:500}.btn-primary{--bs-btn-bg:#1769aa;--bs-btn-border-color:#1769aa;--bs-btn-hover-bg:#104b7b;--bs-btn-hover-border-color:#104b7b;--bs-btn-active-bg:#104b7b;--bs-btn-active-border-color:#104b7b;--bs-btn-disabled-bg:#526577;--bs-btn-disabled-border-color:#526577}.btn-outline-primary{--bs-btn-color:#1769aa;--bs-btn-border-color:#1769aa;--bs-btn-hover-bg:#1769aa;--bs-btn-hover-border-color:#1769aa;--bs-btn-active-bg:#104b7b;--bs-btn-active-border-color:#104b7b}.btn-outline-secondary{--bs-btn-color:#40576c;--bs-btn-border-color:#8297a9;--bs-btn-hover-bg:#e7eef4;--bs-btn-hover-color:#163a5f;--bs-btn-hover-border-color:#617b92;--bs-btn-active-bg:#d5e3ef;--bs-btn-active-color:#163a5f}.btn-link{color:var(--accent)}.page-link{color:var(--accent);border-color:var(--line)}.active>.page-link,.page-link.active{background:var(--accent);border-color:var(--accent)}.page-link:hover{color:var(--navy);background:#e7eef4}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.form-control:focus,.form-select:focus{border-color:#1769aa;box-shadow:0 0 0 .2rem #1769aa22}.search-tools{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:18px;font-size:.85rem}.search-fields{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:.83rem;margin-top:14px}.search-fields label{display:flex;align-items:center;gap:5px}.stats-strip{display:flex;gap:32px;flex-wrap:wrap;margin:18px 0 24px}.stat{font-size:.76rem;color:var(--muted)}.stat strong{display:inline;margin-right:6px;font-size:1rem;color:var(--navy);font-weight:650}.panel{background:white;border:1px solid var(--line);border-radius:3px;padding:24px;margin-bottom:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.muted,.missing{color:var(--muted)}.missing{font-size:.85em}.external{font-size:.7em}footer{margin:36px 0 20px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:.78rem}.rule-group{padding:14px;border:1px solid #bbccda;border-left:3px solid #7a9bb7;border-radius:3px;margin-top:12px;background:#f5f8fb}.rule-group .rule-group{background:#fff}.rule-row{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.rule-row select,.rule-row input{width:auto;min-width:130px;flex:1}.rule-row .field{flex:2}.group-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.group-head select{width:auto}.group-head .source{max-width:220px}.rule-row button,.group-head .remove{padding:4px 10px}.rule-explanation{flex-basis:100%;font-size:.8rem;color:var(--muted)}.dt-container{font-size:.83rem}table.dataTable th{white-space:nowrap;font-weight:600;background:#edf3f8;color:var(--navy)}table.dataTable td{vertical-align:middle}table.dataTable tbody tr:hover{background:#edf4fa!important}.target-link{font-weight:700;text-decoration:none;white-space:nowrap}.badge-soft{background:#e7f0f7;border:1px solid #c3d7e6;color:#244f72;font-size:.72rem;padding:4px 8px;border-radius:3px}.target-heading{padding:26px 0 20px}.target-heading h1{font-size:2.4rem;margin-bottom:4px}.protein-name{font-size:1.2rem;color:var(--navy);font-weight:500;margin:0 0 10px}.protein-names{margin-bottom:12px}.protein-names details{font-size:.8rem;color:var(--muted)}.nav-tabs{gap:0;border-bottom:2px solid var(--line);margin-bottom:20px;flex-wrap:wrap}.nav-tabs .nav-link{border:none;border-bottom:3px solid transparent;background:transparent;padding:11px 13px;font-size:.82rem;color:#40576c}.nav-tabs .nav-link.active{background:#fff;color:var(--navy);border-bottom-color:var(--accent);border-radius:0;font-weight:650}.nav-tabs .nav-link:hover{background:#e7eef4}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 28px}.field-item{padding:14px 0;border-bottom:1px solid #e8eef3;overflow-wrap:anywhere}.field-label{font-size:.8rem;color:var(--muted);margin-bottom:5px}.field-value{font-size:.95rem}.field-help{font-size:.75rem;color:var(--muted);margin-top:6px}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.score-card{padding:16px;background:white;border:1px solid var(--line);border-radius:3px}.score-card strong{font-size:1.7rem;font-weight:650;display:block;color:var(--navy)}.score-name{font-size:.77rem;color:var(--muted);min-height:36px}.score-bar{height:5px;background:#e1eaf1;margin-top:10px}.score-bar span{display:block;background:var(--accent);height:100%}.sequence{white-space:pre-wrap;word-break:break-all;max-width:650px;font-size:.75rem}canvas[data-smiles]{max-width:240px}#viewer{height:520px;background:#f3f6f9;border-radius:3px;border:1px solid var(--line)}.viewer-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:15px 0}.viewer-controls select{max-width:450px}.legend-chip{display:inline-block;width:12px;height:12px;margin:0 4px 0 12px}.column-options{max-height:300px;overflow:auto;columns:3}.column-options label{display:block;break-inside:avoid;font-size:.8rem;padding:4px}.alert{font-size:.9rem}.methodology{max-width:1000px;margin:32px auto;line-height:1.75}.methodology h2{margin-top:30px}.target-context{color:var(--muted);font-size:.85rem}.tab-loading{padding:40px;color:var(--muted)}
.help-button{display:inline-grid;place-items:center;width:19px;height:19px;padding:0!important;margin-left:5px;border:1px solid #7c95a9;border-radius:50%;background:white;color:#345976;font-size:11px;line-height:1;vertical-align:middle;font-weight:650}.help-button:hover{background:#dcebf6}.popover{max-width:400px;font-size:.83rem}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.preset{background:#fff;border:1px solid var(--line);border-top:2px solid #7a9bb7;padding:15px;border-radius:3px;text-align:left}.preset h3{font-size:.9rem;margin:0 0 8px}.preset p{font-size:.8rem;color:var(--muted);margin-bottom:10px}.preset button{font-size:.8rem}.dashboard{margin:18px 0 28px;padding:20px;background:#f6f9fc;border:1px solid var(--line);border-radius:3px}.dashboard-head{display:flex;justify-content:space-between;gap:15px;align-items:start;flex-wrap:wrap;margin-bottom:15px}.dashboard-head h3{font-size:1rem;font-weight:650;margin:0 0 3px}.cohort-select{max-width:260px;font-size:.8rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}.evidence-row{display:grid;grid-template-columns:minmax(135px,1fr) minmax(100px,1fr) 60px;gap:12px;align-items:center;margin:12px 0;font-size:.83rem}.evidence-row .metric-value{text-align:right;font-variant-numeric:tabular-nums}.metric-track{height:8px;background:#dce5ee;position:relative;border-radius:1px}.metric-fill{height:100%;background:#4385b8}.metric-track.missing-track{background:repeating-linear-gradient(135deg,#e7edf3,#e7edf3 3px,#f6f9fc 3px,#f6f9fc 6px)}.metric-position{grid-column:2/4;color:var(--muted);font-size:.72rem;margin-top:-8px}.distribution-track{height:20px;position:relative;display:flex;align-items:end;background:transparent;margin:4px 0}.distribution-track i{display:block;background:#c6d9e8;flex:1;margin-right:1px}.distribution-marker{position:absolute;bottom:0;height:22px;width:2px;background:#163a5f}.distribution-marker:before{content:'';position:absolute;top:-3px;left:-3px;width:8px;height:5px;background:#163a5f}.dashboard-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.dashboard-count{padding:10px 12px;background:white;border-left:2px solid #89acc7}.dashboard-count strong{display:block;font-size:1.4rem;color:var(--navy);font-weight:600}.dashboard-count span{font-size:.75rem;color:var(--muted)}.dashboard-facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:.82rem}.dashboard-facts dt{font-weight:500;color:var(--muted)}.dashboard-facts dd{margin:0;overflow-wrap:anywhere}.dashboard-note{font-size:.75rem;color:var(--muted);margin:14px 0 0}.leading-diseases{padding-left:18px;font-size:.83rem;margin-bottom:0}.leading-diseases li{margin:6px 0}.section-divider{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}
@media(max-width:850px){.navbar .badge-soft{display:none}.presets{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.navbar .container-fluid{gap:12px}.evidence-row{grid-template-columns:minmax(110px,1fr) minmax(80px,1fr) 50px}}@media(max-width:700px){.container-fluid{padding-left:16px;padding-right:16px}.hero{padding-top:24px}.search-shell,.panel,.dashboard{padding:16px}.score-grid{grid-template-columns:repeat(2,1fr)}.column-options{columns:1}.stats-strip{gap:12px}.navbar-brand{font-size:.9rem}.brand-logo{width:43px;height:37px}#viewer{height:360px}.nav-tabs .nav-link{padding:9px;font-size:.78rem}}

.field-help-button{display:inline-grid;place-items:center;width:19px;height:19px;padding:0!important;margin-left:5px;border:1px solid #7c95a9;border-radius:50%;background:white;color:#345976;font-size:11px;line-height:1;vertical-align:middle;font-weight:650}.field-help-button:hover{background:#dcebf6}.help-dialog{max-width:min(540px,calc(100vw - 32px));border:1px solid #8297a9;border-radius:4px;padding:24px;color:var(--ink);box-shadow:0 12px 45px #163a5f33}.help-dialog::backdrop{background:#163a5f55}.help-dialog-heading{font-size:1.1rem;color:var(--navy)}.help-dialog p{font-size:.9rem}.search-presets{margin-top:22px}.search-presets>h2{font-size:.9rem;color:var(--muted);margin-bottom:12px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.preset-grid article{background:#fff;border:1px solid var(--line);border-top:2px solid #7a9bb7;padding:15px;border-radius:3px}.preset-grid h3{font-size:.9rem;line-height:1.4}.preset-grid p{font-size:.8rem;color:var(--muted)}.preset-button{font-size:.8rem}.rule-explanation{width:100%}@media(max-width:850px){.preset-grid{grid-template-columns:1fr}}

.column-option{break-inside:avoid;display:flex;align-items:center;gap:4px}.column-option label{display:inline-block;margin:0}

.preset-button{display:block;background:transparent;border:0;border-radius:0;color:#1769aa;padding:0;text-align:left;font-size:.9rem;font-weight:650;line-height:1.4;text-decoration:none;width:100%}.preset-button:hover{text-decoration:underline;color:#104b7b}.preset-button:focus-visible{outline:3px solid #1769aa;outline-offset:4px}.preset-grid article:hover{border-top-color:#1769aa}

.indication-link{border:0;background:transparent;padding:0;color:var(--accent);font:inherit;text-decoration:underline;text-align:left}.indication-link:hover{color:var(--navy)}

.badge-soft{white-space:nowrap;display:inline-block}.navbar :focus-visible{outline-color:#fff}

.search-presets{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.preset-grid article{border:0;border-bottom:1px solid var(--line);padding:12px 0;background:transparent}.preset-grid p{margin:5px 0}.preset-grid article:hover{border-top:0}@media(max-width:700px){.preset-grid{grid-template-columns:1fr}}

.help-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.help-dialog-heading h2{margin:0}.help-dialog{max-height:85vh;overflow:auto}

.target-heading #gene-title{margin-top:16px}

.structure-tools{margin-top:10px;border:1px solid var(--line);border-bottom:0;background:#fff;padding:8px 12px 4px}.sequence-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.sequence-toolbar .form-select{width:auto;max-width:220px;font-size:12px;padding-top:3px;padding-bottom:3px}.sequence-toolbar .btn{font-size:12px;padding:3px 8px}.sequence-toolbar #selection-count{margin-left:auto;color:var(--muted);white-space:nowrap}.sequence-settings{position:relative}.sequence-settings summary{cursor:pointer;color:var(--accent);padding:3px 4px}.sequence-settings-body{position:absolute;right:0;top:100%;z-index:20;display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:10px;width:300px;padding:16px;border:1px solid var(--line);border-radius:4px;box-shadow:0 5px 20px #1232;background:white}.sequence-settings-body p{grid-column:1/-1;font-size:11px;color:var(--muted);margin:0}.sequence-settings-body input[type=color]{width:38px;height:26px;padding:1px}.structure-sequence{display:flex;flex-wrap:nowrap;align-items:flex-end;overflow-x:auto;overflow-y:hidden;min-height:51px;padding:7px 4px 3px;scrollbar-width:thin;user-select:none;overscroll-behavior-x:contain}.residue{position:relative;display:flex;flex:none;flex-direction:column;align-items:center;width:17px;min-width:17px;height:36px;padding:0;border:0;border-radius:0;background:transparent;color:var(--navy);font:14px/20px ui-monospace,SFMono-Regular,Consolas,monospace;touch-action:pan-x}.residue small{height:15px;line-height:15px;font-size:9px;color:var(--muted);overflow:visible;white-space:nowrap;pointer-events:none}.residue span{width:100%;height:21px;border-radius:2px}.residue:hover span,.residue:focus-visible span{background:#ffe8a8}.residue[aria-pressed=true] span{background:var(--selection-color,#9b51e0);color:white}.sequence-gap{height:21px;padding:0 4px;color:var(--muted);font-size:12px}.sequence-hint{font-size:10px;color:var(--muted);height:18px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.sequence-toolbar{gap:5px}.sequence-toolbar .form-select{max-width:155px}.sequence-toolbar #selection-count{margin-left:0}.sequence-settings-body{position:fixed;top:25%;left:5%;right:5%;width:auto}.residue{width:19px;min-width:19px}}

.topology-info{font-size:11px;background:#f5f8fb;border:1px solid var(--line);padding:7px 12px}.topology-legend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:3px}.topology-legend span{white-space:nowrap}.topology-legend i{display:inline-block;width:9px;height:9px;margin-right:4px;border-radius:2px}.topology-info p{margin:5px 0}.topology-active .residue span{background:var(--topology-color);color:#142334}.topology-active .residue[aria-pressed=true] span{background:var(--selection-color,#9b51e0);color:white;box-shadow:none}.topology-active .residue:hover span,.topology-active .residue:focus-visible span{box-shadow:inset 0 0 0 2px #232b36}
.viewer-controls #model{width:260px;max-width:100%}.viewer-controls #structure-color{width:180px;max-width:100%}

/* Language control stays in the navigation flow even with longer Russian labels. */
.atlas-nav-links{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;flex-wrap:wrap}
.language-switch{color:#dce8f3;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.language-switch button{border:0;background:transparent;color:#dce8f3;padding:.45rem .3rem;font:inherit;font-size:.85rem;cursor:pointer;border-radius:4px}
.language-switch button[aria-pressed="true"]{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.language-switch button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
html[lang="ru"] .viewer-controls{gap:.65rem}
@media(max-width:700px){.navbar .container-fluid{gap:.7rem}.atlas-nav-links{gap:.75rem;margin-left:auto}.navbar-brand{white-space:normal}.viewer-controls label{white-space:normal}}

/* Reveal the Russian shell only after its synchronous translation pass. */
html[lang="ru"]:not([data-i18n-ready]) body { visibility: hidden; }
