/* Additive visual layer. Opt in with .rk3 on the existing Asshole route only. */
.rk3{--rk3-ink:#281333;--rk3-cream:#fff5df;--rk3-accent:#c6a0f6;--rk3-shadow:#1c0d27}
.rk3 .rk3-badge{--rk3-size:86px;position:relative;isolation:isolate;display:grid;place-items:center;inline-size:var(--rk3-size);block-size:var(--rk3-size);flex:0 0 var(--rk3-size);border-radius:50%;border:3px solid var(--rk3-ink);background:radial-gradient(circle at 32% 20%,#fff5df 0,transparent 65%),var(--rk3-accent);box-shadow:inset 0 -6px 0 #28133325,0 4px 0 var(--rk3-shadow);overflow:visible}
.rk3 .rk3-badge img{display:block;inline-size:90%;block-size:90%;object-fit:contain;transform:scale(var(--rk3-art-scale,1));filter:drop-shadow(0 2px 0 #28133330);pointer-events:none;user-select:none}
.rk3 .rk3-badge--small{--rk3-size:52px}.rk3 .rk3-badge--large{--rk3-size:132px}
.rk3 .rk3-player{position:relative;display:flex;gap:12px;align-items:center;border:3px solid var(--rk3-ink);border-radius:24px;padding:12px 16px 12px 12px;background:var(--rk3-cream);color:var(--rk3-ink);box-shadow:0 7px 0 var(--rk3-shadow);min-inline-size:0}
.rk3 .rk3-player-text{min-inline-size:0}.rk3 .rk3-player-name{font-weight:800;overflow-wrap:anywhere;line-height:1.15;font-size:20px}
.rk3 .rk3-role-label{display:inline-block;max-inline-size:100%;background:var(--rk3-accent);color:var(--rk3-ink);border:1px solid #28133325;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:900;line-height:1.2;margin:6px 0;text-transform:uppercase}
.rk3 .rk3-player-meta{font-size:12px;line-height:1.4}.rk3 .rk3-player[data-active=true]{outline:3px solid #ffd449;outline-offset:5px}
.rk3 .rk3-active-tag{position:absolute;inset-block-end:-20px;inset-inline-start:20px;background:#ffd449;color:var(--rk3-ink);border:2px solid var(--rk3-ink);border-radius:999px;padding:2px 12px;font-size:12px;font-weight:900}
.rk3 .rk3-role-change{animation:rk3-role-reveal .26s ease-out both}
@keyframes rk3-role-reveal{0%{opacity:.5;transform:translateY(4px) scale(.9)}100%{opacity:1;transform:translateY(0) scale(1)}}
/* Attach these hooks deliberately after inspecting the real DOM. No guessed legacy selectors. */
.rk3 .rk3-table-surface{position:relative;isolation:isolate;min-block-size:380px;border:12px solid #82459e;border-radius:48%;background:radial-gradient(ellipse at 50% 35%,#2a8a77,#237a69);box-shadow:0 0 0 4px var(--rk3-ink),inset 0 0 0 3px #a663bf,0 9px 0 #1c0d27}
.rk3 .rk3-center-anchor{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);inline-size:min(44%,320px);block-size:146px;display:grid;place-items:center;text-align:center;z-index:2}
.rk3 .rk3-pile-slot{position:relative;display:grid;place-items:center;inline-size:100%;block-size:100%;min-inline-size:0}
.rk3 .rk3-pile-heading{position:absolute;inset-block-end:calc(100% + 8px);left:50%;transform:translateX(-50%);inline-size:max-content;max-inline-size:100%;padding:5px 15px;border:3px solid var(--rk3-ink);border-radius:999px;background:var(--rk3-cream);color:var(--rk3-ink);font-size:13px;font-weight:900;line-height:1.2}
.rk3 .rk3-pile-message{position:absolute;inset-block-start:calc(100% + 10px);left:50%;transform:translateX(-50%);inline-size:clamp(160px,30vw,380px);color:#fff5df;text-align:center;font-size:15px;font-weight:800;line-height:1.3}
.rk3 .rk3-pile-message small{display:block;font-size:12px;font-weight:600;opacity:.9;margin-top:5px}
/* Transform the anchor ONLY for centering; preserve existing card animation transforms. */
@media(max-width:640px){.rk3 .rk3-badge{--rk3-size:52px}.rk3 .rk3-badge--small{--rk3-size:42px}.rk3 .rk3-badge--large{--rk3-size:100px}.rk3 .rk3-player{padding:8px;gap:7px;border-radius:18px}.rk3 .rk3-player-name{font-size:15px}.rk3 .rk3-role-label{font-size:10px;padding:3px 5px}.rk3 .rk3-player-meta{font-size:10px}.rk3 .rk3-table-surface{min-block-size:310px;border-radius:36px;border-width:8px}.rk3 .rk3-center-anchor{inline-size:66%;block-size:128px}.rk3 .rk3-pile-message{inline-size:min(78vw,300px);font-size:14px}}
@media(prefers-reduced-motion:reduce){.rk3 .rk3-role-change{animation:none}}

.rk3 [hidden]{display:none!important}
