/* Public scientific records share Atlas's type, surfaces and accent palette. */
:root{color-scheme:light;--bg:#e8edf1;--card:#f7f9fb;--raised:#f1f4f7;--ink:#1a1f2e;--muted:#4a5568;--quiet:#5b6b82;--line:#cdd6e0;--teal:#007366;--accent:#00b894;--wash:#e2f4ef;--violet:#5b61d6}
:root[data-theme=dark]{color-scheme:dark;--bg:#0a0f1a;--card:#0f1525;--raised:#151d30;--ink:#e8ecf4;--muted:#a2b2d0;--quiet:#8193b7;--line:#293651;--teal:#00d4aa;--accent:#00d4aa;--wash:#10352f;--violet:#a4aafa}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0a0f1a;--card:#0f1525;--raised:#151d30;--ink:#e8ecf4;--muted:#a2b2d0;--quiet:#8193b7;--line:#293651;--teal:#00d4aa;--accent:#00d4aa;--wash:#10352f;--violet:#a4aafa}}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.65 'DM Sans',Arial,sans-serif}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:var(--teal);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button{font:inherit;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px}button:hover{background:var(--wash)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:4px}svg{flex-shrink:0}button,a{transition:background .15s,color .15s,border-color .15s}[hidden]{display:none!important}
.public-header,main,footer{max-width:1320px;margin:auto;padding-inline:40px}.public-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:'IBM Plex Mono',monospace}.brand strong{display:block;font-size:23px;letter-spacing:3px;color:var(--accent)}.brand small{display:block;font-size:12px;letter-spacing:3px;color:var(--muted);line-height:1.3}.public-header nav,footer nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.public-header nav a{font-size:14px;text-decoration:none}main{padding-block:32px 56px;min-height:70vh}.breadcrumbs{display:flex;gap:12px;font:12px 'IBM Plex Mono',monospace;margin-bottom:24px}.breadcrumbs a{text-decoration:none}.breadcrumbs span{color:var(--quiet)}.breadcrumbs span:before{content:'/';margin-right:12px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:32px;align-items:center;margin-bottom:32px}h1{font-size:clamp(28px,3vw,42px);line-height:1.18;letter-spacing:-1px;margin:10px 0 14px;overflow-wrap:anywhere}h2{font-size:21px;line-height:1.35;letter-spacing:-.35px;margin:0 0 18px}h3{font-size:17px;line-height:1.4;margin:0 0 6px}p{margin:12px 0;overflow-wrap:anywhere}.eyebrow{font:500 12px/1.5 'IBM Plex Mono',monospace;letter-spacing:1.2px;color:var(--teal)}.subtitle{font-size:17px;color:var(--muted)}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-block;padding:3px 8px;border:1px solid var(--line);background:var(--raised);border-radius:5px;font-size:11px;color:var(--muted);margin:2px 4px 2px 0;vertical-align:middle}.open-box{display:flex;flex-direction:column;gap:12px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 22px;border-radius:8px;text-decoration:none;font-weight:600;line-height:1.4}.primary{background:var(--accent);color:#052923}.primary:hover{background:#3ad8b9}.secondary{border:1px solid var(--line);color:var(--teal);background:var(--wash)}.desktop-note{font-size:12px;color:var(--quiet);line-height:1.5}.section-nav{display:flex;gap:26px;flex-wrap:wrap;padding:15px 0;border-block:1px solid var(--line);margin-bottom:10px}.section-nav a{font-size:13px;text-decoration:none;color:var(--muted)}.section-nav a:hover{color:var(--teal)}.section-nav span{font:10px 'IBM Plex Mono',monospace;background:var(--wash);color:var(--teal);padding:2px 6px;border-radius:4px;margin-left:4px}section{margin:0;padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:8px}.muted,.source-status{font-size:13px;color:var(--muted)}.source-status{padding:12px 16px;border:1px solid color-mix(in srgb,var(--teal) 30%,var(--line));background:var(--wash);border-radius:7px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:var(--card);margin:20px 0;overflow:hidden}.metrics>div{padding:18px 20px}.metrics>div+div{border-left:1px solid var(--line)}.metrics strong{display:block;color:var(--teal);font:500 28px/1.5 'IBM Plex Mono',monospace;letter-spacing:-1px}.metrics span{display:block;color:var(--muted);font-size:12px;line-height:1.5}.architecture{display:block;width:100%;min-height:95px;max-height:600px;margin:24px 0;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px}.architecture text{fill:var(--muted);font:12px 'IBM Plex Mono',monospace}.axis{stroke:var(--line);stroke-width:2}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th,td{padding:14px 8px;border-bottom:1px solid var(--line);vertical-align:top}thead th{font:500 10px/1.6 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:1px;color:var(--quiet)}tbody th{font-weight:500;min-width:190px}td:nth-child(2){white-space:nowrap;font:12px/1.7 'IBM Plex Mono',monospace}.annotation-name{display:flex;align-items:baseline;gap:9px}.annotation-swatch{align-self:flex-start;margin-top:4px}small{display:block;color:var(--muted);font-size:12px;font-weight:400}summary{cursor:pointer;color:var(--teal);padding:10px 0;font-size:13px}details{margin:10px 0}.structure-list,.sources,.record-list{list-style:none;padding:0;margin:16px 0}.structure-list li{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.structure-list a{font:500 13px 'IBM Plex Mono',monospace;min-width:70px}.structure-list span{font-size:12px;color:var(--muted)}.structure-list span:nth-child(2){flex:1}.sources li{margin:16px 0}.sources a{font-weight:500}.record-list>li{padding:20px 22px;border:1px solid var(--line);border-radius:9px;background:var(--card);margin:12px 0}.record-list h2{font-size:21px;margin:8px 0}.record-list p{font-size:14px;margin:6px 0;color:var(--muted)}.record-list .secondary{margin-top:14px}.count{display:inline-flex;color:var(--teal);font:500 14px 'IBM Plex Mono',monospace;background:var(--wash);padding:5px 9px;border-radius:6px;vertical-align:middle;margin-left:6px}.pagination{display:flex;justify-content:space-between;gap:20px;margin:24px 0;font-size:14px}footer{padding-block:24px 32px;font-size:11px;color:var(--quiet);display:flex;justify-content:space-between;gap:20px}footer nav{gap:16px}footer button{font-size:11px;padding:0;border:0;background:none;color:var(--teal)}.skip{position:fixed;top:-80px;left:20px;padding:12px;background:var(--card);z-index:100}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* A single molecular viewer changes size without reloading or losing its camera. */
.public-viewer-workspace{display:contents}
.public-viewer-active.public-viewer-integrated:not(.public-summary-active){grid-template-rows:0 minmax(0,1fr)}
.public-viewer-integrated:not(.public-summary-active) .public-viewer-bar{display:none}
.public-viewer-active{--record-bar-height:72px;display:grid;grid-template-areas:'bar' 'model';grid-template-rows:var(--record-bar-height) minmax(0,1fr);height:100dvh;overflow:hidden}
.public-viewer-bar{grid-area:bar;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding:12px clamp(18px,2vw,40px);background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 3px 16px #03071405;position:sticky;top:0;z-index:15;min-width:0}
.record-context,.record-tools{display:flex;align-items:center;gap:12px;min-width:0}
.record-context{gap:16px}
.record-tools{justify-content:flex-end}
.record-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.record-wordmark{font-family:"IBM Plex Mono",monospace;line-height:1}
.record-wordmark strong{display:block;color:var(--teal);font-size:17px;font-weight:600;letter-spacing:2px}
.record-wordmark small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:500;letter-spacing:2.8px;line-height:1}
.record-identity{min-width:0;line-height:1.5;padding-left:16px;border-left:1px solid var(--line)}
.record-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 13px/1.7 'IBM Plex Mono',monospace;letter-spacing:.3px;color:var(--ink)}
.record-identity span{display:block;font-size:11px;color:var(--quiet);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--muted);padding:0;text-decoration:none}
.icon-button:hover{background:var(--wash);border-color:var(--teal);color:var(--teal)}
.record-views{display:flex;gap:4px;background:var(--raised);border:1px solid var(--line);border-radius:11px;padding:4px}
.record-views button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:transparent;min-height:36px;padding:7px 17px;font-size:13px;font-weight:600;color:var(--muted);border-radius:7px}
.record-views button[aria-pressed=true]{background:var(--wash);color:var(--teal);border-color:color-mix(in srgb,var(--teal) 40%,transparent);box-shadow:0 1px 3px #0307140a}
.record-views button:hover{color:var(--teal)}
.public-model-panel{grid-area:model;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--card)}
.public-model-panel iframe{width:100%;height:100%;flex:1;min-height:0;border:0}
.public-model-heading,.public-model-caption,.public-model-credit{display:none}
.public-viewer-active:not(.public-summary-active) #public-summary{display:none}
.public-summary-active{--public-page-gutter:max(0px,calc((100vw - 1680px)/2));height:auto;min-height:100dvh;overflow:visible;grid-template-areas:'bar bar' 'summary model';grid-template-columns:minmax(0,1fr) minmax(350px,36%);grid-template-rows:var(--record-bar-height) auto;column-gap:40px;padding-inline:var(--public-page-gutter)}
.public-summary-active .public-viewer-bar{grid-column:1/-1;margin-inline:calc(-1 * var(--public-page-gutter))}
.public-summary-active #public-summary{grid-area:summary;min-width:0}
.public-summary-active .public-header{display:none}
.public-summary-active main{padding:32px 0 32px 40px;min-height:0}
.public-summary-active footer{padding:0 0 32px 40px;flex-direction:column}
.public-summary-active .hero{display:block;margin-bottom:26px}
.public-summary-active .hero .open-box{display:none}
.public-summary-active h1{font-size:clamp(28px,2.8vw,40px)}
.public-summary-active .public-model-panel{position:sticky;top:calc(var(--record-bar-height) + 32px);align-self:start;margin:32px 32px 32px 0;height:min(610px,calc(100dvh - var(--record-bar-height) - 64px));min-height:350px;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 32px #0307140a}
.public-summary-active .public-model-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.public-model-heading>span{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:600}
.public-model-heading>span svg{color:var(--teal)}
.public-summary-active .public-model-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-top:1px solid var(--line)}
.public-model-caption span{font-size:11px;color:var(--muted)}
.public-model-caption button{display:flex;align-items:center;gap:7px;font-size:11px;padding:6px 9px;color:var(--teal);background:var(--wash);border-color:color-mix(in srgb,var(--teal) 35%,var(--line))}
.public-summary-active .public-model-credit{display:block;padding:0 14px 12px;margin:0;color:var(--quiet);font-size:10px}
.public-viewer-active:not(.public-summary-active)>#analytics-preference,.public-viewer-active:not(.public-summary-active)>#analytics-dialog{display:none!important}
@media(min-width:721px) and (max-width:1150px){.record-wordmark{display:none}}
@media(min-width:721px) and (max-width:1100px){.public-summary-active{column-gap:22px;grid-template-columns:minmax(0,1fr) 330px}.public-summary-active main{padding-left:24px}.public-summary-active .public-model-panel{margin-right:18px}.metrics>div{padding:12px}.metrics strong{font-size:23px}.metrics span{font-size:11px}.public-model-caption span{max-width:105px}.public-summary-active footer{padding-left:24px}.section-nav{gap:18px}.record-identity span{max-width:180px}}
@media(min-width:721px) and (max-width:900px){.public-summary-active{grid-template-columns:minmax(0,1fr);grid-template-areas:'bar' 'model' 'summary';gap:0}.public-summary-active .public-model-panel{position:static;margin:24px 24px 0;height:400px;min-height:0}.public-summary-active main{padding:28px 24px}.record-identity span{display:none}.record-context{gap:10px}.record-identity{padding-left:10px}.public-viewer-bar{gap:10px;padding-inline:12px}.public-model-caption span{max-width:none}}
@media(max-width:720px){.public-header,main,footer{padding-inline:20px}.public-header{align-items:flex-start;flex-direction:column;gap:18px;padding-block:20px}.brand strong{font-size:20px}.brand img{width:36px;height:36px}.public-header nav{gap:20px}.hero{grid-template-columns:1fr;gap:18px}h1{letter-spacing:-.6px}.open-box{align-items:flex-start}.metrics>div{padding:14px 12px}.metrics strong{font-size:22px}.metrics span{font-size:11px}.section-nav{gap:20px}.architecture{min-height:115px;padding:10px}footer{flex-direction:column}footer nav{gap:16px}tbody th{min-width:150px}.table-wrap{margin-right:-8px}section{padding-block:26px}.structure-list{font-size:14px}.subtitle{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.function-citation{font:500 10px/1 'IBM Plex Mono',monospace;vertical-align:super;white-space:normal;margin-left:3px}.function-citation a{text-decoration:none}.function-references{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px 24px;padding-left:24px;font-size:12px}.public-model-heading small{display:block;font:400 10px/1.8 'IBM Plex Mono',monospace;color:var(--quiet)}
.description-copy{max-width:76ch;line-height:1.8}.description-copy p+p{margin-top:18px}.description-source{font-size:12px;color:var(--quiet);margin-top:18px}.protein-description+.protein-description{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}.protein-description h3 a{text-decoration:none}.structure-context{border-left:3px solid var(--teal);background:var(--card);padding:16px 20px;margin:20px 0;border-radius:0 8px 8px 0}.structure-context .eyebrow{font-size:10px;margin-top:0}.structure-context h3{font-size:16px}.structure-context h3 a{text-decoration:none}.structure-context .description-source{margin-bottom:0}.public-model-description{display:none}.public-summary-active .public-model-description{display:block;flex-shrink:0;margin:0;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5;max-height:8em;overflow:auto;scrollbar-width:thin}
.preview-spin{width:auto;gap:6px;padding:0 10px;font-size:11px;font-weight:600}.preview-spin[aria-pressed=true]{background:var(--wash);color:var(--teal);border-color:var(--teal)}.preview-spin:disabled{opacity:.5;cursor:default}

.annotation-description{margin:6px 0 0;font-weight:400}.annotation-description summary{display:list-item;width:fit-content;padding:4px 0;font-size:12px}.annotation-description p{margin:8px 0 4px;font-size:13px;line-height:1.65;color:var(--muted)}.annotation-description-empty{margin-top:8px;color:var(--quiet)}
.annotation-entry>th,.annotation-entry>td{padding-bottom:0;border-bottom:0}.annotation-entry small{overflow-wrap:anywhere}.annotation-details-row>td{padding-top:2px}.annotation-description p{max-width:85ch;margin-block:10px}.annotation-description-empty{margin-top:4px}
