/* Arrangement modes use the current background, supplement and ink colours. */
.pool[data-physics-mode] .token{z-index:2}
.structure-water,.structure-ripple,.structure-planet{position:absolute;pointer-events:none;z-index:0}
.structure-water{left:0;right:0;bottom:0;border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:42% 42% 0 0 / 3px 3px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,transparent),color-mix(in srgb,var(--accent) 10%,transparent))}
.structure-ripple{width:32px;height:8px;border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:50%;transform:translate(-50%,-50%);animation:structureRipple calc(1300ms * var(--game-time,1)) ease-out both}
.structure-planet{transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--ink) 55%,transparent);border-radius:50%;color:var(--ink);background:color-mix(in srgb,var(--accent) 14%,var(--bg));overflow:hidden}
.structure-planet::before,.structure-planet::after{content:'';position:absolute;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:50%}
.structure-planet::before{width:38%;height:24%;left:17%;top:18%;rotate:-22deg}
.structure-planet::after{width:58%;height:35%;right:-15%;bottom:12%;rotate:28deg}
.structure-hill{position:absolute;inset:0;pointer-events:none;z-index:0;color:var(--ink)}
.structure-hill svg{display:block;width:100%;height:100%;overflow:visible}
.hill-outline{fill:none;stroke:var(--line);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
@keyframes structureRipple{from{opacity:.65;scale:.6}to{opacity:0;scale:2.2}}
@media(prefers-reduced-motion:reduce){.structure-ripple{animation-duration:1ms}}
