.structure-preview-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; margin: .8rem 0; }
.structure-preview-actions a, .structure-preview-size { font-size: 1rem; }
.contact-residue-link{font:inherit;color:#176147;border:0;border-bottom:1px solid #a8c7b9;background:transparent;min-height:36px;cursor:pointer;padding:3px 5px}.contact-residue-link:hover{background:#edf5f0}
.structure-preview-trigger, .structure-preview-dialog button { font: inherit; font-size: 1rem; line-height: 1.35; color: #183e30; background: #fff; border: 1px solid #829b90; border-radius: 5px; padding: .65rem .9rem; min-height: 44px; cursor: pointer; }
.structure-preview-trigger:hover, .structure-preview-dialog button:hover { background: #edf5f0; border-color: #245b43; }
.structure-preview-trigger:focus-visible, .structure-preview-dialog :focus-visible { outline: 3px solid #236e55; outline-offset: 3px; }
.structure-handoff-trigger, .structure-handoff-dialog button { font: inherit; font-size: 1rem; line-height: 1.35; color: #183e30; background: #fff; border: 1px solid #829b90; border-radius: 5px; padding: .65rem .9rem; min-height: 44px; cursor: pointer; }
.structure-handoff-trigger:hover, .structure-handoff-dialog button:hover { background: #edf5f0; border-color: #245b43; }
.structure-preview-trigger + .structure-handoff-trigger { margin-inline-start: .6rem; margin-block: .3rem; }
.structure-handoff-trigger:focus-visible, .structure-handoff-dialog :focus-visible { outline: 3px solid #236e55; outline-offset: 3px; }
.structure-handoff-dialog { box-sizing: border-box; width: min(800px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 0; color: #1d3027; background: #fff; border: 1px solid #a3b4aa; border-radius: 10px; box-shadow: 0 20px 80px #112c2433; overflow: auto; }
.structure-handoff-dialog::backdrop { background: #14271d66; }
.structure-handoff-dialog header { padding: 1.2rem 1.4rem .7rem; display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.structure-handoff-dialog h2 { font-family: inherit; font-size: clamp(1.35rem, 3vw, 1.8rem); font-weight: 600; line-height: 1.3; margin: 0; }
.structure-handoff-body { padding: 0 1.4rem 1.2rem; font-size: 1rem; line-height: 1.55; }
.structure-handoff-body p { margin: .5rem 0 1rem; }
.structure-handoff-body label { display: block; margin-bottom: .5rem; }
.structure-handoff-body textarea { display: block; box-sizing: border-box; width: 100%; min-height: 240px; max-height: 55dvh; padding: .8rem; font: 1rem/1.55 monospace; color: #17212b; background: #fff; border: 1px solid #829b90; border-radius: 5px; resize: vertical; }
.structure-handoff-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.structure-handoff-status { min-height: 1.55em; overflow-wrap: anywhere; }
.structure-handoff-dialog button:disabled { opacity: .5; cursor: default; }
.structure-preview-dialog { box-sizing: border-box; width: min(960px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 0; color: #1d3027; background: #fff; border: 1px solid #a3b4aa; border-radius: 10px; box-shadow: 0 20px 80px #112c2433; overflow: auto; }
.structure-preview-dialog::backdrop { background: #14271d66; }
.structure-preview-dialog header { padding: 1.2rem 1.4rem .7rem; display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.structure-preview-dialog h2 { font-family: inherit; font-size: clamp(1.35rem, 3vw, 1.8rem); font-weight: 600; line-height: 1.3; letter-spacing: -.02em; margin: 0 0 .4rem; overflow-wrap: anywhere; }
.structure-preview-dialog .structure-preview-meta { margin: 0; font-size: 1rem; line-height: 1.55; overflow-wrap: anywhere; }
.structure-preview-stage { position: relative; width: 100%; height: clamp(260px, 52dvh, 530px); min-height: 260px; background: #fff; border-block: 1px solid #d9e1dc; }
.structure-preview-stage canvas { display: block; }
.structure-preview-focus-name, .structure-preview-hover { position:absolute; z-index:2; max-width:calc(100% - 24px); box-sizing:border-box; margin:12px; padding:.45rem .65rem; background:#fffffff2; color:#183e30; border:1px solid #c1d1c8; border-radius:4px; font-size:1rem; line-height:1.4; pointer-events:none; overflow-wrap:anywhere; }
.structure-preview-focus-name { top:0; left:0; }
.structure-preview-hover { bottom:0; left:0; }
.structure-preview-dialog .structure-preview-status { margin: 0; padding: .7rem 1.4rem; font-size: 1rem; line-height: 1.5; min-height: 1.5rem; }
.structure-preview-dialog .structure-preview-footer { padding: .5rem 1.4rem 1.25rem; }
.structure-preview-dialog .structure-preview-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.structure-preview-dialog .structure-preview-toolbar a { margin-left: auto; font-size: 1rem; color: #225e45; text-decoration: underline; text-underline-offset: .2em; }
.structure-preview-dialog .structure-preview-help { font-size: 1rem; line-height: 1.55; color: #42564b; margin: .85rem 0 0; }
.structure-preview-chain-key { font-size:1rem; line-height:1.55; margin:.85rem 0; }
.structure-preview-parts { display:grid; gap:.65rem; margin:1.2rem 0; }
.structure-preview-part { display:flex; align-items:center; gap:1rem; border-top:1px solid #d9e1dc; padding-top:.65rem; }
.structure-preview-part label { display:flex; align-items:center; gap:.65rem; flex:1; font-size:1.0625rem; line-height:1.5; cursor:pointer; }
.structure-preview-part input { width:20px; height:20px; flex:0 0 auto; accent-color:#17675d; }
.structure-preview-dot { width:.8rem; height:.8rem; border:1px solid #65716a; border-radius:50%; flex:0 0 auto; }
.structure-preview-part button { flex:0 0 auto; }
.structure-preview-part label { min-width:0; overflow-wrap:anywhere; }
.structure-preview-workbench { font-size:1rem; line-height:1.55; border-top:1px solid #d9e1dc; padding-top:.75rem; }
.structure-preview-workbench summary { cursor:pointer; color:#17675d; padding:.4rem 0; }
.structure-preview-dialog button:disabled { opacity: .5; cursor: default; }
@media (max-width: 520px) {
  .structure-preview-part { flex-wrap:wrap; gap:.65rem; }
  .structure-preview-part label { flex-basis:100%; }
  .structure-preview-dialog header { padding: 1rem; gap: .6rem; }
  .structure-preview-dialog .structure-preview-status { padding: .65rem 1rem; }
  .structure-preview-dialog .structure-preview-footer { padding: .4rem 1rem 1rem; }
  .structure-preview-dialog .structure-preview-toolbar a { margin-left: 0; flex-basis: 100%; padding-block: .5rem; }
}
@media print { .structure-preview-trigger, .structure-preview-dialog, .structure-handoff-trigger, .structure-handoff-dialog { display: none !important; } }
#alphafold-coverage { min-width:760px; font-size:1rem; }
#alphafold-coverage th { font-size:1rem; }
#alphafold-coverage .cell-detail { font-size:1rem; }
#alphafold-coverage details { min-width:180px; }
#alphafold-coverage details[open] { min-width:250px; }
#alphafold-coverage .structure-preview-trigger { white-space:nowrap; }
.structure-card:has(.structure-placeholder) .structure-visual { display:none; }
#alphafold-coverage .table-id { display: block; margin-top: .35rem; font-size: 1rem; overflow-wrap: anywhere; }
.structure-grid { display:block; }
.structure-card { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:1.5rem 2rem; border:0; border-top:1px solid var(--rule); padding:2rem 0; overflow:visible; }
.structure-card .structure-visual { border:0; padding:0; align-self:start; }
.structure-card .structure-caption { padding:0; }
.structure-card .structure-caption h3 { font-family:var(--font-sans); font-size:1.75rem; margin:0; }
.structure-record-title { margin:.65rem 0 1rem; font-size:1rem; line-height:1.55; max-width:64ch; }
.structure-card .label-row { flex-wrap:wrap; align-items:start; gap:.5rem; }
.structure-card .tag,.structure-card .claim { white-space:normal; font-size:1rem; line-height:1.4; }
.structure-card .structure-meta { font-size:1rem; line-height:1.55; column-gap:1rem; row-gap:.5rem; align-self:start; }
.structure-actions { grid-column:1/-1; }
.structure-actions > details { margin-top:.75rem; font-size:1rem; }
.structure-actions summary,.structure-video summary { font-size:1rem; color:var(--green); cursor:pointer; padding:.5rem 0; }
.structure-card .structure-video { grid-column:1/-1; grid-row:2; padding:0; border:0; }
.structure-card .structure-video video { max-height:36rem; margin-top:1rem; }
.structure-card:has(.structure-placeholder) .structure-caption { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); column-gap:3rem; }
@media(max-width:760px) {
  .structure-card { display:block; }
  .structure-card:has(.structure-placeholder) .structure-caption { display:block; }
  .structure-card .structure-meta { margin:1.5rem 0; }
  .structure-card .structure-visual { margin-bottom:1.5rem; }
}

/* The canvas and inspection controls share one viewport. */
.structure-preview-dialog{width:min(1160px,calc(100vw - 24px));height:min(820px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:hidden}
.structure-preview-dialog[open]{display:flex;flex-direction:column}
.structure-preview-dialog>header{flex:0 0 auto;padding:18px 22px 14px;border-bottom:1px solid #dce5df}
.structure-preview-dialog h2{font-size:21px}.structure-preview-dialog .structure-preview-meta{font-size:13px;line-height:1.4}
.viewer-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;flex:1;min-height:0;overflow:hidden}
.viewer-canvas-panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto;padding-bottom:14px}
.structure-preview-dialog .structure-preview-stage{flex:1 0 200px;min-height:200px;height:auto;border:0}
.structure-preview-dialog .structure-preview-status{padding:10px 18px;font-size:13px;line-height:1.45;min-height:38px}
.structure-preview-dialog .structure-preview-toolbar{padding:0 16px;gap:6px}.structure-preview-dialog .structure-preview-toolbar button{font-size:13px;padding:8px 10px;min-height:40px}
.structure-preview-dialog .structure-preview-help{font-size:12px;margin:8px 18px 0}
.viewer-more-controls{padding:0 18px;font-size:13px;margin-top:8px}.viewer-more-controls>summary{cursor:pointer;color:#426252;padding:5px 0}.viewer-more-controls .structure-preview-toolbar{padding:8px 0}
.structure-preview-dialog .structure-preview-footer{border-left:1px solid #dce5df;min-height:0;padding:0;display:flex;flex-direction:column;overflow:hidden;background:#fbfcfb}
.viewer-tabs{display:flex;flex:0 0 auto;padding:12px 14px 0;border-bottom:1px solid #dce5df;background:white;gap:5px}
.structure-preview-dialog .viewer-tabs button{border:0;border-radius:0;padding:10px 8px;font-size:14px;flex:1;color:#5f7167}
.structure-preview-dialog .viewer-tabs button[aria-selected=true]{color:#176147;border-bottom:3px solid #277756;font-weight:600;background:#f3f7f5}
.viewer-panels{overflow:auto;min-height:0;padding:0 18px 18px}.viewer-panels>[hidden]{display:none!important}
.structure-preview-dialog .structure-preview-parts{margin:14px 0;gap:12px}.structure-preview-dialog .structure-preview-part{display:flex;flex-wrap:wrap;gap:7px;padding-top:10px}.structure-preview-dialog .structure-preview-part label{flex-basis:100%;font-size:14px}.structure-preview-dialog .structure-preview-part button{font-size:13px;padding:7px 10px}
.structure-preview-dialog .structure-preview-chain-key{font-size:12px;color:#627367;line-height:1.5}
.structure-preview-dialog .residue-explorer{border:0;margin:0;padding:0}.structure-preview-dialog .residue-help{font-size:13px;line-height:1.5;margin:14px 0}
.structure-preview-dialog .residue-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.structure-preview-dialog .residue-tools>label:first-child{grid-column:1/-1}.structure-preview-dialog .residue-tools label{font-size:13px;min-width:0;display:grid;gap:6px}.structure-preview-dialog .residue-tools input,.structure-preview-dialog .residue-tools select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font:14px inherit;padding:8px;min-height:42px;background:white;border:1px solid #b4c8bd;border-radius:4px;color:#263e30}.structure-preview-dialog .residue-tools button{font-size:13px}
.structure-preview-dialog .residue-strip{max-height:none;border:0;padding:0;gap:4px;display:flex;flex-wrap:wrap}.structure-preview-dialog .residue-strip button{font:13px ui-monospace,monospace;padding:6px;min-height:44px;min-width:40px}.structure-preview-dialog .residue-strip button span{display:block;font-size:11px;color:#627366}
.viewer-site-list>section{padding-top:17px}.viewer-site-list h3{font-size:16px;line-height:1.4;margin:0 0 8px}.viewer-site-list p{font-size:13px;line-height:1.5;margin:7px 0 12px}.viewer-site-list>section>button{font-size:13px}.viewer-site-list a{display:block;font-size:13px;margin:14px 0;color:#176147}.viewer-site-residues{display:flex;flex-wrap:wrap;gap:5px}.structure-preview-dialog .viewer-site-residues button{font:12px ui-monospace,monospace;min-height:40px;padding:6px 8px}
@media(max-width:760px){
 .structure-preview-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:7px}
 .structure-preview-dialog>header{padding:11px 12px 9px;gap:10px}.structure-preview-dialog h2{font-size:17px;line-height:1.3}.structure-preview-dialog .structure-preview-meta{font-size:11px;max-height:32px;overflow:auto}.structure-preview-dialog header button{font-size:13px;padding:7px 10px}
 .viewer-workspace{grid-template-columns:1fr;grid-template-rows:minmax(220px,43%) minmax(0,1fr)}
 .structure-preview-dialog .structure-preview-stage{min-height:130px;flex:1 1 auto}.viewer-canvas-panel{padding:0 0 5px;position:relative;overflow:hidden}
 .structure-preview-dialog .structure-preview-status{font-size:12px;line-height:1.35;padding:6px 12px 8px;min-height:30px;max-height:76px;overflow:auto;flex-shrink:0}
 .structure-preview-dialog .structure-preview-toolbar{padding:0 9px;flex-wrap:nowrap;gap:5px}.structure-preview-dialog .structure-preview-toolbar button{font-size:12px;padding:6px 8px;min-height:36px;white-space:nowrap}.structure-preview-dialog .structure-preview-help{display:none}
 .viewer-more-controls{margin:0;padding:0 12px;font-size:12px}.viewer-more-controls>summary{padding:4px 0}.viewer-more-controls[open]{position:absolute;bottom:0;left:0;right:0;z-index:5;background:#fff;box-shadow:0 -6px 20px #294c3122;border-top:1px solid #c4d5cb}.viewer-more-controls[open] .structure-preview-toolbar{flex-wrap:wrap;padding-bottom:8px}
 .structure-preview-dialog .structure-preview-footer{border-left:0;border-top:1px solid #dce5df}.viewer-tabs{padding:5px 10px 0}.structure-preview-dialog .viewer-tabs button{padding:8px;font-size:13px;min-height:40px}.viewer-panels{padding:0 13px 13px}
 .structure-preview-focus-name,.structure-preview-hover{font-size:12px;margin:7px;padding:4px 6px;max-width:calc(100% - 14px)}
}
