/* Scoped shared view: page typography cannot override card details. */
.swu-card-dialog { --copper:#dfc9a7; --muted:#a7adb5; --line:rgba(232,228,220,.13); color:#e8e4dc; font:16px/1.5 Aptos,"Segoe UI",sans-serif; }
.swu-card-dialog * { box-sizing:border-box; }
.swu-card-dialog .dialog-content { display:grid; grid-template-columns:minmax(270px,.82fr) 1.18fr; align-items:start; }
.swu-card-dialog .dialog-art { display:grid; place-items:center; height:min(76vh,700px); min-height:0; overflow:hidden; background:#11151c; }
.swu-card-dialog .dialog-art img { display:block; width:100%; height:100%; object-fit:contain; }
.swu-card-dialog .dialog-art .placeholder-art { width:100%; padding:30px; }
.swu-card-dialog .dialog-art .placeholder-name { font-size:34px; }
.swu-card-dialog .dialog-details { padding:44px 36px; }
.swu-card-dialog .dialog-id { margin:0; color:var(--copper); font:12px Consolas,monospace; letter-spacing:.12em; }
/* The teaching-page stylesheet sets heading typography with !important. */
.swu-card-dialog .dialog-details h2 { margin:16px 0 0; font:400 40px/.95 Georgia,serif !important; letter-spacing:-.045em !important; }
.swu-card-dialog .original-name,.swu-card-dialog .dialog-subtitle { color:var(--muted); }
.swu-card-dialog .dialog-subtitle { margin-top:8px; font-size:18px; }
.swu-card-dialog .stats { display:grid; grid-template-columns:repeat(var(--stat-count, 3),1fr); border-block:1px solid var(--line); }
.swu-card-dialog .stats div { padding:13px; text-align:center; }
.swu-card-dialog .stats small { display:block; color:var(--muted); }
.swu-card-dialog .stats strong { font-size:32px; }
.swu-card-dialog .keywords { color:#e1a079; }
.swu-card-dialog .card-text-section { margin-top:24px; }
.swu-card-dialog .card-text-section h3 { margin:0 0 9px; color:var(--copper); font:11px Consolas,monospace !important; letter-spacing:.14em !important; text-transform:uppercase; }
.swu-card-dialog .card-text-section + .card-text-section { padding-top:20px; border-top:1px solid var(--line); }
.swu-card-dialog .card-text { color:#eee9e1; font-size:16px; line-height:1.45; white-space:normal; }
.swu-card-dialog .card-text p { margin:0; }
.swu-card-dialog .card-text p + p { margin-top:12px; }
.swu-card-dialog .card-text strong { color:#fff; font-weight:800; }
.swu-card-dialog .card-text em { color:#f3eadc; }
.swu-card-dialog .card-text-symbol { display:inline-block; margin-inline:2px; color:#e3ad65; font-weight:800; }
.swu-card-dialog .card-text-aspect-icon { display:inline-block; width:1.15em; height:1.15em; margin-inline:2px; vertical-align:-.2em; object-fit:contain; }
.swu-card-dialog .card-text-keyword { color:#ff7065; font-weight:700; }
.swu-card-dialog .card-text-epic { padding:8px 10px; border:2px solid #d99a22; border-radius:0 0 11px 11px; background:linear-gradient(90deg,rgba(218,155,38,.16),rgba(218,155,38,.04)); box-shadow:inset 0 1px 0 rgba(255,224,163,.28); }
.swu-card-dialog .card-text-keyword-border { padding:7px 10px; border:2px solid #b9252e; border-radius:5px; background:linear-gradient(90deg,rgba(133,24,31,.42),rgba(133,24,31,.18)); color:#eee9e1; box-shadow:inset 0 1px 0 rgba(255,150,145,.12); }
.swu-card-dialog .card-text-keyword-border-plain { background:transparent; box-shadow:none; }
.swu-card-dialog .stats .stat-cost strong { color:#f2c533; }
.swu-card-dialog .stats .stat-power strong { color:#ee4a4d; }
.swu-card-dialog .stats .stat-hp strong { color:#4f81ff; }
.swu-card-dialog .card-text-power { color:#ee4a4d; font-weight:700; }
.swu-card-dialog .card-text-hp { color:#4f81ff; font-weight:700; }
.swu-card-dialog .card-metadata { display:grid; gap:10px; margin:25px 0; }
.swu-card-dialog .type-arena,.swu-card-dialog .trait-list { margin:0; color:#d6cec3; font-size:14px; }
.swu-card-dialog .type-arena { font-weight:700; }
.swu-card-dialog .trait-list { color:var(--muted); }
.swu-card-dialog .aspect-list { display:flex; align-items:center; gap:7px; min-height:30px; }
.swu-card-dialog .aspect-list img { display:block; width:30px; height:30px; object-fit:contain; }
.swu-card-dialog .dialog-art.has-leader-back { display:block; height:min(76vh,700px); }
.swu-card-dialog .leader-dialog-face { display:flex; height:100%; margin:0; padding:18px 14px 16px; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:#11151c; }
.swu-card-dialog .leader-dialog-face figcaption { display:flex; justify-content:center; width:100%; }
.swu-card-dialog .leader-dialog-face img { display:block; width:100%; height:auto; max-height:calc(100% - 68px); min-height:0; object-fit:contain; }
.swu-card-dialog .leader-flip-button { min-height:46px; border:1px solid var(--copper); border-radius:999px; padding:10px 22px; background:var(--copper); box-shadow:0 8px 20px rgba(188,118,80,.24); color:#17110e; font:700 15px/1 Aptos,"Segoe UI",sans-serif; letter-spacing:.02em; text-transform:none; }
.swu-card-dialog .leader-flip-button:hover,.swu-card-dialog .leader-flip-button:focus-visible { background:#d18b64; box-shadow:0 10px 24px rgba(188,118,80,.38); }
.swu-card-dialog .visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; clip-path:inset(50%); }
.swu-card-dialog .unique-marker { color:var(--copper); font-style:normal; }
.swu-card-dialog .dialog-title-subtitle { margin-left:.35em; color:var(--muted); font-size:.58em; font-weight:400; letter-spacing:-.025em; white-space:nowrap; }
.swu-card-dialog .dialog-details { min-width:0; overflow-wrap:anywhere; }
.swu-card-dialog .leader-flip-button { cursor:pointer; color:#17110e; box-shadow:0 8px 20px rgba(117,103,90,.32); }
.swu-card-dialog .leader-flip-button:hover,.swu-card-dialog .leader-flip-button:focus-visible { background:#f1dfc4; box-shadow:0 10px 24px rgba(241,223,196,.22); }
.swu-card-dialog .dialog-database-link { display:inline-block; margin-top:24px; color:var(--copper); text-underline-offset:4px; }
@media(max-width:680px) {
  .swu-card-dialog .dialog-content { grid-template-columns:1fr; }
  .swu-card-dialog .dialog-art,.swu-card-dialog .dialog-art.has-leader-back { height:min(55svh,520px); min-height:300px; max-height:none; }
  .swu-card-dialog .dialog-details { padding:30px 22px; }
  .swu-card-dialog .dialog-details h2 { font-size:33px !important; }
}
