/* Small independent motions keep the island alive between decisions. */
.sea-life{position:absolute;inset:0;pointer-events:none;overflow:hidden}.sea-wave{position:absolute;width:44px;height:10px;border-top:2px solid #abd6d5;border-radius:50%;opacity:0;animation:sea-drift 5.5s ease-in-out infinite}.w1{left:9%;top:23%;animation-delay:-1s}.w2{right:9%;top:72%;animation-delay:-3.4s;width:60px}.w3{right:17%;top:17%;animation-delay:-2.2s;width:32px}.w4{left:17%;bottom:14%;animation-delay:-4.3s;width:52px}.w5{left:47%;top:10%;animation-delay:-.5s;width:36px}.cloud{position:absolute;width:90px;height:22px;background:#e4f0e9;border-radius:60px;opacity:.07;filter:blur(1px);animation:cloud-drift 24s ease-in-out infinite alternate}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%;width:40px;height:35px;left:16px;bottom:0}.cloud:after{width:30px;height:29px;left:48px}.c1{top:15%;left:13%;animation-delay:-7s}.c2{top:72%;left:70%;animation-duration:31s;animation-delay:-16s;transform:scale(.75)}.water-pattern{animation:water-glimmer 6s ease-in-out infinite}.shoreline{transform-box:fill-box;transform-origin:center;animation:shore-breathe 5s ease-in-out infinite}.tree-grove,.palm-leaves{transform-box:fill-box;transform-origin:center bottom;animation:leaves-sway 4.8s ease-in-out infinite}.palm-leaves{animation-duration:3.7s;animation-delay:-1.5s}.little-boat{transform-box:fill-box;transform-origin:center;animation:boat-bob 4.2s ease-in-out infinite}.seagulls{animation:gull-glide 14s ease-in-out infinite alternate}.token{background:transparent;box-shadow:none;transition:left .85s cubic-bezier(.22,.7,.3,1),top .85s cubic-bezier(.22,.7,.3,1),opacity .4s}.token.me{outline:none}.token-body{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50% 50% 35% 35%;background:var(--c);box-shadow:0 3px 0 #13262c55;animation:castaway-idle var(--idle-duration,1.5s) ease-in-out var(--idle-delay,0s) infinite;transform-origin:center bottom}.token.me .token-body{outline:2px solid white}.token.dead .token-body{animation:none}.phase-revealing .token-body,.phase-result .token-body,.phase-over .token-body{animation-play-state:paused}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.place .icon{display:inline-block;transition:transform .25s}.place:hover:not(:disabled) .icon{transform:translateY(-3px) rotate(-8deg)}
@keyframes castaway-idle{0%,100%{transform:translateY(0) rotate(-2deg) scale(1.02,.98)}35%{transform:translateY(-3px) rotate(2deg) scale(.98,1.03)}60%{transform:translateY(0) rotate(0deg) scale(1.03,.97)}80%{transform:translateY(0) rotate(-1deg) scale(1)}}
@keyframes sea-drift{0%{opacity:0;transform:translate(-8px,5px) scaleX(.65)}40%{opacity:.3}100%{opacity:0;transform:translate(16px,-5px) scaleX(1.2)}}
@keyframes water-glimmer{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes shore-breathe{0%,100%{transform:scale(1);opacity:.3}50%{transform:scale(1.025);opacity:.5}}
@keyframes leaves-sway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1.5deg)}}
@keyframes boat-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(3deg)}}
@keyframes gull-glide{0%{transform:translate(0,0)}50%{transform:translate(-30px,7px)}100%{transform:translate(-65px,-5px)}}
@keyframes cloud-drift{from{translate:-15px 0}to{translate:55px 8px}}
@media(prefers-reduced-motion:reduce){.island *,.island *:before,.island *:after{animation:none!important;transition:none!important}.sea-wave{opacity:.12}}
