/* Module controls stay compact and inherit the current settings theme. */
.mp-module-editor legend{font-size:.9rem;font-weight:700;padding:0 .25rem}
.mp-module-editor p{font-size:.8rem;color:var(--text-muted);margin:.25rem 0 .65rem}
.mp-module-list{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
.mp-module-row{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.4rem;border:1px solid var(--border-default,#888);border-radius:.3rem;background:var(--bg-surface)}
.mp-module-row.is-dragging{opacity:.55}
.mp-module-row .mp-module-name{flex:1;min-width:0;font-size:.82rem;display:flex;align-items:center;gap:.4rem}
.mp-module-row .mp-module-name input{width:auto;flex:none}
.mp-module-row select{width:8rem;max-width:32%;padding:.25rem;font-size:.76rem;min-width:0}
.mp-module-row button,.mp-module-editor .mp-module-reset{font:inherit;font-size:.8rem;padding:.3rem .45rem;border:1px solid var(--border-default,#888);border-radius:.25rem;background:var(--bg-raised);color:var(--text-primary);min-width:1.9rem;line-height:1.2}
.mp-module-row [data-module-drag]{cursor:grab;touch-action:auto}
.mp-module-row button:disabled{opacity:.4}
.mp-module-editor :is(button,select,input):focus-visible{outline:2px solid var(--link-color,currentColor);outline-offset:2px}
.mp-module-footer{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.6rem}
.mp-module-footer [role=status]{font-size:.76rem;color:var(--text-muted)}
.mp-module-preview{margin-top:.6rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;font-size:.75rem}
.mp-module-preview>div{padding:.45rem;border:1px dashed var(--border-default,#888);border-radius:.25rem;min-width:0;overflow-wrap:anywhere}
.mp-module-preview ul{padding-left:1rem;margin:.25rem 0 0}
#rb-my-page .mp-content.mp-content-single{grid-template-columns:minmax(0,1fr)}
#rb-my-page>.mp-panel{margin-top:1rem}
#rb-my-page .mp-content .mp-featured{min-width:0}
#rb-my-page .mp-about-column .mp-featured-photo{min-width:0}
@media(max-width:480px){.mp-module-row{gap:.25rem;padding:.35rem .25rem}.mp-module-row select{width:6rem;font-size:.72rem}.mp-module-row .mp-module-name{font-size:.76rem}.mp-module-row button{padding:.35rem;min-width:1.7rem}.mp-module-preview{grid-template-columns:1fr}}
.mp-og-settings{margin-top:1rem;border:1px solid var(--border-default,#888);padding:.75rem;border-radius:.4rem}
.mp-og-settings h3{font-size:.95rem;margin:0 0 .4rem}
.mp-og-settings p{font-size:.8rem;color:var(--text-muted);margin:.4rem 0}
.mp-og-settings form{margin-top:.65rem;display:flex;align-items:end;gap:.65rem;flex-wrap:wrap}
.mp-og-settings label{min-width:0;flex:1;font-size:.8rem}
.mp-og-settings input{max-width:100%}
.mp-og-settings .mp-og-preview{display:block;width:min(100%,24rem);height:auto;aspect-ratio:1200/630;border-radius:.3rem;margin:.6rem 0;border:1px solid var(--border-default,#888)}

/* Small modules share rows; long-form modules keep the full column width.
   Keep DOM order intact for keyboard navigation and saved module ordering. */
html[data-my-page-theme] #rb-my-page :is(.mp-top-modules,.mp-main-column,.mp-about-column){display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.7rem;align-items:start;align-content:start;min-width:0}
html[data-my-page-theme] #rb-my-page .mp-top-modules{margin-top:.75rem}
html[data-my-page-theme] #rb-my-page .mp-top-modules:not(:has(>*)){display:none}
html[data-my-page-theme] #rb-my-page :is(.mp-top-modules,.mp-main-column,.mp-about-column)>*{grid-column:1/-1;min-width:0}
html[data-my-page-theme] #rb-my-page :is(.mp-top-modules,.mp-main-column,.mp-about-column)>.mp-module-compact{grid-column:auto;width:100%;max-width:24rem;justify-self:start;padding:.7rem;box-sizing:border-box;overflow-wrap:anywhere}
html[data-my-page-theme] #rb-my-page .mp-module-compact h2{font-size:.95rem;margin-bottom:.5rem}
html[data-my-page-theme] #rb-my-page .mp-module-compact :is(.mp-people,.mp-feature-links){gap:.5rem}
html[data-my-page-theme] #rb-my-page .mp-module-compact .mp-people a{min-width:0}
html[data-my-page-theme] #rb-my-page .mp-module-compact .mp-people a>span{min-width:0}
@media(max-width:640px){
 html[data-my-page-theme] #rb-my-page :is(.mp-top-modules,.mp-main-column,.mp-about-column){grid-template-columns:minmax(0,1fr);gap:.6rem}
 html[data-my-page-theme] #rb-my-page :is(.mp-top-modules,.mp-main-column,.mp-about-column)>.mp-module-compact{max-width:none}
}
.mp-module-favorites{flex-basis:100%;min-width:0;padding:.35rem .15rem}
.mp-module-favorites label{display:grid;gap:.3rem;font-size:.8rem}
.mp-module-favorites textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;font:inherit;padding:.4rem}
.mp-module-favorites p{font-size:.74rem;margin:.35rem 0}

/* Compact two-sided profile trading card. */
.mp-trading-card-shell{position:relative;min-height:13rem;perspective:900px;outline:none;cursor:pointer}
.mp-trading-card-shell:focus-visible{outline:2px solid var(--mp-accent,currentColor);outline-offset:4px;border-radius:.8rem}
.mp-trading-card-inner{position:relative;min-height:13rem;width:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.mp-trading-card-shell.is-flipped .mp-trading-card-inner{transform:rotateY(180deg)}
.mp-trading-card-face{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;border:1px solid var(--mp-border,var(--border-default,#888));border-radius:.75rem;padding:1rem;box-sizing:border-box;background:linear-gradient(135deg,color-mix(in srgb,var(--mp-panel,#fff) 94%,var(--mp-accent,#c78b22)),var(--mp-panel,#fff));color:var(--mp-text,var(--text-primary,#222));box-shadow:0 .35rem 1rem rgba(0,0,0,.16)}
.mp-trading-card-front{display:flex;align-items:center;gap:.8rem}
.mp-trading-card-front-mark{display:grid;place-items:center;flex:0 0 3.3rem;height:3.3rem;border-radius:50%;background:var(--mp-accent,#c78b22);color:var(--mp-panel,#fff);font:900 1.15rem/1 Georgia,serif;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--mp-panel,#fff) 25%,transparent)}
.mp-trading-card-front-copy{min-width:0}.mp-trading-card-kicker,.mp-trading-card-back-head span{display:block;letter-spacing:.12em;font-size:.58rem;font-weight:800;opacity:.72}.mp-trading-card-front h2{margin:.22rem 0 .05rem;font-size:1.05rem;line-height:1.15;overflow-wrap:anywhere}.mp-trading-card-front small{opacity:.72}.mp-trading-card-front p{margin:.45rem 0 0;font-size:.78rem;line-height:1.3;max-width:24rem}.mp-trading-card-avatar{width:4.2rem;height:4.2rem;object-fit:cover;border-radius:.55rem;margin-left:auto;border:2px solid var(--mp-accent,#c78b22);box-shadow:.2rem .25rem 0 color-mix(in srgb,var(--mp-accent,#c78b22) 45%,transparent)}
.mp-trading-card-hint{position:absolute;right:.75rem;bottom:.55rem;font-size:.62rem;opacity:.58}.mp-trading-card-back{transform:rotateY(180deg);display:flex;flex-direction:column}.mp-trading-card-back-head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;border-bottom:1px solid var(--mp-border,#888);padding-bottom:.45rem}.mp-trading-card-back-head strong{font-size:.85rem;overflow-wrap:anywhere}.mp-trading-card-facts{display:grid;gap:.42rem;margin:.7rem 0;min-width:0}.mp-trading-card-facts div{display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:.45rem;font-size:.72rem;line-height:1.25}.mp-trading-card-facts b{font-size:.58rem;letter-spacing:.08em;opacity:.68}.mp-trading-card-facts span{overflow-wrap:anywhere}.mp-trading-card-page-link{align-self:flex-start;color:var(--mp-link,var(--link-color,currentColor));font-weight:700;font-size:.74rem;text-decoration:none}.mp-trading-card-page-link:hover{text-decoration:underline}
@media(prefers-reduced-motion:reduce){.mp-trading-card-inner{transition:none}}

/* Trading-card proportions: portrait-first, like a real collectible card. */
.mp-trading-card-shell,.mp-trading-card-inner{min-height:21rem}
.mp-trading-card-front{flex-direction:column;justify-content:center;text-align:center;padding:1.25rem}
.mp-trading-card-front-mark{position:absolute;top:1rem;left:1rem;flex-basis:2.7rem;width:2.7rem;height:2.7rem;font-size:.95rem}
.mp-trading-card-front-copy{display:flex;flex-direction:column;align-items:center;order:2}
.mp-trading-card-avatar{order:1;width:9rem;height:9rem;margin:0;border-radius:.7rem;border-width:3px}
.mp-trading-card-front-copy h2{font-size:1.35rem;margin-top:.35rem}
.mp-trading-card-front p{max-width:22rem}
/* Trading-card front: portrait dominates; identity text stays in a bottom strip. */
.mp-trading-card-front{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;gap:.35rem;padding:.8rem .8rem .7rem}
.mp-trading-card-front-mark{z-index:2;top:.7rem;left:.7rem}
.mp-trading-card-avatar{grid-row:1;width:90%;height:100%;min-height:0;max-height:none;aspect-ratio:3/4;object-fit:cover;margin:0;border-radius:.55rem;align-self:stretch;box-shadow:0 .25rem 0 color-mix(in srgb,var(--mp-accent,#c78b22) 45%,transparent)}
.mp-trading-card-front-copy{grid-row:2;width:90%;display:block;text-align:left;min-width:0;padding:.15rem .2rem 0}
.mp-trading-card-front-copy h2{font-size:1.05rem;margin:.15rem 0 .05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-trading-card-front-copy p{margin:.25rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Final portrait emphasis: nearly full card face. */
.mp-trading-card-shell,.mp-trading-card-inner{min-height:25rem}
.mp-trading-card-front{padding:.55rem .55rem .45rem;gap:.2rem}
.mp-trading-card-avatar{width:96% !important;height:20rem !important;aspect-ratio:auto;align-self:center;border-radius:.45rem}
.mp-trading-card-front-copy{width:96%;padding:0;text-align:left}
.mp-trading-card-front-copy h2{font-size:1.15rem;margin:.12rem 0 0}
.mp-trading-card-front small{font-size:.68rem}
.mp-trading-card-front p{font-size:.72rem;margin:.12rem 0 0}
/* Restore the original balanced collectible-card proportion. */
.mp-trading-card-shell,.mp-trading-card-inner{min-height:21rem}
.mp-trading-card-front{padding:.8rem .8rem .65rem;gap:.35rem}
.mp-trading-card-avatar{width:90% !important;height:16rem !important;aspect-ratio:3/4;align-self:center;border-radius:.55rem}
.mp-trading-card-front-copy{width:90%;padding:0;text-align:left}
.mp-trading-card-front-copy h2{font-size:1.05rem;margin:.15rem 0 .05rem}
.mp-trading-card-front small{font-size:.68rem}
.mp-trading-card-front p{font-size:.76rem;margin:.25rem 0 0}
/* Full-bleed trading-card portrait with only the outer card border. */
.mp-trading-card-front{display:block;padding:0;overflow:hidden}
.mp-trading-card-avatar{position:absolute;inset:0;width:100% !important;height:100% !important;max-width:none;max-height:none;margin:0;border:0;border-radius:.7rem;box-shadow:none;object-fit:cover}
.mp-trading-card-front-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;width:auto;padding:2.6rem .9rem .75rem;text-align:left;background:linear-gradient(transparent,rgba(0,0,0,.88));color:#fff}
.mp-trading-card-front-copy h2{font-size:1.2rem;color:#fff;margin:.1rem 0}
.mp-trading-card-front-copy small,.mp-trading-card-front-copy p{color:#fff}
.mp-trading-card-kicker{color:#fff}
/* Portrait card proportions; the existing My Page resize control can make it taller. */
.mp-trading-card-shell{width:100%;max-width:24rem;height:max(25rem,var(--mp-module-min-height,0px));min-height:25rem;margin-inline:auto}
.mp-trading-card-inner{height:100%;min-height:0}
.mp-trading-card-face{height:100%;min-height:0}
.mp-trading-card-avatar{object-position:center center}

.mp-trading-card-back-avatar{width:3.5rem;height:3.5rem;object-fit:cover;border:2px solid var(--mp-accent,#c78b22);border-radius:.35rem;margin-left:auto;box-shadow:.15rem .15rem 0 color-mix(in srgb,var(--mp-accent,#c78b22) 45%,transparent)}
.mp-trading-card-back-head{position:relative;padding-right:4.2rem;min-height:3.5rem}.mp-trading-card-back-head .mp-trading-card-back-avatar{position:absolute;right:0;top:0}
/* Back portrait sits beside the card title at top-left. */
.mp-trading-card-back-head{padding-left:4.2rem;padding-right:0;min-height:3.5rem;justify-content:flex-end}
.mp-trading-card-back-head .mp-trading-card-back-avatar{left:0;right:auto;top:0;margin:0}
/* Back portrait uses a taller card-style rectangle. */
.mp-trading-card-back-head{padding-left:3.7rem}
.mp-trading-card-back-avatar,.mp-trading-card-back-head .mp-trading-card-back-avatar{width:2.9rem;height:4rem;aspect-ratio:3/4}
.mp-trading-card-back-avatar,.mp-trading-card-back-head .mp-trading-card-back-avatar{width:2.35rem;height:4.35rem;aspect-ratio:auto}
/* Collectible-card front frame: layered inner border over the full-bleed portrait. */
.mp-trading-card-front{border:3px solid var(--mp-accent,#c78b22);box-shadow:inset 0 0 0 2px var(--mp-panel,#fff),inset 0 0 0 5px color-mix(in srgb,var(--mp-accent,#c78b22) 72%,#111),0 .35rem 1rem rgba(0,0,0,.16)}
.mp-trading-card-front::after{content:"";position:absolute;inset:.42rem;border:1px solid color-mix(in srgb,var(--mp-panel,#fff) 78%,transparent);border-radius:.35rem;pointer-events:none;z-index:3}
/* Thin inset card frame with a small recessed top notch. */
.mp-trading-card-front{border:1px solid var(--mp-accent,#c78b22);box-shadow:0 .35rem 1rem rgba(0,0,0,.16)}
.mp-trading-card-front::after{inset:.58rem;border:1px solid color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff);border-radius:.3rem;clip-path:polygon(0 0,43% 0,46% .42rem,54% .42rem,57% 0,100% 0,100% 100%,0 100%)}
.mp-trading-card-front{border:0;box-shadow:none}
/* Raised folder-tab detail on the inset card frame. */
.mp-trading-card-front::after{clip-path:none;inset:.58rem;border:1px solid color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff);border-radius:.3rem}
.mp-trading-card-front::before{content:"";position:absolute;z-index:4;top:.22rem;left:39%;width:22%;height:.62rem;border:1px solid color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff);border-bottom:0;border-radius:.28rem .28rem 0 0;background:color-mix(in srgb,var(--mp-panel,#fff) 20%,transparent);pointer-events:none}
/* Reference-style offset folder tab, joined to the inset frame. */
.mp-trading-card-front::before{top:.22rem;left:.58rem;width:27%;height:.58rem;border:1px solid color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff);border-bottom:0;border-radius:.18rem .3rem 0 0;background:color-mix(in srgb,var(--mp-panel,#fff) 20%,transparent)}
/* Stepped top edge: raised left third, lower right section. */
.mp-trading-card-front::before{display:none}
.mp-trading-card-front::after{inset:.58rem;border:1px solid color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff);border-radius:.3rem;clip-path:polygon(0 0,33% 0,33% .58rem,100% .58rem,100% 100%,0 100%)}
/* Draw the stepped frame explicitly so both side borders remain continuous. */
.mp-trading-card-front::after{inset:.58rem;border:0;border-radius:.55rem;overflow:hidden;clip-path:none;background:linear-gradient(color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff),color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff)) 0 0/33% 1px no-repeat,linear-gradient(color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff),color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff)) 33% .58rem/67% 1px no-repeat,linear-gradient(color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff),color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff)) 0 0/1px 100% no-repeat,linear-gradient(color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff),color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff)) 100% 0/1px 100% no-repeat,linear-gradient(color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff),color-mix(in srgb,var(--mp-accent,#c78b22) 82%,#fff)) 0 100%/100% 1px no-repeat}

/* Trading card: clean rounded inset frame. */
.mp-trading-card-front::after { inset: .58rem; border: 1px solid color-mix(in srgb, var(--mp-accent, #c78b22) 82%, #fff); border-radius: .55rem; background: transparent; clip-path: none; overflow: visible; }

/* Trading card: soften the inset frame. */
.mp-trading-card-front::after { border-color: color-mix(in srgb, var(--mp-accent, #c78b22) 42%, transparent); }

/* Keep the back portrait tall, contained, and clear of the profile facts. */
.mp-trading-card-back-head {
  min-height: 4.7rem;
  padding-left: 3.05rem;
  align-items: flex-start;
}
.mp-trading-card-back-head .mp-trading-card-back-avatar {
  left: 0;
  right: auto;
  top: 0;
  width: 2.35rem;
  height: 4.35rem;
  object-fit: cover;
  object-position: center;
  margin: 0;
  border-radius: .35rem;
}
.mp-trading-card-back .mp-trading-card-facts {
  margin-top: .8rem;
}

/* Give the back portrait a more natural trading-card proportion. */
.mp-trading-card-back-head {
  padding-left: 3.9rem;
}
.mp-trading-card-back-head .mp-trading-card-back-avatar {
  width: 3.15rem;
}

/* My Page owners should not need to hover to find module editing controls. */
.mp-module-edit { opacity: 1; visibility: visible; transform: none; }

/* Athletic display treatment for the trading-card team badge. */
.mp-trading-card-team {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: .075em;
  line-height: .95;
  text-transform: uppercase;
  font-style: italic;
}

/* Keep the team label above the loaded avatar and card-face layers. */
.mp-trading-card-front { isolation: isolate; }
.mp-trading-card-team {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 20 !important;
  pointer-events: none;
}

.mp-trading-card-team {
  top: .62rem !important;
  right: .68rem !important;
  left: auto !important;
  bottom: auto !important;
}

.mp-trading-card-team {
  top: .95rem !important;
  right: 1rem !important;
}

.mp-trading-card-team {
  top: .9rem !important;
  right: 1rem !important;
  max-width: 62%;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 1.18rem;
  letter-spacing: .08em;
  line-height: .95;
  text-transform: uppercase;
  text-align: right;
  white-space: normal;
}

/* The team badge must be positioned independently of the avatar flow. */
.mp-trading-card-team {
  position: absolute !important;
}

.mp-trading-card-back-avatar,
.mp-trading-card-back-head .mp-trading-card-back-avatar {
  border-width: 1px !important;
  border-color: color-mix(in srgb, var(--mp-accent, #c78b22) 55%, transparent) !important;
}

.mp-trading-card-back-avatar,
.mp-trading-card-back-head .mp-trading-card-back-avatar {
  box-shadow: none !important;
}

.mp-trading-card-back-head {
  display: block !important;
  padding-left: 3.55rem !important;
  padding-right: .2rem !important;
}
.mp-trading-card-back-head span,
.mp-trading-card-back-head strong {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mp-trading-card-back-head strong {
  margin-top: .16rem;
}

/* Team-specific card lettering. */
.mp-trading-card-team--snuh {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-style: italic;
}
.mp-trading-card-team--the-meowers {
  font-family: "Trebuchet MS", "Arial Rounded MT Bold", sans-serif;
  font-style: italic;
  letter-spacing: .045em;
}
.mp-trading-card-team--troll {
  font-family: "Arial Black", Impact, sans-serif;
  letter-spacing: .02em;
  text-shadow: 2px 2px 0 rgba(0,0,0,.7);
}
.mp-trading-card-team--tinc {
  font-family: "Courier New", monospace;
  font-style: normal;
  letter-spacing: .12em;
}
.mp-trading-card-team--old-guard {
  font-family: Georgia, "Times New Roman", serif;
  font-style: normal;
  letter-spacing: .04em;
}
.mp-trading-card-team--netizen {
  font-family: "Arial Narrow", "Roboto Condensed", sans-serif;
  font-style: italic;
  letter-spacing: .1em;
}
.mp-trading-card-team--the-black-hats {
  font-family: Rockwell, "Roboto Slab", Georgia, serif;
  font-style: italic;
  letter-spacing: .035em;
}

/* All team names use a heavy flowing display treatment. */
.mp-trading-card-team {
  font-family: "Cooper Black", "Bookman Old Style", Georgia, serif !important;
  font-size: 1.28rem;
  font-weight: 900 !important;
  font-style: italic;
  letter-spacing: .025em;
  line-height: 1;
  text-transform: none;
  -webkit-text-stroke: .25px currentColor;
}

/* Cyber-tech treatment for The Black Hats. */
.mp-trading-card-team--the-black-hats {
  font-family: "Cyber Core", Orbitron, Audiowide, Rajdhani, Eurostile, sans-serif !important;
  font-size: 1.05rem;
  font-style: normal;
  font-weight: 900 !important;
  letter-spacing: .075em;
  line-height: .95;
  text-transform: uppercase;
  -webkit-text-stroke: .35px currentColor;
  text-shadow: 0 0 .35rem color-mix(in srgb, currentColor 48%, transparent);
}

.mp-trading-card-team--the-black-hats {
  font-family: CelebritySportsDemo, "Cyber Core", Orbitron, Audiowide, sans-serif !important;
  font-weight: 900 !important;
  font-style: normal;
  letter-spacing: .055em;
  text-transform: uppercase;
}

/* CelebritySportsDemo is not installed locally; use a non-cyber sports fallback. */
.mp-trading-card-team--the-black-hats {
  font-family: Impact, Haettenschweiler, "Arial Black", "Cooper Black", sans-serif !important;
  font-size: 1.18rem;
  font-weight: 900 !important;
  font-style: italic;
  letter-spacing: .035em;
  text-transform: uppercase;
  -webkit-text-stroke: .2px currentColor;
  text-shadow: none;
}

/* Give front-card text room inside the inset frame. */
.mp-trading-card-front-copy {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
  padding-bottom: 1rem !important;
}

/* Card status emblem: smaller owner/status badge inside the upper-left inset frame. */
.mp-trading-card-front{isolation:isolate}
.mp-trading-card-badge{position:absolute;z-index:4;top:1.05rem;left:1.05rem;width:2.7rem;height:2.7rem;object-fit:contain;pointer-events:none;filter:drop-shadow(0 .12rem .18rem #0006)}
@media(max-width:640px){.mp-trading-card-badge{top:.82rem;left:.82rem;width:2.35rem;height:2.35rem}}

/* Keep card faces isolated across WebKit and mobile browsers. */
.mp-trading-card-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;}
.mp-trading-card-front{transform:rotateY(0deg) translateZ(1px);}
.mp-trading-card-back{transform:rotateY(180deg) translateZ(1px);}
.mp-trading-card-shell:not(.is-flipped) .mp-trading-card-back{visibility:hidden;}
.mp-trading-card-shell.is-flipped .mp-trading-card-front{visibility:hidden;}
/* Final card geometry: standard playing-card proportions, regardless of earlier theme rules. */
.mp-trading-card-shell,
.rb-card-fan-card .mp-trading-card-shell {
    width: min(100%, 18rem);
    max-width: 18rem;
    aspect-ratio: 5 / 7;
    height: auto;
    min-height: 0;
    margin-inline: auto;
}
.mp-trading-card-inner,
.mp-trading-card-face {
    width: 100%;
    height: 100%;
    min-height: 0;
}
.mp-trading-card-badge {
    display: block;
    width: 2.7rem;
    height: 2.7rem;
    object-fit: contain;
    z-index: 5;
}
@media (max-width: 640px) {
    .mp-trading-card-shell,
    .rb-card-fan-card .mp-trading-card-shell {
        width: min(100%, 16rem);
        max-width: 16rem;
    }
}
/* Team lettering stays readable over any portrait or artwork. */
.mp-trading-card-team {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.48), rgba(0,0,0,.18));
  padding: .2rem .42rem .24rem;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: .25rem;
  text-shadow: 0 1px 2px #000, 1px 1px 0 #000;
  box-shadow: 0 2px 5px rgba(0,0,0,.35);
  -webkit-text-stroke: .2px rgba(0,0,0,.5);
  box-decoration-break: clone;
}
