[hidden]{display:none!important}
.hunt-host{position:relative}.hunt-ball{position:absolute;width:44px;height:44px;display:grid;place-items:center;padding:10px;border:0;background:transparent;color:#66785e;opacity:.48;cursor:pointer;z-index:2;border-radius:50%;transition:opacity .2s,transform .2s}.hunt-ball svg,.hunt-chip svg,.hunt-dots svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.hunt-ball:hover,.hunt-ball:focus-visible{opacity:1;transform:rotate(16deg)}.hunt-ball:focus-visible{outline:2px solid #d77e32;outline-offset:3px}.hunt-home{right:0;top:35px;transform:rotate(-18deg)}.hunt-news{right:8px;bottom:0;transform:rotate(24deg)}.hunt-albums{left:7%;bottom:12px;transform:rotate(-28deg)}
.hunt-chip{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));right:18px;z-index:25;display:flex;align-items:center;gap:8px;border:1px solid #d8dfd1;border-radius:28px;background:#fffffff0;color:#305922;padding:9px 14px;box-shadow:0 4px 20px #15231112;cursor:pointer;font:600 12px/1.4 sans-serif}.hunt-chip svg{width:23px;height:23px}.hunt-notice{position:fixed;left:50%;bottom:85px;transform:translate(-50%,12px);z-index:110;background:#243a20;color:white;border-radius:30px;padding:14px 22px;font-size:14px;max-width:90vw;width:max-content;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.hunt-notice.is-visible{opacity:1;transform:translate(-50%,0)}
.hunt-dialog{box-sizing:border-box;width:min(620px,calc(100% - 32px));max-height:88dvh;padding:50px 32px 28px;border:1px solid #dfe4d9;border-radius:20px;background:#f9faf6;color:#243a20;overflow-y:auto;text-align:center}.hunt-dialog::backdrop{background:#11210cbd;backdrop-filter:blur(6px)}.hunt-close{position:absolute;right:13px;top:9px;background:none;border:0;font-size:30px;color:inherit;cursor:pointer;width:44px;height:44px}.hunt-eyebrow{font:500 10px/1.5 sans-serif;letter-spacing:.24em;color:#6e7a66}.hunt-dialog h2{font:700 clamp(22px,5vw,32px)/1.2 sans-serif;letter-spacing:.03em;margin:14px 0;color:#c27330}.hunt-message{font-size:14px;line-height:1.9}.hunt-dots{display:flex;justify-content:center;gap:20px;margin:25px 0}.hunt-dots span{width:34px;height:34px;opacity:.16}.hunt-dots .is-found{opacity:1;color:#305922}.hunt-reward{border-top:1px solid #dce1d5;padding-top:18px}.hunt-reward h3{font-size:17px;line-height:1.6;margin:6px 0}.hunt-reward p{font-size:12px;line-height:1.8;color:#6a7565}.hunt-reward video{display:block;background:#14210e;width:100%;max-height:53dvh;aspect-ratio:9/16;object-fit:contain;border-radius:10px;margin:18px auto 12px}.hunt-play,.hunt-continue{border:0;border-radius:28px;font:600 14px/1.5 sans-serif;padding:13px 23px;cursor:pointer}.hunt-play{background:#305922;color:#fff}.hunt-continue{margin-top:14px;background:#e8ecdf;color:#305922}.hunt-video-status:empty{display:none}@media(max-width:600px){.hunt-dialog{padding:45px 20px 22px}.hunt-albums{left:auto;right:5%;bottom:8px}.hunt-home{top:42px}.hunt-chip{right:12px}.hunt-reward h3{font-size:15px}}@media(prefers-reduced-motion:reduce){.hunt-ball,.hunt-notice{transition:none}}

/* Fixed per round: four safe positions for each hidden ball. */
.hunt-ball{opacity:.62;touch-action:manipulation}.hunt-hero-a,.hunt-hero-b,.hunt-hero-c,.hunt-hero-d,.hunt-dark{color:#e9eddb;opacity:.52}
.hunt-hero-a{left:4%;top:36%;transform:rotate(-18deg)}.hunt-hero-b{right:4%;top:53%;transform:rotate(22deg)}.hunt-hero-c{left:9%;top:min(68%,calc(100svh - 110px));transform:rotate(-30deg)}.hunt-hero-d{right:5%;top:24%;transform:rotate(35deg)}
.hunt-edge-tr{right:12px;top:8px;transform:rotate(18deg)}.hunt-edge-br{right:12px;bottom:5px;transform:rotate(-22deg)}.hunt-edge-bl{left:12px;bottom:5px;transform:rotate(28deg)}

/* Dedicated space keeps hidden balls clear of text, links, and close controls. */
.hunt-slot{display:flex;width:100%;min-height:44px;margin-top:10px;position:relative;flex:none}.hunt-slot-left{justify-content:flex-start}.hunt-slot-right{justify-content:flex-end}.hunt-slot .hunt-ball{position:relative;inset:auto;flex:none}.hunt-slot.hunt-dark .hunt-ball{color:#e9eddb}.hunt-slot:has(.hunt-ball[hidden]){display:none}.hunt-slot .hunt-ball:disabled{cursor:wait}.hunt-slot .hunt-ball{transform:rotate(-18deg)}.hunt-slot-right .hunt-ball{transform:rotate(24deg)}.hunt-slot .hunt-ball:hover,.hunt-slot .hunt-ball:focus-visible{transform:rotate(0)}

.hunt-inline-notice{position:sticky;bottom:8px;margin:10px auto 0;padding:10px 16px;width:max-content;max-width:100%;border-radius:24px;background:#305922;color:white;font-size:12px;text-align:center;z-index:5}
