.companions-widget{margin-top:14px;width:100%;box-sizing:border-box;color:#eee}
.companions-widget[hidden]{display:none!important}
.companions-open{width:100%;padding:11px 10px;border:1px solid #9563ba;background:#49305b;border-radius:11px;color:#f8eaff;font-weight:bold;cursor:pointer}
.companions-reward{font-size:12px;line-height:1.4;color:#e2c5ff;margin:9px 2px}
.companions-dialog{box-sizing:border-box;width:min(740px,94vw);max-height:88dvh;overflow:auto;padding:18px;border:1px solid #78578c;border-radius:16px;background:#252127;color:#eee}
.companions-dialog::backdrop{background:#000a}
.companions-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.companions-heading h2{font-size:19px;margin:0}
.companions-heading button{border:1px solid #6e5879;border-radius:8px;background:#3c3043;color:#eee;padding:8px 11px;cursor:pointer}
.companions-count{color:#dac6e6;font-size:13px}
.companions-visit{padding:11px;background:#352a3d;border-radius:9px;font-size:13px;line-height:1.5}
.companions-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}
.companion-card{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:10px 4px;border:1px solid #5b4169;background:#302935;border-radius:10px;text-align:center}
.companion-card canvas{image-rendering:pixelated;width:64px;height:64px}
.companion-card strong{font-size:12px;overflow-wrap:anywhere}
.companion-card small{font-size:10px;color:#bdaec5}
.companion-card button,.companions-hide{margin-top:auto;padding:7px 9px;background:#a74fe1;border:0;border-radius:8px;color:white;font-size:12px;cursor:pointer}
.companion-card button:disabled,.companions-hide:disabled{background:#4a3b52;color:#c5afcf;cursor:default}
.companion-locked{background:#211e24;border-color:#3b3341}
.companion-locked strong{color:#9787a2}
.companions-status{font-size:12px;line-height:1.4;color:#edc4ff}
#chenActions{display:flex;justify-content:center}
#chenActions:has(button[hidden]){display:none}
.companions-widget button:focus-visible,.companions-dialog button:focus-visible{outline:2px solid #e3b8ff;outline-offset:3px}
@media(max-width:650px){.companions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.companions-dialog{padding:12px}}
@media(max-width:360px){.companions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.pokeball-logo{display:inline-block;vertical-align:-3px;width:15px;height:15px;border:2px solid #271b31;border-radius:50%;background:linear-gradient(#ed5a69 0 42%,#2b2033 42% 58%,#f4f0e7 58%);position:relative;margin-right:4px}
.pokeball-logo:after{content:"";position:absolute;left:4px;top:4px;width:5px;height:5px;background:#fff8ed;border:1px solid #302039;border-radius:50%}
.companions-arrival{box-sizing:border-box;text-align:center;width:min(420px,90vw);border:2px solid #bd85ee;border-radius:18px;padding:25px 22px;background:#2b2233;color:#f8edff;box-shadow:0 0 45px #b05ce644}
.companions-arrival::backdrop{background:#100a18bb}
.companions-arrival canvas{width:128px;height:128px;image-rendering:pixelated;margin:8px auto}
.companions-arrival h2{font-size:22px;line-height:1.35}
.companions-arrival p{font-size:13px;line-height:1.5;color:#d5c1e3}
.companions-arrival .arrival-eyebrow{font-size:11px;letter-spacing:1px;color:#dfaefc;font-weight:bold}
.companions-arrival button{border:0;border-radius:999px;background:#ad51ec;color:white;font-weight:bold;padding:12px 25px;cursor:pointer}
#companionActions[hidden]{display:none!important}
#companionActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
#companionActions button:disabled{opacity:.6;cursor:default}

canvas.pokeball-logo{width:18px;height:18px;border:0;background:none;border-radius:0;vertical-align:-4px;image-rendering:pixelated;position:static;margin-right:5px}
