/* Single-entry Dex: uses the active DESIGN.md tokens. */
#partners{--dex-rail:256px;--dex-art:440px;--dex-mobile-art:360px;--dex-thumb:48px;--dex-row:72px}
.dex-tools{display:grid;grid-template-columns:minmax(0,1fr) 200px 200px;gap:var(--s4);margin-bottom:var(--s6)}
.dex-tools label,.dex-mobile-select{display:grid;gap:var(--s2);font:500 var(--collection-small)/1.5 var(--font-body);color:var(--muted)}
.dex-tools input,.dex-tools select,.dex-mobile-select select{width:100%;min-width:0;min-height:var(--collection-control);padding:var(--s3);border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface);color:var(--fg);font:400 var(--collection-body)/1.5 var(--font-body)}
.dex-browser{display:grid;grid-template-columns:var(--dex-rail) minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.dex-index{border-right:1px solid var(--border);padding:var(--s4);min-width:0}
.dex-index-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s2) var(--s4);font-size:var(--collection-small)}
.dex-index-head span{color:var(--muted)}
.dex-list{display:grid;gap:var(--s1)}
.dex-row{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:var(--dex-row);padding:var(--s2);text-align:left;border:1px solid transparent;border-radius:var(--control-radius);background:transparent;color:var(--fg);font-family:var(--font-body);cursor:pointer}
.dex-row[aria-pressed="true"]{border-color:var(--accent);background:var(--surface-2)}
.dex-row:hover{background:var(--surface-2)}
.dex-row img{width:var(--dex-thumb);height:var(--dex-thumb);object-fit:contain;flex-shrink:0;border-radius:var(--control-radius);background:var(--lcd)}
.dex-row span{min-width:0;display:grid;gap:var(--s1)}
.dex-row strong{font-size:var(--collection-body);font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.dex-row small{font-size:var(--collection-caption);font-weight:400;color:var(--muted)}
.dex-list-pages{display:flex;gap:var(--s2);margin-top:var(--s4)}
.dex-browser button:not(.dex-row),.dex-dialog button{min-height:var(--collection-control);padding:var(--s2) var(--s3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--control-radius);color:var(--fg);font:500 var(--collection-small)/1.5 var(--font-body);cursor:pointer}
.dex-browser button:not(.dex-row):hover,.dex-dialog button:hover{background:var(--surface-3);border-color:var(--border-strong)}
.dex-browser button:disabled,.dex-dialog button:disabled{opacity:.45;cursor:not-allowed}
.dex-list-pages button{flex:1}
.dex-main{padding:var(--s6);min-width:0}
.dex-mobile-select{display:none}
.dex-character-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-bottom:var(--s6)}
.dex-character-nav span{font:var(--collection-small)/1.5 var(--font-body);color:var(--muted);text-align:center}
.dex-entry{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s6);align-items:start}
.dex-gallery{min-width:0}
.dex-art{position:relative;display:grid;place-items:center;aspect-ratio:1;width:100%;max-height:var(--dex-art);background:var(--lcd);border-radius:var(--radius);overflow:hidden}
.dex-art img{width:100%;height:100%;min-height:0;object-fit:contain;grid-area:1/1;opacity:1}
.dex-art[aria-busy="true"] img{opacity:0}
.dex-image-status{grid-area:1/1;padding:var(--s4);font-size:var(--collection-small);color:var(--muted);text-align:center}
#dexRetry{position:absolute;bottom:var(--s4)}
.dex-image-nav{display:grid;grid-template-columns:var(--collection-control) minmax(0,1fr) var(--collection-control);align-items:center;gap:var(--s2);margin-block:var(--s3)}
.dex-image-nav>div{text-align:center;min-width:0}
.dex-image-nav strong{display:block;font:500 var(--collection-small)/1.5 var(--font-body);overflow-wrap:anywhere}
.dex-image-nav span{display:block;font-size:var(--collection-caption);color:var(--muted);margin-top:var(--s1)}
.dex-enlarge{width:100%}
.dex-info{display:grid;gap:var(--s4);min-width:0;padding-block:var(--s2)}
.dex-info h3{font:700 32px/1.2 var(--font-body);margin:0;letter-spacing:-.02em;overflow-wrap:anywhere}
.dex-info p{margin:0}
.dex-english{font-size:var(--collection-small);color:var(--muted);margin-top:var(--s2)!important;overflow-wrap:anywhere}
.dex-classification{padding-block:var(--s4);border-block:1px solid var(--border);font:500 var(--collection-small)/1.6 var(--font-body);color:var(--accent)}
.dex-tagline{font:600 var(--collection-body)/1.6 var(--font-body);word-break:keep-all}
.dex-profile{font:400 var(--collection-small)/1.8 var(--font-body);color:var(--muted);word-break:keep-all;overflow-wrap:anywhere}
.dex-facts{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:var(--collection-small);color:var(--muted)}
.dex-facts b{color:var(--fg);font-weight:600}
.dex-detail-link{display:flex;justify-content:center;align-items:center;min-height:var(--collection-control);padding:var(--s3);border-radius:var(--control-radius);background:var(--accent);color:var(--bg);font:600 var(--collection-small)/1.5 var(--font-body);text-align:center}
.dex-detail-link:hover{background:var(--fg);color:var(--bg)}
.dex-empty{padding:var(--s16) var(--s4);text-align:center}
.dex-empty h3{font-size:var(--collection-section)}
.dex-empty p{color:var(--muted);margin:var(--s3) 0 var(--s6)}
.dex-dialog{width:min(1100px,calc(100% - var(--s8)));max-height:calc(100dvh - var(--s8));padding:var(--s4);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--fg);overflow:auto}
.dex-dialog::backdrop{background:color-mix(in srgb,var(--bg) 90%,transparent)}
.dex-dialog-head,.dex-dialog-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);font:500 var(--collection-small)/1.5 var(--font-body)}
.dex-dialog-head{margin-bottom:var(--s4)}
.dex-dialog-head strong{overflow-wrap:anywhere}
.dex-dialog-head button{flex-shrink:0}
.dex-dialog-art{display:grid;place-items:center;height:min(68dvh,720px);background:var(--lcd);border-radius:var(--control-radius);overflow:hidden}
.dex-dialog-art img{grid-area:1/1;width:100%;height:100%;min-height:0;object-fit:contain}
.dex-dialog-art span{grid-area:1/1;color:var(--muted);padding:var(--s4);text-align:center}
.dex-dialog-nav{margin-top:var(--s4)}
@media(max-width:1100px){.dex-entry{grid-template-columns:minmax(0,1fr)}.dex-art{max-width:var(--dex-art);margin-inline:auto}.dex-info{gap:var(--s3)}}
@media(max-width:700px){
  .dex-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s4)}
  .dex-search{grid-column:1/-1}
  .dex-browser{display:block}
  .dex-index{display:none}
  .dex-mobile-select{display:grid;margin-bottom:var(--s4)}
  .dex-main{padding:var(--s4)}
  .dex-character-nav{padding-bottom:var(--s4);gap:var(--s2)}
  .dex-character-nav button{padding-inline:var(--s2)!important}
  .dex-entry{gap:var(--s4)}
  .dex-art{max-height:var(--dex-mobile-art)}
  .dex-info h3{font-size:28px}
  .dex-dialog{width:calc(100% - var(--s4));max-height:calc(100dvh - var(--s4));padding:var(--s3)}
  .dex-dialog-art{height:60dvh}
  .dex-dialog-nav button{padding-inline:var(--s2)}
}
