/* game-plus: per-visit world theme, buddy, mini-games, unique field effects */
:root{--gp-a:#7c5cff;--gp-b:#00d4ff}
.gp-tint{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.09;background:radial-gradient(circle at 15% 10%,var(--gp-a),transparent 55%),radial-gradient(circle at 90% 95%,var(--gp-b),transparent 55%)}
.gp-bar{position:fixed;left:0;right:0;top:0;height:3px;z-index:9400;pointer-events:none;background:linear-gradient(90deg,var(--gp-a),var(--gp-b),var(--gp-a));background-size:200% 100%;animation:gpbar 6s linear infinite}
@keyframes gpbar{to{background-position:200% 0}}
.gp-p{position:fixed;bottom:-40px;z-index:1;pointer-events:none;opacity:.35;animation:gpfloat linear infinite}
@keyframes gpfloat{to{transform:translateY(-115vh) rotate(360deg)}}
.gp-sp{position:fixed;z-index:9800;pointer-events:none;font-size:18px;line-height:1}
.gp-pop{position:fixed;z-index:9800;pointer-events:none;font:700 13px system-ui,sans-serif;color:#fff;background:linear-gradient(135deg,var(--gp-a),var(--gp-b));padding:3px 9px;border-radius:99px;box-shadow:0 4px 14px rgba(0,0,0,.35);white-space:nowrap}
/* six different focus looks, rotated every focus */
.gp-f0{outline:2px solid var(--gp-a)!important;outline-offset:3px;box-shadow:0 0 0 6px rgba(124,92,255,.18)!important;transition:box-shadow .2s}
.gp-f1{outline:2px dashed var(--gp-b)!important;outline-offset:4px;animation:gpmarch 1s steps(2) infinite}
@keyframes gpmarch{50%{outline-offset:6px}}
.gp-f2{outline:0!important;box-shadow:0 0 0 2px var(--gp-b),0 0 22px var(--gp-b)!important;animation:gppulse 1.2s ease-in-out infinite}
@keyframes gppulse{50%{box-shadow:0 0 0 2px var(--gp-a),0 0 34px var(--gp-a)}}
.gp-f3{outline:0!important;border-color:var(--gp-a)!important;box-shadow:0 5px 0 -1px var(--gp-b)!important;transform:translateY(-2px);transition:transform .15s}
.gp-f4{outline:2px solid transparent!important;background-image:linear-gradient(90deg,rgba(124,92,255,.14),rgba(0,212,255,.14))!important;animation:gpwob .5s ease}
@keyframes gpwob{25%{transform:rotate(-.6deg)}75%{transform:rotate(.6deg)}}
.gp-f5{outline:3px double var(--gp-b)!important;outline-offset:2px;transform:scale(1.015);transition:transform .15s}
.gp-buddy{position:fixed;left:12px;bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:9450;display:flex;align-items:flex-end;gap:8px;font-family:system-ui,sans-serif}
.gp-bd{width:52px;height:52px;border-radius:50%;border:2px solid var(--gp-a);background:#fff;font-size:28px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35);animation:gpbob 2.6s ease-in-out infinite}
@keyframes gpbob{50%{transform:translateY(-5px)}}
.gp-bub{max-width:min(260px,62vw);background:#fff;color:#1c1c28;border-radius:14px 14px 14px 4px;padding:9px 12px;font-size:.85rem;line-height:1.35;box-shadow:0 8px 24px rgba(0,0,0,.35);display:none}
.gp-bub.on{display:block;animation:gpin .3s ease}
@keyframes gpin{from{opacity:0;transform:translateY(8px) scale(.95)}}
.gp-bub button{margin:6px 4px 0 0;border:0;border-radius:99px;padding:4px 10px;font-size:.75rem;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--gp-a),var(--gp-b))}
.gp-ov{position:fixed;inset:0;z-index:9650;background:rgba(5,6,20,.78);display:flex;align-items:center;justify-content:center;padding:14px}
.gp-card{position:relative;width:min(420px,100%);background:linear-gradient(160deg,#171a3d,#0d1030);color:#fff;border:2px solid var(--gp-a);border-radius:18px;padding:18px;text-align:center;font-family:system-ui,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.gp-card h3{margin:0 0 6px;font-size:1.15rem}.gp-card p{margin:4px 0 10px;font-size:.85rem;opacity:.85}
.gp-x{position:absolute;right:10px;top:8px;background:none;border:0;color:#fff;font-size:1.3rem;cursor:pointer}
.gp-arena{position:relative;height:250px;border-radius:12px;background:rgba(255,255,255,.06);overflow:hidden;touch-action:manipulation}
.gp-star{position:absolute;font-size:30px;border:0;background:none;cursor:pointer;animation:gpin .2s ease;padding:4px}
.gp-b3{display:flex;gap:10px;justify-content:center}.gp-b3 button{font-size:44px;background:rgba(255,255,255,.08);border:2px solid var(--gp-b);border-radius:14px;padding:10px 14px;cursor:pointer;min-width:84px}
.gp-b3 button span{display:block;font-size:.7rem;margin-top:4px}
.gp-wheel{width:210px;height:210px;border-radius:50%;margin:8px auto;border:4px solid #fff;position:relative}
.gp-pin{position:absolute;left:50%;top:-14px;transform:translateX(-50%);font-size:24px;z-index:2;color:#ffd84a}
.gp-go{margin-top:8px;border:0;border-radius:99px;padding:9px 22px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--gp-a),var(--gp-b))}
@media (prefers-reduced-motion:reduce){.gp-bar,.gp-bd,.gp-p,[class*=gp-f]{animation:none!important}}
