.illustrated-island{display:block;width:100%;height:100%;min-height:0;touch-action:manipulation;background:#b9dfdc;border-radius:16px}
.illustrated-target{cursor:pointer;outline:none}.illustrated-building-hit{fill:transparent;stroke:transparent;stroke-width:5;stroke-linejoin:round;pointer-events:all}
.illustrated-target:hover .illustrated-building-hit,.illustrated-target:focus-visible .illustrated-building-hit{fill:#fff8cf22;stroke:#fff4b6;filter:drop-shadow(0 0 4px #8c764355)}
.illustrated-target.map-selected .illustrated-building-hit{stroke:#fff1b860;stroke-width:2;fill:transparent}
.illustrated-plate{display:none}.illustrated-plate.map-selected{display:block}.illustrated-plate rect{fill:#fffbed;fill-opacity:.97;stroke:#96ac83;stroke-width:1.5}.illustrated-plate text{font:24px 'Heiti TC',sans-serif;fill:#355440}
.illustrated-target:focus-visible{outline:none}
.illustrated-foreground,.illustrated-shop-sprite,.illustrated-ground{pointer-events:none}
.illustrated-resident{cursor:pointer;outline:none}.illustrated-resident:focus-visible{filter:drop-shadow(0 0 5px #fff0b1)}
.illustrated-body{animation:illustrated-step .8s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}.illustrated-resident:nth-child(even) .illustrated-body{animation-delay:-.4s}
.motion-paused .illustrated-body{animation:none}
@keyframes illustrated-step{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
.illustrated-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 10px;background:#f7f6ec;border-top:1px solid #d6dfcb;flex-shrink:0}
.illustrated-toolbar button{min-height:36px;padding:6px 10px;font-size:11px;border-radius:9px}.illustrated-zoom{display:flex;gap:4px}.illustrated-zoom button{min-width:36px}
.illustrated-destinations{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:5px 10px 9px;background:#f7f6ec;flex-shrink:0;overscroll-behavior-x:contain;scrollbar-width:thin}
.illustrated-destinations button{white-space:nowrap;min-height:38px;font-size:12px;border-radius:10px;padding:6px 12px;background:#fffdf4;border:1px solid #ced9c0}
.illustrated-destinations .map-selected{background:#315b46;color:#fff;border-color:#315b46}
#shellIsland #island:has(.illustrated-island){flex-direction:column;align-items:stretch;overflow:hidden;min-height:0}
#shellIsland #island .illustrated-island{flex:1;height:0;min-height:0;border-radius:0;object-fit:contain}
#shellIsland .world-top{padding:6px 14px;background:#f7f6ec}#shellIsland .world-bottom{display:none}
.landing-scene #island:has(.illustrated-island){display:flex;align-items:center;justify-content:center;background:#b9dfdc}
.landing-scene .illustrated-toolbar,.landing-scene .illustrated-destinations,.landing-scene .illustrated-nameplates{display:none!important}
.landing-scene #island .illustrated-island{flex:1;width:100%;height:100%;border-radius:0;filter:none}
.landing-scene .illustrated-body{animation:none}
@media(max-width:720px){.illustrated-toolbar{padding:5px 7px;gap:4px}.illustrated-toolbar button{font-size:10px;padding:5px 7px;min-height:36px}.illustrated-destinations{padding:4px 7px 7px}.illustrated-destinations button{font-size:11px;min-height:40px}.illustrated-plate text{font-size:24px}}
@media(prefers-reduced-motion:reduce){.illustrated-body{animation:none}}

.illustrated-water{animation:illustrated-water 6s ease-in-out infinite;opacity:.18}
@keyframes illustrated-water{0%,100%{opacity:.08}50%{opacity:.28}}
.island-still .illustrated-water{animation:none;opacity:.12}
@media(prefers-reduced-motion:reduce){.illustrated-water{animation:none}}

.island-sponsor{cursor:pointer;font-family:sans-serif}.island-sponsor:hover .sponsor-face,.island-sponsor:focus-visible .sponsor-face{stroke:#b68a42}.sponsor-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sponsor-cards article{padding:18px;background:#f4f5eb;border-radius:14px}.sponsor-note{font-size:13px}@media(max-width:600px){.sponsor-cards{grid-template-columns:1fr}}