/* Shared action states. Component rules still own sizing and layout. */
:root{--action-focus:#176da0;--action-accent:#942f25}
.fans,.staking-guide,.boxing-dialog,.market-preview-dialog,.buy-widget{--action-focus:#ffe3a0;--action-accent:#f7ce63}
a[href],button,summary{transition:background-color 140ms,color 140ms,border-color 140ms,box-shadow 140ms,text-decoration-color 140ms}
.button{transition:background-color 140ms,color 140ms,box-shadow 140ms}
:is(a[href],button,summary,input,select,textarea):focus-visible{outline:3px solid var(--action-focus);outline-offset:4px}
button:disabled,[aria-disabled=true]{cursor:not-allowed}
.button:disabled{filter:none;box-shadow:3px 3px 0 var(--ink)}
@media(hover:hover){
 .button:not(:disabled):not([aria-disabled=true]):hover{background:#f7ce63;color:var(--ink);box-shadow:1px 1px 0 var(--ink)}
 .button.dark:not(:disabled):hover{background:#41402f;color:#fff4d4}
 #game-arena>#start-game:not(:disabled):hover{background:#f7ce63;box-shadow:1px 1px 0 var(--ink)}
 :is(a[href]:not(.button):not(.market-ticker),summary):hover{text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:4px}
 a.wordmark:hover{color:var(--red)}
 .skip:hover{background:#f7ce63}
 :is(.token-details,.fighter-row,.event-card,.boxing-help) summary:hover{color:var(--action-accent);background:color-mix(in srgb,currentColor 7%,transparent)}
 :is(.fighter-row,.event-card) a:not(.button):hover{color:#f7ce63}
 :is(.sound-toggle,.studio-steps button,.punch-mode-tabs button,.defense-controls button,.boxing-top-actions button,.boxing-touch button,.table-controls button,.icon-button):not(:disabled):hover{background:#f7ce63;color:#28271e;border-color:#28271e;box-shadow:inset 0 0 0 1px #28271e}
 .fan-filters button[aria-pressed=true]:hover{background:#ffe09a;border-color:#ffe09a;color:#28271e}
 :is(#ring-bell,#leaderboard-refresh,.studio-back,.score-download):not(:disabled):hover{color:var(--red);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
 .studio-steps button[aria-selected=true]:hover{background:#41402f;color:#fff4d4}
}
:is(.sound-toggle,.studio-steps button,.punch-mode-tabs button,.defense-controls button,.boxing-top-actions button,.table-controls button,.icon-button):not(:disabled):active{box-shadow:inset 0 0 0 2px currentColor}
.button:not(:disabled):active{box-shadow:none}
@media(prefers-reduced-motion:reduce){a[href],button,summary,.button{transition:none}}

/* The ticker is one compact control; only its Chart label is underlined. */
.market-ticker [data-market-chart]{text-decoration-thickness:1px}
#music-choices>summary:hover{text-decoration:none}
