/* Lexicon multimodal media, public and admin */
.entry-multimodal-section{max-width:none}.lexicon-multimodal{display:grid;gap:34px;margin-top:22px}.media-modality{padding:24px;border:1px solid #e3ded5;border-radius:18px;background:#fff}.media-modality-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.media-modality-head h3{margin:0;font-family:var(--sans);font-size:1rem;letter-spacing:.02em}.media-modality-head span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#f1edff;color:#6241c7;font:700 .75rem var(--sans)}.media-help{margin:-4px 0 18px;color:var(--muted);font-size:.875rem}.lexicon-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lexicon-image-card{position:relative;min-height:220px;padding:0;border:0;border-radius:14px;overflow:hidden;background:#ece9e2;cursor:zoom-in;text-align:left}.lexicon-image-card img{width:100%;height:100%;min-height:220px;object-fit:cover;transition:transform .35s}.lexicon-image-card:hover img{transform:scale(1.035)}.lexicon-image-card>span{position:absolute;inset:auto 0 0;padding:34px 16px 14px;color:#fff;background:linear-gradient(transparent,rgba(13,10,20,.88));display:grid;gap:2px}.lexicon-image-card strong{font:700 .9rem var(--sans)}.lexicon-image-card small,.lexicon-image-card em{font:400 .75rem var(--sans);font-style:normal;color:#ddd}.lexicon-audio-list,.lexicon-document-list{display:grid;gap:12px}.lexicon-audio-card{display:grid;grid-template-columns:1fr minmax(220px,320px);gap:20px;align-items:center;padding:16px;border:1px solid #e6e1d9;border-radius:13px;background:#faf9f6}.lexicon-audio-card strong,.media-caption strong,.lexicon-document-card strong{display:block;font:700 .9rem var(--sans)}.lexicon-audio-card p,.media-caption p{margin:5px 0;color:var(--muted);font-size:.875rem}.lexicon-audio-card small,.media-caption small{color:#80798a;font:500 .75rem var(--sans)}.lexicon-audio-card audio{width:100%;height:42px}.lexicon-video-grid,.lexicon-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lexicon-video-card,.lexicon-model-card{overflow:hidden;border:1px solid #e3ded5;border-radius:15px;background:#faf9f6}.lexicon-video-frame{aspect-ratio:16/9;background:#17131f}.lexicon-video-frame iframe,.lexicon-video-frame video{display:block;width:100%;height:100%;border:0;object-fit:contain}.lexicon-model-card model-viewer{display:block;width:100%;height:350px;background:radial-gradient(circle at 50% 38%,#fff,#e9e5dd);contain:layout paint}.media-caption{padding:15px}.lexicon-document-card{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #e3ded5;border-radius:12px;background:#faf9f6;transition:.2s}.lexicon-document-card:hover{border-color:#8d72de;transform:translateY(-1px)}.lexicon-document-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#ede8fc;color:#6241c7;font:800 1rem var(--sans)}.lexicon-document-card div{display:grid;gap:3px}.lexicon-document-card small{color:var(--muted);font-size:.8rem}.media-count-summary b{font-family:var(--sans)}

.media-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 28px}.media-add-action{display:grid;gap:5px;padding:16px;border:1px solid #ddd7e8;border-radius:13px;background:#fbfaff;transition:.2s}.media-add-action:hover{border-color:#7c5fd0;box-shadow:0 8px 20px rgba(71,49,130,.08);transform:translateY(-2px)}.media-add-action b{font-size:.875rem;color:#51349f}.media-add-action span{font-size:.75rem;color:#6e6878;line-height:1.45}.linked-media-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:16px 0 12px}.linked-media-head h3{margin:0;font-size:1rem}.linked-media-head a{font-size:.8rem;font-weight:700;color:#6241c7}.linked-media-grid{display:grid;gap:10px}.linked-media-card{display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center;padding:11px;border:1px solid #e4dfd7;border-radius:12px;background:#fff}.linked-media-preview{display:grid;place-items:center;width:58px;height:52px;overflow:hidden;border-radius:9px;background:#ece9e3;color:#5c4a85;font-size:1.25rem}.linked-media-preview img{width:100%;height:100%;object-fit:cover}.linked-media-card>div:nth-child(2){display:grid;gap:3px}.linked-media-card strong{font-size:.85rem}.linked-media-card small{font-size:.72rem;color:#77717e}.linked-media-card>a{font-size:.78rem;font-weight:700;color:#6241c7}.admin-info-box,.admin-context-banner{padding:15px 17px;border:1px solid #dcd5eb;border-radius:12px;background:#faf8ff}.admin-info-box p{margin:5px 0 0;color:#6f6878;font-size:.83rem}.admin-context-banner{display:flex;align-items:center;gap:16px;margin-bottom:16px}.admin-context-banner span{margin-right:auto}.admin-context-banner a{font-size:.78rem;font-weight:700;color:#5c3fad}.media-count-badges{display:flex;flex-wrap:wrap;gap:5px}.media-count-badges span,.featured-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eee9fb;color:#5b3ca9;font-size:.7rem;font-weight:700}.muted{color:#8b8490}.media-table-item{display:flex;gap:12px;align-items:center}.media-table-preview{display:grid;place-items:center;width:52px;height:46px;overflow:hidden;border-radius:8px;background:#ece9e3;color:#5c4a85;font-size:1.1rem;flex:none}.media-table-preview img{width:100%;height:100%;object-fit:cover}.media-table-item>div:last-child{display:grid;gap:2px;min-width:0}.media-table-item small{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-field{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dfd9e8;border-radius:10px;background:#faf9fc}.checkbox-field input{width:17px;height:17px}.upload-preview video{max-width:100%;max-height:140px;border-radius:8px}.upload-file-icon{display:block;font-size:2rem;color:#6041ad}.empty-state.compact{padding:24px;font-size:.85rem}

@media(max-width:900px){.lexicon-video-grid,.lexicon-model-grid,.media-quick-actions{grid-template-columns:1fr 1fr}.lexicon-audio-card{grid-template-columns:1fr}.lexicon-image-grid{grid-template-columns:1fr}.lexicon-model-card model-viewer{height:300px}}
@media(max-width:620px){.lexicon-video-grid,.lexicon-model-grid,.media-quick-actions{grid-template-columns:1fr}.media-modality{padding:17px}.linked-media-card{grid-template-columns:50px 1fr}.linked-media-card>a{grid-column:2}.admin-context-banner{align-items:flex-start;flex-direction:column}.admin-context-banner span{margin-right:0}}

.admin-model-preview {
  padding: 1rem;
  border: 1px solid var(--admin-border, #dbe2ea);
  border-radius: 0.85rem;
  background: #f8fafc;
}
.admin-model-preview model-viewer {
  display: block;
  width: 100%;
  min-height: 340px;
  margin-top: 0.75rem;
  border-radius: 0.75rem;
  background: linear-gradient(145deg, #eef2f7, #fff);
}

.model-load-poster{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f3f1ec,#e7e2da)}
.model-load-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.model-load-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,14,26,.08),rgba(18,14,26,.46))}
.model-load-placeholder{position:absolute;font:800 3rem var(--sans);letter-spacing:.08em;color:#81778f;opacity:.34}
.model-load-button{position:relative;z-index:2;display:grid;gap:3px;min-width:190px;padding:12px 16px;border:1px solid rgba(255,255,255,.65);border-radius:12px;background:rgba(28,22,38,.82);color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.model-load-button span{font:700 .86rem var(--sans)}.model-load-button small{font:500 .7rem var(--sans);color:#ded8e7}.model-load-button:disabled{cursor:wait;opacity:.78}

/* Voyager 3D performance proof-of-concept */
.bcp-3d-stage{position:relative;min-height:350px;background:radial-gradient(circle at 50% 38%,#fff,#e9e5dd);overflow:hidden}.model-engine-host,.bcp-voyager-viewer{display:block;width:100%;height:350px}.model-engine-actions{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:9px;place-items:center}.bcp-3d-stage.is-loaded .model-engine-actions{left:auto;right:10px;top:10px;transform:none;display:flex;align-items:center}.bcp-3d-stage.is-loaded .model-load-button{min-width:0;padding:8px 11px;border-radius:999px}.bcp-3d-stage.is-loaded .model-load-button small{display:none}.bcp-3d-stage.is-loaded .model-load-button span{font-size:.72rem}.model-load-button:disabled{opacity:.62;cursor:wait}.model-engine-benchmark{padding:8px 12px;border-top:1px solid #ded8cd;background:#f8f6f1;color:#655d6d;font:600 .7rem/1.45 var(--sans)}.model-engine-benchmark[data-state="loading"]{color:#735f22}.model-engine-benchmark[data-state="error"]{color:#9c3535;background:#fff4f3}.bcp-voyager-viewer{--voyager-background-color:#f5f2eb}
@media(max-width:900px){.bcp-3d-stage{min-height:300px}.model-engine-host,.bcp-voyager-viewer,.bcp-standard-viewer{height:300px}}

.model-engine-note{margin:-8px 0 18px;padding:10px 12px;border-left:3px solid #7256c9;background:#f6f3ff;color:#5f5870;font:500 .78rem/1.5 var(--sans)}

/* Media fit 2026-08-13: fill the available presentation area without distorting media. */
.lexicon-image-grid.is-single,
.lexicon-model-grid.is-single{grid-template-columns:minmax(0,1fr)}

.lexicon-image-card{
  aspect-ratio:4/3;
  min-height:0;
  isolation:isolate;
}
.lexicon-image-grid.is-single .lexicon-image-card{
  aspect-ratio:16/10;
  width:100%;
}
.lexicon-image-card .media-image-backdrop{
  position:absolute;
  z-index:0;
  inset:-6%;
  width:112%;
  height:112%;
  min-height:0;
  object-fit:cover;
  filter:blur(20px) saturate(.82);
  opacity:.30;
  transform:scale(1.05);
  transition:none;
}
.lexicon-image-card .media-image-main{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center;
  transition:transform .3s ease;
}
.lexicon-image-card:hover .media-image-main{transform:scale(1.015)}
.lexicon-image-card:hover .media-image-backdrop{transform:scale(1.05)}
.lexicon-image-card>span{z-index:2}

.lexicon-model-card{min-width:0}
.lexicon-model-grid.is-single .lexicon-model-card{width:100%}
.bcp-3d-stage{
  width:100%;
  aspect-ratio:16/10;
  min-height:0;
}
.model-engine-host{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.bcp-voyager-viewer{
  width:100%!important;
  height:100%!important;
  min-width:0;
  min-height:0;
}
.model-load-poster{z-index:1}
.model-load-poster .model-poster-backdrop{
  position:absolute;
  z-index:0;
  inset:-6%;
  width:112%;
  height:112%;
  object-fit:cover;
  filter:blur(22px) saturate(.78);
  opacity:.28;
  transform:scale(1.05);
}
.model-load-poster .model-poster-main{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.model-load-poster::after{z-index:2}
.model-load-placeholder{z-index:1}
.model-engine-actions{z-index:4}
.model-engine-benchmark{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:0;
  background:rgba(248,246,241,.94);
  backdrop-filter:blur(7px);
}

@media(max-width:900px){
  .lexicon-model-grid.is-single{grid-template-columns:minmax(0,1fr)}
  .bcp-3d-stage{aspect-ratio:16/10;min-height:0}
  .model-engine-host,.bcp-voyager-viewer{height:100%}
}
@media(max-width:620px){
  .lexicon-image-card,
  .lexicon-image-grid.is-single .lexicon-image-card,
  .bcp-3d-stage{aspect-ratio:4/3}
  .media-modality{overflow:hidden}
}

/* Interactive 3D deserves the full content width, even when several models exist. */
.lexicon-model-grid{grid-template-columns:minmax(0,1fr)}


/* Voyager auto-load from initial page render */
.bcp-3d-stage:not(.is-loaded) .model-engine-benchmark{display:block}

/* The [hidden] attribute must outrank the layout rules above.
   .model-engine-host and .bcp-voyager-viewer both set display:block via a class
   selector, which beats the user-agent [hidden]{display:none} rule -- so the
   empty viewer host and the status bar stayed on screen before a model loaded,
   and the poster could not be restored after a failure. */
.model-engine-host[hidden],
.model-engine-benchmark[hidden],
.model-load-poster[hidden],
.bcp-voyager-viewer[hidden]{display:none!important}

/* Voyager paints into a shadow-root canvas; make sure it can never collapse to
   zero height inside the aspect-ratio stage. */
.bcp-voyager-viewer{position:absolute;inset:0}
.model-engine-benchmark{white-space:normal;line-height:1.5}
.model-engine-benchmark[data-state="error"]{padding:10px 12px}

/* Video area-fit 2026-08-13.
   Video was still on the two-column grid that images use, so a single clip sat
   in the left half of the section while 3D and single images filled the width.
   Playback media gets the full content width, same as the model stage. */
.lexicon-video-grid{grid-template-columns:minmax(0,1fr)}

.lexicon-video-frame{
  position:relative;
  /* Replaced at runtime with the file's own ratio, so a portrait clip is not
     letterboxed inside a 16/9 box. Iframe embeds keep the default because
     their intrinsic size is not readable across origins. */
  aspect-ratio:var(--video-aspect,16/9);
  max-height:min(78vh,760px);
  /* A tall clip hits max-height, and aspect-ratio then narrows the box to keep
     its shape. Without this it would sit against the left edge -- the very
     thing that made the old two-column grid look wrong. */
  margin-inline:auto;
  overflow:hidden;
  background:#17131f;
}
.lexicon-video-frame iframe,
.lexicon-video-frame video{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  object-fit:contain;
}
/* Fills the bars left when a clip cannot match the frame exactly -- the same
   treatment the still images already use. */
.lexicon-video-frame .media-video-backdrop{
  position:absolute;
  z-index:0;
  inset:-6%;
  width:112%;
  height:112%;
  object-fit:cover;
  filter:blur(22px) saturate(.8);
  opacity:.32;
  transform:scale(1.04);
}
@media(max-width:620px){
  .lexicon-video-frame{max-height:none}
}
