/* A small floating choice replaces the full-width welcome ribbon. */
.world-hero{background:#eef5df}
.world-hero .scene:after{content:'';position:absolute;pointer-events:none;z-index:2;bottom:-1px;left:0;width:100%;height:58px;background:linear-gradient(180deg,#eef5df00 0%,#eef5df30 28%,#eef5dfb8 68%,#eef5df 100%)}
.world-hero .scene-note{display:none}
.world-hero .welcome-strip{position:relative;display:flex;justify-content:center;align-items:center;padding:0 5% 10px;margin-top:-17px;min-height:0;background:transparent;border:0;border-radius:0;box-shadow:none;gap:0;z-index:3}
.world-hero .welcome-strip .actions{width:max-content;max-width:100%;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px;margin:0;background:linear-gradient(135deg,#fffef3e0,#fffdf0ac);border:1px solid #ffffffde;border-radius:999px;box-shadow:0 7px 22px #5135290e,inset 0 1px 0 #fff;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.world-hero .welcome-strip .hero-shop-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 23px;min-height:44px;border:0;border-radius:999px;color:#513529;font-size:.9375rem;font-weight:650;text-decoration:none;line-height:1.4;transition:background .2s}
.world-hero .welcome-strip .hero-shop-link:hover{background:#ffdfa857;text-decoration:none}
.world-hero .welcome-strip .pill{display:inline-flex;align-items:center;justify-content:center;padding:11px 24px;min-height:44px;line-height:1.4;background:#513529;color:#fefbf0;border:1px solid #513529;border-radius:999px;font-size:.9375rem;box-shadow:none;transition:background .2s,translate .2s}
.world-hero .welcome-strip .pill:hover{background:#6a4030;translate:0 -1px}
.world-hero .welcome-strip a:focus-visible{outline:3px solid #ff7338;outline-offset:3px}
.mood-world{padding-top:23px;background:linear-gradient(180deg,#eef5df 0%,#f1f6e3 20%,#f7f8ec 52%,#fefbf0 90%)}
@media(min-width:1600px){.world-hero .welcome-strip{margin-top:-17px;padding-top:0}.world-hero .scene:after{height:68px}}
@media(max-width:760px){.world-hero .scene:after{height:33px}.world-hero .welcome-strip{margin-top:-10px;padding:0 5% 8px;align-items:center;gap:0}.world-hero .welcome-strip .actions{width:max-content;max-width:100%;gap:2px;padding:5px;flex-wrap:nowrap}.world-hero .welcome-strip .hero-shop-link{padding:10px 15px;font-size:.875rem;white-space:nowrap}.world-hero .welcome-strip .pill{padding:10px 17px;font-size:.875rem;white-space:nowrap}.mood-world{padding-top:24px}}
@media(max-width:360px){.world-hero .welcome-strip .hero-shop-link{padding-inline:11px}.world-hero .welcome-strip .pill{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.world-hero .welcome-strip .pill,.world-hero .welcome-strip .hero-shop-link{transition:none}.world-hero .welcome-strip .pill:hover{translate:none}}

/* A curved meadow edge carries the banner into the shared friend/shop space. */
.world-hero .scene:after{height:clamp(34px,4.2vw,64px);background:#eef5df;border-radius:48% 52% 0 0 / 22px 32px 0 0;box-shadow:0 -6px 18px #fefbf026}
.world-hero .welcome-strip{margin-top:-2px;padding-top:7px;padding-bottom:16px;background:radial-gradient(ellipse at 50% 0%,#fefbf08c,transparent 68%)}
.world-hero .welcome-strip .actions{box-shadow:0 8px 28px #51352912,inset 0 1px 0 #fff;border-color:#fffffff2}
@media(max-width:760px){.world-hero .scene:after{height:26px;border-radius:48% 52% 0 0 / 12px 16px 0 0}.world-hero .welcome-strip{margin-top:-1px;padding-top:6px;padding-bottom:12px}}

/* Each cat talks to the visitor, in their own colour and voice. */
.scene .hotspot{--hello-paper:#fff3cf;--hello-accent:#b16c30;cursor:pointer}
.scene .hotspot.daisy{--hello-paper:#ffebed;--hello-accent:#b34c71}
.scene .hotspot.dobby{--hello-paper:#d4f1ff;--hello-accent:#3b6595}
.scene .hotspot.grumpurr{--hello-paper:#e8f1c9;--hello-accent:#647346}
.scene .hotspot .cat-hello{bottom:calc(100% + 12px);left:50%;width:230px;max-width:24vw;padding:16px 19px;background:var(--hello-paper);color:#513529;border:1px solid #ffffffd9;border-radius:22px 22px 22px 7px;box-shadow:0 10px 24px #51352918;opacity:0;visibility:hidden;transform:translate(-50%,8px) rotate(-2deg);transform-origin:50% 100%;transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1),visibility .2s;pointer-events:none;text-align:left;white-space:normal;line-height:1.4}
.scene .hotspot .cat-hello::after{content:'';position:absolute;left:calc(50% - 7px);bottom:-7px;width:14px;height:14px;background:var(--hello-paper);transform:rotate(45deg);border-radius:0 0 3px 0}
.scene .hotspot .cat-hello strong{display:block;font-size:1rem;color:var(--hello-accent);margin-bottom:5px;font-weight:750}
.scene .hotspot .cat-hello em{display:block;font-size:1rem;font-style:normal;font-weight:500}
.scene .hotspot:hover .cat-hello,.scene .hotspot:focus-visible .cat-hello{visibility:visible;opacity:1;transform:translate(-50%,0) rotate(0)}
.scene .hotspot[data-hello-dismissed] .cat-hello{visibility:hidden;opacity:0}
.scene .hotspot:hover{background:transparent}
.scene .hotspot:focus-visible{outline:2px dashed var(--hello-accent);outline-offset:-5px}
@media(max-width:760px){.scene .hotspot .cat-hello{width:210px;max-width:none;bottom:calc(100% + 9px);padding:13px 16px}.scene .hotspot .cat-hello strong,.scene .hotspot .cat-hello em{font-size:.875rem}.scene .hotspot.daisy .cat-hello{left:8px;transform:translate(0,8px)}.scene .hotspot.daisy:hover .cat-hello,.scene .hotspot.daisy:focus-visible .cat-hello{transform:translate(0,0)}.scene .hotspot.grumpurr .cat-hello{left:auto;right:8px;transform:translate(0,8px)}.scene .hotspot.grumpurr:hover .cat-hello,.scene .hotspot.grumpurr:focus-visible .cat-hello{transform:translate(0,0)}.scene .hotspot.daisy .cat-hello::after{left:22px}.scene .hotspot.grumpurr .cat-hello::after{left:auto;right:22px}}
@media(prefers-reduced-motion:reduce){.scene .hotspot .cat-hello{transition:none}}
