.world-frame .world-ground{opacity:1;background-size:100% 100%;background-position:center}
.grade-world-preview{display:block;width:calc(100% + 28px);height:175px;object-fit:cover;object-position:50% 15%;margin:18px -14px 12px;border-block:1px solid #fff}
.grade-world-name{font-size:18px;color:#34566b}.grade-card{overflow:hidden}
@media(max-width:600px){.grade-world-preview{height:120px;margin:10px -14px}.grade-world-name{font-size:15px}}
.world-ground.ground-meadow{background-image:url('assets/maps-v4/meadow.webp')}
.world-ground.ground-forest{background-image:url('assets/maps-v4/forest.webp')}
.world-ground.ground-ice{background-image:url('assets/maps-v4/ice.webp')}
.world-ground.ground-harbor{background-image:url('assets/maps-v4/harbor.webp')}
.world-ground.ground-stars{background-image:url('assets/maps-v4/stars.webp')}
.wc{--seal:#69ba9e;--seal-bg:#ebfff3;isolation:isolate}
.wc-medium{--seal:#eeac5c;--seal-bg:#fff1d8}
.wc-spicy{--seal:#ad87ef;--seal-bg:#302346}
.wc .wc-name{border:1px solid var(--seal);background:var(--seal-bg);box-shadow:0 3px 8px #13282030;font-size:12px;padding:4px 12px}
.wc-spicy .wc-name{color:#ffe4a0;border-color:#e6bd73}
.wc.hidden-friend::after{content:'';position:absolute;left:50%;top:44%;width:74%;aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid var(--seal);border-radius:50%;background:radial-gradient(circle,#fff5,transparent 68%);box-shadow:0 0 18px color-mix(in srgb,var(--seal),transparent 40%);z-index:-1;pointer-events:none}
.wc-spicy.hidden-friend::after{border:3px double #efd18c;box-shadow:0 0 25px #b39bea99,inset 0 0 20px #8260b433}
.world-frame .wc.hidden-friend .spirit{opacity:.86;filter:brightness(0) drop-shadow(0 2px 4px #fff9)}
.world-frame .wc.near.hidden-friend .spirit{opacity:1;filter:brightness(0) drop-shadow(0 0 8px #fff)}
.world-place{background:#fffbefee;border:1px solid #cab894;box-shadow:0 4px 12px #24362728;padding:7px 15px}
.world-place.spicy{background:#34294ae8;border-color:#d8b86e;box-shadow:0 4px 16px #30203344}
.world-spicy-sign{border-style:solid;font-size:12px;background:#34294ae8;box-shadow:0 4px 15px #30203344}
.world-minimap{opacity:.88;width:148px}
@media(max-width:640px){.world-minimap{width:108px}.wc .wc-name{font-size:11px;padding:3px 9px}}
.world-frame .world-encounter{left:50%;right:auto;top:27%;bottom:auto;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 40px);pointer-events:none}
.world-frame .world-encounter-btn{position:relative;pointer-events:auto;overflow:hidden;min-height:58px;min-width:200px;padding:12px 28px;border:2px solid #fff8;border-radius:24px;color:#fff;background:linear-gradient(135deg,#56bba0,#278b80);box-shadow:0 0 0 6px #adf3d733,0 8px 22px #165c6044;animation:meet-soft .55s ease-out}
.world-encounter-btn::before{content:'✦';display:inline-block;margin-right:8px}
.world-encounter-btn::after{content:'';position:absolute;inset:-80% auto -80% -50%;width:35%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:rotate(22deg);animation:meet-shine 1.2s ease-out;pointer-events:none}
.world-frame .world-encounter-btn[data-taste="medium"]{background:linear-gradient(135deg,#efa548,#da6a30);box-shadow:0 0 0 7px #ffd77840,0 0 26px #ffd46c66,0 8px 22px #8c481c44;animation:meet-burst .65s ease-out}
.world-frame .world-encounter-btn[data-taste="spicy"]{background:linear-gradient(135deg,#352357,#7846b0);border-color:#f2d896;box-shadow:0 0 0 7px #9771d33b,0 0 36px #a777ec88,0 8px 24px #29163f77;animation:meet-epic .8s ease-out}
.world-encounter-btn[data-taste="spicy"]::before{content:'✧'}
@keyframes meet-soft{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
@keyframes meet-burst{0%{opacity:0;transform:scale(.75)}65%{opacity:1;transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes meet-epic{0%{opacity:0;transform:scale(.82);filter:brightness(1.7)}60%{opacity:1;transform:scale(1.04);filter:brightness(1.2)}100%{transform:none;filter:none}}
@keyframes meet-shine{from{left:-50%}to{left:140%}}
@media(max-width:640px){.world-frame .world-encounter-btn{min-width:180px;min-height:54px;font-size:15px;padding:10px 18px}}
@media(prefers-reduced-motion:reduce){.world-frame .world-encounter-btn,.world-encounter-btn::after{animation:none}.world-encounter-btn::after{display:none}}

.entry-facts{display:grid;gap:6px;margin:8px 0 14px}.entry-facts span{padding:8px 12px;border-left:3px solid #83bea8;background:#f2f6ed;border-radius:0 8px 8px 0;line-height:1.5}.entry-diagram .puzzle-diagram svg{max-height:235px;width:100%}
