:root{
      --brand:#0b3a53;
      --brand2:#116b8a;
      --brand3:#caa34d;
      --bg:#f7f2e8;
      --card:rgba(255,255,255,.95);
      --border:rgba(15,23,42,.08);
      --ring:rgba(17,107,138,.18);
      --muted:#64748b;
      --surface:#f8fafc;
    }
    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; scroll-padding-top: 120px; }
    body{
      font-family:"Source Sans 3", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      background:
        radial-gradient(1100px 420px at 12% 0%, rgba(17,107,138,.14), transparent 60%),
        radial-gradient(900px 520px at 88% 5%, rgba(11,58,83,.11), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.92)),
        var(--bg);
      color:#0f172a;
    }
    .container-max{ max-width: 1380px; }
    .navbar-blur{ background: rgba(243,162,97,.92); backdrop-filter: blur(14px); border-bottom:1px solid rgba(255,255,255,.24); }
    .hero{ background: linear-gradient(135deg, #ffd9bd, #f5a86d); border-bottom: 1px solid rgba(255,255,255,.35); box-shadow: inset 0 -1px 0 rgba(255,255,255,.14); }
    .glass{
      background: var(--card);
      border:1px solid var(--border);
      box-shadow: 0 16px 40px rgba(2,6,23,.06), 0 3px 10px rgba(2,6,23,.04);
      backdrop-filter: blur(8px);
    }
    .section-title{ color:#7D6608; letter-spacing:.2px; }
    .sequence-box{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; white-space: pre-wrap; word-break: break-word; font-size: .94rem; line-height: 1.45; }
    .sticky-nav{ position: sticky; top: 84px; }
    .table > :not(caption) > * > * { padding: .85rem 1rem; }
    .table thead th{ background:linear-gradient(180deg, #fff3e8, #ffe3cf); color:#6f3d19; font-weight:700; border-bottom:1px solid rgba(224,125,60,.18); }
    .table tbody tr:hover > *{ background: rgba(243,162,97,.10); }
    .linked-output a{ text-decoration: none; word-break: break-word; color:var(--brand2); font-weight:600; }
    .linked-output a:hover{ text-decoration: underline; }

    .feature-note{ font-size:.94rem; color:#475569; }
    .viewer-status{ font-size:.92rem; color:var(--muted); }
    .viewer-status.is-ready{ color:#166534; }
    .viewer-status.is-soft{ color:#64748b; }
    .residue-badge{ display:inline-flex; align-items:center; gap:.35rem; font-size:.84rem; padding:.3rem .7rem; border-radius:999px; border:1px solid rgba(224,125,60,.22); background:rgba(243,162,97,.12); color:#8a4f20; }
    .molstar-box{ position:relative; width:100%; height:560px; min-height:560px; border:1px solid var(--border); border-radius:1.1rem; overflow:hidden; background:linear-gradient(180deg,#fff9f3,#ffe9d8); box-shadow: inset 0 1px 0 rgba(255,255,255,.85); }
    .molstar-box > .msp-plugin,
    .molstar-box .msp-plugin{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; }
    .molstar-box canvas{ display:block; width:100% !important; height:100% !important; }
    /* Embedded mode: keep Mol* compact inside the card. */
    .molstar-box:not(:fullscreen):not(:-webkit-full-screen):not(.molstar-full-ui) .msp-layout-region-top,
    .molstar-box:not(:fullscreen):not(:-webkit-full-screen):not(.molstar-full-ui) .msp-layout-region-left,
    .molstar-box:not(:fullscreen):not(:-webkit-full-screen):not(.molstar-full-ui) .msp-layout-region-right,
    .molstar-box:not(:fullscreen):not(:-webkit-full-screen):not(.molstar-full-ui) .msp-layout-region-bottom{ display:none !important; }
    /* Fullscreen mode: reveal the full Mol* UI only after fullscreen is entered. */
    #molstar-viewer:fullscreen,
    #molstar-viewer:-webkit-full-screen,
    #molstar-viewer.molstar-full-ui{ width:100vw !important; height:100vh !important; min-height:100vh !important; border-radius:0 !important; background:#fff !important; }
    #molstar-viewer:fullscreen .msp-plugin,
    #molstar-viewer:-webkit-full-screen .msp-plugin,
    #molstar-viewer.molstar-full-ui .msp-plugin{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; }
    #molstar-viewer:fullscreen .msp-layout-region-top,
    #molstar-viewer:fullscreen .msp-layout-region-left,
    #molstar-viewer:fullscreen .msp-layout-region-right,
    #molstar-viewer:fullscreen .msp-layout-region-bottom,
    #molstar-viewer:-webkit-full-screen .msp-layout-region-top,
    #molstar-viewer:-webkit-full-screen .msp-layout-region-left,
    #molstar-viewer:-webkit-full-screen .msp-layout-region-right,
    #molstar-viewer:-webkit-full-screen .msp-layout-region-bottom,
    #molstar-viewer.molstar-full-ui .msp-layout-region-top,
    #molstar-viewer.molstar-full-ui .msp-layout-region-left,
    #molstar-viewer.molstar-full-ui .msp-layout-region-right,
    #molstar-viewer.molstar-full-ui .msp-layout-region-bottom{ display:block !important; }
    /* Unused FS chrome — keep hidden */
    .molstar-fs-header{ display:none !important; }
    .molstar-fs-rcsb-wrap{ display:none !important; }
    .rcsb-box{ width:100%; min-height:220px; height:auto; border:1px solid var(--border); border-radius:1.1rem; overflow:visible; background:linear-gradient(180deg,#fffaf4,#fff3ea); box-shadow: inset 0 1px 0 rgba(255,255,255,.85); padding:.5rem .5rem .75rem 0; transition:min-height .2s ease; display:flex; justify-content:flex-start; align-items:flex-start; }
    .rcsb-box .rcsbFv, .rcsb-box svg{ max-width:none; }
    #rcsb-sequence-viewer{ overflow-x:auto; overflow-y:hidden; }
    #rcsb-sequence-viewer > *{ margin-left:-28px !important; }
    .viewer-split-row{ align-items:stretch; }
    .pae-box{ min-height:560px; border:1px dashed rgba(24,59,91,.18); border-radius:1.1rem; background:linear-gradient(180deg, rgba(255,250,245,.95), rgba(248,241,231,.92)); display:flex; align-items:center; justify-content:center; text-align:center; padding:1.5rem; }
    .pae-box.pae-shell{ display:block; text-align:left; padding:1rem; }
    .pae-empty{ min-height:500px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#64748b; }
    .pae-plot-wrap{ display:flex; flex-direction:column; gap:.9rem; height:100%; }
    .pae-canvas-wrap{ width:100%; min-height:430px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid rgba(24,59,91,.12); border-radius:.95rem; padding:1rem 1rem 1.2rem 1rem; overflow:auto; }
    /* Axis frame: col1=Y-title(16px) col2=Y-chain-band(20px) col3=canvas; row1=X-title(14px) row2=X-chain-band(20px) row3=canvas */
    .pae-canvas-frame{
      display:grid;
      grid-template-columns: 16px 20px 1fr;
      grid-template-rows: 14px 20px 1fr;
      gap:3px;
      width:min(100%,540px); max-width:100%;
    }
    /* axis title labels */
    .pae-axis-title-y{ grid-column:1; grid-row:3; writing-mode:vertical-rl; transform:rotate(180deg); display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:600; color:#94a3b8; letter-spacing:.5px; text-transform:uppercase; }
    .pae-axis-title-x{ grid-column:3; grid-row:1; display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:600; color:#94a3b8; letter-spacing:.5px; text-transform:uppercase; }
    /* chain bands — flex layout, proportional segments */
    .pae-chain-band-x{ grid-column:3; grid-row:2; display:flex; flex-direction:row; gap:0; }
    .pae-chain-band-y{ grid-column:2; grid-row:3; display:flex; flex-direction:column; gap:0; }
    .pae-chain-seg{
      display:flex; align-items:center; justify-content:center;
      font-size:.78rem; font-weight:700; color:#334155;
      overflow:hidden; min-width:0; min-height:0; cursor:default;
      background:transparent;
      border-right:1px solid rgba(15,23,42,.15);
    }
    .pae-chain-band-x .pae-chain-seg:last-child{ border-right:none; }
    .pae-chain-band-y .pae-chain-seg{
      border-right:none;
      border-bottom:1px solid rgba(15,23,42,.15);
    }
    .pae-chain-band-y .pae-chain-seg:last-child{ border-bottom:none; }
    /* canvas stack */
    .pae-canvas-stack{ grid-column:3; grid-row:3; position:relative; width:100%; aspect-ratio:1/1; }
    .pae-canvas{ display:block; width:100%; height:100%; background:#fff; border-radius:.45rem; image-rendering:pixelated; box-shadow: inset 0 0 0 1px rgba(24,59,91,.15); }
    .pae-overlay{ position:absolute; inset:0; width:100%; height:100%; pointer-events:auto; cursor:crosshair; border-radius:.45rem; }
    .pae-boundary-overlay{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; border-radius:.45rem; }
    .pae-meta{ display:flex; flex-direction:column; gap:.35rem; }
    .pae-selection-summary{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; flex-wrap:wrap; }
    .pae-legend{ display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; font-size:.84rem; color:#64748b; }
    .pae-legend-bar{ flex:1 1 220px; min-width:220px; height:12px; border-radius:999px; border:1px solid rgba(15,23,42,.08); background:linear-gradient(90deg, #f3fbf4 0%, #d9f2dd 18%, #a8dfb0 42%, #6dc17c 68%, #2f8f4f 100%); }
    .pae-badge{ white-space:nowrap; }

    .molstar-standalone-fullscreen-host{ position:fixed; inset:0; z-index:99999; background:#fff; display:flex; flex-direction:column; }
    .molstar-standalone-fullscreen-toolbar{ display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.55rem .75rem; background:#183b5b; color:#fff; font-weight:700; }
    .molstar-standalone-fullscreen-toolbar button{ border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.12); color:#fff; border-radius:.55rem; padding:.3rem .65rem; font-weight:700; }
    .molstar-standalone-fullscreen-viewer{ position:relative; flex:1 1 auto; min-height:0; width:100%; background:#fff; }
    .molstar-standalone-fullscreen-viewer .msp-plugin{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; }
    .molstar-fullpage-host{
      position:fixed;
      inset:0;
      z-index:99999;
      background:linear-gradient(180deg,#fffaf5,#ffffff);
      display:grid;
      grid-template-columns:minmax(300px, 360px) minmax(0, 1fr);
      grid-template-rows:auto minmax(0, 1fr);
      color:#1f2937;
    }
    .molstar-fullpage-toolbar{
      grid-column:1 / -1;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      padding:.6rem .85rem;
      background:linear-gradient(90deg,#183b5b,#2b7a78);
      color:#fff;
      box-shadow:0 6px 20px rgba(24,59,91,.18);
    }
    .molstar-fullpage-title{ font-weight:800; letter-spacing:.01em; }
    .molstar-fullpage-subtitle{ font-size:.86rem; opacity:.82; font-weight:500; }
    .molstar-fullpage-close{
      border:1px solid rgba(255,255,255,.35);
      background:rgba(255,255,255,.12);
      color:#fff;
      border-radius:.65rem;
      padding:.38rem .75rem;
      font-weight:800;
    }
    .molstar-fullpage-close:hover{ background:rgba(255,255,255,.22); }
    .molstar-fullpage-sidebar{
      grid-column:1;
      grid-row:2;
      min-height:0;
      overflow:auto;
      border-right:1px solid rgba(24,59,91,.12);
      background:linear-gradient(180deg,rgba(255,250,245,.98),rgba(255,255,255,.98));
      padding:1rem;
    }
    .molstar-fullpage-viewer-wrap{
      grid-column:2;
      grid-row:2;
      position:relative;
      min-width:0;
      min-height:0;
      background:#fff;
    }
    .molstar-fullpage-viewer-wrap #molstar-viewer{
      position:absolute !important;
      inset:0 !important;
      width:100% !important;
      height:100% !important;
      min-height:0 !important;
      border-radius:0 !important;
      border:0 !important;
    }
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-plugin,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-layout,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-layout-main{
      pointer-events:auto !important;
      z-index:2 !important;
    }
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-layout-region-top,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-layout-region-left,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-layout-region-right,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-layout-region-bottom{
      display:block !important;
      pointer-events:auto !important;
      z-index:20 !important;
    }
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-viewport,
    .molstar-fullpage-viewer-wrap #molstar-viewer canvas{
      pointer-events:auto !important;
    }
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-viewport-controls,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-control-row,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-btn,
    .molstar-fullpage-viewer-wrap #molstar-viewer button,
    .molstar-fullpage-viewer-wrap #molstar-viewer [role="button"]{
      pointer-events:auto !important;
      z-index:30 !important;
    }
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-overlay,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-viewport-overlay,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-popover,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-transform-wrapper,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-modal-root,
    .molstar-fullpage-viewer-wrap #molstar-viewer .msp-settings{
      pointer-events:auto !important;
      z-index:60 !important;
    }
    .molstar-fullpage-toolbar-actions{ display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; justify-content:flex-end; }
    /* HANSEN_MOLSTAR_FULLPAGE_RIGHT_MENU_FIX_V1 */
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-layout-region-right,
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-layout-region-left,
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-layout-region-top,
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-layout-region-bottom{
      display:block !important;
      visibility:visible !important;
      opacity:1 !important;
      pointer-events:auto !important;
    }
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-layout-region-right{
      z-index:90 !important;
      max-width:min(440px, 42vw) !important;
    }
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-settings,
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-popover,
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-modal-root,
    body.molstar-fullpage-open #molstar-viewer.molstar-full-ui .msp-transform-wrapper{
      display:block;
      visibility:visible;
      pointer-events:auto !important;
      z-index:120 !important;
    }

    /* HANSEN_MOLSTAR_RIGHT_MENU_MANUAL_ONLY_V2 */
    body.molstar-fullpage-open #molstar-viewer.hansen-molstar-right-menu-closed .msp-layout-region-right{
      display:none !important;
      visibility:hidden !important;
      opacity:0 !important;
      pointer-events:none !important;
      width:0 !important;
      min-width:0 !important;
      max-width:0 !important;
    }
    body.molstar-fullpage-open #molstar-viewer.hansen-molstar-right-menu-open .msp-layout-region-right{
      display:block !important;
      visibility:visible !important;
      opacity:1 !important;
      pointer-events:auto !important;
      z-index:95 !important;
      min-width:320px !important;
      max-width:min(460px, 44vw) !important;
    }

    /* HANSEN_HIDE_MOLSTAR_SIDE_MENU_AFTER_EXIT_V2 */
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-right,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-left,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-top,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-bottom{
      display:none !important;
      visibility:hidden !important;
      opacity:0 !important;
      pointer-events:none !important;
    }

    /* HANSEN_FORCE_COMPACT_MOLSTAR_AFTER_EXIT_V3 */
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-right,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-left,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-top,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-bottom{
      display:none !important;
      visibility:hidden !important;
      opacity:0 !important;
      pointer-events:none !important;
    }
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-right{
      width:0 !important;
      min-width:0 !important;
      max-width:0 !important;
    }

    /* HANSEN_EMBEDDED_FORCE_HIDE_MOLSTAR_UI_V4 */
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-right,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-left,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-top,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region-bottom,
    body:not(.molstar-fullpage-open) #molstar-viewer.hansen-embedded-compact .msp-layout-region-right,
    body:not(.molstar-fullpage-open) #molstar-viewer.hansen-embedded-compact .msp-layout-region-left,
    body:not(.molstar-fullpage-open) #molstar-viewer.hansen-embedded-compact .msp-layout-region-top,
    body:not(.molstar-fullpage-open) #molstar-viewer.hansen-embedded-compact .msp-layout-region-bottom{
      display:none !important;
      visibility:hidden !important;
      opacity:0 !important;
      pointer-events:none !important;
      width:0 !important;
      min-width:0 !important;
      max-width:0 !important;
      flex:0 0 0 !important;
    }

    /* HANSEN_HIDE_MSP_LAYOUT_RIGHT_AFTER_EXIT_V5 */
    body:not(.molstar-fullpage-open) #molstar-viewer.hansen-embedded-compact .msp-layout-right,
    body:not(.molstar-fullpage-open) #molstar-viewer.hansen-embedded-compact .msp-layout-region.msp-layout-right,
    body:not(.molstar-fullpage-open) #molstar-viewer.hansen-embedded-compact .msp-layout-right .msp-layout-static,
    body:not(.molstar-fullpage-open) #molstar-viewer.hansen-embedded-compact .msp-layout-right .msp-scrollable-container,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-right,
    body:not(.molstar-fullpage-open) #molstar-viewer .msp-layout-region.msp-layout-right{
      display:none !important;
      visibility:hidden !important;
      opacity:0 !important;
      pointer-events:none !important;
      width:0 !important;
      min-width:0 !important;
      max-width:0 !important;
      flex:0 0 0 !important;
    }
    .molstar-clear-pockets-btn{ font-weight:800; }
    .molstar-fullpage-pocket-card{
      background:#fff;
      border:1px solid rgba(24,59,91,.10);
      border-radius:1rem;
      box-shadow:0 12px 28px rgba(24,59,91,.08);
      overflow:hidden;
    }
    .molstar-fullpage-pocket-header{
      padding:.85rem .9rem;
      border-bottom:1px solid rgba(24,59,91,.08);
      background:linear-gradient(180deg,#fff8f1,#fff);
    }
    .molstar-fullpage-pocket-list{
      display:flex;
      flex-direction:column;
      gap:.65rem;
      padding:.85rem;
    }
    .molstar-fullpage-pocket-item{
      border:1px solid rgba(24,59,91,.10);
      border-radius:.85rem;
      padding:.75rem;
      background:rgba(255,250,245,.72);
    }
    .molstar-fullpage-pocket-title{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:.6rem;
      font-weight:800;
      color:#183b5b;
      margin-bottom:.35rem;
    }
    .molstar-fullpage-pocket-meta{
      font-size:.84rem;
      color:#64748b;
      line-height:1.35;
      margin-bottom:.55rem;
    }
    .molstar-fullpage-pocket-actions{ display:flex; flex-wrap:wrap; gap:.45rem; }
    body.molstar-fullpage-open{ overflow:hidden !important; }
    @media (max-width: 991.98px){
      .molstar-fullpage-host{ grid-template-columns:1fr; grid-template-rows:auto minmax(190px, 34vh) minmax(0, 1fr); }
      .molstar-fullpage-sidebar{ grid-column:1; grid-row:2; border-right:0; border-bottom:1px solid rgba(24,59,91,.12); }
      .molstar-fullpage-viewer-wrap{ grid-column:1; grid-row:3; }
    }

    @media (max-width: 767.98px){ .pae-canvas-wrap{ min-height:320px; } .pae-empty{ min-height:320px; } }
    .paired-grid .pair-card{ height:100%; }
    .model-btn{ border-radius:999px; padding:.48rem .85rem; }
    .model-btn.is-active{ border-color:#e07d3c; background:#e07d3c; color:#fff; box-shadow:0 8px 20px rgba(224,125,60,.24); }
    .score-pill{ font-size:.78rem; }
    .summary-table td:first-child,
    .models-table td:first-child{ width: 210px; }
    .summary-table td:first-child,
    .models-table th:first-child,
    .models-table td:first-child{ white-space:nowrap; }
    .viewer-card{ height:100%; }
    .nightingale-wrap{ overflow-x:auto; }
    .hero-chip{ background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); }
    .card-title-accent{ color:var(--brand); }
    .subtle-divider{ border-color: rgba(15,23,42,.08) !important; }
    .soft-panel{ background:linear-gradient(180deg, rgba(255,247,239,.94), rgba(255,255,255,.96)); border:1px solid rgba(224,125,60,.12); border-radius:1rem; }

    .overview-card .summary-table td:first-child{ width: 240px; }
    .models-shell-card{
      background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,241,.96));
      border: 1px solid rgba(24,59,91,.08);
      border-radius: 1.25rem;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
      flex: 1 1 auto;
      height: auto;
      width:100%;
      max-width:100%;
      min-width:0;
      overflow:hidden;
      contain:layout inline-size;
      box-sizing:border-box;
    }
    .models-shell-card .table thead th{
      position: sticky;
      top: 0;
      z-index: 1;
    }
    .model-pills-wrap{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(min(210px, 100%), 1fr));
      gap:.55rem;
      width:100%;
      max-width:100%;
      min-width:0;
      overflow:hidden;
      align-items:start;
    }
    .model-pills-wrap > *{
      min-width:0;
      max-width:100%;
    }
    .models-shell-card .table-responsive{
      display:block;
      width:100%;
      max-width:100%;
      min-width:0;
      overflow-x:auto;
      overflow-y:hidden;
    }
    .models-table{
      width:100%;
      max-width:100%;
      min-width:0;
      table-layout:fixed;
    }
    .models-table th:nth-child(1),
    .models-table td:nth-child(1){ width: 20%; }
    .models-table th:nth-child(2),
    .models-table td:nth-child(2){ width: 16%; }
    .models-table th:nth-child(3),
    .models-table td:nth-child(3){ width: 16%; }
    .models-table th:nth-child(4),
    .models-table td:nth-child(4){ width: 24%; }
    .models-table th:nth-child(5),
    .models-table td:nth-child(5){ width: 24%; }
    .ml-id-badges{ display:flex; flex-wrap:wrap; gap:.35rem; }
    .ml-id-badges .badge{ white-space:normal; text-decoration:none; }
    .viewer-chain-wrap{ display:none; }
    .viewer-chain-wrap.is-visible{ display:block; }
    .viewer-chain-links{ display:flex; flex-wrap:wrap; gap:.45rem; }
    .viewer-chain-buttons{ display:flex; flex-wrap:wrap; gap:.45rem; }
    .viewer-chain-btn{ border-radius:999px; }
    .model-btn{
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:wrap;
      gap:.35rem;
      width:100%;
      max-width:100%;
      min-width:0;
      white-space:normal;
      word-break:break-word;
      overflow-wrap:anywhere;
      text-align:left;
      line-height:1.25;
    }
    .model-btn .badge{
      max-width:100%;
      white-space:normal;
    }
    #structure-models{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:1.5rem;
      align-items:stretch;
      width:100%;
    }
    .structure-model-panel{
      min-width:0;
      width:100%;
      box-sizing:border-box;
      display:flex;
    }
    .structure-model-panel > .glass{
      display:flex;
      flex-direction:column;
      width:100%;
      min-width:0;
      max-width:100%;
      overflow:hidden;
      flex:1 1 auto;
      box-sizing:border-box;
    }
    @media (max-width: 1199.98px){
      #structure-models{
        grid-template-columns:minmax(0, 1fr);
      }
    }
    .pair-card.polished-section{
      background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,239,.96));
      border:1px solid rgba(24,59,91,.08);
      box-shadow: 0 16px 34px rgba(24,59,91,.08), inset 0 1px 0 rgba(255,255,255,.82);
    }
    .polished-section .section-heading-wrap{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:1rem;
      padding-bottom:.85rem;
      border-bottom:1px solid rgba(24,59,91,.08);
    }
    .polished-section .section-eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      font-size:.78rem;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#2b7a78;
      background:rgba(43,122,120,.08);
      border:1px solid rgba(43,122,120,.12);
      border-radius:999px;
      padding:.28rem .72rem;
    }
    .polished-section .summary-table td:first-child{
      width: 245px !important;
      background: linear-gradient(180deg, rgba(247,250,252,.96), rgba(240,247,250,.96));
      color:#183b5b;
      font-weight:700;
      border-right:1px solid rgba(24,59,91,.06);
    }
    .polished-section .summary-table td:last-child{
      background: rgba(255,255,255,.72);
    }
    .polished-section .summary-table tbody tr + tr td{
      border-top:1px solid rgba(24,59,91,.06);
    }
    .site-footer{
      margin-top:3rem;
      background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,248,241,.84));
      border-top:1px solid rgba(24,59,91,.08);
    }
    .footer-logo{
      height:48px;
      width:auto;
      filter: drop-shadow(0 4px 10px rgba(24,59,91,.08));
    }
    .footer-ok-logo{
      height:20px;
      width:auto;
    }

    .section-nav-wrap{
      position: sticky;
      top: 84px;
      z-index: 1020;
      margin-top: 12px;
    }
    .section-nav{
      background: rgba(255,248,241,.94);
      backdrop-filter: blur(12px);
      border:1px solid rgba(15,23,42,.08);
      box-shadow: 0 10px 28px rgba(2,6,23,.06);
      border-radius: 1rem;
      padding: .75rem;
    }
    .section-nav-label{
      font-size:.78rem;
      text-transform:uppercase;
      letter-spacing:.08em;
      color:#64748b;
      font-weight:700;
      margin-right:.5rem;
      white-space:nowrap;
    }
    .section-chip{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.48rem .82rem;
      border-radius:999px;
      border:1px solid rgba(17,107,138,.12);
      background:linear-gradient(180deg, rgba(255,249,243,.98), rgba(255,236,220,.98));
      color:var(--brand);
      font-weight:600;
      text-decoration:none;
      transition: all .18s ease;
      white-space:nowrap;
    }
    .section-chip:hover{
      transform:translateY(-1px);
      border-color:rgba(17,107,138,.28);
      box-shadow:0 8px 20px rgba(17,107,138,.10);
      color:var(--brand);
    }
    .section-chip.is-active{
      background:linear-gradient(135deg, #f7bc8d, #ffe1ca);
      color:#fff;
      border-color:transparent;
      box-shadow:0 10px 24px rgba(11,58,83,.18);
    }

    .ng-table td {
      padding: 5px;
      vertical-align: middle;
    }
    .ng-table td:first-child {
      background-color: lightcyan;
      font: 0.8em sans-serif;
      white-space: nowrap;
      width: 150px;
    }
    .ng-table td:nth-child(2) {
      background-color: aliceblue;
    }
    .ng-table tr:nth-child(-n + 3) > td {
      background-color: transparent;
    }

    nightingale-manager{
      display:block;
      width:100%;
      overflow-x:auto;
    }
    nightingale-navigation,
    nightingale-sequence,
    nightingale-colored-sequence,
    nightingale-track,
    nightingale-linegraph-track{
      display:block;
      width:100%;
    }

    .btn-soft-orange{
      background: linear-gradient(180deg, #f8b27a, #ef9858);
      color: #fff;
      border: 1px solid rgba(224,125,60,.35);
      box-shadow: 0 8px 18px rgba(224,125,60,.18);
    }
    .btn-soft-orange:hover{
      color:#fff;
      background: linear-gradient(180deg, #ef9858, #e07d3c);
    }
    .section-chip{
      background:#fff5ec;
      border:1px solid rgba(224,125,60,.16);
      color:#8a4f20;
    }
    .section-chip.is-active,
    .section-chip:hover{
      background:#f3a261;
      border-color:#f3a261;
      color:#fff;
    }

  
    /* Elegant bright theme override */
    :root{
      --brand:#183b5b;
      --brand2:#2b7a78;
      --brand3:#e09f3e;
      --bg:#f6f1ea;
      --card:rgba(255,255,255,.96);
      --border:rgba(24,59,91,.10);
      --ring:rgba(43,122,120,.18);
      --muted:#6b7280;
      --surface:#fffaf5;
    }
    body{
      background:
        radial-gradient(1100px 420px at 12% 0%, rgba(43,122,120,.14), transparent 60%),
        radial-gradient(900px 520px at 88% 5%, rgba(224,159,62,.14), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,251,246,.96)),
        var(--bg) !important;
      color:#1f2937;
    }
    .navbar-blur{
      background: linear-gradient(90deg, rgba(24,59,91,.95), rgba(43,122,120,.92)) !important;
      border-bottom:1px solid rgba(255,255,255,.16);
    }
    .hero{
      background: linear-gradient(135deg, #183b5b 0%, #2b7a78 55%, #e7a76a 100%) !important;
      border-bottom: 1px solid rgba(255,255,255,.24);
      box-shadow: inset 0 -1px 0 rgba(255,255,255,.10);
    }
    .glass{
      background: var(--card) !important;
      border:1px solid var(--border);
      box-shadow: 0 18px 40px rgba(24,59,91,.10), 0 4px 14px rgba(24,59,91,.08);
      backdrop-filter: blur(8px);
    }
    .section-title{ color:#183b5b !important; }
    .table{
      --bs-table-bg: transparent;
      --bs-table-color: #1f2937;
      --bs-table-border-color: rgba(24,59,91,.08);
      --bs-table-hover-color: #111827;
      --bs-table-hover-bg: rgba(43,122,120,.05);
    }
    .table thead th{
      background:linear-gradient(180deg, #fff6ee, #fde5d2) !important;
      color:#183b5b !important;
      border-bottom:1px solid rgba(224,159,62,.16);
    }
    .table tbody tr:hover > *{ background: rgba(43,122,120,.05) !important; }
    .linked-output a{ color:#2b7a78 !important; }
    .linked-output a:hover{ color:#183b5b !important; }
    .feature-note{ color:#475569; }
    .viewer-status{ color:var(--muted); }
    .viewer-status.is-ready{ color:#166534; }
    .viewer-status.is-soft{ color:#64748b; }
    .residue-badge{
      border:1px solid rgba(224,159,62,.26);
      background:rgba(224,159,62,.12);
      color:#9a5b12;
    }
    .molstar-box{
      border:1px solid rgba(24,59,91,.10);
      background:linear-gradient(180deg,#fffaf5,#f7ede3) !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.80);
    }
    .model-btn{
      color:#183b5b;
      border-color: rgba(24,59,91,.12);
      background: rgba(255,255,255,.92);
    }
    .model-btn:hover{
      color:#183b5b;
      border-color: rgba(43,122,120,.28);
      background: rgba(255,255,255,1);
    }
    .model-btn.is-active{
      border-color:#2b7a78 !important;
      background:#2b7a78 !important;
      color:#fff !important;
      box-shadow:0 8px 20px rgba(43,122,120,.18);
    }
    .hero-chip{
      background: rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      color:#fff;
    }
    .card-title-accent{ color:#183b5b; }
    .subtle-divider{ border-color: rgba(24,59,91,.10) !important; }
    .soft-panel{
      background:linear-gradient(180deg, rgba(255,250,245,.96), rgba(255,255,255,.98)) !important;
      border:1px solid rgba(224,159,62,.10);
      border-radius:1rem;
    }
    .section-nav{
      background: rgba(255,252,248,.95) !important;
      border:1px solid rgba(24,59,91,.08);
      box-shadow: 0 10px 28px rgba(24,59,91,.08);
    }
    .section-nav-label{ color:#64748b; }
    .section-chip{
      background:#fff8f1 !important;
      border:1px solid rgba(224,159,62,.16) !important;
      color:#183b5b !important;
    }
    .section-chip:hover{
      transform:translateY(-1px);
      border-color:rgba(43,122,120,.28) !important;
      box-shadow:0 8px 20px rgba(43,122,120,.10);
      color:#183b5b !important;
      background:#ffffff !important;
    }
    .section-chip.is-active{
      background:linear-gradient(135deg, #2b7a78, #183b5b) !important;
      color:#fff !important;
      border-color:transparent !important;
      box-shadow:0 10px 24px rgba(24,59,91,.14);
    }
    .ng-table td:first-child {
      background-color: #eef8f7 !important;
      color:#183b5b;
    }
    .ng-table td:nth-child(2) {
      background-color: #fffaf5 !important;
      color:#334155;
    }
    .ng-table tr:nth-child(-n + 3) > td {
      background-color: transparent !important;
    }
    .btn-soft-orange{
      background: linear-gradient(180deg, #e7a76a, #de8e57) !important;
      color: #fff !important;
      border: 1px solid rgba(224,159,62,.28) !important;
      box-shadow: 0 8px 18px rgba(224,159,62,.18);
    }
    .btn-soft-orange:hover{
      color:#fff !important;
      background: linear-gradient(180deg, #de8e57, #d47a42) !important;
    }
    .btn-outline-secondary{
      --bs-btn-color:#183b5b;
      --bs-btn-border-color:rgba(24,59,91,.18);
      --bs-btn-hover-color:#fff;
      --bs-btn-hover-bg:#183b5b;
      --bs-btn-hover-border-color:#183b5b;
    }
    .badge.text-bg-light, .badge.bg-light, .badge.border{
      background:#fff7ef !important;
      color:#183b5b !important;
      border:1px solid rgba(224,159,62,.14) !important;
    }
    .modal-content{
      background:linear-gradient(180deg,#fffaf5,#fff) !important;
      color:#1f2937;
      border:1px solid rgba(24,59,91,.10) !important;
    }
    .modal-header, .modal-footer{
      border-color: rgba(24,59,91,.08) !important;
    }
    .btn-close{
      filter: none;
    }
    .sequence-box{
      background:#fffaf5;
      color:#1f2937;
      border:1px solid rgba(24,59,91,.08);
      border-radius: .8rem;
      padding: 1rem;
    }
    hr.border-secondary-subtle{
      border-color: rgba(24,59,91,.08) !important;
    }


    .confidence-panel{ display:none; }
    .confidence-panel.is-visible{ display:block; }
    .confidence-shell{
      display:grid;
      grid-template-columns:minmax(0,1.2fr) minmax(320px,.95fr);
      gap:1.25rem;
      align-items:start;
    }
    .confidence-shell .metric-value{ color:#183b5b; }
    .confidence-card{
      background:linear-gradient(180deg,#ffffff,#fff8f1);
      border:1px solid rgba(24,59,91,.10);
      border-radius:1.05rem;
      padding:1.1rem 1.15rem;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
    }
    .plddt-rows{ display:flex; flex-direction:column; gap:.95rem; margin-top:1rem; }
    .plddt-row{ display:grid; grid-template-columns:130px minmax(0,1fr) 54px; gap:.8rem; align-items:center; }
    .plddt-label{ font-weight:700; color:#475569; }
    .plddt-track{ height:24px; border-radius:999px; background:#eef2f7; overflow:hidden; border:1px solid rgba(148,163,184,.18); }
    .plddt-fill{ height:100%; border-radius:999px; }
    .plddt-value{ text-align:right; font-weight:700; color:#334155; }
    .plddt-legend-list{ display:flex; flex-direction:column; gap:.8rem; margin:1rem 0 1.25rem; padding:0; list-style:none; }
    .plddt-legend-list li{ display:flex; align-items:center; gap:.85rem; font-size:1.05rem; color:#334155; }
    .plddt-swatch{ width:28px; height:28px; border-radius:.35rem; border:1px solid rgba(15,23,42,.06); flex:0 0 auto; }
    .plddt-help{ color:#475569; line-height:1.45; margin:0; }
    .plddt-note{ font-size:.92rem; color:#64748b; }
    .download-link{ font-weight:700; text-decoration:none; }
    .download-link:hover{ text-decoration:underline; }
    .download-btn{ min-width:110px; font-weight:700; }
    @media (max-width: 991.98px){
      .confidence-shell{ grid-template-columns:1fr; }
      .plddt-row{ grid-template-columns:110px minmax(0,1fr) 46px; }
    }


    /* Scientific, compact model-table layout matching monomer card style */
    #structure-models .feature-note{
      max-width: 900px;
      line-height:1.45;
    }
    .models-shell-card{
      background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,241,.96)) !important;
      border: 1px solid rgba(24,59,91,.08) !important;
      border-radius: 1.25rem !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
      overflow:hidden;
    }
    .model-pills-wrap{
      grid-template-columns:repeat(auto-fit, minmax(min(210px, 100%), 1fr)) !important;
      gap:.55rem !important;
      align-items:start !important;
    }
    .model-pills-wrap .model-btn{
      min-height:auto;
      border-radius:999px;
      padding:.48rem .85rem;
      background:rgba(255,255,255,.92);
      box-shadow:none;
    }
    .model-pills-wrap .model-btn:hover{
      transform:none;
      box-shadow:0 8px 20px rgba(43,122,120,.10);
    }
    .models-table{
      width:100%;
      table-layout:fixed;
    }
    .models-table th,
    .models-table td{
      vertical-align:middle;
      word-break:break-word;
    }
    .models-table th{
      font-size:.86rem;
      letter-spacing:.02em;
    }
    .models-table td{
      font-size:.92rem;
    }
    .models-table .download-btn{
      width:100%;
      min-width:0;
      border-radius:.65rem;
      white-space:normal;
      font-weight:700;
    }
    .oligomer-models-table th:nth-child(1),
    .oligomer-models-table td:nth-child(1){ width:22%; }
    .oligomer-models-table th:nth-child(2),
    .oligomer-models-table td:nth-child(2){ width:16%; }
    .oligomer-models-table th:nth-child(3),
    .oligomer-models-table td:nth-child(3){ width:20%; }
    .oligomer-models-table th:nth-child(4),
    .oligomer-models-table td:nth-child(4){ width:18%; }
    .oligomer-models-table th:nth-child(5),
    .oligomer-models-table td:nth-child(5){ width:24%; }

    .ligand-table-scroll{
      max-height:240px;
      overflow-y:auto !important;
      overflow-x:auto !important;
      border:1px solid rgba(24,59,91,.08);
      border-radius:.85rem;
      background:rgba(255,255,255,.82);
    }
    .models-shell-card .ligand-table-scroll{
      overflow-y:auto !important;
      overflow-x:auto !important;
    }
    .ligand-table-scroll .table{ margin-bottom:0 !important; }
    .ligand-table-scroll thead th{
      position:sticky;
      top:0;
      z-index:3;
    }
    .ligand-table th:nth-child(1),
    .ligand-table td:nth-child(1){ width:22%; }
    .ligand-table th:nth-child(2),
    .ligand-table td:nth-child(2){ width:48%; }
    .ligand-table th:nth-child(3),
    .ligand-table td:nth-child(3){ width:30%; }
    .ligand-focus-btn{
      min-width:4.5rem;
      border-radius:999px;
      font-weight:700;
      letter-spacing:.02em;
    }
    .ligand-focus-btn:hover{
      transform:none;
      box-shadow:0 8px 18px rgba(43,122,120,.10);
    }
    .ligand-pubchem-link{
      font-weight:700;
      text-decoration:none;
      white-space:nowrap;
    }
    .ligand-pubchem-link:hover{ text-decoration:underline; }
    .ligand-empty-row td{
      color:#64748b;
      font-size:.92rem;
    }

    .pocket-panel{ display:none; }
    .pocket-panel.is-visible{ display:block; }
    .pocket-card{
      background:linear-gradient(180deg,#ffffff,#fff8f1);
      border:1px solid rgba(24,59,91,.10);
      border-radius:1.05rem;
      padding:1rem;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
    }
    .pocket-summary-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
      gap:.75rem;
      margin-bottom:1rem;
    }
    .pocket-metric{
      background:rgba(255,255,255,.82);
      border:1px solid rgba(24,59,91,.08);
      border-radius:.85rem;
      padding:.75rem .85rem;
    }
    .pocket-metric-label{ font-size:.78rem; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.06em; }
    .pocket-metric-value{ font-size:1.2rem; font-weight:800; color:#183b5b; }
    .pocket-table-scroll{
      height:260px;
      max-height:260px;
      overflow-y:auto !important;
      overflow-x:auto !important;
      border:1px solid rgba(24,59,91,.08);
      border-radius:.85rem;
      background:rgba(255,255,255,.82);
    }
    .pocket-table-scroll .table{ margin-bottom:0 !important; }
    .pocket-table-scroll thead th{
      position:sticky;
      top:0;
      z-index:3;
    }
    .pocket-table th, .pocket-table td{ vertical-align:middle; }
    .pocket-table td{ font-size:.88rem; }
    .pocket-focus-btn,
    .pocket-download-link{ border-radius:999px; font-weight:700; white-space:nowrap; }
    .pocket-chain-badges{ display:flex; flex-wrap:wrap; gap:.25rem; }
    .pocket-empty-row td{ color:#64748b; font-size:.9rem; }

    .epitope-table-scroll{
      height:260px;
      max-height:260px;
      overflow-y:auto !important;
      overflow-x:auto !important;
      border:1px solid rgba(24,59,91,.08);
      border-radius:.85rem;
      background:rgba(255,255,255,.82);
    }
    .epitope-table-scroll .table{ margin-bottom:0 !important; }
    
    .sortable-th{ cursor:pointer; user-select:none; position:relative; }
    .sortable-th::after{ content:'↕'; font-size:.75rem; color:#94a3b8; margin-left:.35rem; }
    .sortable-th.sort-asc::after{ content:'↑'; color:#475569; }
    .sortable-th.sort-desc::after{ content:'↓'; color:#475569; }

    .epitope-table-scroll thead th{
      position:sticky;
      top:0;
      z-index:3;
    }
    .epitope-table th,
    .epitope-table td{ vertical-align:middle; }
    .epitope-table td{ font-size:.88rem; }
    .epitope-row-click.is-active > *{ background:rgba(43,122,120,.10) !important; }
    .epitope-row-click{ cursor:pointer; }
    .epitope-row-click:hover td{ background:rgba(43,122,120,.06) !important; }
    .epitope-score-pill{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      border-radius:999px;
      border:1px solid rgba(24,59,91,.10);
      background:rgba(255,255,255,.78);
      padding:.22rem .55rem;
      font-weight:700;
      color:#183b5b;
      white-space:nowrap;
    }
    .epitope-score-swatch{
      width:.75rem;
      height:.75rem;
      border-radius:999px;
      border:1px solid rgba(15,23,42,.12);
      flex:0 0 auto;
    }


  
    /* HANSEN_EPITOPE_ABOVE_THRESHOLD_TABLE_V6 */
    .epitope-table tbody tr.epitope-row-click{ cursor:default; }
    .epitope-table tbody tr.epitope-row-click.is-active > *{ background:rgba(43,122,120,.08) !important; }
    .epitope-score-pill{ display:inline-flex; align-items:center; gap:.45rem; font-weight:700; color:#183b5b; }
    .epitope-score-swatch{ display:inline-block; width:1rem; height:1rem; border-radius:999px; border:1px solid rgba(15,23,42,.15); box-shadow:inset 0 1px 0 rgba(255,255,255,.35); }
    .epitope-focus-btn{ border-radius:999px; font-weight:700; white-space:nowrap; }

/* Keep method labels such as AlphaFold-3 on one line */
.model-btn,
.models-table td,
.models-table th,
.score-pill,
.download-btn {
  overflow-wrap: normal;
}

.model-btn,
.models-table td b,
.models-table .badge {
  white-space: nowrap;
}
