/* Player-facing presentation only. Canvas, aiming and score animations remain intact. */
body.public-page :is(h1,h2,h3,h4,h5,h6),
body.public-page :is(h1,h2,h3,h4,h5,h6) :is(span,strong,b){
  color:#f8fafc!important;-webkit-text-fill-color:currentColor!important;
  background:none!important;background-image:none!important;
  text-shadow:none!important;filter:none!important;box-shadow:none!important;
  -webkit-text-stroke:0!important;animation:none!important;
  line-height:1.25;overflow-wrap:anywhere;white-space:normal!important;
}
body.public-page :is(h1,h2,h3,h4,h5,h6)::before,
body.public-page :is(h1,h2,h3,h4,h5,h6)::after{display:none!important}
body.public-page :is(.hero,.card,.result-card,.game-head,.payment-card,
 .kd-friendly-tools,.kd-practice-hero,.kd-practice-launch-hero,
 .kd-practice-performance,.kd-practice-modes,.legal-modal,.classic-result-banner){
  background:#111b2c!important;border:1px solid #2d3a4e!important;
  box-shadow:none!important;backdrop-filter:none!important;
}
body.public-page :is(.hero,.card,.result-card,.game-head,.kd-friendly-tools,
 .kd-practice-hero,.kd-practice-launch-hero)::before,
body.public-page :is(.hero,.card,.result-card,.game-head,.kd-friendly-tools,
 .kd-practice-hero,.kd-practice-launch-hero)::after{display:none!important}
body.public-page :is(.game-head,.practice-play-head)>div{
  background:none!important;border:0!important;box-shadow:none!important;filter:none!important;
}
body.public-page :is(.game-head,.practice-play-head)>div::before,
body.public-page :is(.game-head,.practice-play-head)>div::after{display:none!important}
body.public-page :is(.payment-grid>div,.kd-friendly-link-preview,.kd-friendly-qr-card,
 .kd-practice-launch-stats>span,.kd-practice-launch-goal,.kd-practice-objective,
 .kd-practice-stat-grid>div,.kd-practice-mode-card,.kd-practice-coach-note,
 .kd-practice-launch-steps>span,.kd-opponent-waiting,.kd-tournament-journey){
  background:#19263a!important;border-color:#344258!important;box-shadow:none!important;
}
body.public-page .payment-grid strong{color:#fff}
body.public-page .payment-grid span{color:#cbd5e1}
body.public-page :is(.btn,.kd-friendly-action,.kd-practice-start,.kd-practice-launch-change){
  background:#f5c451!important;color:#172033!important;border:1px solid #f5c451!important;
  box-shadow:none!important;text-shadow:none!important;filter:none!important;
}
body.public-page :is(.btn.ghost,.kd-friendly-action:not(.is-primary),.kd-practice-launch-change){
  background:#24334b!important;color:#f8fafc!important;border-color:#52627a!important;
}
body.public-page :is(.btn,.kd-friendly-action,.kd-practice-start,.kd-practice-launch-change)::before,
body.public-page :is(.btn,.kd-friendly-action,.kd-practice-start,.kd-practice-launch-change)::after{display:none!important}
body.public-page .kd-practice-start :is(strong,small,span,i){color:#172033!important;text-shadow:none!important}
body.public-page :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #67e8f9;outline-offset:3px}
/* Keep branding plain white/red; leave existing responsive dimensions alone. */
body.public-page .topbar .brand span{text-shadow:none!important;filter:none!important}
