/* Thin black outlines preserve the existing type hierarchy. Icons opt out. */
body :is(h1,h2,h3,h4,h5,h6,p,a,button,label,input,select,textarea,summary,li,dt,dd,figcaption,time,strong,em,b,small,span){-webkit-text-stroke:.15px #000!important}
body :is(h1,h2,h3){-webkit-text-stroke:.3px #000!important}
body :is(.small,small,input,select,textarea,label){-webkit-text-stroke:.1px #000!important}
body :is(svg,svg *,[aria-hidden="true"],[aria-hidden="true"] *,i,.icon-btn,.rb-x,.rb-close,.lb-close,.role-stars,.cursor){-webkit-text-stroke:0!important}
.about-personal{max-width:900px}
.about-personal p{margin:26px 0;line-height:1.7}
.rb-card p{line-height:1.55}
.rg-hero-copy{min-width:0}
.rg-hero h1{font-size:clamp(2.3rem,5.3vw,5.2rem);overflow-wrap:anywhere;max-width:100%;line-height:1.08;letter-spacing:-.025em}
.rg-shots{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start}
.rg-shot{min-width:0;width:100%}
.rg-shot img{display:block;width:100%;height:auto;aspect-ratio:auto}
.reward-game-tabs{display:grid!important}
.reward-content{min-width:0;min-height:260px}
.reward-content .rg-codes{padding-top:12px}
.reward-content .empty-note{margin:0}
.rewards-page .reward-content,.rewards-page .reward-selected{animation:none;transition:none}
.reward-game img{object-fit:cover}
.mb-intro{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.mb-intro h2{font-size:clamp(24px,3vw,36px);margin-bottom:16px}
.mb-role-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:18px 2px 26px;scrollbar-color:#9b714b #f4e5cc}
.mb-role-card{flex:0 0 min(580px,80%);scroll-snap-align:start;display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:24px;padding:28px;background:#fff8e9;color:#3d3028;border:1px solid #d6b996;border-radius:20px}
.mb-role-card.no-image{grid-template-columns:1fr}
.mb-role-card img{width:100%;height:auto;object-fit:contain}
.mb-role-card h3{font:600 26px/1.2 var(--font-body);margin:0 0 14px}
.mb-role-card p{line-height:1.6}
.mb-roles>.wrap>.row{justify-content:space-between;flex-wrap:wrap}
.mb-roles .btn{min-width:48px;min-height:48px}
.role-difficulty{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.role-stars{color:#795021;font-size:22px;letter-spacing:2px}
.mb-codes p{max-width:740px;margin:20px 0 28px}
/* Intrinsic dimensions must not override the original card aspect ratios. */
.rh-hero .rh-card img,.rb-shot img,.portal-visual img,.hrail-card img,.scrap img,.tl-card img,.pc-panel-gallery img,.rg-cover img,.library-card img{height:auto}
.rg-shot img{aspect-ratio:16/9;height:auto;object-fit:cover}
body[data-world="roblox"] .rb-card :is(h3,p,.small){color:#263246;text-shadow:none}
body .playtester-card :is(p,.small,label,a,[role="status"]){color:#302a48;text-shadow:none;opacity:1}
body .contact-card :is(h2,p,label,.small,.contact-note){color:#263246;text-shadow:none}
body .horror-page .faq details{background:#242728;border-color:#68695f}
body .horror-page .faq :is(summary,p){color:#f1edda;text-shadow:none;opacity:1}
body #auth-status.is-error{display:block;color:#a11320;background:#fff0f1;border:2px solid #c92c3c;border-radius:10px;padding:14px 16px;margin-top:18px;font-weight:600;line-height:1.5;text-shadow:none;-webkit-text-stroke:0!important}
body #auth-status:empty{display:none}
body #auth-form [aria-invalid="true"]{border:2px solid #c92c3c;background:#fff5f5;outline-color:#c92c3c}
.mb-role-track{scrollbar-width:none}
.mb-role-track::-webkit-scrollbar{display:none}
.mb-role-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 8px}
.mb-role-filters .btn[aria-pressed="true"]{background:#70472d;color:#fff;border-color:#70472d}
.mb-roles [data-role-scroll]:disabled{opacity:.4;cursor:not-allowed}
.mb-codes-box{padding:clamp(24px,5vw,48px);border:2px solid #d1b28f;border-radius:24px;background:#fff4df;color:#3c3025;box-shadow:0 8px 0 #71503720}
body .mb-codes-box :is(h2,p){color:#3c3025;text-shadow:none}
@media(max-width:700px){
  body :is(p,a,button,label,small,span,input,select,textarea){-webkit-text-stroke:.1px #000!important}
  body :is(svg,svg *,[aria-hidden="true"],[aria-hidden="true"] *,i,.icon-btn,.rb-x,.rb-close,.lb-close,.role-stars){-webkit-text-stroke:0!important}
  .mb-intro{grid-template-columns:1fr;gap:24px}
  .mb-role-card{flex-basis:90%;grid-template-columns:90px minmax(0,1fr);padding:20px;gap:16px}
  .rewards-picker .reward-game-tabs{grid-template-columns:1fr;margin-top:0}
  .rewards-picker{position:static}
  .rg-hero h1{font-size:clamp(2.2rem,9vw,3.8rem)}
}
