/* Public link fallback: cover unstyled links and visited links on every player
   route. Zero specificity lets existing button, brand and card styles win. */
:where(body.public-page) :where(a[href], a[href]:visited){
 color:#b9e2ff;
}
body.public-page a[href]:not([class]),
body.public-page :is(.player-history-link,.sponsor-quiet-link){
 color:#b9e2ff;text-decoration:underline;text-underline-offset:3px;
 text-decoration-thickness:1px;
}
body.public-page a[href]:not([class]):hover,
body.public-page :is(.player-history-link,.sponsor-quiet-link):hover{
 color:#fff;text-decoration-thickness:2px;
}
:where(body.public-page) a[href]:focus-visible{
 outline:2px solid #b9e2ff;outline-offset:4px;border-radius:3px;
}

/* Shared player-page type scale. Board/HUD, branding and score numerals retain
   their purpose-built sizes. No change to colours or gameplay dimensions. */
body.public-page{
 --player-body-size:16px;
 --player-small-size:14px;
 --player-h1-size:clamp(26px,3vw,32px);
 --player-h2-size:clamp(22px,2.5vw,26px);
 --player-h3-size:20px;
 font-size:var(--player-body-size);
}
body.public-page.public-page h1:not(:where(#dartGame *, .topbar *)){
 font-size:var(--player-h1-size)!important;line-height:1.2!important;
}
body.public-page.public-page h2:not(:where(#dartGame *, .topbar *)){
 font-size:var(--player-h2-size)!important;line-height:1.25!important;
}
body.public-page.public-page h3:not(:where(#dartGame *, .topbar *)){
 font-size:var(--player-h3-size)!important;line-height:1.3!important;
}
body.public-page.public-page :is(p,label):not(:where(#dartGame *, .topbar *)){
 font-size:var(--player-body-size)!important;line-height:1.5!important;
}
body.public-page.public-page :is(input,select,textarea):not(:where(#dartGame *, .topbar *, [type=checkbox], [type=radio])){
 font-family:inherit;font-size:var(--player-body-size)!important;line-height:1.4!important;
}
body.public-page.public-page :is(.btn,.kd-friendly-action,.kd-practice-start,.kd-practice-launch-change,.sponsor-more>summary):not(:where(#dartGame *, .topbar *)){
 font-size:var(--player-body-size)!important;line-height:1.3!important;font-weight:800!important;
}
body.public-page.public-page :is(.btn,.kd-friendly-action) :is(strong,b):not(:where(#dartGame *, .topbar *)){
 font-size:inherit!important;
}
body.public-page.public-page small:not(:where(#dartGame *, .topbar *, .classic-board-scores *, .classic-board-turn *)){
 font-size:var(--player-small-size)!important;line-height:1.4!important;
}
body.public-page.public-page :is(.kd-practice-mode-card strong,.signin-new strong){
 font-size:var(--player-body-size)!important;line-height:1.3!important;
}
