.home-label{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;letter-spacing:.02em;color:#bed1d5;margin:6px 0 0;width:max-content;max-width:100%;padding:4px 12px;border-radius:20px;background:#142d374d;border:1px solid #9bc6c426}
.home-label span{color:#c6ddd6}.home-label small{font-size:12px;font-weight:400;opacity:.7;margin-left:5px}.my-home{color:#f9dfaa;background:#d8b97110;border-color:#ebc8814a}.my-home span{color:#ffe7b0}.my-captured{border-bottom:1px solid #e6c78826;margin-bottom:6px}
.journey-layer{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden;contain:strict}
.journey-actor{position:absolute;top:0;left:0;will-change:transform;transform-origin:center;z-index:2}
.journey-body{position:absolute;inset:0;transform-origin:50% 82%}
.journey-body .character-art{inset:auto auto 0 0;width:100%;height:auto;aspect-ratio:var(--sprite-aspect,1);filter:drop-shadow(0 5px 3px #061b3560)}
.journey-body.is-walking{animation:friend-steps .23s ease-in-out infinite}
.journey-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:3}
.journey-bond{fill:none;stroke:#ffe7a8;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 4px #f2c567);animation:friend-link .3s ease-out both}
.journey-caption{position:absolute;z-index:4;white-space:nowrap;background:#fff3d9;color:#3d4241;padding:7px 13px;border-radius:15px;font-size:14px;font-weight:800;box-shadow:0 5px 18px #06192833}
.pi-friend-speech{position:absolute;left:50%;bottom:calc(100% + 5px);width:max-content;max-width:190px;padding:8px 12px;border-radius:16px 16px 16px 5px;background:#fff4d9;color:#3f4542;font-size:14px;line-height:1.4;font-weight:700;text-align:center;box-shadow:0 4px 16px #06192844;transform:translateX(-50%)}
.pi-friend-speech::after{content:'';position:absolute;left:50%;bottom:-6px;width:11px;height:11px;background:#fff4d9;transform:translateX(-50%) rotate(45deg);border-radius:0 0 3px 0}
@keyframes friend-steps{0%,100%{transform:translateY(0) rotate(-3deg) scale(1.02,.98)}50%{transform:translateY(-6px) rotate(3deg) scale(.98,1.02)}}
@keyframes friend-link{from{opacity:0;stroke-width:6}to{opacity:1;stroke-width:3}}
@media(max-width:760px){.home-label{margin-top:3px;padding:3px 10px;font-size:14px}.home-label small{font-size:12px}.journey-caption{font-size:12px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.journey-layer{display:none}.home-label{animation:none}}

/* Soft gathering light for ppuk; a gold burst for the actual bomb action. */
.journey-effect{position:absolute;pointer-events:none;z-index:1;color:#ffdf92}
.effect-ring{position:absolute;border:3px solid currentColor;border-radius:50%;box-shadow:0 0 22px currentColor,inset 0 0 18px #ffffff18;opacity:0}
.effect-spark{position:absolute;left:0;top:0;font-size:27px;line-height:1;text-shadow:0 0 9px currentColor;opacity:0}
.journey-effect.stay{color:#b7deff}.journey-effect.stay .effect-ring{border-width:2px;background:radial-gradient(ellipse,#abd5ff24,transparent 70%)}
.journey-effect.bomb{color:#ffd476}.journey-effect.bomb .effect-ring{border-style:dashed}
.stay-caption{background:#deefff;color:#274668}.bomb-caption{background:#ffe4a3;color:#674013;font-size:16px}
.journey-caption{max-width:calc(100vw - 24px);text-align:center;white-space:normal;width:max-content}

.journey-effect.jjok,.journey-effect.reunion{color:#ffbdda}.journey-effect.ttadak{color:#c4b7ff}.journey-effect.sweep{color:#abf2d1}.journey-effect.shake{color:#c7c0ff}.journey-effect.go{color:#a5e5ff}
.reunion-caption{background:#f6dfff;color:#573858}.sweep-caption{background:#d6ffeb;color:#285846}
.celebration-confetti{position:absolute;width:7px;height:12px;border-radius:2px;opacity:0;z-index:3}
.effect-ring{left:0;top:0}

.match-choice-heading{text-align:center}.match-choice-cards>div{display:flex;flex-direction:column;align-items:center;gap:6px}.match-choice-cards>div>strong{font-size:18px;color:#ffe4ac}.match-choice-cards>div>span{font-size:14px;color:#b8d8d8}.match-choice-cards .character-name{display:none}.match-choice-cards .card.character{border:1px solid #d7bf765c;border-radius:18px;background:#f8dda008;padding:6px}.match-choice-cards .card.character:hover{background:#f8dda019}
