/* Display Entity furniture (building dex · 展示實體家具).
 * Loaded on every page (mkdocs extra_css): every rule is scoped to a .dex-display* class,
 * nothing touches bare elements or :root, so the file is inert elsewhere. */
.dex-display,.dex-display-list{
 --de-ink:var(--md-default-fg-color,#1d2b27);--de-dim:var(--md-default-fg-color--light,#5b6e68);
 --de-edge:#c9d5d0;--de-panel:var(--md-code-bg-color,#f3f6f5);--de-accent:#2f6d58;--de-accent-ink:#fff;
 --de-pass:#1f6b4f;--de-pass-bg:#e1f2ea;--de-fail:#a32323;--de-fail-bg:#fbe6e4;
 --de-stage:linear-gradient(165deg,#eef4f2 0%,#dbe6e2 100%);
}
@media (prefers-color-scheme:dark){
 .dex-display,.dex-display-list{--de-edge:#34444b;--de-accent:#5fbf9c;--de-accent-ink:#0c1512;--de-pass:#7fd8b4;--de-pass-bg:#15302a;
  --de-fail:#ff9a9a;--de-fail-bg:#3a1d1d;--de-stage:linear-gradient(165deg,#1c262b 0%,#141c20 100%)}
}
body[data-md-color-scheme=voxel-dark] .dex-display,body[data-md-color-scheme=voxel-dark] .dex-display-list{
 --de-edge:#34444b;--de-accent:#5fbf9c;--de-accent-ink:#0c1512;--de-pass:#7fd8b4;--de-pass-bg:#15302a;
 --de-fail:#ff9a9a;--de-fail-bg:#3a1d1d;--de-stage:linear-gradient(165deg,#1c262b 0%,#141c20 100%)}
body[data-md-color-scheme=voxel-light] .dex-display,body[data-md-color-scheme=voxel-light] .dex-display-list{
 --de-edge:#c9d5d0;--de-accent:#2f6d58;--de-accent-ink:#fff;--de-pass:#1f6b4f;--de-pass-bg:#e1f2ea;
 --de-fail:#a32323;--de-fail-bg:#fbe6e4;--de-stage:linear-gradient(165deg,#eef4f2 0%,#dbe6e2 100%)}

/* ── viewer ─────────────────────────────────────────────────────────────── */
.dex-display{border:1px solid var(--de-edge);border-radius:8px;overflow:hidden;margin:1rem 0;background:var(--de-panel);color:var(--de-ink)}
.dex-display__stage{position:relative;background:var(--de-stage)}
.dex-display.is-night .dex-display__stage{background:#0e1422}
.dex-display__stage canvas{display:block;width:100%;height:min(62vh,520px);touch-action:none;outline:none}
.dex-display__stage canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--de-accent)}
.dex-display__bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.7rem .8rem;border-top:1px solid var(--de-edge)}
.dex-display__seg{display:inline-flex;border:1px solid var(--de-edge);border-radius:6px;overflow:hidden}
.dex-display__seg button{border-radius:0;border-right:1px solid var(--de-edge)}
.dex-display__seg button:last-child{border-right:0}
.dex-display__bar button{font:inherit;font-size:.72rem;padding:.42rem .7rem;background:transparent;color:var(--de-ink);border:1px solid var(--de-edge);border-radius:6px;cursor:pointer;min-height:2.1rem}
.dex-display__seg button{border-top:0;border-bottom:0;border-left:0}
.dex-display__bar button[aria-pressed=true]{background:var(--de-accent);color:var(--de-accent-ink);border-color:var(--de-accent)}
.dex-display__bar button:focus-visible,.dex-display__bar select:focus-visible{outline:3px solid var(--de-accent);outline-offset:2px}
.dex-display__variant{display:inline-flex;gap:.35rem;align-items:center;font-size:.72rem;margin-left:auto}
.dex-display__variant[hidden]{display:none}
.dex-display__variant select{font:inherit;padding:.35rem .5rem;border:1px solid var(--de-edge);border-radius:6px;background:var(--md-default-bg-color,#fff);color:var(--de-ink)}
.dex-display__status{margin:0!important;padding:0 .8rem .7rem;font-size:.7rem;color:var(--de-dim)}
.dex-display__report{border-top:1px solid var(--de-edge);padding:.2rem .8rem .8rem;font-size:.72rem}
.dex-display__report h3{margin:.6rem 0 .4rem!important;font-size:.8rem}
.dex-display__verdict{margin:.2rem 0 .5rem!important}
.dex-display__checks{list-style:none;margin:0!important;padding:0!important;display:grid;gap:.3rem}
.dex-display__checks li{margin:0!important;display:flex;flex-wrap:wrap;gap:.2rem .5rem;align-items:baseline}
.dex-display__detail{color:var(--de-dim);flex-basis:100%;padding-left:3.4rem;overflow-wrap:anywhere}
.dex-display__info{color:var(--de-dim);margin:.4rem 0 0!important}
.dex-display__badge{display:inline-block;min-width:2.9rem;text-align:center;font-size:.62rem;font-weight:700;letter-spacing:.06em;padding:.1rem .35rem;border-radius:4px;background:var(--de-pass-bg);color:var(--de-pass)}
[data-status=FAIL]>.dex-display__badge{background:var(--de-fail-bg);color:var(--de-fail)}
.dex-display-status{display:inline-block;font-size:.62rem;padding:.08rem .4rem;border-radius:4px;background:#e1f2ea;color:#1f6b4f;white-space:nowrap}
.dex-display-status[data-status=FAIL]{background:#fbe6e4;color:#a32323}
.dex-display-status[data-status=UNVERIFIED]{background:#eceff1;color:#56636b}
.dex-display-sub{color:var(--md-default-fg-color--light,#5b6e68);font-size:.8rem}

/* ── listing ────────────────────────────────────────────────────────────── */
.dex-display-lede{max-width:44rem;color:var(--de-dim)}
.dex-display-filters{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:1rem 0 1.4rem;position:sticky;top:2.6rem;z-index:1;padding:.5rem 0;background:var(--md-default-bg-color,#fff)}
.dex-display-filters button{font:inherit;font-size:.72rem;padding:.35rem .7rem;border:1px solid var(--de-edge);border-radius:999px;background:transparent;color:var(--de-ink);cursor:pointer;min-height:2rem}
.dex-display-filters button[aria-pressed=true]{background:var(--de-accent);border-color:var(--de-accent);color:var(--de-accent-ink)}
.dex-display-filters button small{opacity:.7;margin-left:.15rem}
.dex-display-filters input{font:inherit;font-size:.75rem;margin-left:auto;min-width:10rem;padding:.4rem .6rem;border:1px solid var(--de-edge);border-radius:6px;background:transparent;color:var(--de-ink)}
.dex-display-list section[hidden],.dex-display-card[hidden]{display:none!important}
.dex-display-list h2{font-size:1rem!important;margin:1.4rem 0 .7rem!important}
.dex-display-list h2 small{color:var(--de-dim);font-weight:400;margin-left:.3rem}
.dex-display-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}
.dex-display-card{display:flex;flex-direction:column;gap:.15rem;color:var(--de-ink)!important;text-decoration:none!important;border-radius:8px}
.dex-display-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--de-stage);border-radius:8px;border:1px solid var(--de-edge);margin-bottom:.35rem}
.dex-display-card:hover img{border-color:var(--de-accent)}
.dex-display-card:focus-visible{outline:3px solid var(--de-accent);outline-offset:3px}
.dex-display-card__name{font-weight:600;font-size:.85rem;line-height:1.35}
.dex-display-card__en{font-size:.68rem;color:var(--de-dim)}
.dex-display-card__meta{font-size:.68rem;color:var(--de-dim)}
@media (max-width:600px){
 .dex-display__stage canvas{height:380px}
 .dex-display__variant{margin-left:0}
 .dex-display-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
 .dex-display-filters input{margin-left:0;flex:1 1 100%}
 .dex-display__detail{padding-left:0}
}
